Seite anzeigenÄltere VersionenLinks hierherNach oben Diese Seite ist nicht editierbar. Sie können den Quelltext sehen, jedoch nicht verändern. Kontaktieren Sie den Administrator, wenn Sie glauben, dass hier ein Fehler vorliegt. ====== Abwehr von Brute Force Attacken ====== Da der IdP weltweit erreichbar ist, ist es einem Angreifer prinzipiell möglich, Usernamen/Passwörter beliebig lange durchzuprobieren. Solche Angriffe können z.B. mithilfe der Intrusion Prevention-Software [[http://www.fail2ban.org|fail2ban]] abgewehrt werden. Fail2ban sperrt dann IP-Adressen, von denen zu viele Fehlversuchen kommen. ===== Anpassen des Logformats von Shibboleth ===== Das IdP-Logformat muss angepasst werden, wie unter [[de:shibidp:config-log|Logging]] beschrieben. ===== Installation von fail2ban ===== <code bash> root@idp:~# apt install fail2ban </code> ===== Konfiguration von fail2ban ===== <file ini /etc/fail2ban/filter.d/idp.conf> [Definition] failregex = IP\:<HOST> .* Login by .* failed IP\:<HOST> .* No password available ignoreregex = </file> <file ini /etc/fail2ban/jail.local> [idp] enabled = true port = http,https filter = idp logpath = /opt/shibboleth-idp/logs/idp-process.log maxretry = 5 </file> ===== Fail2ban über Apache ===== Ein Teilnehmer der DFN-AAI hat eine Lösung erarbeitet, mit der gesperrte Nutzer*innen darüber informiert werden können, warum sie den IdP nicht mehr erreichen können: Er hat fail2ban genutzt, um auf eine Informationsseite umzuleiten. Die Vorgehensweise in Stichworten: * Anleitung, um alle Anfragen von geblacklisteten IPs umzuleiten: https://httpd.apache.org/docs/2.4/rewrite/access.html#host-deny * Erklärung auf Zielseite stellen, aus der hervorgeht, dass zu viele Anmeldeversuche fehlgeschlagen sind und wann die Person es erneut versuchen kann. * Apache-Konfiguration:<code bash>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></code> * neue Datei im Verzeichnis ''/etc/fail2ban/action.d'' erstellen, die regelt, wie eine IP-Adresse gebannt und wieder freigegeben wird:<code bash>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 5 Jahren Anmelden