Fail2Ban для Teamspeak3 Server: различия между версиями
KOleg (обсуждение | вклад) (Новая страница: «'''Fail2Ban für Teamspeak3 Server''' (На немецком языке, переведу позже) Fail2Ban schützt (Linux-)Server vor Angriffen, indem es…») |
KOleg (обсуждение | вклад) |
||
(не показана 1 промежуточная версия этого же участника) | |||
Строка 12: | Строка 12: | ||
Fail2Ban vorbereiten | Fail2Ban vorbereiten | ||
Die Datei '''/etc/fail2ban/filter.d/teamspeak.conf''' anlegen und bearbeiten: | Die Datei '''/etc/fail2ban/filter.d/teamspeak.conf''' anlegen und bearbeiten: | ||
+ | <syntaxhighlight lang="bash"> | ||
[INCLUDES] | [INCLUDES] | ||
before = common.conf | before = common.conf | ||
Строка 17: | Строка 18: | ||
failregex = ^(.*)query from [0-9]{1,} :[0-9]{1,5} attempted to login with account "(.*)" and failed!$ | failregex = ^(.*)query from [0-9]{1,} :[0-9]{1,5} attempted to login with account "(.*)" and failed!$ | ||
ignoreregex = | ignoreregex = | ||
+ | </syntaxhighlight> | ||
Dieser Filter findet später Einträge im Teamspeak3 Logfile, die in etwa so aussehen: | Dieser Filter findet später Einträge im Teamspeak3 Logfile, die in etwa so aussehen: | ||
Строка 23: | Строка 25: | ||
Die Datei '''/etc/fail2ban/jail.local''' (ggf. anlegen und) bearbeiten: | Die Datei '''/etc/fail2ban/jail.local''' (ggf. anlegen und) bearbeiten: | ||
+ | <syntaxhighlight lang="bash"> | ||
[teamspeak] | [teamspeak] | ||
enabled = true | enabled = true | ||
Строка 32: | Строка 35: | ||
findtime = 7800 # siehe Anmerkungen weiter unten | findtime = 7800 # siehe Anmerkungen weiter unten | ||
action = iptables-multiport[name="teamspeak", port="2008,2010,9987,10011,30033,41144"] | action = iptables-multiport[name="teamspeak", port="2008,2010,9987,10011,30033,41144"] | ||
+ | </syntaxhighlight> | ||
Danach fail2ban neu starten und fertig. | Danach fail2ban neu starten und fertig. | ||
Строка 39: | Строка 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.