Durch eine Blacklist, wie z.B. OpenBL, kann die Firewall weiter verstärkt werden. Wir müssen jedoch die Performance unserer Firewall erhöhen. Sie können kostenlose Blacklisten zusammen mit Firewall-Daten nutzen, um unbemerkt Attacken zu entdecken. Was sollten Firmen in kostenlosen schwarzen Listen beachten? Kurzgesagt: Ja, es gibt kostenlose schwarze Listen.
Wenn Ihre Firewall bereits ihre besten Tage hinter sich hat, ist ein vorübergehender Umweg mit einer Open-Source-Website Blacklist erdenkbar. Natürlich auch, wenn Sie nicht genügend Personal haben, um die Firewall Ihres Unternehmens richtig zu warten. Der Firewallserver muss eine permanente Anbindung an die entsprechende Open Source Blacklist-Infrastruktur aufrecht erhalten.
Außerdem müssen Sie einen Abruf der beschämenden URL und IP-Adressen zulassen. Das ist eine kostengünstige Möglichkeit, die Firewall auf dem neuesten Stand zu erhalten. Eine fachgerechte Firewall-Wartung ist immer die beste Wahl. Deshalb sollte diese Technologie nur vorübergehend oder ergänzend zu einer bestehenden, robusten Firewall-Infrastruktur verwendet werden. Zu viele Szenarios können sich als Boomerang für Firmen ausweisen.
So ist es beispielsweise für Angriffe nicht schwer, eine "freie schwarze Liste" zu errichten. Dies könnte Ihre Firewall mit einer Auflistung von gültigen Webseiten und IP-Adressen versorgen, die von den Benutzern des Unternehmens oft aufgesucht werden. Letztendlich würde Ihre Firewall zu einer Miniaturausgabe eines Denial of Service (DoS)-Tools werden. Wenn Sie sich für eine kostenlose Blacklist Website entscheiden, sollten Sie sich daher vorab über die Erfahrungen anderer Nutzer erkundigen.
Sie können hier ganz genau wissen, dass die Firewall-Infrastruktur nur mit einer Liste der wirklich bösartigen Websites gespeist wird. Sollte ich eine Verbindung über den SSH Tunnel durch die Firewall zulassen?
Besondere Aufmerksamkeit wird der Exec-Aktion geschenkt, mit der es möglich ist, aus mod_security heraus fremde Anwendungen oder Skripts zu laden. Dies macht es einfach, das Apache-Modul einzusetzen, um z. B. den Serverzugriff für gefährdete Computer auf Paketfilterebene komplett zu sperren, wie das folgende Beispiel aufzeigt. An so aufgerufene Anwendungen und Scripte können keine Kommandozeilen-Optionen weitergegeben werden.
Dazu müssen passende Umgebungsvariable verwendet werden. Alle CGI-Variablen wie THE_REQUEST, TIME, REMOTE_USER und DOCUMENT_ROOT sind für die gerufenen Programme als Umgebungsvariable verfügbar. Zusätzlich ermöglicht die Action setenv:VARIABLE=VALUE das Festlegen eigener Variablen für die Kommunikation mit Skripts und Programm. SecFilterSelektive ARG_highlight "%27" mit dem zugehörigen Script-Aufruf: "deny,log,exec:/etc/mod-security/ip-blacklist. sh" Das Script /etc/mod-security/ip-blacklist. sh fügt nur die IP-Adresse hinzu, die in der CGI-Variablen REMOTE_ADDR gespeichert ist, von der aus auf eine Blacklist-Datei im Apache-Protokollverzeichnis zugegriffen wurde:
Damit die IP-Adressen in der Blacklist auch wirklich blockiert werden können, ist nun z.B. ein Hintergrundjob mit Root-Rechten erforderlich, der die Blacklist auf Veränderungen prüft und die IP-Adressen in der Firewall mit entsprechenden iptables-Aufrufen blockiert. Für den Paket-Filter des Rechners übernimmt das folgende einfache Script diese Aufgabe: Ein reales Script sollte auch nach doppelten Einträgen suchen und aus Gründen der Sicherheit den Dateiinhalt rigoros testen, bevor es ihn in irgendwelche Kommandos einbindet.
Darüber hinaus sollte ein automatischer Schutzmechanismus zum Blockieren von verdächtigen IP-Adressen immer mit großer Umsicht eingesetzt werden. Auf der anderen Seite könnte ein automatischer Firewall-Verwaltungsmechanismus auch von einem Hacker missbraucht werden, um Zugang zu privilegierten Bereichen zu erhalten oder um nicht involvierte Benutzer zu blockieren. Die conf enthält Regelungen, die mod_security erst seit 1.9.0 unterstützen und daher abgeschaltet werden müssen.
Den letzten Arbeitsschritt kann man weglassen, wenn man eine neue Variante 1.9 verwendet, aber Debian stellt zur Zeit nur binäre Pakete für die neue Variante 1.8.7 zur Verfügung.