Das kennt vielleicht der Eine oder Andere. Man richtet sich fail2ban ein, spielt ein wenig mir der Konfiguration rum und sagt sich, das ganze muss noch restriktiver eingestellt werden. Dann kommt der Tag, wo man selber mal nicht genau hinschaut und schwubs – man hat sich selbst ausgesperrt. Was nun? Guter Rat ist teuer – oder eben kostenlos hier erhätlich 🙂
Ein Weg aus der Misere ist sich von einer anderen IP aus auf dem Server per ssh einzulogen um sich selbst zu entsperren. Dabei kommt für manch einen dann die Frage, mit welcher ip war ich denn da? Seine eigene IP kann man bequem bei http://ipchicken.com herausfinden.
Nachdem man nun seine IP kennt fehlt noch der Grund für die Sperre. Hierfür fragt man am besten die möglichen Sperrgründe direkt bei fail2ban ab. Mit dem Befehl
root@hostname# fail2ban-client status
Eine mögliche Antwort ist z.B.
Status |- Number of jail: 2 `- Jail list: recidive, ssh
Dies bedeutet es gibt 2 Chains, also einfach gesagt, Tabellen, in denen die gesperrte IP eingetragen sein kann. Als nächstes fragt man einfach IPtables ab, das ist – eingach gesagt – der Ort, wo die gesperrte IP eingetragen ist. Dies erledigt man mit dem Befehl
root@hostname# iptables -L -n --line
Man bekommt nun die einzelnen Chains angezeigt. Diese lauten Input, Forward, Output als Standard Chains, danach folgen z.B. die für uns nun interessanten Chains aus der fail2ban Konfiguration
Chain f2b-SSH (1 references) num target prot opt source destination 1 RETURN all -- 0.0.0.0/0 0.0.0.0/0 Chain f2b-recidive (1 references) num target prot opt source destination 1 REJECT all -- 1.2.3.4 0.0.0.0/0 reject-with icmp-port-unreachable
Angenommen unsere IP war 1.2.3.4 dann könnten wir uns nun befreien. Die zuständige Chain ist die f2b-recidive. Mit dem Befehl
root@hostname# fail2ban-client set recidive unbanip 1.2.3.4
Es wird anschliessend der Erfolg in der Konsole ausgegeben. Mann kann dies wiederum mit einer erneuten Abfrage von IPtables kontrollieren:
root@hostname# iptables -L -n --line
Die gesperrte IP ist nun nicht weiter gelistet. Möchte man sich vor weiteren Sperrungen schützen, kann man seine eigene IP oder jede andere der man Fehlversuche erlauben möchte in die jail.conf eintragen. Die Liste der IP-Adressen wird durch eine Leertaste getrennt.
Beispieleintrag:
[DEFAULT] # "ignoreip" can be an IP address, a CIDR mask or a DNS host. Fail2ban will not # ban a host which matches an address in this list. Several addresses can be # defined using space separator. ignoreip = 127.0.0.1 192.168.1.0/24 8.8.8.8 1.2.3.4
Wie man mit einer anderen IP auf seinen Server kommt, trotz einer rel. festen durch, z.B. Kabel Deutschland – Vodafone zeige ich in einem anderen Beitrag „Mit Tor über Putty„.