Fail2Ban для Teamspeak3 Server: различия между версиями

Материал из Home wiki
Перейти к навигации Перейти к поиску
 
Строка 43: Строка 43:
 
Bisher werden nur Server-Query Logins überwacht. Da ich keinen TS3 mit Passwort betreibe, kann ich keine Fail2Ban-Regeln für normale User-Logins mit falschem Passwort erstellen. Es wäre schön, wenn mir jemand mal entsprechende Logfiles als Beispiel zusenden könnte.
 
Bisher werden nur Server-Query Logins überwacht. Da ich keinen TS3 mit Passwort betreibe, kann ich keine Fail2Ban-Regeln für normale User-Logins mit falschem Passwort erstellen. Es wäre schön, wenn mir jemand mal entsprechende Logfiles als Beispiel zusenden könnte.
  
[[Category:Teamspeak 3]]
+
[[Category:Teamspeak 3]] [[Category:Fail2Ban]]

Текущая версия на 10:14, 17 августа 2018

Fail2Ban für Teamspeak3 Server

(На немецком языке, переведу позже)


Fail2Ban schützt (Linux-)Server vor Angriffen, indem es Logfiles auswertet und bei unerwünschten Vorgängen, wie z.B. zu vielen fehlgeschlagenen Logins, die Client-IP per Firewall für eine bestimmt Zeit sperrt. Man kann damit auch einen Teamspeak3 Server absichern, vorallem wenn man Admin-Zugriffe (Server-Query) von außen zulässt. Wer ab hier weiter liest, sollte bereits etwas Erfahrung mit Fail2Ban und eine lauffähige Version davon in Gebrauch haben.

Teamspeak3 vorbereiten Hier ist nicht viel nötig. Man muss nur wissen, in welchem Verzeichnis sich die Logfiles des TS3 Servers befinden. In meinem Beispiel ist das: /usr/local/bin/teamspeak/logs/ Fail2Ban vorbereiten Die Datei /etc/fail2ban/filter.d/teamspeak.conf anlegen und bearbeiten:

 [INCLUDES]
 before = common.conf
 [Definition]
 failregex = ^(.*)query from [0-9]{1,} :[0-9]{1,5} attempted to login with account "(.*)" and failed!$
 ignoreregex =

Dieser Filter findet später Einträge im Teamspeak3 Logfile, die in etwa so aussehen:

2015-08-20 12:12:45.825529 | INFO | Query | | query from 5 192.168.0.10:56971 attempted to login with account "serveradmin" and failed!

Die Datei /etc/fail2ban/jail.local (ggf. anlegen und) bearbeiten:

 [teamspeak]
 enabled = true
 port = 2008,2010,9987,10011,30033,41144
 filter = teamspeak
 logpath = /usr/local/bin/teamspeak/logs/ts3server*.log # deswegen zuerst den Logfile-Pfad von Teamspeak suchen
 maxretry = 3 # Anzahl der erlaubten Fehlversuche
 bantime = 86400 # = 1 Tag
 findtime = 7800 # siehe Anmerkungen weiter unten
 action = iptables-multiport[name="teamspeak", port="2008,2010,9987,10011,30033,41144"]

Danach fail2ban neu starten und fertig. Der Parameter findtime ist sehr hoch. Das hat den Grund, dass TS3 Einträge im Logfile immer in UTC Zeit schreibt. Das lässt sich auch nicht ändern. Da wir in Deutschland zwischen +1 und +2 Stunden Verschiebung zu UTC haben, müssen wir also 2x 3600 Sekunden (=1 Stunde) + die eigentlich gewünschte FindTime angeben. Also nicht wundern. Wer eine elegantere Lösung weiß, möge mir das bitte sagen.

ToDo / offene Punkte Bisher werden nur Server-Query Logins überwacht. Da ich keinen TS3 mit Passwort betreibe, kann ich keine Fail2Ban-Regeln für normale User-Logins mit falschem Passwort erstellen. Es wäre schön, wenn mir jemand mal entsprechende Logfiles als Beispiel zusenden könnte.