Úvod do Linuxu
Co jsme dnes dělali
- Připojení na server pomocí protokolu SSH
- Program PuTTY
- Zadejte IP adresu
178.248.248.66, port ponechte 22 - Server vás vyzve k zadání uživatelského jména a hesla. Použijte heslo, které jste dostali na hodině.
- Heslo můžete změnit pomocí příkazu
passwd, prosím, pokud tak uděláte, dodržujte zásady silných hesel
Nastavení přístupu do Gitu
- Vygenerujte SSH klíč pomocí
ssh-keygen -t ed25519 -C "vaše_emailová_adresa" - Zkopírujte VEŘEJNOU část klíče pomocí
cat ~/.ssh/id_ed25519.pub - Přidejte tento klíč do svého GitHub účtu v nastavení SSH (https://gitlab.com/-/user_settings/ssh_keys)
- Jděte do vašeho repozitáře na GitLabu, pro clonování zvolte variantu SSH
- Na serveru použijte
git clone
Práce s příkazovou řádkou
- Po přihlášení se dostanete do prostředí příkazové řádky (říká se mu
shell), kde můžete zadávat příkazy. - Každý příkaz se skládá z názvu a argumentů.
- Např.
ls -l,cd muj-adresar, apod.- Argumentům začínajícím pomlčkou se říká přepínače (options) a mění chování
příkazu. Např.
-lulszobrazí podrobné informace o souborech.
- Argumentům začínajícím pomlčkou se říká přepínače (options) a mění chování
příkazu. Např.
- Pokud si někdy nevíte, jaký příkaz použít, můžete použít
man(manual) pro zobrazení nápovědy. Např.man ls - Základní příkazy pro práci s Linuxem
ls- vypíše obsah aktuálního adresářecd- změní aktuální adresářpwd- vypíše cestu k aktuálnímu adresářimkdir- vytvoří nový adresář
- V příkazové řádce můžeme
- šipkou nahoru procházet historii příkazů
- šipkou doprava a doleva pro pohyb v aktuálním příkazu
Tabpro doplňování názvů souborů, adresářů a příkazůCtrl + Cpro přerušení aktuálního příkazuCtrl + Lpro vyčištění obrazovky
Práce s textovými soubory
- Pro zobrazení obsahu textového souboru můžete použít příkaz
cat. Např.cat access.log. - Pro procházení dlouhých souborů můžete použít
less. Tedycat access.log | less.- Pro posouvání použijte šipky, případně
jak. - Pro ukončení stiskněte
q.
- Pro posouvání použijte šipky, případně
- Ve výše zmíněném příkazu používáme rouru (spíše však říkejme pipe), která
umožňuje posílat výstup jednoho příkazu jako vstup do druhého. Výstup z
cat access.logse tak stane vstupem proless., - Pro hledání konkrétního textu v souboru můžete použít
grep. Např.cat access.log | grep "404"zobrazí pouze řádky obsahující404.- Naopak
grep -v "404"zobrazí všechny řádky, které NEobsahují "404".
- Naopak
- Pro zobrazení pouze unikátních řádků můžete použít
uniq. Např.cat access.log | grep "404" | uniqzobrazí pouze unikátní řádky obsahující404.- Pro zobrazení pouze unikátních řádků a jejich počtu můžete použít
uniq -c. - Pozor,
uniqfunguje pouze na setřízených datech. Je třeba použítsort.
- Pro zobrazení pouze unikátních řádků a jejich počtu můžete použít
- Data je většinou potřeba nějak zpracovat, abychom s nimi mohli lépe pracovat.
Pokud jsou data oddělena nějakým znakem (což většinou bývají), můžeme použít
cutpro výběr konkrétních sloupců. Např.cat access.log | cut -d " " -f 1zobrazí pouze první sloupec (IP adresy) z logu, přičemž jako oddělovač používáme mezery (-d " "). - Pro zobrazení prvních nebo posledních řádků souboru můžete použít příkaz
head, resp.tail. Např.cat access.log | head -n 10zobrazí prvních 10 řádků, analogickytail -n 10zobrazí posledních 10 řádků.
Hledáme útočníka
V repozitáři s materiály pro dnešní lekci najdete soubor access.log. Jedná se
o logfile z webového serveru, který obsahuje záznamy o všech požadavcích, které
server obdržel.
Nejdřív si udělejte základní přehled. Kolik má soubor řádků? Kolik různých IP adres se připojilo? Jaké jsou nejčastější IP adresy?
Jaké požadavky skončily chybou 404?
Zkontrolujte požadavky, které se snaží dostat na /.env nebo /wp-admin. Toto
jsou často cíle útoků, protože obsahují citlivé informace nebo jsou součástí
běžných útoků na redakční systém WordPress. Vidíte něco podezřelého?
Také zkontrolujte požadavky na /login. Není jich příliš mnoho? Co to může
znamenat?
Svoje nálezy pushněte do svého repozitáře do souboru 18/report.txt.