OffshoreVps
Sicherheit8 Okt. 20268 Min. LesezeitVon dem OffshoreVps-Team

So sichern Sie einen VPS mit restic: automatisiert und verschlüsselt

Die 3-2-1-Regel, was gesichert werden sollte, ein verschlüsseltes restic-Setup, ein Cron-Skript und warum Sie eine Wiederherstellung testen müssen. Snapshots des Anbieters reichen nicht aus.

Ein VPS kann ausfallen, versehentlich gelöscht oder durch ein fehlerhaftes Update beschädigt werden. Der einzige Schutz ist ein getestetes Backup. Diese Anleitung richtet einfache, automatisierte, verschlüsselte Backups mit kostenlosen Tools ein.

Terminalfenster auf einem VPS mit den Befehlen zum Sichern eines VPS, beginnend mit „sudo apt install -y restic“
Die Art von Befehlen, die Sie in dieser Anleitung auf Ihrem Server ausführen.

Die 3-2-1-Regel

Halten Sie 3 Kopien Ihrer Daten auf 2 verschiedenen Arten von Speicher, mit 1 Kopie an einem ganz anderen Ort. Bei einem VPS bedeutet das meist die Live-Daten, einen lokalen Snapshot und eine externe Kopie bei einem anderen Anbieter oder in einem anderen Land.

Was gesichert werden sollte

  • Website-Dateien und Uploads (/var/www).
  • Datenbanken, zuerst in eine Datei exportiert (kopieren Sie nie laufende Datenbankdateien).
  • Konfiguration: /etc/nginx, Änderungen in /etc, Docker-Compose-Dateien und Volumes.
  • Cron-Jobs und alle eigenen Skripte.

Das Betriebssystem können Sie in Minuten neu installieren. Was Sie nicht neu installieren können, sind Ihre Daten und Ihre Einstellungen.

restic für verschlüsselte, deduplizierte Backups nutzen

sudo apt install -y restic
export RESTIC_REPOSITORY=sftp:backup@other-server:/backups/vps1
export RESTIC_PASSWORD_FILE=/root/.restic-pass
restic init

Erstellen Sie die Passwortdatei mit einer langen Zufallszeichenfolge und bewahren Sie eine Kopie an einem sicheren Ort auf. Wenn Sie dieses Passwort verlieren, lassen sich die Backups nicht mehr öffnen. restic unterstützt auch S3-kompatiblen Speicher, sodass Sie auf jeden Objektspeicher sichern können.

Die Schritte dieser Anleitung in der Reihenfolge: 1. Die 3-2-1-Regel; 2. Was gesichert werden sollte; 3. restic für verschlüsselte, deduplizierte Backups nutzen; 4. Ein Backup-Skript; 5. Eine Wiederherstellung testen; 6. Snapshots helfen, reichen aber nicht aus
Die Schritte dieser Anleitung in der Reihenfolge.

Ein Backup-Skript

#!/bin/bash
set -e
export RESTIC_REPOSITORY=sftp:backup@other-server:/backups/vps1
export RESTIC_PASSWORD_FILE=/root/.restic-pass

mysqldump --single-transaction --all-databases | gzip > /var/backups/db.sql.gz
restic backup /var/www /etc /var/backups/db.sql.gz
restic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune

Speichern Sie es als /usr/local/bin/backup.sh, machen Sie es ausführbar und planen Sie es ein:

sudo chmod +x /usr/local/bin/backup.sh
echo "30 3 * * * root /usr/local/bin/backup.sh >> /var/log/backup.log 2>&1" | sudo tee /etc/cron.d/backup

Eine Wiederherstellung testen

restic snapshots
restic restore latest --target /tmp/restore-test --include /etc/nginx

Ein Backup, das Sie nie wiederhergestellt haben, ist nur eine Hoffnung. Testen Sie einmal pro Quartal und immer nach jeder Änderung.

Snapshots helfen, reichen aber nicht aus

Snapshots des Anbieters sind schnell und praktisch vor riskanten Änderungen, liegen aber beim selben Anbieter und Konto. Betrachten Sie sie als Komfortfunktion und halten Sie eine unabhängige externe Kopie vor.