DSGVO-konforme Linux-Server – technische Umsetzung 2025

Datenschutz durch Technik: Verschlüsselung, Logs und Zugriffskontrolle

S
SeeColors IT
11. Juni 20264 Min. Lesezeit39 Aufrufe

DSGVO Art. 32 – technische Anforderungen

Art. 32 DSGVO: "geeignete technische Maßnahmen":
1. Pseudonymisierung und Verschlüsselung
2. Vertraulichkeit, Integrität, Verfügbarkeit
3. Belastbarkeit der Systeme
4. Wiederherstellbarkeit nach Zwischenfällen
5. Regelmäßige Überprüfung und Bewertung

1. Festplattenverschlüsselung (LUKS)

# LUKS-Verschlüsselung auf neuem Laufwerk
apt install -y cryptsetup

# Partition verschlüsseln
cryptsetup luksFormat /dev/sdb

# Öffnen
cryptsetup luksOpen /dev/sdb encrypted-data

# Dateisystem erstellen
mkfs.ext4 /dev/mapper/encrypted-data

# Mounten
mount /dev/mapper/encrypted-data /data

# Status
cryptsetup status encrypted-data

# /etc/crypttab für automatisches Mounten
echo "encrypted-data /dev/sdb /root/.luks-key luks" >> /etc/crypttab

# /etc/fstab
echo "/dev/mapper/encrypted-data /data ext4 defaults 0 2" >> /etc/fstab

2. Nginx Log-Anonymisierung

# IP-Adressen in Nginx-Logs anonymisieren
# /etc/nginx/nginx.conf

geo $remote_addr $anonymized_ip {
    default $remote_addr;
}

map $anonymized_ip $ip_anonymized {
    "~^(?P<ip>\d+\.\d+\.\d+\.)" $ip.0;
}

log_format main_anonymized '$ip_anonymized - $remote_user [$time_local] '
    '"$request" $status $body_bytes_sent '
    '"$http_referer" "$http_user_agent"';

access_log /var/log/nginx/access.log main_anonymized;

3. Log-Aufbewahrung begrenzen

# Log-Rotation auf 30 Tage begrenzen
cat > /etc/logrotate.d/nginx-dsgvo << 'EOF'
/var/log/nginx/*.log {
    daily
    missingok
    rotate 30
    compress
    notifempty
    sharedscripts
    postrotate
        nginx -s reopen
    endscript
}
EOF

# journald Log-Limit
sed -i 's/#MaxRetentionSec=/MaxRetentionSec=30day/' /etc/systemd/journald.conf
systemctl restart systemd-journald

4. Zugriffsprotokoll für Admins

# Alle Admin-Aktionen in separate Log-Datei
cat >> /etc/pam.d/sshd << 'EOF'
session required pam_exec.so /opt/scripts/log-admin-login.sh
EOF

cat > /opt/scripts/log-admin-login.sh << 'EOF'
#!/bin/bash
echo "$(date): $PAM_USER logged in via SSH from $PAM_RHOST"     >> /var/log/admin-access.log
EOF
chmod +x /opt/scripts/log-admin-login.sh

# Zugriffsprotokolle unveränderbar
chattr +a /var/log/admin-access.log  # Nur Anhängen möglich

5. Datenlösch-Strategie

# Sicheres Löschen (keine Recovery möglich)
shred -vzu -n 3 /data/kundendaten-alt/datei.csv

# Ganzes Verzeichnis sicher löschen
find /data/zu-loeschen/ -type f -exec shred -u {} ;

# SSD: kein shred sondern Crypto-Erase
# → cryptsetup luksErase /dev/sdb
# (LUKS-Header wird gelöscht = Daten unlesbar)

Checkliste DSGVO Art. 32

  • Datenverschlüsselung at-rest (LUKS)
  • Datenverschlüsselung in-transit (TLS 1.2+)
  • Log-Aufbewahrung ≤ 30 Tage
  • IP-Anonymisierung in Logs
  • Zugriffsprotokoll für Administratoren
  • Backup-Verschlüsselung
  • Zugriffsrechtevergabe nach Least-Privilege
  • Regelmäßige Security-Updates

FAQ

Reicht Verschlüsselung allein für DSGVO-Konformität?
Nein. DSGVO verlangt ein Gesamtkonzept: Verschlüsselung + Zugangskontrolle + Protokollierung + Löschkonzept + Datenschutzfolgenabschätzung.

Fazit

DSGVO-Konformität auf Linux ist mit LUKS, Log-Anonymisierung und Zugriffsprotokollen technisch gut umsetzbar ohne teure Drittlösungen.

DSGVO und Datenschutz für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Beratung anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel