Problem:
Um das ein oder andere Problem zu analysieren, benötigt man auch schon mal die Logging-Option der <code>iptablescode>. Wer aber seine Firewall über Plesk administriert hat keinerlei Eingriffsmöglichkeit.
Hier eine Anleitung zum kurzfristigen aktivieren der Logging-Option
Lösung:
Ohne die Tiefen von <code>iptablescode> erklären zu wollen, hier der grobe Ablauf:
- 1. Wir erstellen eine eigene Chain für Drop-Anweisungen.
- 2. In dieser Chain werden die zwei Schritte ausgeführt: <code>LOGcode> und <code>DROPcode>
- 3. Wir ersetzten die letzte <code>iptablescode>-Rule der <code>INPUTcode>-Chain (nämlich den <code>DROPcode>) und aktivieren statt dessen unsere neue Chain.
Natürlich könnte man direkt die Firewall-Regeln von Plesk bearbeiten: <code>/usr/local/psa/var/modules/firewall/code>. Da Plesk dies aber überschreibt, schreiben wir uns ein eigenes Script, welches unser Logging einfach dazu schaltet.
Automatisiert als eigenes Script sieht es wie folgt aus. Wer mag kann die einzelnen Zeilen auch in die Kommandozeile eintippen. (Geht manchmal schneller.)
#!/bin/sh IPTABLES=/sbin/iptables #Eigene Chain "LOGDROP" initialisieren (inkl Löschen falls vorhanden) IPTABLES -F LOGDROP IPTABLES -X LOGDROP IPTABLES -N LOGDROP IPTABLES -A LOGDROP -j LOG IPTABLES -A LOGDROP -j DROP #Wir suchen die letzte Zeile (DROP) der INPUT-Chain und ersetzten diese INPUT_NUM=´IPTABLES --line-numbers -nL INPUT | tail -n1| cut -d' ' -f1´ IPTABLES -R INPUT INPUT_NUM -j LOGDROP
Vorher sollte man überprüfen ob wirklich <code>DROPcode> als letzte Rule in der INPUT-Chain steht!
Eine mögliche Erweiterung wäre alle <code>DROPcode>-Anweisungen die evtl. auch dazwischen stehen zu ersetzten. Auch dies wäre mit einer kleinen <code>forcode>-Schleife und ohne den <code>tail -n1code> machbar.
Um die original Plesk-Regeln wieder herzustellen startet man entweder das Script unter <code>/usr/local/psa/var/modules/firewall/code> oder schaltet im Plesk-Panel die Firewall kurz aus und wieder an.
Weitere Links:
- Vorüberlegung: Macht eine Firewall auf einem Server Sinn?