intrusion detection per iptables

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Benutzeravatar
d4rkm3n
Beiträge: 159
Registriert: 07.05.2005 14:36:43

intrusion detection per iptables

Beitrag von d4rkm3n » 10.02.2006 18:37:30

hi,
ich habe in den iptables spoofing-filter gesehen. kann man es irgendwie einrichten, dass wenn man ein gespooftes paket bekommt die iptables irgendein script ausführen? auch sehr schoen wäre es, wenn man herausfinden könnte ob man gescannt (portscann) wird und auch ein script ausgeführt wird.

nepos
Beiträge: 5238
Registriert: 05.01.2005 10:08:12

Beitrag von nepos » 11.02.2006 15:59:50

Hm, ich wuesste auf Anhieb keine Moeglichkeit, per iptables ein Skript zu starten.
Wenn du in die Richtung IDS was suchst, koenntest du dir aber eventuell mal snort angucken.

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 11.02.2006 16:03:03

nepos hat geschrieben:Hm, ich wuesste auf Anhieb keine Moeglichkeit, per iptables ein Skript zu starten.
doch - die logfiles auswerten dann "irgendwas" triggern ...

markus

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Re: intrusion detection per iptables

Beitrag von meandtheshell » 11.02.2006 16:05:07

d4rkm3n hat geschrieben:auch sehr schoen wäre es, wenn man herausfinden könnte ob man gescannt (portscann) wird und auch ein script ausgeführt wird.
woran denkst du da? zumal ich kann dich so scannen das die Portreihenfolge zufällig erscheint

neben zufälliger Portreihenfolge kann ich auch die Zeitintervalle zuflällig machen und die source IP spoofen und dafür gültige öffentliche IP's nehmen - wenn du das mit 100% Sicherheit erkennen kannst und von zufälligen Aufschlägen auf der Firewall unterscheiden kannst dann musst du dir um deine Zukunft keine Sorgen machen ...

markus

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 11.02.2006 16:17:22

meandtheshell hat geschrieben:
nepos hat geschrieben:Hm, ich wuesste auf Anhieb keine Moeglichkeit, per iptables ein Skript zu starten.
doch - die logfiles auswerten dann "irgendwas" triggern ...
für das Auswerten der Logfiles gibt es Tools die das besser können, z.B. PSAD. Dieser Daemon kann aber leider nur Mails verschicken und/oder in syslog schreiben. Über syslog-ng könnten diese Einträge wiederum in eine FIFO (named pipe) Datei geschrieben werden, welche ein Script auslesen und verarbeiten kann. Klingt jetzt etwas kompliziert, ist es aber in Wirklichkeit nicht

Gruß
gms

Benutzeravatar
meandtheshell
Beiträge: 4054
Registriert: 14.01.2005 17:51:30

Beitrag von meandtheshell » 11.02.2006 16:22:40

gms hat geschrieben:Klingt jetzt etwas kompliziert, ist es aber in Wirklichkeit nicht
nein eh nicht - fail2ban macht genau das gleiche
Tatsache ist aber das man immer mit den logfiles anfängt - das umsetzen ist hier nicht das schlaue sondern wann triggere ich eine beliebige Aktion ...

Gestern oder so hast du eine nette Aktion skizziert:
remote einen Prozess abnabeln (nohup)
dann ein FIFO machen das von einem anderen Prozess gefüttert wird
FIFO für Input an den nohup Prozess verwenden

So in der Art kann man das machen.

markus

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 11.02.2006 17:26:31

meandtheshell hat geschrieben: Tatsache ist aber das man immer mit den logfiles anfängt - das umsetzen ist hier nicht das schlaue sondern wann triggere ich eine beliebige Aktion ...
Genau, das wann ist das Entscheidende. Daher wird für das Auslesen der Logfiles leider auch sehr viel Know-How benötigt.

Snort setzt da schon früher an. Der snifft den Netzwerkverkehr und kann somit auch ein ganzes Netzwerksegment überwachen. Das hat auch den Vorteil, daß die Firewall nicht angepaßt werden muß. Ist dafür aber auch ein ganzes Stück komplexer.

Gruß
gms

Benutzeravatar
d4rkm3n
Beiträge: 159
Registriert: 07.05.2005 14:36:43

Beitrag von d4rkm3n » 12.02.2006 02:05:54

okay danke für die antworten, kann man denn ein script ausführen lassen wenn man gespooft wird? (arp spoof ect.)

Benutzeravatar
finupsen
Beiträge: 1327
Registriert: 21.04.2004 20:07:05
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Dortmund
Kontaktdaten:

Beitrag von finupsen » 12.02.2006 10:32:21

wie schon gesagt, fail2ban oder auch logwatch reagiert auf bestimmte zeichenketten
innerhalb des logfiles. Du könntest statt DROP eine DROP-LOG kette einrichten mit
einem prefix das wiederum fail2ban auslöst.

zum bleistift (für TCP und UDP):

Code: Alles auswählen

$IPTABLES -N LDROP
$IPTABLES -A LDROP -p tcp -m limit --limit "1/s" --limit-burst 10 -j LOG --log-prefix "<zeichenkette>"
$IPTABLES -A LDROP -p udp -m limit --limit "1/s" --limit-burst 10 -j LOG --log-prefix "<zeichenkette>"
$IPTABLES -A LDROP -j DROP
... und alle weiteren DROPS durch LOGDROP ersetzen:

Code: Alles auswählen

$IPTABLES ...xyz... -j LDROP
Ich hatte irgendwo im netz etwas gefunden, wo sowas explizit behandelt wird. Bei
interesse kann ich gern nochmal meine browser-histore durchstöbern ;)
Niemand hat vor eine zentrale Datensammelbehörde aufzubauen. Es handelt sich vielmehr um dezentrale IT-Systeme die miteinander vernetzt werden.
... und Wasser ist naß.

Antworten