Hallo,
bitte die
"iptables" nicht mit einer
IDS/IPS" (
"Snort"/
"Suricata") oder einer
"WAF" wie
"ModSecurity"/
"NAXSI" und diversen Lösungen welche direkt auf der Anwendungsschicht aufsetzen verwechseln. Diese arbeiten wenn final konfiguriert scheinbar "magic".
Die Iptables ist eine Firewall welche lediglich anhand vorab erstellter Regelsätze und Chains den "Trafficfluss" bzw. den Zugriff auf das System überprüft, blockiert, erlaubt oder weiterleitet.
Wenn in der Firewall der Standardport für den SSH-Dienst (22/tcp) uneingeschränkt vom Rest der Welt erreichbar ist, dann prüft diese lediglich ob der Zielport und das Übertragungsprotokoll mit dem aus dem Regelsatz übereinstimmt und lässt diesen passieren. Die Firewall, in dem Fall die Iptables unterscheidet nicht, ob der Traffic welcher diesen Port nun erreicht legitim ist oder ob innerhalb von 1-n Minuten 1000x fehlgeschlagene Logins oder gar X Gb über SCP übertragen wurden. Die Prüfung auf fehlgeschlagene Logins ist keine Funktion der Firewall "out-of-the-box" - hier macht man sich lediglich zusätzliche Programme/Scripte zunutze wie
"Fail2Ban".
Fail2Ban überprüft am Beispiel von SSH die "/var/log/auth.log" fehlgeschlagene Loginversuche und anhand der für den jeweiligen Dienst/Jail in der f2b-Konfiguration angegeben Limits, erstellt Fail2Ban bei erreichen dieser, die iptables-Regel zum Verwerfen von Traffic. Diese Mechanik gibt den iptables einen dynamisch-automatischen Hauch wenn, explizit Blockierungen von mehrfach unerwünschten und fehlgeschlagenen Logins vonstatten gehen.
Die Absicherung von Wordpress-Instanzen ist mit Fail2Ban und einem extra Jail sicherlich auch möglich, jedoch muss dies zuvor von Hand immer eingerichtet werden, damit Fail2Ban die Webserverlog überhaupt auf fehlgeschlagene "domain.tld/wp-admin/login.php" POSTs überprüft.
-> Beispiel: die Limitierung von Zugriffen bei Keyhelp-Systemen auf "Phpmyadmin"
Selbstverständlich ist die iptables-firewall in der Lage auch andere komplexere Limitierungen umzusetzen:
+ Limitierung von Verbindungen pro Sekunde/Minute/Stunde von IP-X /Subnetz-X oder maximal X IPs aus Subnetz-X
+ Filterung auf explizit angegebene flags oder raw-packets der Form X oder der Größe 'n' bytes
+ Prozess und User/Gruppenabhängige Regelungen
+ Country/Geoblocking in Verbindung mit
"ipset" oder Blocklisten (dshild,tor,rbls,..)
uvm.
Derartige Filter lassen sich jedoch nur mit Anpassung auf ein- oder mehrere identische Systeme vornehmen und finden in vielen Fällen gar keine Verwendung, d.h. manuelle Anpassungen sind von Hand notwendig und variieren von System-zu-System.
Die bereitgestellte Funktion zur Konfiguration der iptables aus einer GUI(Keyhelp) heraus ermöglicht und vereinfacht dies, sofern die benötigte Syntax zur Erstellung der Regeln/Ketten nicht 100%ig geläufig sind. Auch stellt diese Vereinfachung keine Alternative von Firewall Appliances (Sophos/Cisco ASA/Sonicwall/Securepoint/Watchguard/Ipcop/Pfsense/Opensense/Ipfire/etc.) dar.
Anwendungsbezogene Legitimationsprüfungen und deren Handling ist die Firewall wie beschrieben nicht in der Lage, dies erfordert immer individuelle Anpassungen an den Zweck und die Anforderungen. Sobald die prüfende Anwendung (z.B. Kombination von WP/Webserver/F2B) für die Firewall verwertbare Informationen bereitstellt, dann kann dies auch auf IP und Protokollebene limitiert werden.
Anbei 2 vielleicht nützliche Links zur Wordpress/Fail2Ban/Iptables-Kombi:
#1
https://de.wordpress.org/plugins/wp-fail2ban/
#2
https://www.bjornjohansen.no/using-fail ... -wordpress