Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:shibidp3fail2ban [2017/03/24 11:40]
Raoul Gunnar Borenius
de:shibidp3fail2ban [2020/04/16 09:38]
Silke Meyer gelöscht
Zeile 7: Zeile 7:
 ==== Config Shibboleth IdPv3 ==== ==== Config Shibboleth IdPv3 ====
  
-Dazu muss das IdP-Logformat etwas angepasst werden. Siehe dazu die IdP-Konfigurationsanleitung in diesem +Dazu muss das IdP-Logformat etwas angepasst werden. Siehe dazu die [[de:shibidp3config-log|IdP-Konfigurationsanleitung in diesem 
-Wiki!+Wiki]]!
  
 ==== Config fail2ban ==== ==== Config fail2ban ====
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>
 +
 +{{tag>idp3}}