Fehlermeldungen in der Firewalld-Protokolldatei Set fail2ban-ssh existiert nicht

Fehlermeldungen in der Firewalld-Protokolldatei Set fail2ban-ssh existiert nicht

Ich habe die folgenden Fehlermeldungen, die sich in der Firewalld-Protokolldatei wiederholen.

2019-07-19 14:18:20 ERROR: COMMAND_FAILED: Direct: '/usr/sbin/iptables-restore -w -n' failed: iptables-restore v1.4.21: Set fail2ban-ssh doesn't exist.

Error occurred at line: 2
Try `iptables-restore -h' or 'iptables-restore --help' for more information.

Ich habe hier und da erfolglos nach einer Lösung für diesen Fehler gesucht. Ich verwende Centos7 mit Firewalld und Fail2ban.

Ich weiß nicht genau, wo das Problem liegt. Hat es etwas mit fail2ban oder firewalld zu tun?

Beim Ausführen von systemctl status firewalld -l werden die folgenden Fehlermeldungen angezeigt:

firewalld[703]: WARNING: '/usr/sbin/iptables-restore --wait=2 -n' failed: iptables-restore v1.4.21: Set fail2ban-sshd doesn't exist.

                Error occurred at line: 2
                Try 'iptables-restore -h' or 'iptables-restore --help' for more information.
firewalld[703]: ERROR: COMMAND_FAILED

Ich habe folgenden Inhalt von jail.local für fail2ban:

[DEFAULT]
ignoreip = 127.0.0.0/8
bantime  = 86400
findtime = 86400
maxretry = 5

# Override /etc/fail2ban/jail.d/00-firewalld.conf:
banaction = firewallcmd-ipset

[sshd]
enabled = true

[ssh]
enabled  = true
filter   = sshd
action   = %(action_)s
logpath  = /var/log/secure
maxretry = 5

Alle anderen Konfigurationen entsprechen den Systemstandards.

Ich habe Firewalld wie folgt installiert:

sudo yum install firewalld
sudo systemctl start firewalld
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --permanent --remove-service=smtp
sudo systemctl enable firewalld

Führen Sie abschließend den folgenden Befehl aus:

# firewall-cmd --direct --get-all-rules

Ich erhalte diese Ergebnisse:

ipv4 filter INPUT 0 -p tcp -m multiport --dports ssh -m set --match-set fail2ban-sshd src -j REJECT --reject-with icmp-port-unreachable
ipv4 filter INPUT 0 -p tcp -m multiport --dports 0:65535 -m set --match-set fail2ban-ssh src -j REJECT --reject-with icmp-port-unreachable

Ich weiß Ihre Unterstützung zu schätzen, da ich mich mehr mit der Entwicklung als mit den Servern befasse.

Ich muss das wirklich so schnell wie möglich beheben. Es betrifft meinen Produktionsserver.

Danke schön!

Antwort1

wenn du dein /var/log/fail2ban.log oder wo auch immer du es abgelegt hast, überprüft hättest, würdest du wahrscheinlich so etwas sehen

01.08.2019 08:16:14,509 fail2ban.utils [11727]: #39-Lev. 3ef3cd40 – exec: ipset create f2b-apache-myadmin hash:ip timeout 2160000 firewall-cmd –direct –add-rule ipv4 filter INPUT_direct 0 –p tcp –m multiport –dports http,https –m set –match-set f2b-apache-myadmin src –j REJECT –reject-with icmp-port-unreachable 2019-08-01 08:16:14,510 fail2ban.utils [11727]: FEHLER 3ef3cd40 – stderr: „ipset v7.2: Syntaxfehler: ‚2160000‘ liegt außerhalb des Bereichs 0–2147483“ 2019-08-01 08:16:14,510 fail2ban.utils [11727]: FEHLER 3ef3cd40 – stderr: „Fehler: COMMAND_FAILED: ‚/usr/sbin/iptables-restore -w –n‘ fehlgeschlagen: iptables-restore v1.8.2 (Legacy): Set f2b-apache-myadmin existiert nicht.“ 2019-08-01 08:16:14,510 fail2ban.utils [11727]: FEHLER 3ef3cd40 – stderr: '' 2019-08-01 08:16:14,510 fail2ban.utils [11727]: FEHLER 3ef3cd40 – stderr: „Fehler aufgetreten in Zeile: 2“ 2019-08-01 08:16:14,510 fail2ban.utils [11727]: FEHLER 3ef3cd40 – stderr: „Versuchen Sie ‚iptables-restore -h‘ oder ‚iptables-restore --help‘, um weitere Informationen zu erhalten.“ 2019-08-01 08:16:14,510 fail2ban.utils [11727]: FEHLER 3ef3cd40 -- stderr: '' 2019-08-01 08:16:14,510 fail2ban.utils [11727]: FEHLER 3ef3cd40 -- zurückgegeben 13 2019-08-01 08:16:14,510 fail2ban.actions [11727]: FEHLER Ausführung von Ban Jail 'apache-catchall' Aktion 'firewallcmd-ipset' fehlgeschlagen. Info 'ActionInfo({'ip': '128.14.209.154', 'family': 'inet4', 'fid': bei 0x3f24b200>, 'raw-ticket': bei 0x3f24b7a0>})‘: Fehler beim Starten der Aktion Jail(‘apache-myadmin‘)/firewallcmd-ipset 2019-08-01 08:16:14,510 fail2ban.actions [11727]: HINWEIS [apache-myadmin]

ipset kann nur ein maximales Timeout von 2147483 haben siehehttp://ipset.netfilter.org/ipset.man.html

Timeout Alle Settypen unterstützen den optionalen Timeout-Parameter beim Erstellen eines Sets und Hinzufügen von Einträgen. Der Wert des Timeout-Parameters für den Befehl „create“ bedeutet den Standard-Timeout-Wert (in Sekunden) für neue Einträge. Wenn ein Set mit Timeout-Unterstützung erstellt wird, kann dieselbe Timeout-Option verwendet werden, um beim Hinzufügen von Einträgen nicht standardmäßige Timeout-Werte anzugeben. Ein Timeout-Wert von Null bedeutet, dass der Eintrag dem Set dauerhaft hinzugefügt wird. Der Timeout-Wert bereits hinzugefügter Elemente kann geändert werden, indem das Element mit der Option -exist erneut hinzugefügt wird. Der größtmögliche Timeout-Wert beträgt 2147483 (in Sekunden).

da Sie ipset über Firewalld verwenden, müssen Sie Ihre Sperrzeit in der Datei jail.local für jedes Jail und den Standardwert auf maximal 2147483 Sekunden oder was auch immer das in Tagen ist, verkürzen. und dann ist alles gut!

Antwort2

Ich weiß, dass diese Frage schon ein paar Jahre alt ist, aber ich bin gerade auf dieses Problem mit einem alten Server gestoßen, auf dem Centos7 läuft. Schließlich konnte ich das Problem auf ein falsches IPset-Präfix eingrenzen, das in /etc/firewalld/direct.xml feststeckt:

... --match-set fail2ban-sshd...

... anstatt ...

...--match-set f2b-sshd

Das Korrigieren dieses falschen Präfixes in direct.xml hat den Fehler für mich behoben.

verwandte Informationen