In welcher Reihenfolge und in welchen Startdateien müssen die Komponenten
- iptables
- fail2ban
- ipset
Nur fail2ban
ist ein Dienst. ipset
ist eines der zahlreichen Steuerprogramme für iptables
. Alternativen sind firwallcmd
(a.k.a. firewalld
), wird z.B. von Red-Hat benutzt) oder ufw
(wird z.B. von Red-Hat benutzt)
iptables
ist genau genommen auch ein Steuerprogramm für die Kernelfirewall.- Installierte Pakte wie „iptables-persistent“ oder „ipset-persistent“ sorgen dafür, dass Firewall Regeln innerhalb von
/etc/
gespeichert und bei einem Neustart wieder eingelesen werden, die stehen nämlich sonst nur im RAM.
failtoban
ist also ein Dienst, der entsprechend gemachter Einstellungen Ausgaben aus Logfiles „abgreift“, mit regulären Ausdrücken untersucht und bei einer konfigurierbaren Anzahl von Treffern mittels iptables
, ufw
oder firewall-cmd
und/oder Geschwistern die Kernelfirewall mit Informationen über zu blockierenden Datenverkehr versorgt und sich merkt, wann er via der selben Befehlsfamilie der Kernelfirewall mitteilen soll, dass diese diesen Datenverkehr nicht mehr blockieren soll.
Das zu konfigurieren ist absolut kein Spaß, da muss viel abgestimmt werden - und in der Regel machen das die Maintainer der Pakete, also der Linux-Distributor. Dem Admin bleibt hier Feinarbeit.
Auch das Apache-Modul „recidive“ steuert in Abhängigkeit von gesetzten Regeln die Firewall und kann dazu iptables
, firewall-cmd
oder ufw
benutzen.
Das System ist leider schon älter.
Und an dieser Stelle geht es los. Die erste Frage wäre die, welches System das denn wohl sei. Du erwähnst nämlich unten etliche Ordner und Dateien (/etc/rc[1..6].d
, /etc/rc.local
), welche darauf hindeuten, dass der alte initd
benutzt wird, um die Dienste zu steuern.
Das ist aber anno 2023 und auch schon seit Jahren „eher selten“. Bei mir steht z.B. in /etc/rc.local:
By default this script does nothing.
Der „gute alte initd
“ aus „System V“ (einem Unix aus dem vorigen Jahrtausend) wurde nämlich aus vielen guten Gründen abgelöst und hier stellt sich im Hinblick auf Dein „Das System ist leider schon älter.“ die alles entscheidende Frage „Durch was?“. Es gab nämlich mehrere Kandidaten, die von verschiedenen Distributionen in verschiedenen Versionen benutzt wurden. Darüber hinaus aktivieren manche Systeme (Debian, Ubuntu, ...) installierte Dienste automatisch, andere (Red Hat und Co.) tun das nicht.
Was hast Du da also und gibt es einen Ordner /etc/systemd
?
Und was ist eigentlich Deine konkrete Frage?
Inzwischen verteilt sich das über das ganze System:
- /etc/profiles.d
- /etc/rc[1..6].d
- /etc/networks/interfaces
- /etc/rc.local
Ja. Das ist so (Es sind sehr viel mehr Dateien beteiligt!) und unter Windows nicht viel anders. Nur hast Du da eine besch... auf mehrere Dateien und den Arbeitsspeicher verteilte binäre Datenbank, in welche Du imaginäre „D-Worte“ eintragen und das System neu starten sollst, statt gut erläuterte und kommentierte Textdateien zu bearbeiten und dann einen Dienst neu zu starten oder ihm (z.B. via sudo systemctl $AKTION $DIENST
) zu sagen, er möge mal seine Config neu lesen.