In diesem Tutorial zeige ich Ihnen die Installation und Konfiguration des Tools PSAD (Port Scan Attack Detection) auf Debian 8 (Jessie). Laut Projekt-Website:PSAD bietet Angriffserkennung und Protokollanalyse mit IPtables (Linux-Firewall). Das PSAD-Tool wird verwendet, um ein IDS-System (Intrusion Detection) in ein IPS-System (Intrusion Prevention System) umzuwandeln. Es nutzt die Regeln des bekannten Open-Source-IDS „SNORT“ zur Erkennung von Intrusion-Events. Die VM oder der Server wird vom Tool kontinuierlich auf aktive Angriffe wie Port-Scans überwacht und kann schädliche IP-Adressen in der Linux-Firewall automatisch blockieren. Ein weiteres ähnliches Projekt ist Guardian die sehr eingeschränkte Funktionen hat. 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 dem 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 wird 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 apt-Befehl 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
Während der Installation des PSAD-Tools sind mehrere Perl-Pakete erforderlich. Die Paketabhängigkeiten werden automatisch vom Debian-Paketmanager aufgelöst.
Die Firewall-Funktion auf der Linux-Plattform wird vom IPtables-Paket bereitgestellt. Es ist eine bekannte Linux-Firewall und bereits in allen Linux-Distributionen installiert.
PSAD- und Firewall-Konfiguration
Standardmäßig gibt es auf der Debian-Plattform keine Regeln in den IPtables-Ketten. Führen Sie den folgenden Befehl aus, um Kettenregeln aufzulisten.
iptables -L
Aktivieren Sie die Protokollierung der Eingabe- und Weiterleitungsketten von IP-Tabellen, damit der PSAD-Daemon anormale Aktivitäten erkennen kann.
iptables -A INPUT -j LOGiptables -A FORWARD -j LOG
Die Ausgabe des Befehls "iptables -L" sieht jetzt ähnlich aus 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
Bei der Debian-Distribution speichert das PSAD-Tool Konfigurationsdateien und Regeln im Verzeichnis /etc/psad.
Die Hauptkonfigurationsdatei für PSAD ist /etc/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 unten angegeben.
EMAIL_ADDRESSES [email protected];
HOSTNAME PSAD-box;
HOME_NET any;
EXTERNAL_NET any;
Die Standardeinstellungen für die Gefahrenstufe, das PSAD-Prüfintervall und die Verwendung von SID sind in der folgenden Abbildung dargestellt.
Standardmäßig sucht der PSAD-Daemon in /var/log/messages nach Protokollen Datei. Ändern Sie daher IPT_SYSLOG_FILE Parameter in der PSAD-Konfiguration.
Debian-basierte Distributionen speichern Syslog-Meldungen in /var/log/syslog Datei.
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 die IPS-Funktion und die Gefahrenstufe zu aktivieren. Nach Aktivierung des Parameters in der Konfigurationsdatei blockiert der PSAD-Daemon den Angreifer automatisch, indem er seine IP-Adresse in die IPtables-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 wie unten gezeigt auf Port 80.
Starten Sie PSAD mit dem folgenden Befehl und prü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 DOS-Verkehr, der mit dem LOIC-Tool generiert wird.
Die IP-Adresse des simulierten Angreifers 192.168.1.100 wird wie unten gezeigt vom PSAD-Daemon 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 anpingen kann, sodass er erfolgreich von PSAD blockiert wurde.
Führen Sie den folgenden Befehl aus, um die detaillierte Ausgabe von PSAD anzuzeigen.
psad -S
1. Abgeglichene Signatur und IP-Adresse des Angreifers
2. Datenverkehr für bestimmte Ports
3. Die IP-Adresse des Angreifers in den IPtables-Ketten.
4. Details zur Kommunikation zwischen Angreifer und Opfer.
Schlussfolgerung
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, schädliche IP-Adressen mithilfe von IPtables dynamisch zu blockieren.