SoSci Survey
Übersetzungen dieser Seite:
 

Server-Sicherheit

Dieses Kapitel erklärt einige für die Sicherheit des Servers empfehlenswerte Konfigurations-Einstellungen.

fail2ban

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

Anschließend muss in der Datei /etc/fail2ban/jail.local noch ein Abschnitt einfügt werden, welcher auf die Logdatei mit den ungültigen Einträgen verweist:

[serial-fail]
enabled  = true
port     = http,https
filter   = serial-fail
action   = iptables-allports
           mail-whois[name=Serial Fail, dest=info@soscisurvey.de]
logpath  = /var/www/html/sosci/system/logfiles/token-fail.log
maxretry = 10
bantime  = 300

Dieser Eintrag sperrt eine IP-Adresse für 5 Minuten (`bantime`), wenn von dieser binnen 10 Minuten (Standardeinstellung für `findtime`) 10 fehlerhafte Eingaben (`maxretry`) gemacht wurden.

Der Pfad /var/www/html/sosci/ muss dabei an das Installationsverzeichnis von SoSci Survey angepasst werden. 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.txt · Zuletzt geändert: 08.01.2018 10:42 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