Um Schwachstellen eines Servers auszukundschaften wird dieser meist einem Portscan unterzogen. So kann festgestellt werden, welche Ports offen sind und welche Dienste auf dem Server laufen. Mit Portsentry kann man solche Scans am eigenen Server feststellen und ggf. Gegenmassnahmen ergreifen.
- Wieder installieren wir das Tool aus den Ports:
# cd /usr/ports/security/portsentry/ && make install clean - Jetzt bearbeiten wir noch die Konfigurationsdatei '/usr/local/etc/portsentry.conf', ein Beispiel findest du hier. Wichtige Parameter sind hier:
- TCP_PORTS: Enthält eine Liste TCP-Ports, auf denen Portsentry lauscht und bei einem Scan darauf reagiert
- UDP_PORTS: Äquivalent zu TCP_PORTS aber eben für UDP-Ports
- RESOLVE_HOST: Wenn der Wert auf 1 steht, wird der Hostname zur IP-Adresse aufgelöst
- KILL_ROUTE: Befehl der ausgeführt wird, wenn ein Portscan erkannt wurde
- SCAN_TRIGGER: Anzahl der Scans je IP-Adresse die erkannt werden müssen, um eine Aktion zu starten
- Folgende Werte empfehle ich dir:
- RESOLVE_HOST="1"
- KILL_ROUTE="/sbin/pfctl -t bruteforce -T add $TARGET$ ($TARGET$ wird durch die angreifende IP automatisch ersetzt)
- SCAN_TRIGGER="2" (um False Positives zu vermeiden)
- Um den Dienst zu starten, muss noch folgende Zeile in die "/etc/rc.conf" eingetragen werden:
portsentry_enable="YES"
HINWEIS: Portsentry kann natürlich nur dann erfolgreich arbeiten, wenn die entsprechenden Ports aus TCP_PORTS und UDP_PORTS geöffnet sind. Allgemein ist aber zu sagen, dass eine geschlossene Firewall sicherlich vorzuziehen ist. Weiters muss dir klar sein, dass Portscans nicht immer für Angriffe verwendet werden, sondern auch bspw. von Monitoring-Diensten um festzustellen, ob der Server noch läuft.
Um den KILL_ROUTE-Befehl nutzen zu können, muss natürlich die Firewall (PF) richtig konfiguriert sein. Sieh dir hierzu das Tutorial pf: Bruteforce und mehr an.
Einen Kommentar hinzufügen
Hallo,
Danke für die Hinweise, ist korrigiert!
Viele Grüsse und frohes Neues,
Benedikt
wo ich gerade dabei bin:
Punkt 4, "/etc/rc.conf" (rc.punkt.conf)
kleiner Tippfehler, es müsste unter Punkt 1 heissen:
# cd /usr/ports/security/portsentry && make install clean
(portsentry fehlt)