Dies ist eine alte Version des Dokuments!
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 Seriennummern 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 Seriennummern 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