Übersetzungen dieser Seite:
 

Server-Sicherheit

Ein Webserver dient dazu, Inhalte einem breiten Publikum verfügbar zu machen. Dies bedeutet zugleich, dass Dritte mit dem Server interagieren. In aller Regel mehrfach täglich (meist automatisierte) Angriffe auf Webserver. Das Ziel ist es dabei, durch die Ausnutzung von Sicherheitslücken an geschützte Daten zu kommen oder den Server für kriminelle Zwecke zu missbrauchen.

Neben Angriffen von Außen werden Sie beim langfristigen Betrieb auch mit Problemen konfrontiert, welche von Innen kommen: Nutzer:innen, die versehentlich ihre Befragungsprojekte und Daten löschen, voll-laufende Festplatten oder unzureichende Rechenleistung.

Es hat sich bewährt, einen Befragungsserver (welcher oftmals personenbezogene Daten verarbeitet) auf einem separaten Server bzw. in einer eigenen VM zu betreiben. Dies hat zwei Vorteile: Zum einen kann die Software (Webserver-Applikation, PHP) ohne Rücksicht auf andere Software regelmäßig aktualisiert werden. Zum anderen vermeidet man das Risiko, dass Sicherheitslücken in anderer Software (z.B. eine nicht aktualisierte Wordpress-Instanz) Zugriff auf den Server und damit auf Befragungsdaten erlauben. Deshalb wird in der DSGVO auch explizit auf die Trennung von Datenverarbeitungsprozessen verwiesen.

Um einen sicheren Server-Betrieb zu gewährleisten, sind folgende Punkte zu beachten:

  • Sichere Umgebung
    • Wahl eines zuverlässigen Hosters bzw. Rechenzentrums (bei einigen Hostern stehen die Server ungeschützt im Flur)
    • Verwendung sicherer und unterschiedlicher Passwörter für SSH (hier zusätzlich Keyfile), MySQL, Administrator-Konto in SoSci Survey, Serverüberwachung u.s.w. – der Einsatz eines Passwort-Managers wie KeePass XC bietet hier große Vorteile.
  • Allgemeine Sicherheitsfunktionen
    • Firewall (z.B. iptables)
      • Freigabe von Ports 80 und 443 (SMTP-Port 25 nur, wenn der Server auch eingehende Mails verarbeiten muss)
      • Restriktive IP-Beschränkung des SSH-Ports 22
      • MySQL-Port 3306 nur durch einen SSH-Tunnel (z.B. via PuTTY) erreichbar
    • Malware-Scanner (z.B. chkrootkit und rkhunter)
    • Automatisierte Sicherheitsupdates (z.B. unattended-upgrades)
      • Zusätzlich wöchentliche oder monatliche Systemupdates
    • Absicherung von Teilnahmeschlüsseln (z.B. Teilnahmecodes) gegen Brute-Force-Angriffe (fail2ban für SoSci Survey)
  • Gängige Verschlüsselung einsetzen bzw. aktivieren
    • SSL-Verschlüsslung, sodass jeglicher Zugriff auf Fragebögen und Projektverwaltung nur über HTTPS möglich ist
    • Data-at-Rest-Verschlüsselung für die Datenbank (MariaDB Data-at-Rest Encryption Overview)
      • Alternativ Verwendung einer verschlüsselten Partition auf dem Server, wenn auch hochgeladene Dateien abgesichert werden müssen (Sicherstellen dass der Server dann nach einem Neustart wieder automatisch anläuft!)
  • Datensicherung (verschlüsselt) auf einen Backup-Speicher außerhalb des Servers (z.B. Cloud-Speicher mittels duply)
    • Tägliches Datenbank-Dump (mysqldump) inkl. Backup des Dumps – hier empfehlen wir eine Aufbewahrung für 1 Monat bzw. 12 Monate, wenn die automatische Archivierung von Befragungsprojekten verwendet wird (Nutzer:innen bemerken oftmals erst nach 9 Monaten, dass ihr wichtiges Befragungsprojekt gelöscht wurde)
    • Inkrementelles Dateisystem-Backup
    • Kryptografische Schlüssel sicher verwahren und testen, ob die Wiederherstellung beider Backups von einem anderen Server aus tatsächlich möglich ist und funktioniert
  • Server-Stabilität im Langzeit-Betrieb
    • Serverüberwachung (z.B. mit monit und munin)
    • Automatisierter Server-Neustart (z.B. einmal pro Woche oder pro Monat)
de/server/security.txt · Zuletzt geändert: 09.07.2023 18:10 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