Website-Backup und Monitoring
Schutzmaßnahmen verringern die Wahrscheinlichkeit eines Angriffs, sie beseitigen sie nicht. Eines Tages kann ein Update die Website beschädigen, ein Fehler Daten löschen oder die Website gehackt werden. An diesem Tag sind zwei Fragen entscheidend: Wie schnell haben Sie es bemerkt und wie schnell können Sie zu einer sauberen Kopie zurückkehren? Die Antwort auf die erste Frage ist das Monitoring, die Antwort auf die zweite das Backup.
Dass Ihr Hosting-Anbieter Backups erstellt, ist ein guter Anfang, reicht aber nicht aus: Wenn Sie nicht wissen, wie oft gesichert wird, wie viele Tage die Backups aufbewahrt werden und ob Sie selbst wiederherstellen können, haben Sie praktisch kein Backup. Diese Anleitung beschreibt eine umsetzbare Backup- und Monitoring-Routine für kleine und mittelgroße Websites.
Kurz gefasst
- Sichern Sie Dateien und Datenbank gemeinsam und automatisch.
- Mindestens eine Kopie gehört außerhalb des Servers; bewahren Sie Backups nicht im Web-Stammverzeichnis auf.
- Überzeugen Sie sich mit einem Wiederherstellungstest davon, dass das Backup funktioniert.
- Überwachen Sie Verfügbarkeit, Dateiänderungen und die Warnungen der Search Console.
Auf dieser Seite
Die vier Bausteine der Routine
-
Sichern Sie Dateien und Datenbank gemeinsam
Eine Website besteht aus zwei Teilen: den Dateien (Code, Theme, hochgeladene Bilder) und der Datenbank (Inhalte, Bestellungen, Benutzer). Nur eines von beiden zu sichern, bringt die Website nicht zurück. Erstellen Sie Kopien beider Teile vom selben Zeitpunkt; vergessen Sie auch die Konfigurationsdateien und gegebenenfalls die Definitionen geplanter Aufgaben nicht.
: Vergrößern -
Wenden Sie die 3-2-1-Regel an
Drei Kopien, zwei verschiedene Speichermedien, eine Kopie an einem anderen Ort. Für eine Website heißt das: Das Backup darf nicht nur auf demselben Server liegen. Wird der Server kompromittiert oder fällt die Festplatte aus, ist auch das Backup auf diesem Server verloren. Einzelheiten zur Regel finden Sie in der Anleitung Ransomware und die 3-2-1-Backup-Regel.
: Vergrößern -
Testen Sie die Wiederherstellung
Ob ein Backup etwas taugt, erfahren Sie erst, wenn Sie es wiederherstellen. Spielen Sie das Backup in regelmäßigen Abständen in eine leere Testumgebung ein: Lässt sich die Website öffnen, ist die Datenbank vollständig, wie lange hat es gedauert? Beim ersten Test fehlt in der Regel irgendein Teil; das an einem ruhigen Tag zu erfahren, ist besser als mitten in der Krise.
: Vergrößern -
Überwachen Sie: früh bemerken
Überwachen Sie automatisch, ob die Website erreichbar ist, ob sich Dateien geändert haben und ob die Suchmaschine ein Problem sieht. Es geht nicht darum, alles zu überwachen, sondern darum, von einem Problem vor Ihren Kunden zu erfahren.
: Vergrößern
Anzeichen: wenn Ihre Routine Lücken hat
- Sie wissen nicht, wann das letzte Backup erstellt wurde und wo es liegt.
- Die Backups liegen nur auf dem Server der Website oder im Web-Stammverzeichnis.
- Eine Wiederherstellung wurde bisher nie ausprobiert.
- Es werden nur die Dateien oder nur die Datenbank gesichert.
- Dass die Website ausgefallen ist, erfahren Sie von Ihren Kunden.
- Es gibt keine Möglichkeit herauszufinden, wann und von wem eine Datei auf dem Server geändert wurde.
- Zugriffs- und Fehlerprotokolle sind abgeschaltet oder werden nach wenigen Tagen gelöscht.
Backup-Plan
Häufigkeit
Die Häufigkeit richtet sich danach, wie viel Datenverlust Sie verkraften können. Bei einer Website, die Bestellungen annimmt, ist es sinnvoll, die Datenbank mindestens einmal täglich (bei stark besuchten Websites häufiger) und die Dateien täglich oder wöchentlich zu sichern. Für eine Präsentationswebsite, deren Inhalt sich selten ändert, kann ein wöchentliches Backup genügen. Erstellen Sie vor einem großen Update zusätzlich ein Backup von Hand.
Aufbewahrungsdauer
Nur das letzte Backup aufzubewahren, genügt nicht: Ein Angriff wird mitunter erst nach Wochen bemerkt, und dann können auch die jüngsten Backups die schädlichen Dateien enthalten. Richten Sie eine gestaffelte Aufbewahrung ein, bei der tägliche Backups ein bis zwei Wochen, wöchentliche einige Monate und monatliche noch länger aufbewahrt werden.
Speicherort und Sicherheit
- Bewahren Sie Backups nicht im Web-Stammverzeichnis auf; jeder, der die Adresse errät, kann sie herunterladen.
- Mindestens eine Kopie gehört außerhalb des Servers (ein anderer Server, Cloud-Speicher).
- Hat das Konto, das in den entfernten Speicher schreibt, kein Löschrecht, bleiben ältere Backups selbst dann geschützt, wenn der Server kompromittiert wird.
- Backups enthalten Kundendaten; verschlüsseln Sie sie und beschränken Sie den Zugriff.
Datenbank-Backup
Sie können das Backup-Werkzeug Ihres Hosting-Panels oder den Befehl mysqldump verwenden. Schreiben Sie das Passwort nicht in die Befehlszeile; legen Sie es in einer Optionsdatei ab, die nur Sie lesen können.
# Datenbank-Backup (Passwort in ~/.my.cnf, Berechtigung 600)
mysqldump --single-transaction --routines --default-character-set=utf8mb4 \
ornek_db | gzip > /home/benutzer/backup/db-$(date +%F).sql.gz
# Datei-Backup (wird AUSSERHALB des Web-Stammverzeichnisses geschrieben)
tar -czf /home/benutzer/backup/dateien-$(date +%F).tar.gz -C /home/benutzer public_html
# Lokale Backups löschen, die älter als 14 Tage sind (die entfernte Kopie wird getrennt aufbewahrt)
find /home/benutzer/backup -name "*.gz" -mtime +14 -deleteWiederherstellungstest
- Richten Sie eine leere Testumgebung ein (Subdomain oder lokaler Computer); sie muss für Suchmaschinen und Besucher gesperrt sein.
- Entpacken Sie das Datei-Backup, importieren Sie das Datenbank-Backup und passen Sie die Konfiguration an die Testumgebung an.
- Gehen Sie die Website durch: Funktionieren Seiten, Bilder, Anmeldung und Formulare? Sind die jüngsten Einträge vorhanden?
- Notieren Sie die Dauer und die Lücken, auf die Sie gestoßen sind; halten Sie die Schritte in einem kurzen Dokument fest.
- Schließen Sie die Testumgebung; lassen Sie die Kopie mit Kundendaten nicht herumliegen.
Wiederholen Sie den Test mindestens ein- bis zweimal im Jahr und jedes Mal, wenn sich Ihr Backup-Verfahren ändert.
Dateiintegrität überwachen
Angreifer ändern meist eine vorhandene Datei oder schleusen eine neue Datei ein. Wer die Hashwerte der Dateien zu einem bekannt sauberen Zeitpunkt festhält und regelmäßig vergleicht, macht solche Änderungen sichtbar. Das folgende Beispiel vergleicht die SHA-256-Hashwerte der PHP-Dateien mit der vorherigen Liste und meldet Abweichungen.
<?php
// Wird über die Befehlszeile ausgeführt: php butunluk.php
// Skript und Liste liegen AUSSERHALB des Web-Stammverzeichnisses.
$kok = '/home/benutzer/public_html';
$liste = __DIR__ . '/ozetler.json';
$simdiki = [];
$gezgin = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($kok, FilesystemIterator::SKIP_DOTS)
);
foreach ($gezgin as $dosya) {
if ($dosya->isFile() && preg_match('/\.(php|phtml|js|htaccess)$/i', $dosya->getFilename())) {
$simdiki[substr($dosya->getPathname(), strlen($kok))] = hash_file('sha256', $dosya->getPathname());
}
}
$onceki = is_file($liste) ? (json_decode((string) file_get_contents($liste), true) ?: []) : [];
$yeni = array_keys(array_diff_key($simdiki, $onceki));
$silinen = array_keys(array_diff_key($onceki, $simdiki));
$degisen = array_keys(array_filter(
array_intersect_key($simdiki, $onceki),
fn ($ozet, $yol) => $ozet !== $onceki[$yol],
ARRAY_FILTER_USE_BOTH
));
if ($onceki !== [] && ($yeni || $silinen || $degisen)) {
$rapor = "Neu:\n" . implode("\n", $yeni) . "\n\nGeändert:\n" . implode("\n", $degisen)
. "\n\nGelöscht:\n" . implode("\n", $silinen) . "\n";
echo $rapor;
// Senden Sie sich den Bericht an dieser Stelle per E-Mail zu.
}
if ($onceki === [] || in_array('--guncelle', $argv, true)) {
file_put_contents($liste, json_encode($simdiki, JSON_PRETTY_PRINT)); // sauberen Zustand speichern
}- Bewahren Sie das Skript und die Hashliste außerhalb des Web-Stammverzeichnisses auf; führen Sie es einmal täglich als geplante Aufgabe (Cron) aus.
- Erneuern Sie die Liste nach eigenen Updates; andernfalls löst jedes Update eine Warnung aus.
- In Upload-Ordnern ist nie eine neue PHP-Datei zu erwarten; überwachen Sie diese Ordner gesondert.
- Wenn Sie eine Versionsverwaltung verwenden, erfüllt der Vergleich der Dateien auf dem Server mit der Kopie im Repository denselben Zweck.
- Liegt die Integritätsliste auf dem Server, kann ein Angreifer auch sie ändern; bewahren Sie eine Kopie außerhalb des Servers auf.
Protokolle
Nach einem Vorfall steht die Antwort auf die Frage „Was ist passiert, wo sind sie hereingekommen?“ in den Protokollen. Ohne Protokolle lässt sich das Einfallstor nicht finden, und dieselbe Lücke wird erneut ausgenutzt.
- Zugriffsprotokoll: Zeitpunkt, Adresse, Quelle und Antwortcode jeder Anfrage. Prüfen Sie im Hosting-Panel, ob es eingeschaltet ist und wie viele Tage es aufbewahrt wird; bewahren Sie es nach Möglichkeit mindestens einige Wochen auf.
- Fehlerprotokoll: PHP- und Serverfehler. Eine Serie ungewöhnlicher Fehler kann auf einen Angriffsversuch hindeuten.
- Anwendungsprotokoll: erfolgreiche und fehlgeschlagene Anmeldungen, Passwortänderungen, Administratoraktionen (wer hat wann was geändert).
- FTP- und Panel-Protokolle: Mit welchem Konto und von wo wurde eine Verbindung hergestellt?
Worauf Sie in den Protokollen achten: POST-Anfragen an PHP-Dateien, die Sie nicht kennen, Quellen, die in kurzer Zeit sehr viele 404- oder 403-Antworten erhalten, gehäufte Anfragen an die Anmeldeadresse, Administratoranmeldungen zu ungewöhnlichen Uhrzeiten. Schreiben Sie keine Passwörter, keine Kartendaten und nicht mehr personenbezogene Daten als nötig in die Protokolle.
<?php
// Einfaches Protokoll für Sicherheitsereignisse: wer, was, von wo, wann
function olayKaydet(PDO $pdo, string $olay, ?int $kullaniciId = null, string $ayrinti = ''): void
{
$sorgu = $pdo->prepare(
'INSERT INTO guvenlik_gunlugu (zaman, olay, kullanici_id, ip, tarayici, ayrinti)
VALUES (NOW(), ?, ?, ?, ?, ?)'
);
$sorgu->execute([
$olay,
$kullaniciId,
$_SERVER['REMOTE_ADDR'] ?? '',
mb_substr($_SERVER['HTTP_USER_AGENT'] ?? '', 0, 250),
mb_substr($ayrinti, 0, 500), // Passwörter und Kartendaten werden NIEMALS protokolliert
]);
}
// Verwendung
olayKaydet($pdo, 'giris_basarisiz', null, 'E-Mail: ' . $eposta);
olayKaydet($pdo, 'parola_degisti', $kullaniciId);
olayKaydet($pdo, 'yonetici_eklendi', $kullaniciId, 'neuer Administrator Nr.: ' . $yeniId);Verfügbarkeit und externe Überwachung
- Verfügbarkeitsüberwachung: Nutzen Sie einen Dienst, der die Website von außen in regelmäßigen Abständen prüft und bei Nichterreichbarkeit eine E-Mail oder SMS sendet. Wenn Sie nicht nur prüfen lassen, ob die Website antwortet, sondern auch, ob ein erwarteter Text auf der Seite steht, werden Sie auch gewarnt, wenn der Inhalt der Website verändert wurde.
- Google Search Console: Bestätigen Sie Ihre Website und lassen Sie die E-Mail-Benachrichtigungen eingeschaltet. Der Bericht „Sicherheitsprobleme“ warnt Sie, wenn Google auf Ihrer Website schädliche Inhalte oder Anzeichen einer Kompromittierung feststellt. Auch indexierte Seiten mit Inhalten, die nicht von Ihnen stammen, sind ein Hinweis.
- Ablauf von Zertifikat und Domain: Behalten Sie die Ablaufdaten des SSL-Zertifikats und der Domain im Blick; auch bei eingeschalteter automatischer Verlängerung kann die Verlängerung an einem Zahlungs- oder Validierungsproblem scheitern.
- Backup-Berichte: Lassen Sie sich die Erfolgs- oder Fehlermeldung des Backup-Auftrags zustellen; ein Backup, das stillschweigend fehlschlägt, ist das häufigste Problem.
- Speicherplatz: Eine volle Festplatte stoppt sowohl die Website als auch das Backup.
Checkliste
- Dateien und Datenbank werden automatisch gesichert; die Häufigkeit passt zum verkraftbaren Datenverlust.
- Mindestens eine Kopie liegt außerhalb des Servers; die Backups liegen nicht im Web-Stammverzeichnis.
- Es gibt eine gestaffelte Aufbewahrung; es wird nicht nur das letzte Backup aufbewahrt.
- Die Wiederherstellung wurde mindestens einmal getestet, und die Schritte sind aufgeschrieben.
- Das Ergebnis des Backup-Auftrags wird Ihnen gemeldet.
- Dateiänderungen werden überwacht; von der Hashliste gibt es eine Kopie außerhalb des Servers.
- Zugriffs-, Fehler- und Anwendungsprotokolle sind eingeschaltet und werden ausreichend lange aufbewahrt.
- Verfügbarkeitsüberwachung und Search-Console-Benachrichtigungen sind eingeschaltet.
- Die Ablaufdaten von Zertifikat und Domain werden verfolgt.
Häufige Fragen
Mein Hosting-Anbieter erstellt bereits Backups; muss ich zusätzlich selbst sichern?
Ja. Das Backup des Anbieters ist eine gute Schicht, aber Häufigkeit, Aufbewahrungsdauer und Bedingungen der Wiederherstellung passen möglicherweise nicht zu Ihrem Bedarf; wird das Konto geschlossen oder gibt es beim Anbieter ein Problem, kommen Sie unter Umständen nicht an das Backup heran. Halten Sie eine Kopie unter eigener Kontrolle außerhalb des Servers vor.
Reicht ein Backup-Plugin aus?
Ja, wenn es das Backup an einen Ort außerhalb des Servers sendet, das Ergebnis meldet und Sie die Wiederherstellung getestet haben. Eine Lösung, die das Backup nur auf denselben Server in einen Ordner im Web-Stammverzeichnis schreibt, reicht nicht aus.
Ist das Problem gelöst, wenn ich die gehackte Website aus dem Backup wiederherstelle?
Nein. Die Wiederherstellung entfernt die schädlichen Dateien, aber die Lücke, durch die der Angreifer hereingekommen ist, besteht weiter. Sie müssen das Einfallstor finden und schließen, die Software aktualisieren und die Passwörter ändern. Stellen Sie außerdem sicher, dass das Backup aus der Zeit vor dem Angriff stammt.
Wie lange sollte ich Protokolle aufbewahren?
Da Vorfälle mitunter erst nach Wochen bemerkt werden: mindestens einige Wochen, nach Möglichkeit einige Monate. Weil Protokolle personenbezogene Daten wie IP-Adressen enthalten, legen Sie die Aufbewahrungsdauer im Einklang mit Ihrer Richtlinie nach dem Datenschutzrecht (z. B. der DSGVO) fest.
BYK Yazılım Support-Team
Diese Anleitung wird vom Support-Team von BYK Yazılım erstellt und regelmäßig überprüft. Letzte Aktualisierung: 04.10.2026.
Verwandte Anleitungen
- Was ist Ransomware? Die 3-2-1-Backup-RegelSchutz vor Ransomware, die 3-2-1-Backup-Regel und die richtigen Schritte bei einem Angriff.
- Website gehackt: Was tun?Vorfallsreaktion Schritt für Schritt: Wartungsmodus, Beweise, Passwörter, Bereinigung, Einfallstor, Wiederherstellung und Meldungen.
- Server- und Hosting-SicherheitSFTP/FTPS, Dateirechte, Verzeichnisauflistung, Fehleranzeige, sensible Dateien und Datenbankzugriff.
- Checkliste für die Website-SicherheitWöchentliche, monatliche und jährliche Aufgaben; jeder Punkt verweist auf die passende Anleitung, druckbar.
Sehen wir uns Ihre Website gemeinsam an
BYK Yazılım entwickelt Unternehmenswebsites. Schreiben Sie uns, wenn Sie Fragen zu Ihrer Website haben.
Kontakt aufnehmen Unsere Leistung: Unternehmenswebsite