Webspace-Sicherheit: Deine digitale Festung gegen Angriffe
Back
Willkommen, Security-Architekt! Dein Webspace ist dein digitales Territorium – und wie jede wertvolle Immobilie braucht es robuste Sicherheitsmaßnahmen. Hier ist deine umfassende Anleitung, um Hacker, Malware und Datenlecks fernzuhalten.
Die 7 Sicherheitsebenen für deinen Webspace
Ebene 1: Zugangskontrollen – Die Zugbrücke
Passwort-Politik:
yaml
Mindestlänge: 12 Zeichen Komplexität: Groß-/Kleinbuchstaben, Zahlen, Sonderzeichen Zwei-Faktor-Authentifizierung: Für alle Admin-Zugänge Passwort-Manager: Empfehlung (Bitwarden, 1Password) Regelmäßige Änderung: Alle 90 Tage für Admin-Accounts
SSH-Sicherheit (falls verfügbar):
bash
# /etc/ssh/sshd_config Port 2222 # Standard-Port 22 ändern PermitRootLogin no # Root-Login deaktivieren PasswordAuthentication no # Nur SSH-Key erlauben MaxAuthTries 3 # Login-Versuche begrenzen AllowUsers dein_benutzername # Nur bestimmte Nutzer erlauben
Ebene 2: Dateisystem-Sicherheit – Die Tresorräume
Dateiberechtigungen (Linux):
bash
# Sichere Standard-Berechtigungen
Ordner: 755 (rwxr-xr-x)
Dateien: 644 (rw-r--r--)
Konfigurationsdateien: 600 (rw-------)
# Kritische Verzeichnisse schützen
chmod 750 /var/www/html # Nur Besitzer und Gruppe
chmod 000 /etc/passwd # Systemdateien schützen
find /var/www -type f -exec chmod 644 {} \; # Dateien
find /var/www -type d -exec chmod 755 {} \; # Verzeichnisse
Sensitive Dateien blockieren:
nginx
# .htaccess für Apache
<FilesMatch "^\.">
Order allow,deny
Deny from all
</FilesMatch>
<FilesMatch "(\.(bak|config|sql|fla|psd|ini|log|sh|inc|swp|dist)|~)$">
Order allow,deny
Deny from all
</FilesMatch>
Ebene 3: Webserver-Härtung – Die Burgmauern
Apache-Sicherheit:
apache
# httpd.conf oder .htaccess ServerTokens Prod # Minimale Server-Informationen ServerSignature Off # Keine Server-Signatur TraceEnable Off # TRACE-Methode deaktivieren Header always set X-Frame-Options "SAMEORIGIN" Header always set X-XSS-Protection "1; mode=block" Header always set X-Content-Type-Options "nosniff"
Nginx-Sicherheit:
nginx
# nginx.conf server_tokens off; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-XSS-Protection "1; mode=block" always; add_header X-Content-Type-Options "nosniff" always; add_header Referrer-Policy "strict-origin-when-cross-origin" always; # Clickjacking-Schutz add_header X-Frame-Options "DENY"; # oder für eigene Domains: add_header X-Frame-Options "ALLOW-FROM https://deinedomain.de";
Ebene 4: PHP-Sicherheit – Die Innenverteidigung
php.ini Härtung:
ini
; Kritische Sicherheitseinstellungen expose_php = Off display_errors = Off log_errors = On allow_url_fopen = Off allow_url_include = Off disable_functions = exec,passthru,shell_exec,system,proc_open,popen,curl_exec,curl_multi_exec,parse_ini_file,show_source disable_classes = open_basedir = /var/www/html ; Nur dieses Verzeichnis erlauben
WordPress-spezifisch (wp-config.php):
php
// Sicherheitseinstellungen für WordPress
define('DISALLOW_FILE_EDIT', true); // Editor im Admin deaktivieren
define('FORCE_SSL_ADMIN', true); // SSL für Admin erzwingen
define('WP_DEBUG', false); // Debug-Modus aus
define('AUTOMATIC_UPDATER_DISABLED', false); // Updates erlauben
// Security Keys regelmäßig erneuern
// https://api.wordpress.org/secret-key/1.1/salt/
Ebene 5: Datenbank-Sicherheit – Der Geheimarchiv
MySQL/MariaDB Härtung:
sql
-- Sicherer Datenbank-User erstellen
CREATE USER 'webuser'@'localhost' IDENTIFIED BY 'starkes-passwort';
GRANT SELECT, INSERT, UPDATE, DELETE ON datenbank.* TO 'webuser'@'localhost';
FLUSH PRIVILEGES;
-- Nicht benötigte Rechte entziehen
REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';
DELETE FROM mysql.user WHERE User='root' AND Host NOT IN ('localhost', '127.0.0.1', '::1');
-- Remote-Zugriff deaktivieren (falls nicht benötigt)
bind-address = 127.0.0.1
SQL-Injection Prevention (PHP Beispiel):
php
// UNSICHER
$query = "SELECT * FROM users WHERE id = " . $_GET['id'];
// SICHER mit Prepared Statements
$stmt = $pdo->prepare("SELECT * FROM users WHERE id = :id");
$stmt->execute(['id' => $_GET['id']]);
$results = $stmt->fetchAll();
Ebene 6: Malware-Schutz – Die Pestabwehr
Datei-Integritätsmonitoring:
bash
# Tripwire-ähnliches Monitoring mit AIDE sudo apt install aide sudo aideinit sudo mv /var/lib/aide/aide.db.new /var/lib/aide/aide.db # Regelmäßige Checks sudo aide --check # Automatische Überwachung mit inotify sudo apt install inotify-tools inotifywait -m -r /var/www/html --format '%w%f %e' -e create,modify,delete
Malware-Scanner:
bash
# ClamAV installieren sudo apt install clamav clamav-daemon sudo freshclam # Virendefinitionen aktualisieren sudo clamscan -r /var/www/html --bell --remove=yes # Automatisierter Scan (Cronjob) 0 2 * * * /usr/bin/clamscan -r /var/www/html --log=/var/log/clamav/scan.log
Ebene 7: Monitoring & Response – Die Wachposten
Logfile-Überwachung:
bash
# Wichtige Logs im Auge behalten tail -f /var/log/apache2/access.log # Zugriffe tail -f /var/log/apache2/error.log # Fehler tail -f /var/log/auth.log # Authentifizierung tail -f /var/log/mysql/error.log # Datenbank # Fail2ban für automatischen Schutz sudo apt install fail2ban sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
Fail2ban Konfiguration:
ini
# /etc/fail2ban/jail.local [apache-auth] enabled = true port = http,https filter = apache-auth logpath = /var/log/apache2/error.log maxretry = 3 bantime = 3600 [wordpress] enabled = true filter = wordpress logpath = /var/www/html/wp-content/debug.log maxretry = 5 bantime = 86400
Sicherheits-Tools für deinen Webspace
Kostenlose Security-Scanner
yaml
WPScan: WordPress-spezifischer Scanner Nikto: Webserver-Sicherheitsscanner Nmap: Port-Scanner und Netzwerk-Analyse OpenVAS: Umfassende Vulnerability Assessment Suite Lynis: Security Auditing Tool für Linux
Online Security-Checks
text
SSL Labs: SSL/TLS Konfiguration testen Security Headers: HTTP-Security-Header prüfen Mozilla Observatory: Umfassender Security-Check Google Safe Browsing: Auf Malware prüfen
Backup-Strategie: Dein Sicherheitsnetz
3-2-1 Backup-Regel
yaml
3 Kopien: Original + 2 Backups 2 Medien: Z.B. Server + Externe Festplatte 1 extern: Cloud-Backup an anderem Ort
Automatisiertes Backup-Skript
bash
#!/bin/bash # backup.sh BACKUP_DIR="/backups" DATE=$(date +%Y-%m-%d_%H-%M-%S) DB_NAME="deine_datenbank" DB_USER="dein_user" # Datenbank dumpen mysqldump -u$DB_USER -p $DB_NAME > $BACKUP_DIR/db_$DATE.sql gzip $BACKUP_DIR/db_$DATE.sql # Webfiles backup tar -czf $BACKUP_DIR/files_$DATE.tar.gz /var/www/html # Alte Backups löschen (älter als 30 Tage) find $BACKUP_DIR -name "*.gz" -mtime +30 -delete # Optional: Zu Cloud syncen rclone copy $BACKUP_DIR remote:backups/
Backup-Testplan
text
Täglich: Inkrementelle Backups Wöchentlich: Vollbackup Monatlich: Backup-Restore-Test durchführen Jährlich: Disaster-Recovery-Übung
Notfallplan: Wenn es doch passiert
Schadensbegrenzung bei Hack
bash
# Sofortmaßnahmen: 1. Server vom Netz nehmen / in Maintenance-Mode 2. Alle Passwörter zurücksetzen 3. Malware-Scan durchführen 4. Backup vom Vortag prüfen 5. Logfiles analysieren (Eintrittsvektor finden) 6. Sicherheitslücke schließen 7. Sauberes Backup einspielen 8. Server wieder online nehmen
Forensik-Checkliste
text
☐ Zugriffslogfiles sichern ☐ Veränderte Dateien identifizieren ☐ Ungewöhnliche Prozesse dokumentieren ☐ Datenbank auf Manipulation prüfen ☐ Timeline des Angriffs rekonstruieren ☐ Meldeplicht prüfen (DSGVO)
Sicherheits-Audit: Deine monatliche Inspektion
Monatlicher Security-Check
markdown
1. [ ] Alle Software updaten (OS, PHP, CMS, Plugins) 2. [ ] Passwörter ändern (Admin, DB, FTP) 3. [ ] Backups testen (Restore durchführen) 4. [ ] Logfiles auf verdächtige Aktivitäten prüfen 5. [ ] Security-Header mit Observatory testen 6. [ ] Malware-Scan durchführen 7. [ ] Zugriffsrechte überprüfen 8. [ ] SSL-Zertifikat erneuern (falls nötig)
Besondere Risiken und Gegenmaßnahmen
Brute-Force-Angriffe
nginx
# Rate Limiting in Nginx
limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
location /wp-login.php {
limit_req zone=login burst=3 nodelay;
# ... restliche Konfiguration
}
DDoS-Angriffe
yaml
Prävention: - Cloudflare oder ähnlichen CDN/DDoS-Schutz nutzen - Rate Limiting auf Server-Ebene - WAF (Web Application Firewall) einsetzen - Überflüssige Services deaktivieren Reaktion: - Traffic-Quellen identifizieren - IPs bei Hosting-Provider melden - Auf Backup-Server umschalten
Zero-Day-Exploits
text
Strategie: 1. Monitoring von Security-Blogs 2. Automatische Updates aktivieren 3. Intrusion Detection System (IDS) 4. Application Whitelisting 5. Regelmäßige Penetration-Tests
Security-by-Design: Von Anfang an sicher
Sichere Entwicklungspraktiken
yaml
Input-Validierung: Alle Nutzereingaben validieren Output-Encoding: Ausgaben escapen (XSS-Schutz) Least Privilege: Minimale notwendige Rechte Defense in Depth: Mehrere Sicherheitsebenen Regelmäßige Audits: Code-Reviews & Security-Tests
Die 10 Sicherheits-Gebote
-
Aktualisiere immer! Patches sind deine erste Verteidigungslinie
-
Backup ist kein Backup, bis du es erfolgreich restauriert hast
-
Minimiere Angriffsflächen – Deaktiviere, was du nicht brauchst
-
Prinzip der geringsten Rechte – Niemand bekommt mehr als nötig
-
Monitor alles – Keine Blindflüge in deiner Sicherheit
-
Verschlüssele alles – Daten im Transit und at Rest
-
Segmentiere – Ein kompromittierter Bereich soll andere nicht gefährden
-
Authentifiziere stark – 2FA wo immer möglich
-
Logge und auditiere – Für Forensik und Compliance
-
Bilde dich weiter – Security ist ein Prozess, kein Zustand
Abschluss: Dein Security-Workflow
Täglich:
-
Logfiles überfliegen
-
Verfügbarkeit prüfen
-
Sicherheitsmeldungen checken
Wöchentlich:
-
Backups verifizieren
-
Updates prüfen
-
Schnellscan durchführen
Monatlich:
-
Vollständiges Security-Audit
-
Passwörter ändern
-
Penetration-Test (wenn möglich)
Jährlich:
-
Security-Strategie überprüfen
-
Notfallplan aktualisieren
-
Team-Schulung (falls vorhanden)
Denke daran: Sicherheit ist keine Einmalaufgabe, sondern ein kontinuierlicher Prozess. Der beste Schutz ist ein mehrschichtiger Ansatz, der Angreifern an jeder Ecke das Leben schwer macht.
Bleib wachsam und baue smart! 🔒🏰
More blog articles
Du suchst nach einem neuen Server oder Webhosting und wirst von günstigen Lockangeboten überschüttet? Vorsicht – was auf den ersten Blick wie ein Schnäppchen aussieht, kann langfristig zu einer teuren Überraschung werden. Wir zeigen d...
Was ist eigentlich... Webspace? Einfach erklärt (nicht nur für Oma!) Hast du schon mal von Webspace gehört und gedacht: "Was soll das sein?" Keine Sorge, du bist nicht allein. Viele Leute wissen nicht, was das ist - dabei nutzen sie es jeden Tag....
Du hast bereits erste Erfahrungen mit Minecraft Servern gesammelt und möchtest jetzt deinen eigenen, professionellen Server aufsetzen? Egal ob du mit Mods, Plugins oder im klassischen Vanilla-Stil spielen willst – dieser Guide führt dich durch die wichtigsten...