[INFO] portsentry mit Freetz

sf3978

IPPF-Promi
Mitglied seit
2 Dez 2007
Beiträge
8,014
Punkte für Reaktionen
28
Punkte
48
Mit dem Patch im Anhang kann portsentry, mit Freetz für die FritzBox, kompiliert werden.
Der patch wird aus dem Verzeichnis "trunk/make" mit "patch -p 1 < /Pfad/zur/Patchdatei/portsentry.txt" ausgeführt. Die Dateien "portsentry.conf" und "portsentry.ignore" sind vor dem Kompilieren anzupassen (siehe sample-Dateien). Diese Dateien werden in /etc (ro) abgelegt. Evtl. auch den Pfad für die Dateien "portsentry.blocked.*" und "portsentry.history" anpassen (default: /var/media/ftp/uStor01).
Starten kann man portsentry auch aus/mit der rc.custom.
Auszug aus top:
.......
#### 1 root S 1072 4% 0% portsentry -tcp
#### 1 root S 1072 4% 0% portsentry -udp
.......
 

Anhänge

  • portsentry.txt
    26.7 KB · Aufrufe: 7
Wäre es da nicht sinnvoller, die Configs irgenwo im schreibbaren Bereich der Box abzulegen, so dass man darum evtl ein Webinterface stricken kann?
 
Ja, kann man machen. Habe das mit /etc aus der Standardkonfiguration so übernommen, wobei das Verzeichnis /etc, dort rw ist.
 
portsentry such die portsentry.conf jetzt im Verzeichnis (rw):
+#define CONFIG_FILE "/var/tmp/flash/mod/portsentry.conf"

Im Anhang ein Patch auf den Trunk 3725.
 

Anhänge

  • portsentry-1.2.patch.tar.bz2
    8.4 KB · Aufrufe: 5
Was macht portsentry eigentlich? :)

MfG Oliver
 
PortSentry
Einer der ersten Angriffspunkte eines Hackers ist meistens der einfache Portscan. Damit erhält er Informationen über die laufenden Dienste und einen Überblick über mögliche Angriffspunkte. Hier setzt das kostenlose Utility PortSentry 1.1 an: Es überwacht unbenutzte TCP-Ports und führt bei Erkennen eines Scans frei konfigurierbare Kommandos aus. Beispielsweise könnte über den Route-Befehl der Firewall dafür gesorgt werden, dass die Adresse des Angreifers ausgeblendet wird.
Zusätzlich nimmt PortSentry einen Eintrag im Systemlog vor, den dann beispielsweise Logcheck vom selben Anbieter auswerten kann, um eine E-Mail an den Administrator zu senden.
 
Klingt zwar interessant, aber wo ist der Sinn dabei die Ports zu überwachen, die bei der Fritz!Box sowieso zu sind? Das Programm wird doch wohl nicht auf aktiven Ports lauschen, weil sie belegt sind. Ok, man kann natürlich evtl. erkennen, wenn einer mit Port 1 anfängt und wirklich hochzählend scannt. Aber macht das heutzutage überhaupt jemand? Viel mehr sind die Ports betroffen, die aktiv sind (z.B. 21, 22, 23, 25, 80, 443, ...). Und wäre ich der Angreifer, würde ich sie genau in der Reihenfolge scannen.
Jetzt kommt die Frage: Wie soll man denn bitteschön Regeln dynamisch ändern? Geht es denn überhaupt bei AVM-Firewall? Oder zielt diese Geschichte hier eher Richtung iptables?

MfG
 
Ich benutze portsentry auf der Box, zum Aufspüren und Loggen von Scans. Das Blocken von Scans auf die Box, mit portsentry oder mit iptables, funktioniert nicht. Blocken von Scans auf der 7170, führt zu einem Reboot der Box.
Portsentry loggt in die Datei "portsentry.history". Das sieht dann so aus:
1253988671 - 09/26/2009 20:11:11 Host: 192.168.44.###/192.168.44.### Port: 540 TCP Blocked
1254512617 - 10/02/2009 21:43:37 Host: 192.168.55.###/192.168.55.### Port: 79 TCP Blocked
1254589445 - 10/03/2009 19:04:05 Host: 192.168.112.###/192.168.112.### Port: 110 TCP Blocked
1254589759 - 10/03/2009 19:09:19 Host: 192.168.134.###/192.168.134.### Port: 111 TCP Blocked
1254590927 - 10/03/2009 19:28:47 Host: 89.###.###.###/89.###.###.### Port: 110 TCP Blocked
Meine "portsentry.conf" auf der Box, sieht so aus:
#
TCP_PORTS="1,11,15,79,110,111,143,540,635,1080,1524,2000,12345,12346,20034,32771,32772,32773,32774,49724,54320"
UDP_PORTS="1,7,9,69,161,162,513,640,700,32770,32771,32772,32773,32774,31337,54321"
#
IGNORE_FILE="/var/tmp/portsentry.ignore"
HISTORY_FILE="/var/media/ftp/uStor01/portsentry.history"
BLOCKED_FILE="/var/tmp/portsentry.blocked"
#
RESOLVE_HOST = "0"
#
BLOCK_UDP="0"
BLOCK_TCP="0"
#
#KILL_ROUTE="/usr/sbin/iptables -t nat -A PREROUTING -s $TARGET$ -j DROP"
#
#KILL_HOSTS_DENY="ALL: $TARGET$ : DENY"
#
#KILL_RUN_CMD_FIRST = "1"
#
#KILL_RUN_CMD="/some/path/here/script $TARGET$ $PORT$"
#
SCAN_TRIGGER="0"
#
#PORT_BANNER="** UNAUTHORIZED ACCESS PROHIBITED *** YOUR CONNECTION ATTEMPT HAS BEEN LOGGED. GO AWAY."
#
# EOF
OpenWRT und FreeWRT haben portsentry auch als Package.
 
Musstest du all diese Ports in der Firewall mühsam per Hand frei geben? Ich würde an deiner Stelle da was realistisches nehmen, wie z.B. TCP23, TCP25, TCP110, UDP53, wenn du sie natürlich nicht eingehend benutzt.

MfG
 
Nein, in der Firewall muss man nichts freigeben. Klar funktioniert es auch mit "realistischen" Ports an denen kein Dienst lauscht.
lsof -nPi
portsentr 1334 root 0u inet 3760 TCP *:1 (LISTEN)
portsentr 1334 root 1u inet 3762 TCP *:11 (LISTEN)
portsentr 1334 root 2u inet 3764 TCP *:15 (LISTEN)
portsentr 1334 root 4u inet 3766 TCP *:21 (LISTEN)
portsentr 1334 root 5u inet 3768 TCP *:22 (LISTEN)
portsentr 1334 root 6u inet 3770 TCP *:79 (LISTEN)
portsentr 1334 root 7u inet 3772 TCP *:110 (LISTEN)
portsentr 1334 root 8u inet 3774 TCP *:111 (LISTEN)
portsentr 1334 root 9u inet 3776 TCP *:137 (LISTEN)
portsentr 1334 root 10u inet 3778 TCP *:138 (LISTEN)
portsentr 1334 root 11u inet 3780 TCP *:139 (LISTEN)
portsentr 1334 root 12u inet 3782 TCP *:140 (LISTEN)
portsentr 1334 root 13u inet 3784 TCP *:141 (LISTEN)
portsentr 1334 root 14u inet 3786 TCP *:143 (LISTEN)
portsentr 1334 root 15u inet 3788 TCP *:443 (LISTEN)
portsentr 1334 root 16u inet 3790 TCP *:540 (LISTEN)
portsentr 1334 root 17u inet 3792 TCP *:635 (LISTEN)
portsentr 1334 root 18u inet 3794 TCP *:1080 (LISTEN)
portsentr 1334 root 19u inet 3796 TCP *:1524 (LISTEN)
portsentr 1334 root 20u inet 3798 TCP *:2000 (LISTEN)
portsentr 1334 root 21u inet 3800 TCP *:5222 (LISTEN)
portsentr 1334 root 22u inet 3802 TCP *:5223 (LISTEN)
portsentr 1334 root 23u inet 3804 TCP *:6667 (LISTEN)
portsentr 1334 root 24u inet 3806 TCP *:12345 (LISTEN)
portsentr 1334 root 25u inet 3808 TCP *:12346 (LISTEN)
portsentr 1334 root 26u inet 3810 TCP *:20034 (LISTEN)
portsentr 1334 root 27u inet 3812 TCP *:32771 (LISTEN)
portsentr 1334 root 28u inet 3814 TCP *:32772 (LISTEN)
portsentr 1334 root 29u inet 3816 TCP *:32773 (LISTEN)
portsentr 1334 root 30u inet 3818 TCP *:32774 (LISTEN)
portsentr 1334 root 31u inet 3820 TCP *:49724 (LISTEN)
portsentr 1334 root 32u inet 3822 TCP *:54320 (LISTEN)
portsentr 2231 root 0u inet 5674 UDP *:1
portsentr 2231 root 1u inet 5676 UDP *:7
portsentr 2231 root 2u inet 5678 UDP *:9
portsentr 2231 root 4u inet 5680 UDP *:69
portsentr 2231 root 5u inet 5682 UDP *:123
portsentr 2231 root 6u inet 5684 UDP *:161
portsentr 2231 root 7u inet 5686 UDP *:162
portsentr 2231 root 8u inet 5688 UDP *:513
portsentr 2231 root 9u inet 5690 UDP *:640
portsentr 2231 root 10u inet 5692 UDP *:700
portsentr 2231 root 11u inet 5694 UDP *:32770
portsentr 2231 root 12u inet 5696 UDP *:32771
portsentr 2231 root 13u inet 5698 UDP *:32772
portsentr 2231 root 14u inet 5700 UDP *:32773
portsentr 2231 root 15u inet 5702 UDP *:32774
portsentr 2231 root 16u inet 5704 UDP *:31337
portsentr 2231 root 17u inet 5706 UDP *:54321
 

Statistik des Forums

Themen
246,295
Beiträge
2,249,584
Mitglieder
373,893
Neuestes Mitglied
Kukkatto
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.