BTRFS Snapshots gegen Ransomeware und Zeugs
Fedora kommt seit Version 34 mit btrfs als Standard-Dateisystem. Einer der Vorteile von btrfs ist die Möglichkeit, sehr schnell Snapshots zu erstellen, die praktisch keinen Platz auf der Platte verbrauchen - oder besser - nur Platz für geänderte Dateien verbrauchen. Es bietet sich also an, regelmäßige Snapshots zu erstellen.
Da ich faul bin, nehme ich dafür btrfs-snapshot-rotation. Ich installiere das Skript in /usr/local/bin
und mache es ausführbar chmod 755 btrfs-snapshot
.
Snapshot Subvolume erstellen
Ich habe ein standard Fedora Layout also ein subvolume für home und genau dafür möchte ich Snapshots erstellen. Dafür brauche ich ersteinmal ein subvolume wo die Snapshots gespeichert werden.
sudo btrfs subvolume create /home/.btrfs
Kurzer Test
Einmal überprüfen, ob es funktioniert:
sudo /usr/local/bin/btrfs-snapshot /home /home/.btrfs daily 8
Das sollte jetzt ein nur lesen Snapshot in /home/.btrfs
angelegt haben.
Täglicher Snapshot
jetzt lege ich eine Datei in /etc/cron.daily
an, damit jeden Tag ein Snapshot erzeugt wird.
#!/bin/bash
/usr/local/bin/btrfs-snapshot /home /home/.btrfs daily 8 -q
Ausführbar machen nicht vergessen. Done. Jetzt sollte jeden Tag ein Snapshot erzeugt werden und nur die letzten 8 werden aufbewahrt.
Wenn ich jetzt also versehentlich mein home Verzeichnis lösche, oder über npm
eingeschleppte Malware meine Daten löscht, habe ich noch den Snapshot vom letzten Tag.