{"id":289,"date":"2013-02-12T09:24:02","date_gmt":"2013-02-12T08:24:02","guid":{"rendered":"https:\/\/paul-anton.vanhandel.at\/?p=289"},"modified":"2026-07-30T17:42:15","modified_gmt":"2026-07-30T15:42:15","slug":"fail2ban-manueller-notfall-unban","status":"publish","type":"post","link":"https:\/\/paul-anton.vanhandel.at\/?p=289","title":{"rendered":"fail2ban manueller &#8216;Notfall&#8217;-unban"},"content":{"rendered":"<p>Fail2ban erschwert Einbruchsversuche, da es nach einer festlegbaren Anzahl von Fehlversuchen \u00a0&#8211; etwa Loginversuchen \u00fcber SSH &#8211; die IP Adresse des Hackers f\u00fcr eine definierte Zeitspanne sperrt.<\/p>\n<p>Diese Sperre wird in die iptables eingetragen und nach einer ebenfalls definierbaren Zeit wieder freigegeben.<\/p>\n<p>Wenn man sich aber nun selbst von einem Rechner ausgesperrt hat (etwa, weil man am iPhone keinen ssh key eingerichtet \u00a0und das Passwort drei mal vergeigt hat), kann man &#8211; soferne man Zugang \u00fcber ein anderes Medium hat &#8211; einfach die Zeile in den iptables l\u00f6schen.<\/p>\n<p>Hierzu geht man wie folgt vor:<\/p>\n<p>mit<\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\">iptables -L<\/pre>\n<p>listet man die aktuellen Regeln.<\/p>\n<p>Das sieht dann etwa so aus (ich habe von zwei Rechnern absichtlich mit falschem Passwort einzuloggen versucht)<\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\">Chain fail2ban-SSH (1 references)\r\ntarget prot opt source destination \r\nDROP all -- t1.mydomain.com anywhere \r\nDROP all -- t2.mydomain.com anywhere \r\nRETURN all -- anywhere anywhere<\/pre>\n<pre class=\"brush: bash; gutter: false; first-line: 1\"><\/pre>\n<p>&nbsp;<\/p>\n<p>Hier findet man die (ver\u00e4nderten) hostnames, weil fail2ban ein reverse lookup macht. Wenn kein PTR gesetzt ist, erscheinen die IP Adressen.<\/p>\n<p>Um jetzt eine Adresse wieder freizuschalten, wird die Regel gel\u00f6scht:<\/p>\n<pre class=\"brush: bash; gutter: false; first-line: 1\">iptables -D fail2ban-SSH 1<\/pre>\n<p>wobei die Zahl (hier <strong>1<\/strong>) der Zeile der DROP-Regel entspricht (\u00dcberschriften z\u00e4hlen nat\u00fcrlich nicht dazu.<br \/>\nMit dem obigen Kommando wird als t1.mydomain.com wieder freigeschaltet.<\/p>\n<p>Eine Freischaltung sollte aber nur im Notfall auf diese Weise durchgef\u00fchrt werden, weil dadurch 2 Dinge in Schieflage geraten:<\/p>\n<p>Einmal wird fail2ban diese IP bei sp\u00e4teren Einbruchsversuchen erstmal nicht mehr blockieren, da diese in den eigenen Logs bereits als gebannt markiert ist &#8211; es gibt nur eine dementsprechende Meldung im Log dann.<\/p>\n<p>Und zweites wird eine weitere Fehlermeldung im Log vermerkt, wenn fail2ban nach Ablauf der Quarant\u00e4nezeit selbst versucht, die von uns manuell gel\u00f6schte Regel in iptables zu l\u00f6schen.<\/p>\n<p>Danach funktioniert wieder alles wie es soll.<\/p>\n<p><del>Leider habe ich keine (f\u00fcr mich funktionierende) M\u00f6glichkeit gefunden, fail2ban selbst zum aufgeben des Banns zu bewegen, aber vielleicht hat ja der geneigte Leser eine Idee&#8230;<\/del><\/p>\n<p>Edit: <a title=\"fail2ban unban \u2013 so geht\u2019s richtig\" href=\"https:\/\/paul-anton.vanhandel.at\/2013\/02\/12\/fail2ban-unban-so-gehts-richtig\/\">Hier ist die bessere L\u00f6sung<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Fail2ban erschwert Einbruchsversuche, da es nach einer festlegbaren Anzahl von Fehlversuchen \u00a0&#8211; etwa Loginversuchen \u00fcber SSH &#8211; die IP Adresse des Hackers f\u00fcr eine definierte Zeitspanne sperrt. Diese Sperre wird in die iptables eingetragen und nach einer ebenfalls definierbaren Zeit wieder freigegeben. Wenn man sich aber nun selbst von einem Rechner ausgesperrt hat (etwa, weil <a href=\"https:\/\/paul-anton.vanhandel.at\/?p=289\"> [&#8230;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,48,47],"tags":[53,50,51,49,52,25],"class_list":["post-289","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-linux","category-sicherheit","tag-ban","tag-fail2ban","tag-iptables","tag-linux-2","tag-security","tag-sicherheit"],"_links":{"self":[{"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=\/wp\/v2\/posts\/289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=289"}],"version-history":[{"count":1,"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=\/wp\/v2\/posts\/289\/revisions"}],"predecessor-version":[{"id":884,"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=\/wp\/v2\/posts\/289\/revisions\/884"}],"wp:attachment":[{"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/paul-anton.vanhandel.at\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}