Übersetzungen dieser Seite:
 

fail2ban für SoSci Survey

Für den Zugriff auf laufende Interviews wird jedem Interview ein „Token“ zugeteilt, eine 12-stellige alphanumerische Zeichenfolge. Wer das Interview-Token kennt, kann das Interview fortführen und ggf. mit dem Zurück-Knopf auch eingegebene Daten einsehen.

Damit man gültige Tokens nicht einfach durch Ausprobieren (brute force) ermitteln kann, sollte der Server IP-Adressen sperren, wenn diese ungültige Tokens verwenden. Dafür speichert SoSci Survey ungültige Eingaben in der Datei system/logfiles/token-fail.log. Auch ungültige Teilnahmecodes und Serienmail-Schlüssel werden in dieser Datei vermerkt.

Auf Linux-Systemen kann man IP-Adressen, die in dieser Liste häufiger auftauchen, mittels fail2ban vorübergehend sperren. Auf Debian-basierten Systemen kann man fail2ban wie folgt installieren:

  sudo apt-get install fail2ban

Zunächst muss eine Datei /etc/fail2ban/filter.d/serial-fail.conf mit folgendem Inhalt angelegt werden.

[Definition]
failregex = <HOST>\s+(invalid|serial|deliveryToken|session\.id)
ignoreregex =

Anschließend muss die Datei /etc/fail2ban/jail.local angelegt oder (falls schon vorhanden) ein Abschnitt [serial-fail] einfügt werden, welcher auf die Logdatei mit den ungültigen Einträgen verweist:

[DEFAULT]
ignoreip = 127.0.0.1/8
maxretry = 3
banaction = iptables-multiport

[serial-fail]
enabled  = true 
port     = http,https
filter   = serial-fail
action   = iptables-allports
           mail-whois[name=Serial Fail, dest=IHRE@E-MAIL-ADRESSE]
logpath  = /PFAD_ZU_SOSCI/system/logfiles/token-fail.log
maxretry = 50
bantime  = 7200
# SoSci Survey will lock IPs by itself, this is just the uppermost limit

[sshd-ddos]
enabled = true

[php-url-fopen]
enabled = true

Dieser Eintrag sperrt eine IP-Adresse für 2 Stunden (`bantime`), wenn von dieser binnen 10 Minuten (Standardeinstellung für `findtime`) 50 fehlerhafte Eingaben (`maxretry`) gemacht wurden. Man kann die Sperrzeit auch kürzer einstellen und dafür schon nach z.B. 10 fehlerhaften Einträgen sperren, aber nachdem SoSci Survey fehlerhafte Teilnahmecodes ohnehin schon sperrt, stellt diese Konfiguration nur eine zweite Sicherheitsbarriere dar.

Laden Sie die Konfiguration und überprüfen Sie, ob alles funktioniert:

  sudo fail2ban-client reload
  sudo fail2ban-client status

Die Ausgabe sieht z.B. wie folgt aus:

Status
|- Number of jail:      3
`- Jail list:   serial-fail, sshd, sshd-ddos
de/server/security/fail2ban.txt · Zuletzt geändert: 09.07.2023 18:02 von admin
 
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: CC Attribution-Share Alike 4.0 International
Driven by DokuWiki