Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Letzte Überarbeitung Beide Seiten der Revision
de:shibidp3fail2ban [2017/03/24 11:40]
Raoul Gunnar Borenius
de:shibidp3fail2ban [2017/03/24 16:32]
Raoul Gunnar Borenius
Zeile 29: Zeile 29:
 maxretry = 5 maxretry = 5
 </​file>​ </​file>​
 +
 +===== Fail2ban über Apache =====
 +
 +Im Normalfall sperrt Fail2ban die user per iptables Regel auf IP-Ebene. D.h. der gesperrte User bekommt keine
 +Verbindung mehr zum IdP. Damit entfällt die Möglichkeit dem User eine Information zu geben warum er gesperrt ist
 +und was er machen kann um sich entsperren zu lassen.
 +
 +Alternativ kann fail2ban daher auch eingesetzt werden um den gesperrten nicht per iptables abzuweisen sondern ihn auf eine Info-Webseite zu leiten.
 +
 +Hier die Info eines DFN-AAI-Teilnehmers in Kurzform:
 +
 +<​code>​
 +Also habe ich mich an folgende Anleitung gehalten:
 +https://​httpd.apache.org/​docs/​2.4/​rewrite/​access.html#​host-deny
 +
 +Dabei werden alle Anfragen an den Apache auf eine fest definierte Seite 
 +weitergeleitet,​ sobald die anfragende IP-Adresse auf der Blacklist steht.
 +Auf der Zielseite habe ich dann einfach einen kurzen Erläuterungs-Text ​
 +hinterlegt, der wie folgt aussieht:
 +
 +> Anmeldung zu oft fehlgeschlagen.
 +> Sie wurden für 10 Minuten gesperrt.
 +> Bitte versuchen Sie es später erneut.
 +
 +Die nötige Konfiguration im Apache sieht bei mir so aus:
 +
 +> RewriteEngine on
 +> RewriteMap hosts-deny "​txt:/​etc/​apache2/​conf.d/​shib.deny"​
 +> RewriteCond "​${hosts-deny:​%{REMOTE_ADDR}|NOT-FOUND}"​ "​!=NOT-FOUND"​
 +> RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/​Blockiert/​index.html [L]
 +>
 +> <​Directory "/​srv/​www/​htdocs/​Blockiert">​
 +>   ​AllowOverride
 +>   ​Require all granted
 +> </​Directory>​
 +
 +Im fail2ban habe ich dann noch unter action.d eine eigene Datei 
 +angelegt, die beschreibt wie im Falle eine IP-Adresse gebannt und wieder ​
 +freigegeben wird.
 +
 +> actionban = printf %%b "<​ip>​ -\n" >> <​deny-config>​
 +> actionunban = sed -i "/​^<​ip>​ -$/d" <​deny-config>​
 +> deny-config = /​etc/​apache2/​conf.d/​shib.deny
 +</​code>​
  • Zuletzt geändert: vor 10 Monaten