Metainformationen zur Seite
  •  

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
start:linux:terminal:fail2ban [2021/08/27 17:15]
wikiadmin angelegt
start:linux:terminal:fail2ban [2021/08/27 17:29] (aktuell)
wikiadmin
Zeile 1: Zeile 1:
 +===== Fail2Ban =====
 Das in Python geschriebene Tool '''fail2ban''' verfolgt das Ziel, Serverdienste gegen DoS Angriffe abzusichern. Es prüft Logdateien nach vordefinierten Mustern und sperrt bei wiederholtem fehlgeschlagenem Zugriff temporär die entsprechenden IP-Adressen. Dieser Artikel zeigt, wie Sie einen Debian-basierten Server mit fail2ban absichern. Die eingesetzte Version von fail2ban ist '''0.9.6-2''' unter '''Debian 9.1'''. Das in Python geschriebene Tool '''fail2ban''' verfolgt das Ziel, Serverdienste gegen DoS Angriffe abzusichern. Es prüft Logdateien nach vordefinierten Mustern und sperrt bei wiederholtem fehlgeschlagenem Zugriff temporär die entsprechenden IP-Adressen. Dieser Artikel zeigt, wie Sie einen Debian-basierten Server mit fail2ban absichern. Die eingesetzte Version von fail2ban ist '''0.9.6-2''' unter '''Debian 9.1'''.
  
Zeile 4: Zeile 5:
 In der Logdatei "/var/log/auth.log" treten mehrere fehlgeschlagene Loginversuche mit dem Protokoll SSH auf, die nicht von Ihnen stammen. In der Logdatei "/var/log/auth.log" treten mehrere fehlgeschlagene Loginversuche mit dem Protokoll SSH auf, die nicht von Ihnen stammen.
  
-<pre>+<code C# [enable_line_numbers="true",highlight_lines_extra="0,"]>
 Feb 19 09:21:15 servername sshd[22796]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.207.xx.xx  user=root Feb 19 09:21:15 servername sshd[22796]: pam_unix(sshd:auth): authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=218.207.xx.xx  user=root
 Feb 19 09:21:17 servername sshd[22796]: Failed password for root from 218.207.xx.xx port 22 ssh2 Feb 19 09:21:17 servername sshd[22796]: Failed password for root from 218.207.xx.xx port 22 ssh2
-</pre>+</code>
  
 ==Erklärung== ==Erklärung==
Zeile 14: Zeile 15:
  
 ==Lösung== ==Lösung==
-Sichern Sie Ihren SSH Login mit dem Tool fail2ban ab, [[Direkten_Root_Login_unter_Debian_verbieten|verbieten Sie direkten Root Login]] oder melden Sie sich nur mit [[OpenSSH_Public_Key_Authentifizierung_unter_Ubuntu|Public-Key-Verfahren]] an.+Sichern Sie Ihren SSH Login mit dem Tool fail2ban ab, verbieten Sie direkten Root Login oder melden Sie sich nur mit Public-Key-Verfahren an.
  
 ==Was ist Fail2Ban== ==Was ist Fail2Ban==
Zeile 20: Zeile 21:
 In dem Konfigurationsbeispiel unten, wird eine IP Adresse für 1 Stunde gesperrt, nachdem von dieser 4 fehlgeschlagene Anmeledeversuche für SSH stattgefunden haben. In dem Konfigurationsbeispiel unten, wird eine IP Adresse für 1 Stunde gesperrt, nachdem von dieser 4 fehlgeschlagene Anmeledeversuche für SSH stattgefunden haben.
 ==Installation von Fail2Ban== ==Installation von Fail2Ban==
-<source lang="bash">sudo apt install fail2ban</source>+<code C# [enable_line_numbers="true",highlight_lines_extra="0,"]> 
 +sudo apt install fail2ban 
 +</code>
 ==Konfiguration Fail2Ban== ==Konfiguration Fail2Ban==
 Im Ordner ''/etc/fail2ban/'' finden Sie die globale Konfigurationsdatei ''jail.conf''. Diese jedoch nicht bearbeiten, da sie bei jeder Paketaktualisierung überschrieben wird. Die eigene Konfiguration geschieht in der "jail.local". Im Ordner ''/etc/fail2ban/'' finden Sie die globale Konfigurationsdatei ''jail.conf''. Diese jedoch nicht bearbeiten, da sie bei jeder Paketaktualisierung überschrieben wird. Die eigene Konfiguration geschieht in der "jail.local".
-<pre>+<code C# [enable_line_numbers="true",highlight_lines_extra="0,"]>
 # To avoid merges during upgrades DO NOT MODIFY THIS FILE # To avoid merges during upgrades DO NOT MODIFY THIS FILE
 # and rather provide your changes in /etc/fail2ban/jail.local> # and rather provide your changes in /etc/fail2ban/jail.local>
-</pre>+</code>
 Hierzu kopieren Sie die "jail.conf" nach "jail.local". Hierzu kopieren Sie die "jail.conf" nach "jail.local".
-<source lang="bash">sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local</source>+<code C# [enable_line_numbers="true",highlight_lines_extra="0,"]> 
 +sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local 
 +</code>
  
 Prüfen Sie die die Einstellungen zur lokalen IP Adresse Ihres Servers. Die Zeit, wie lange eine IP geblockt werden soll wird in unserem Beispiel auf eine Stunde erhöht und die Anzahl der Versuche, nach denen geblockt werden soll, wird auf 3 verringert. Diese Konfiguration ist in der folgenden Sektion der ''jail.local'' vorzunehmen: Prüfen Sie die die Einstellungen zur lokalen IP Adresse Ihres Servers. Die Zeit, wie lange eine IP geblockt werden soll wird in unserem Beispiel auf eine Stunde erhöht und die Anzahl der Versuche, nach denen geblockt werden soll, wird auf 3 verringert. Diese Konfiguration ist in der folgenden Sektion der ''jail.local'' vorzunehmen:
  
-<pre>+<code C# [enable_line_numbers="true",highlight_lines_extra="0,"]>
 [...] [...]
 [DEFAULT] [DEFAULT]
Zeile 61: Zeile 66:
 maxretry = 3 maxretry = 3
 [...] [...]
-</pre>+</code> 
 Sie können die Parameter dann für einzelne Dienste (wie hier in dem Artikel der SSH Daemon) separat anpassen. Sie können die Parameter dann für einzelne Dienste (wie hier in dem Artikel der SSH Daemon) separat anpassen.
  
 Ergänzen Sie nun weiter unten in der eigenen, vorher kopierten, Konfigurationsdatei ''jail.local'' im Abschnitt zum SSH Daemon die erforderlichen Parameter um ihn per fail2ban zu überwachen: Ergänzen Sie nun weiter unten in der eigenen, vorher kopierten, Konfigurationsdatei ''jail.local'' im Abschnitt zum SSH Daemon die erforderlichen Parameter um ihn per fail2ban zu überwachen:
  
-<pre>+<code C# [enable_line_numbers="true",highlight_lines_extra="0,"]>
 [...] [...]
 # #
Zeile 80: Zeile 86:
 maxretry = 4 maxretry = 4
 [...] [...]
-</pre>+</code>
  
 Starten Sie anschließend fail2ban neu, damit die Änderungen übernommen werden.  Starten Sie anschließend fail2ban neu, damit die Änderungen übernommen werden. 
  
-<code>sudo systemctl restart fail2ban.service</code>+<code C# [enable_line_numbers="true",highlight_lines_extra="0,"]> 
 +sudo systemctl restart fail2ban.service 
 +</code>
  
-[[Kategorie:Debian]] 
-[[Kategorie:SSH]] 
-[[pl:Zabezpieczenie loginu SSH w Debianie z fail2ban]]