PSAD-Installation und -Konfiguration auf Debian 8 (Jessie)
In diesem Tutorial zeige ich Ihnen die Installation und Konfiguration des PSAD (Port Scan Attack Detection)-Tools auf Debian 8 (Jessie). Gemäß Projekt-Website: PSAD bietet Intrusion Detection und Log-Analyse mit IP-Tabellen (Linux-Firewall). Mit dem PSAD-Tool wird ein IDS (Intrusion Detection) System in ein IPS (Intrusion Prevention System) umgewandelt. Die VM oder der Server wird vom Tool kontinuierlich auf aktive Angriffe wie Port-Scans überwacht und kann bösartige IP-Adressen in der Linux-Firewall automatisch blockieren. Ein weiteres ähnliches Projekt ist Guardian, das nur sehr begrenzte Funktionen bietet. PSAD wird auf einer Debian-8 (Jessie) VM installiert und das Scan-Tool „Nmap“ wird verwendet, um offene Ports auf der VM zu überprüfen. Am Ende wird ein DOS-Angriff auf den Webserver (Apache) gestartet, um das Verhalten des PSAD-Tools zu sehen.
PSAD-Installation
Debian Jessie wird auf der VMware VM mit dem Net-Installer (debian-8.3.0-i386-netinst.iso) installiert.
Der Debian-Installationsprozess ist im vorherigen Artikel beschrieben: Die IP-Adresse des PSAD-Rechners lautet 192.168.1.102/24.
Das PSAD-Tool kann aus dem Quellcode oder aus dem Debian-Paket-Repository installiert werden, ich werde es aus dem Debian-Repository installieren. Fügen Sie zunächst folgendes in die Datei sources.list ein (oder überprüfen Sie, ob die Zeilen bereits vorhanden sind) und führen Sie den Befehl apt aus, um die Repository-Liste zu aktualisieren.
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
Quellenliste für Debian Jessie
apt-get update
Führen Sie den folgenden Befehl aus, um PSAD in der VM zu installieren.
apt-get install psad
Bei der Installation des PSAD-Tools werden mehrere Perl-Pakete benötigt. Die Paketabhängigkeiten werden vom Debian-Paketmanager automatisch aufgelöst.
Die Firewalling-Funktion auf der Linux-Plattform wird durch das Paket IPtables bereitgestellt. Es ist eine bekannte Linux-Firewall und bereits in allen Linux-Distributionen installiert.
PSAD- und Firewall-Konfiguration
Standardmäßig gibt es keine Regeln in den IP-Tabellenketten auf der Debian-Plattform. Führen Sie den folgenden Befehl aus, um Regeln für Ketten aufzulisten.
iptables -L
Aktivieren Sie die Anmeldung an den Eingabe- und Weiterleitungsketten von IP-Tabellen, damit der PSAD-Daemon jede anormale Aktivität erkennen kann.
iptables -A INPUT -j LOGiptables -A FORWARD -j LOG
Die Ausgabe des Befehls „iptables -L“ wird ähnlich sein, wie unten gezeigt.
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
Auf der Debian-Distribution speichert das PSAD-Tool Konfigurationsdateien und Regeln im Verzeichnis /etc/psad.
Die Hauptkonfigurationsdatei von PSAD ist /etc/psad/psad/psad.conf. In diesem Tutorial wird die IPS-Funktion verwendet, um DOS-Angriffe auf den Webserver zu erkennen.
Die Grundeinstellungen für PSAD sind im Folgenden aufgeführt.
EMAIL_ADDRESSES root@localhost; HOSTNAME PSAD-box; HOME_NET any; EXTERNAL_NET any;
Die Standardeinstellung des Gefahrenniveaus, des PSAD-Prüfintervalls und der Verwendung der SID ist in der folgenden Abbildung dargestellt.
Standardmäßig sucht der PSAD-Daemon nach Protokollen in der Datei /var/log/messages. Ändern Sie daher den Parameter IPT_SYSLOG_FILE in der PSAD-Konfiguration.
Debian-basierte Distributionen speichern Syslog-Meldungen in der Datei /var/log/syslog.
ENABLE_SYSLOG_FILE Y; IPT_WRITE_FWDATA Y; IPT_SYSLOG_FILE /var/log/syslog;
Standardmäßig arbeitet PSAD im IDS-Modus, der IPS-Parameter ist in der Konfigurationsdatei deaktiviert, aktivieren Sie die folgenden Parameter, um das IPS-Feature und die Gefahrenstufe zu aktivieren. Nachdem der Parameter in der Konfigurationsdatei aktiviert wurde, blockiert der PSAD-Daemon den Angreifer automatisch, indem er seine IP-Adresse in die IP-Tabellen-Ketten einfügt.
ENABLE_AUTO_IDS Y; AUTO_IDS_DANGER_LEVEL 1;
Führen Sie nun den folgenden Befehl aus, um die Signaturdatenbank zur Erkennung von Angriffen zu aktualisieren.
psad --sig-update
Derzeit lauscht der Apache-Server auf Port 80, wie unten gezeigt.
Starten Sie PSAD mit dem folgenden Befehl und überprüfen Sie den Status.
psad start
psad -S
Ein DOS-Angriff wird mit dem LOIC-Tool (Low Orbit Ion Cannon) auf der VM gestartet, um PSAD wie unten gezeigt zu testen.
Syslog zeigt den mit dem LOIC-Tool erzeugten DOS-Verkehr.
Die IP-Adresse des simulierten Angreifers 192.168.1.100 wird vom PSAD-Daemon wie unten gezeigt blockiert. Führen Sie den folgenden Befehl aus, um die von PSAD hinzugefügten dynamischen Regeln anzuzeigen.
psad --fw-list
Der folgende Screenshot zeigt, dass der Angreifer die IP-Adresse des Opfers nicht mehr pingen kann, so dass er von PSAD erfolgreich blockiert wurde.
Führen Sie den folgenden Befehl aus, um die detaillierte Ausgabe von PSAD zu sehen.
psad -S
1. Signaturabgleich und Angreifer-IP-Adresse
2. Traffic für bestimmte Ports
3. die IP-Adresse des Angreifers in den Ketten der IP-Tabellen.
4. Details zur Kommunikation zwischen Angreifer und Opfer.
Fazit
PSAD ist ein bekanntes Open-Source-Tool zum Blockieren von Port-Scan-Angriffen auf Linux-Server. Es verfügt sowohl über IDS- als auch über IPS-Funktionen und ist in der Lage, bösartige IP-Adressen dynamisch über IP-Tabellen zu blockieren.