Nextcloud sichern und härten – Security Guide 2025

Nextcloud-Instanz produktionssicher konfigurieren

S
SeeColors IT
11. Juni 20264 Min. Lesezeit161 Aufrufe

Security-Check in Nextcloud

Nextcloud Admin-Panel → Einstellungen → Übersicht
→ Sicherheits- und Einrichtungswarnungen prüfen
# Kommandozeile (occ)
sudo -u www-data php /var/www/nextcloud/occ check
sudo -u www-data php /var/www/nextcloud/occ status

HTTPS-Sicherheits-Header (Nginx)

# /etc/nginx/sites-available/nextcloud
server {
    listen 443 ssl http2;
    server_name cloud.firma.de;

    ssl_certificate     /etc/letsencrypt/live/cloud.firma.de/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/cloud.firma.de/privkey.pem;

    # Security Headers (Nextcloud-Empfehlungen)
    add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload" always;
    add_header X-Content-Type-Options "nosniff" always;
    add_header X-Frame-Options "SAMEORIGIN" always;
    add_header X-XSS-Protection "1; mode=block" always;
    add_header Referrer-Policy "strict-origin-when-cross-origin" always;
    add_header Permissions-Policy "camera=(), microphone=(), geolocation=(self)" always;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        client_max_body_size 512M;
        proxy_max_temp_file_size 2048M;
    }
}

Brute-Force-Schutz (eingebaut)

# Nextcloud hat eingebauten Brute-Force-Schutz
# /var/www/nextcloud/config/config.php
sudo -u www-data php /var/www/nextcloud/occ config:system:set     bruteForce.protection.enabled --value=true --type=boolean

# Fail2ban für Nextcloud
cat > /etc/fail2ban/filter.d/nextcloud.conf << 'EOF'
[Definition]
failregex = ^.* Login failed: .* Remote IP: <HOST>
            ^.* Trusted domain error. .* Remote IP: '<HOST>'
ignoreregex =
journalmatch = _SYSTEMD_UNIT=php8.2-fpm.service
EOF

cat >> /etc/fail2ban/jail.local << 'EOF'
[nextcloud]
enabled = true
filter  = nextcloud
backend = systemd
maxretry = 5
bantime = 3600
findtime = 600
EOF

systemctl reload fail2ban

Zwei-Faktor-Authentifizierung

# TOTP-App aktivieren (Nextcloud Admin-Panel)
# Einstellungen → Sicherheit → Zwei-Faktor-Authentifizierung

# OCC-Verwaltung
# 2FA für alle Benutzer erzwingen
sudo -u www-data php /var/www/nextcloud/occ config:app:set     twofactor_totp enforced --value=yes

# 2FA für bestimmte Gruppe
sudo -u www-data php /var/www/nextcloud/occ     twofactorauth:enforce --on --group=Mitarbeiter

Datei-Speicherort härten

# Daten-Verzeichnis außerhalb des Web-Root!
# /var/www/nextcloud/config/config.php:
# 'datadirectory' => '/opt/nextcloud-data',

# Berechtigungen prüfen
ls -la /opt/nextcloud-data/
# → www-data:www-data, 0750

# Direkt vom Web-Root sichern
chmod 0755 /var/www/nextcloud
find /var/www/nextcloud/ -type f -print0 | xargs -0 chmod 0640
find /var/www/nextcloud/ -type d -print0 | xargs -0 chmod 0750
chown -R www-data:www-data /var/www/nextcloud

FAQ

Sind Nextcloud-Daten verschlüsselt?
Nextcloud unterstützt serverseitige Verschlüsselung (E2EE für Dateien). Standardmäßig liegen Dateien unverschlüsselt auf dem Server-Disk – das Disk-Verschlüsselung (LUKS) absichern.

Fazit

Eine sichere Nextcloud-Instanz benötigt HTTPS-Header, 2FA, Brute-Force-Schutz und regelmäßige Updates – dann ist sie DSGVO-konform und produktionstauglich.

Nextcloud-Hosting und Sicherheit für KMU in Heidelberg, Mannheim und der Rhein-Neckar-Region. Anfragen.

Artikel teilen

War dieser Artikel hilfreich?

Dein Feedback hilft uns, bessere Inhalte zu erstellen.

Kommentar hinterlassen

Verwandte Artikel