Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
psad — psad: Intrusion Detection und Log-Analyse mit iptables | Kitploit
Tools/GitHubGitHub/mrash/psad
SchwachstellenanalyseIDS/IPS-UmgehungForensikNetzwerksicherheitBedrohungsanalyseEinbruchserkennungLog-Analyse
GitHubmrash/psad

psad

psad: Intrusion Detection und Log-Analyse mit iptables

Repository anzeigen
427771vor 7 JahrenVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

psad - Intrusion Detection mit iptables-Logs

Einleitung

Der Port Scan Attack Detector psad ist ein leichtgewichtiger System-Daemon, der in Perl geschrieben ist und mit den Linux-Firewall-Komponenten iptables/ip6tables/firewalld zusammenarbeitet, um verdächtigen Datenverkehr wie Port-Scans und -Sweeps, Backdoors, Botnet-Kommandos und -Steuerungskommunikation und mehr zu erkennen. Er verfügt über eine Reihe hochgradig konfigurierbarer Gefahrenschwellen (mit sinnvollen Standardwerten), ausführliche Alarmmeldungen, die Quelle, Ziel, gescannten Portbereich, Anfangs- und Endzeiten, TCP-Flags und entsprechende nmap-Optionen, Reverse-DNS-Informationen, E-Mail- und Syslog-Benachrichtigungen, automatische Blockierung angreifender IP-Adressen durch dynamische Konfiguration von iptables-Regelsätzen, passives Betriebssystem-Fingerprinting und DShield-Meldungen umfassen. Darüber hinaus integriert psad viele der TCP-, UDP- und ICMP-Signaturen des Snort-Intrusion-Detection-Systems, um hochverdächtige Scans auf verschiedene Backdoor-Programme (z. B. EvilFTP, GirlFriend, SubSeven), DDoS-Tools (Mstream, Shaft) und fortgeschrittene Port-Scans (SYN, FIN, XMAS) zu erkennen, die leicht mit nmap gegen einen Rechner eingesetzt werden können. psad kann auch auf Snort-Signaturen alarmieren, die über fwsnort protokolliert werden, das die iptables-string-match-Erweiterung nutzt, um Datenverkehr zu erkennen, der Anwendungsschichtsignaturen entspricht. Ab Version 2.4.4 kann psad auch die Scanphase der Standard-Anmeldedaten des Mirai-Botnets erkennen.

Die vollständige Feature-Liste folgt unten.

Features

  • Erkennung von TCP-SYN-, FIN-, NULL- und XMAS-Scans sowie UDP-Scans.
  • Unterstützung sowohl für IPv4- als auch IPv6-Logs, die von iptables bzw. ip6tables erzeugt werden.
  • Erkennung vieler Signaturregeln aus dem Snort-Intrusion-Detection-System.
  • Forensik-Modus zur Analyse von iptables/ip6tables-Logdateien (nützlich als forensisches Werkzeug zur Extraktion von Scaninformationen aus alten iptables/ip6tables-Logdateien).
  • Passives Betriebssystem-Fingerprinting über TCP-SYN-Pakete. Es werden zwei verschiedene Fingerprinting-Strategien unterstützt: eine Neuimplementierung von p0f, die strikt iptables/ip6tables-Logmeldungen verwendet (erfordert die Befehlszeilenoption --log-tcp-options), und eine TOS-basierte Strategie.
  • E-Mail-Benachrichtigungen, die TCP/UDP/ICMP-Scan-Eigenschaften, Reverse-DNS- und Whois-Informationen, Snort-Regelübereinstimmungen, Informationen zur fernbedienten OS-Bestimmung und mehr enthalten.
  • In Kombination mit fwsnort und der iptables-string-match-Erweiterung kann psad Alarme für Pufferüberlauf-Angriffe auf der Anwendungsschicht, verdächtige Anwendungsbefehle und anderen verdächtigen Layer-7-Verkehr erzeugen.
  • Validierung der ICMP-Typ- und -Code-Headerfelder.
  • Konfigurierbare Scan-Schwellenwerte und Gefahrenstufenzuweisungen.
  • Analyse von iptables-Regelsätzen zur Überprüfung der "Default-Drop"-Politik.
  • Automatische Zuweisung von IP-/Netzwerk-Gefahrenstufen (kann verwendet werden, um bestimmte Netzwerke zu ignorieren oder deren Gefahrenstufe automatisch zu erhöhen).
  • DShield-Alarme.
  • Automatische Blockierung von scanenden IP-Adressen über iptables/ip6tables und/oder tcpwrappers basierend auf der Scan-Gefahrenstufe. (Diese Funktion ist NICHT standardmäßig aktiviert.)
  • Analyse von iptables/ip6tables-Logmeldungen und Erzeugung von CSV-Ausgaben, die als Eingabe für AfterGlow verwendet werden können. Dies ermöglicht die Visualisierung von iptables/ip6tables-Logs. Gnuplot wird ebenfalls unterstützt.
  • Statusmodus, der eine Zusammenfassung aktueller Scaninformationen mit zugehörigen Paketzählern, iptables/ip6tables-Ketten und Gefahrenstufen anzeigt.

Visualisierung bösartigen Datenverkehrs

psad bietet eine Integration mit gnuplot und afterglow zur Erstellung von Graphen bösartigen Datenverkehrs. Die folgenden beiden Graphen stammen vom Nachi-Wurm aus der Honeynet Scan30-Challenge. Zunächst ein von afterglow nach der Analyse der iptables-Logdaten durch psad erstellter Link-Graph:

nachi-worm-link-graph "Nachi Worm Link Graph"

Der zweite zeigt den Nachi-Wurm-Datenverkehr auf stündlicher Basis aus den Scan30-iptables-Daten:

nachi-worm-hourly-graph "Nachi Worm Hourly Graph"

Konfigurationsinformationen

Informationen zu den von psad referenzierten Konfigurationsschlüsselwörtern finden Sie sowohl in der Handbuchseite psad(8) als auch hier:

http://www.cipherdyne.org/psad/docs/config.html

Methodik

Alle von psad analysierten Informationen stammen aus iptables-Logmeldungen. Standardmäßig liest psad die Datei /var/log/messages auf neue iptables-Meldungen und schreibt sie optional in eine dedizierte Datei (/var/log/psad/fwdata). psad ist dann dafür verantwortlich, die Gefahrenschwellen- und Signaturlogik anzuwenden, um festzustellen, ob ein Portscan stattgefunden hat, entsprechende Alarm-E-Mails zu senden und (optional) angreifende IP-Adressen zu blockieren. psad enthält einen Signalhandler, sodass er bei Empfang eines USR1-Signals den Inhalt der aktuellen Scan-Hash-Datenstruktur in /var/log/psad/scan_hash.$$ ausgibt, wobei "$$" die PID des laufenden psad-Daemons darstellt.

HINWEIS: Da psad auf iptables angewiesen ist, um entsprechende Logmeldungen für unbefugte Pakete zu erzeugen, ist psad nur so gut wie die im iptables-Regelsatz enthaltenen Logging-Regeln. Wenn Ihre Firewall nicht so konfiguriert ist, dass sie Pakete protokolliert, erkennt psad KEINE Portscans oder irgendetwas anderes. Üblicherweise ist der beste Weg, die Firewall einzurichten, mit Standardregeln "Drop and Log" am Ende des Regelsatzes und darüberliegenden Regeln, die nur den Verkehr erlauben, der durchgelassen werden soll. Bei der Ausführung versucht der psad-Daemon festzustellen, ob eine solche Standardverweigerungsregel existiert, und warnt den Benutzer, wenn dies nicht der Fall ist. Siehe die Datei FW_EXAMPLE_RULES für Beispiel-Firewall-Regelsätze, die mit psad kompatibel sind.

Darüber hinaus wird psad umfassend im Buch "Linux Firewalls: Attack Detection and Response" (erschienen bei No Starch Press) behandelt, und ein zugehöriges Skript aus diesem Buch ist mit psad kompatibel. Dieses Skript finden Sie hier:

http://www.cipherdyne.org/LinuxFirewalls/ch01/

Installation

Abhängig von der Linux-Distribution kann psad bereits im Standard-Paket-Repository verfügbar sein. Zum Beispiel auf Debian- oder Ubuntu-Systemen erfolgt die Installation mit einem einfachen:

root@kitploit:~
apt-get install psad

Wenn psad nicht im Paket-Repository verfügbar ist, kann es mit dem Skript install.pl aus dem psad-Quellcode installiert werden. Das Skript install.pl verwaltet auch Upgrades, wenn psad bereits installiert ist. psad benötigt mehrere Perl-Module, die möglicherweise bereits auf Ihrem Linux-System installiert sind oder nicht. Diese Module sind im Verzeichnis deps/ des psad-Quellcodes enthalten und werden vom Skript install.pl automatisch installiert. Die Liste der Module lautet:

  • Bit::Vector
  • Date::Calc
  • IPTables::ChainMgr
  • IPTables::Parse
  • NetAddr::IP
  • Storable
  • Unix::Syslog

psad enthält auch einen Whois-Client, der von Marco d'Itri geschrieben wurde (siehe Verzeichnis deps/whois). Dieser Client ist besser als andere darin, die korrekten Whois-Informationen für eine bestimmte IP-Adresse zu sammeln.

Firewall-Einrichtung

Die Hauptanforderung für eine mit psad kompatible iptables-Konfiguration ist einfach, dass iptables Pakete protokolliert. Dies wird üblicherweise erreicht, indem Regeln zu den Ketten INPUT und FORWARD wie folgt hinzugefügt werden:

root@kitploit:~
iptables -A INPUT -j LOG
iptables -A FORWARD -j LOG

Die obigen Regeln sollten am Ende der Ketten INPUT und FORWARD nach allen ACCEPT-Regeln für legitimen Datenverkehr und direkt vor einer entsprechenden DROP-Regel für Datenverkehr, der nicht durch die Richtlinie erlaubt werden soll, hinzugefügt werden. Beachten Sie, dass iptables-Richtlinien recht komplex sein können, mit Protokoll-, Netzwerk-, Port- und Schnittstellenbeschränkungen, benutzerdefinierten Ketten, Verbindungsverfolgungsregeln und vielem mehr. Es gibt viele Softwarelösungen wie Shorewall und Firewall Builder, die iptables-Richtlinien erstellen und die erweiterten Filter- und Logging-Funktionen von iptables nutzen. Im Allgemeinen sind die von solcher Software erstellten Richtlinien mit psad kompatibel, da sie spezifisch Regeln hinzufügen, die iptables anweisen, Pakete zu protokollieren, die nicht zu legitimen Verkehr gehören. Psad kann so konfiguriert werden, dass nur solche iptables-Meldungen analysiert werden, die bestimmte Log-Präfixe enthalten (die über die Option --log-prefix hinzugefügt werden), standardmäßig analysiert psad jedoch alle iptables-Logmeldungen auf Anzeichen von Portscans, Sondierungen nach Backdoor-Programmen und anderen verdächtigen Verkehr.

Plattformen

psad läuft im Allgemeinen auf Linux-Systemen und ist in den Paket-Repositories vieler großer Linux-Distributionen verfügbar. Bei Betriebsproblemen mit psad eröffnen Sie bitte ein Issue auf github.

Lizenz

psad wird als Open-Source-Software unter den Bedingungen der GNU General Public License (GPL v2+) veröffentlicht. Die neueste Version finden Sie unter https://github.com/mrash/psad/releases.

psad verwendet viele der TCP-, UDP- und ICMP-Signaturen aus Snort (geschrieben von Marty Roesch, siehe http://www.snort.org). Snort ist eine eingetragene Marke von Sourcefire, Inc.

Kontakt

Alle Feature-Anfragen und Fehlerbehebungen werden über das Issue-Tracking auf GitHub verwaltet. Sie können mir jedoch auch eine E-Mail senden (michael.rash_AT_gmail.com) oder mich über Twitter erreichen (@michaelrash).

Tool herunterladen