fail2ban ist ein tolles Werkzeug um ungebetene Gäste von seinem Server fern zu halten. Nach vordefinierten Regeln überwacht fail2ban in Echzeit die Logfiles nach verdächtigen Angriffsmustern. Nach einer frei definierbaren Anzahl an Fehlversuchen wird die verursachende IP-Adresse für eine ebenfalls frei definierbare Zeit durch iptables geblockt. Die häufigesten Angriffsversuche sind mit brute-force-Angriffen auf den ssh-Daemon Angriffe auf WordPress oder Postfix bzw. Dovecot, also das Mailsystem. Nun kann es vorkommen, dass man sich bzw. seine IP-Adresse unbeabsichtigt selber aussperrt. Das kann durch Schusseligkeit aber auch durch einen fehlkonfigurierten Email-Client oder ähnlichem vorkommen. fail2ban bzw. iptables macht keinen Unterschied zwischen den Diensten beim Sperren von IP-Adressen. Das hat nun den blöden Nebeneffekt, dass man für eine bestimmte Zeit keinen Zugriff mehr auf seinen Server hat.
Zunächst muss man seine eigene öffentliche IP-Adresse heraus bekommen. Da die meisten Menschen heutzutage über einen Router mit NAT im Internet sind entspricht die IP-Adresse im lokalen Netzwerk nicht seiner öffentlichen IP-Adresse. Die öffentliche IP-Adresse ist meist die internetseitige IP-Adresse des Routers. In der Shell kann man seine öffentliche IP-Adresse einfach ermitteln:
$ host myip.opendns.com resolver1.opendns.com | grep "myip.opendns.com has" | awk '{print $4}' 123.456.789.123