Naja. Du darfst nicht vergessen, dass die Maschine ja einen Stromausfall hatte. Da wurde offenbar nichts „heruntergefahren“ sondern „brutals möglich ausgeschaltet“, iptables-safe
fand also nicht statt. (Ich wundere mich schon ein wenig darüber, aber ich weiß ja nicht so detailliert, was andere treiben.)
Allerdings kann selbst ein HyperVi, erst recht VM-Ware auf einem Server mit unterbrechungsfreier Stromversorgung auf das durch diese ausgelöste Herunterfahren des Hosts reagieren und die Gäste „einfrieren“ bzw. „suspendieren“. Was hast Du? Dezidiertes „Blech“?
Anno 2022 kann man nämlich über die Frage "virtualisiert oder dezidiert" etwas wie „Blech bringt Pech!“ sagen.
Zurück zum Thema:
Damit die Regeln persistent sind müssen diese irgendwann in eine Datei geschrieben werden. Bei mir sind das
/etc/iptables/rules.v4 /etc/iptables/rules.v6
und, aus Kompatibiltätsgründen, existiert bei mir(sic!) ein harter Link zu
/etc/iptables/iptables.rules
Du musst auf Deinem eigenen System nachsehen, welche Dateien Du hast.
Du kannst jetzt mit einem cronjob und iptables-save Deine Einstellungen regelmäßig sichern - dann hast Du aber das Problem, dass fail2ban eventuell IPs nie mehr herauslöscht ODER eben damit leben, dass nach einem Stromausfall womöglich solche Zeilen im Logfile auftauchen, auf jeden Fall das Blockieren von vorn beginnt, es also (womöglich) erst mal wieder Kontrollmeldungen gibt.
In einen der Äpfel musst Du beißen. Ich sichere übrigens bei einer anderen Gelegenheit (Abholen von Blocklists...) filtere aber alle von fail2ban gesetzten Regeln dabei aus:
iptables-save | grep -v -- '^-A f2b.*DROP' > "${rulesFile}"
Grund:
Damit, dass fail2ban die Listen neu aufbauen muss, kann ich gut leben... Schlechter wäre es für mich, wenn ich unterwegs bin und mich selbst aussperre bis ich wieder direkt an den Server kann, weil fail2ban die von iptables-restore aus dem $rulesFile gelesenen Sperren nie wieder aufhebt. „Schlecht“ (weil mit Aufwand verbunden) ist auch, dass ich womöglich die Regeln die Fail2ban gesetzten manuell aufheben müsste. Wer - BITTE - persistiert denn die von fail2ban gesetzten Rules?
Hinweis:
Ich habe den obigen Code als „schlecht“ markiert, damit das niemand genau so nachmacht und dann lamentiert, weil es bei ihm oder ihr so nicht geht. Das muss jeder für sich noch überprüfen und anpassen.