Honeypot per IPTables- funktioniert, aber gibt IP nicht mehr frei!

derschakal83

Registered User
Hallo Leute!
Ich hab heute versucht, meinen Server mit einem Honeypot auszustatten. Dazu hab ich das folgende Script verwendet.

itables -N honeypot

iptables -A INPUT -s ! 127.0.0.1 -j honeypot
iptables -A honeypot -m recent --update --seconds 60 --name portscan -j DROP
iptables -A honeypot -p tcp -m tcp --dport 21 -m recent --name portscan --set -j LOG --log-prefix "IPTABLES -- HONEYPOT -- P 21 " --log-level 6 --log-ip-options
iptables -A honeypot -p tcp -m tcp --dport 21 -m recent --name portscan --set -j DROP
iptables -A honeypot -j RETURN


Das funktioniert auch ganz wunderbar, potenzielle Angreifer werden geblockt. Allerdings wird die IP nach der angegebenen Zeit (60 Sekunden) nicht wieder freigegeben, sondern dauerhaft geblockt. Erst wenn ich den Firewall-Dienst neustarte, kann der geblockte PC wieder zugreifen.

Hat einer von euch ne Erklärung / Lösung dafür?

Vielen Dank!

Gruß Tobi
 
Hallo,

okay, also hier ist die Ausgabe von "iptables -L -n -v":

Code:
Chain INPUT (policy DROP 1 packets, 78 bytes)
 pkts bytes target     prot opt in     out     source               destination
  558  251K honeypot   all  --  *      *      !127.0.0.1            0.0.0.0/0
  413  236K ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
   59  5647 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    4   436 ACCEPT     icmp --  *      *       0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:443
    0     0 ACCEPT     all  --  tun0   *       0.0.0.0/0            0.0.0.0/0
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0           udp dpt:1194
   50  6515 ACCEPT     all  --  *      *       192.168.20.0/24      0.0.0.0/0
    6   444 ACCEPT     all  --  *      *       127.0.0.1            0.0.0.0/0

Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination
    0     0 ACCEPT     all  --  *      *       10.8.0.0/24          0.0.0.0/0
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            10.8.0.0/24

Chain OUTPUT (policy ACCEPT 450 packets, 48951 bytes)
 pkts bytes target     prot opt in     out     source               destination

Chain honeypot (1 references)
 pkts bytes target     prot opt in     out     source               destination
   36  2621 DROP       all  --  *      *       0.0.0.0/0            0.0.0.0/0           recent: UPDATE seconds: 60 name: portscan side: source
    1    52 LOG        tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:21 recent: SET name: portscan side: source LOG flags 4 level 6 prefix `IPTABLES -- HONEYPOT -- P 21 '
    1    52 DROP       tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:21 recent: SET name: portscan side: source
  521  248K RETURN     all  --  *      *       0.0.0.0/0            0.0.0.0/0
 
Last edited by a moderator:
ich hab gesehen das die IP-Adresse korrekt unter /proc/net/ipt_recent/portscan eingetragen wird:

Code:
src=192.168.20.37 ttl: 128 last_seen: 8020869 oldest_pkt: 7 8019530, 8019530, 8020218, 8020277, 8020311, 8020498, 8020869

Nur warum entfernt er sie nicht automatisch wieder..?
 
Soweit sieht alles ok aus.
Das die IP nicht aus /proc/net/ipt_recent/portscans ausgetragen wird, hat nichts zu bedeuten. Die ipt_recent Liste läuft voll, bis ältere Einträge überschrieben werden. Das allein hat mit dem blocken der IP nichts zu tun.

Im Zweifelsfall rechne dir doch die Jiffies in einen normalen Timestamp um. Dann lässt sich leichter einschätzen, wann er eigentlich hätte wieder Zugriff bekommen sollen.
Infos zur Jiffie Berechnung gibts hier:
 
ah okay, das wusst ich nicht. Danke für den Hinweis. Dann werd ich mal schauen ob ich mit den Timestamps was raus finden kann. Ich sag dann Bescheid obs geklappt hat :)

Gruß
 
Back
Top