V tomto tutoriálu vám ukážu instalaci a konfiguraci nástroje PSAD (Port Scan Attack Detection) na Debianu 8 (Jessie). Podle webových stránek projektu: PSAD poskytuje detekci narušení a analýzu protokolů pomocí IPtables (linuxový firewall). Nástroj PSAD se používá ke změně systému IDS (Intrusion Detection) na IPS (Intrusion Prevention System). Pro detekci událostí narušení využívá pravidla známého open source IDS „SNORT“. Virtuální počítač nebo server je tímto nástrojem nepřetržitě monitorován z hlediska jakýchkoli aktivních útoků, jako je skenování portů, a může automaticky blokovat škodlivé IP adresy v linuxové bráně firewall. Dalším podobným projektem je Guardian, který má velmi omezené vlastnosti. PSAD bude nainstalován na Debian-8 (Jessie) VM a pro kontrolu otevřených portů na VM bude použit skenovací nástroj "Nmap". Nakonec bude na webový server (Apache) spuštěn útok DOS, aby se zjistilo chování nástroje PSAD.
Instalace PSAD
Debian Jessie bude nainstalován na VMware VM pomocí síťového instalačního programu (debian-8.3.0-i386-netinst.iso).
Proces instalace Debianu je popsán v předchozím článku. IP adresa stroje PSAD je 192.168.1.102/24.
Nástroj PSAD lze nainstalovat ze zdrojového kódu nebo z úložiště balíčků Debian. Nainstaluji si to z repozitáře Debianu. Nejprve přidejte následující do souboru sources.list (nebo zkontrolujte, zda tam řádky již jsou) a spusťte příkaz apt pro aktualizaci seznamu úložiště.
deb http://httpredir.debian.org/debian jessie main deb-src http://httpredir.debian.org/debian jessie main deb http://httpredir.debian.org/debian jessie-updates main deb-src http://httpredir.debian.org/debian jessie-updates main deb http://security.debian.org/ jessie/updates main deb-src http://security.debian.org/ jessie/updates main
Seznam zdrojů pro Debian Jessie
apt-get update
Spusťte následující příkaz a nainstalujte PSAD do virtuálního počítače.
apt-get install psad
Během instalace nástroje PSAD je vyžadováno několik balíčků Perl. Závislosti balíčků budou automaticky vyřešeny správcem balíčků Debianu.
Funkci Firewalling na platformě Linux poskytuje balíček IPtables. Je to dobře známý linuxový firewall a je již nainstalován ve všech distribucích Linuxu.
Konfigurace PSAD a brány firewall
Ve výchozím nastavení nebudou v řetězcích IPtables na platformě Debian žádná pravidla. Spusťte následující příkaz pro výpis pravidel řetězců.
iptables -L
Povolte protokolování vstupních a dopředných řetězců IPtables, aby démon PSAD mohl detekovat jakoukoli abnormální aktivitu.
iptables -A INPUT -j LOGiptables -A FORWARD -j LOG
Výstup příkazu "iptables -L" bude podobný, jak je nyní uvedeno níže.
Chain INPUT (policy ACCEPT) target prot opt source destination LOG all -- anywhere anywhere LOG level warning Chain FORWARD (policy ACCEPT) target prot opt source destination LOG all -- anywhere anywhere LOG level warning Chain OUTPUT (policy ACCEPT) target prot opt source destination
V distribuci Debian ukládá nástroj PSAD konfigurační soubory a pravidla do adresáře /etc/psad.
Hlavní konfigurační soubor PSAD je /etc/psad/psad.conf . V tomto tutoriálu bude funkce IPS použita k detekci útoků DOS na webový server.
Základní nastavení pro PSAD jsou uvedena níže.
EMAIL_ADDRESSES [email protected];
HOSTNAME PSAD-box;
HOME_NET any;
EXTERNAL_NET any;
Výchozí nastavení úrovně nebezpečí, interval kontroly PSAD a použití SID je znázorněno na následujícím obrázku.
Ve výchozím nastavení démon PSAD vyhledává protokoly v /var/log/messages soubor. Proto změňte IPT_SYSLOG_FILE parametr v konfiguraci PSAD.
Distribuce založené na Debianu ukládají zprávy syslog do /var/log/syslog soubor.
ENABLE_SYSLOG_FILE Y;
IPT_WRITE_FWDATA Y;
IPT_SYSLOG_FILE /var/log/syslog;
Ve výchozím nastavení pracuje PSAD v režimu IDS, parametr IPS je v konfiguračním souboru zakázán. Chcete-li aktivovat funkci IPS a úroveň nebezpečí, povolte následující parametry. Po povolení parametru v konfiguračním souboru démon PSAD automaticky zablokuje útočníka přidáním jeho IP adresy do řetězců IPtables.
ENABLE_AUTO_IDS Y;
AUTO_IDS_DANGER_LEVEL 1;
Nyní spusťte následující příkaz k aktualizaci databáze signatur pro detekci útoků.
psad --sig-update
V současné době server Apache naslouchá na portu 80, jak je uvedeno níže.
Spusťte PSAD pomocí následujícího příkazu a zkontrolujte stav.
psad start
psad -S
Útok DOS je spuštěn pomocí nástroje LOIC (Low Orbit Ion Cannon) na virtuálním počítači za účelem testování PSAD, jak je uvedeno níže.
Syslog zobrazuje provoz DOS generovaný pomocí nástroje LOIC.
IP adresa simulovaného útočníka 192.168.1.100 je blokována démonem PSAD, jak je znázorněno níže. Spuštěním následujícího příkazu zobrazíte dynamická pravidla přidaná PSAD.
psad --fw-list
Následující snímek obrazovky ukazuje, že útočník již nemůže pingnout IP adresu oběti, takže byl úspěšně zablokován systémem PSAD.
Spuštěním následujícího příkazu zobrazíte podrobný výstup PSAD.
psad -S
1. Podpis a adresa IP útočníka
2. Provoz pro konkrétní porty
3. IP adresa útočníka v řetězcích IPtables.
4. Podrobnosti o komunikaci mezi útočníkem a obětí.
Závěr
PSAD je známý open source nástroj pro blokování útoků na skenování portů na serverech Linux. Má funkce IDS i IPS a je schopen dynamicky blokovat škodlivé IP adresy pomocí IPtables.