Hardened Repository aufsetzen

Kleiner Spickzettel für mich; eine Debian-VM so einrichten, dass sie ihren Speicher für Veeam zur Verfügung stellt. Der Speicher wird „hardened“ sein – es ist also für das Veeam, dass darauf zugreift, nicht möglich, Backups innerhalb von x Tagen nach dem Schreiben zu löschen.

Damit eignet sich das ganze super als Ransomware-Protection – dadurch, dass man z.B. Backups die ersten 8 Tage nach dem Schreiben „immutable“ macht, jeden Samstag eine Sicherung reinjuckelt und eine Retention Policy von 14 Tagen hat hat man immer garantiert ein Backup, dass Ransomware nicht kaputt machen kann; vorausgesetzt sie kommt nicht via SSH oder Hypervisor an die VM, in der die Backups liegen.

Als Host nehmen wir uns Debian Netinst, klickern das durch und installieren nur die Basis-Systemwerkzeuge sowie SSH. Nur die Partition für das OS einrichten (in meinem Fall z.B. / mit 6GB, 2GB SWAP).

Annahme: unter /dev/sdb steckt noch eine 6TB zweite Platte, auf die die Backups sollen. Ggf. musst du den Pfad anpassen.

XFS installieren:

apt-get install xfsprogs

XFS Dateisystem erstellen:

mkfs.xfs -b size=4096 -m reflink=1,crc=1 /dev/sdb

Die Ausgabe davon sieht z.B. wie folgt aus:

meta-data=/dev/sdb               isize=512    agcount=6, agsize=268435455 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=1, rmapbt=0
         =                       reflink=1    bigtime=1 inobtcount=1 nrext64=0
data     =                       bsize=4096   blocks=1610612730, imaxpct=5
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0, ftype=1
log      =Internes Protokoll     bsize=4096   blocks=521728, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =keine                  extsz=4096   blocks=0, rtextents=0

Nun Volume ID herausfinden:

blkid | grep sdb
> /dev/sdb: UUID="39405a6a-43a0-40eb-a5c2-db3e2e2682dd" BLOCK_SIZE="512" TYPE="xfs"

Ein passenden Ordner für das Volume erstellen:

mkdir /repo

Und das XFS-Dateisystem in /etc/fstab hinzufügen, damit es beim Boot automatisch gemountet wird:

UUID=39405a6a-43a0-40eb-a5c2-db3e2e2682dd /repo xfs nosuid,nodev,nofail,x-gvfs-show 0 0

Die Config reloaden:

systemctl daemon-reload

Und das Repo mounten:

mount /repo

Wenn wir nun, z.B. via df -h checken, ob das Dateisystem gemountet ist, sollte es dort als /dev/sdb und /repo drin stehen.

Veeam elevated später mit Hilfe von sudo; also installieren wir das:

apt-get install -y sudo

Erstellen wir den Benutzer:

adduser --shell /bin/bash --home /home/veeam veeam

Nach dem Befehl müssen wir ein Kennwort eingeben. Das tun wir dann natürlich auch. Den Rest an Nachfragen einfach skippen, juckt uns nicht.

Den erstellten Veeam-Benutzer fügen wir zur sudo-Gruppe hinzu

./usermod -a -G sudo veeam

Und geben ihm Zugriff auf das Repo:

chown -R veeam:veeam /repo
chmod -R 0700 /repo

Das wars nun vorerst auf dieser Seite. Anschließend können wir uns Veeam witmen.

In Veeam gehen wir in Infrastructure > Backup Repositories > Hardened Linux Repo. In dem Dialog können wir einen neuen Repository-Server hinzufügen.

IP angeben, Benutzername „veeam“, Kennwort haben wir weiter oben vergeben. Von da an kann eigentlich immer weiter geklickert werden.

Ist der Server hinzugefügt, können wir einen Pfad angeben; der ist in unserem Fall natürlich /repo. Die Checkbox „Fast cloning on XFS“ können wir guten Gewissens aktivieren, sowie eine Immutable einstellen, in denen Backups nicht gelöscht werden können.

Wer das ganze mit Bildern und Video haben möchte: gibt es im Veeam Cookbook. Prinzipiell ist das allerdings super einfach und sollte mit den kleinen Hinweisen in diesem Absatz flott funktionieren.

Ist das Repo hinzugefügt, können wir aus Sicherheitsgründen auf unserer Linux-Backup-VM den SSH-Dienst deaktivieren:

systemctl disable ssh sshd
systemctl stop ssh

Nun können wir nur noch physisch auf das Gerät zugreifen, und Veeam kann über seine eigens installierte Software das Repository verwalten. Die Backups auf dem Server werden von diesem für x Tage immutable, also nicht löschbar, gemacht.

Kategorien: Linux, Veeam

tino-ruge.de wird tino-kuptz.de

Im Laufe des Jahres 2024 wird dieser Blog umziehen. Alle Inhalte werden 1:1 weitergeleitet, nix geht verloren. Neue Domain, alter Autor, alter Inhalt.