Veeam Hardened Repository
Veeam Hardened Repository, Veeam Backup & Replication içinde kullanılan Linux tabanlı, immutability (değiştirilemez) destekli yedekleme deposudur.
- Normal repository’lerde (Windows repo, CIFS share, vb.) yedek dosyaları (VBK/VIB) işletim sistemi veya kötü niyetli bir kullanıcı tarafından silinebilir, şifrelenebilir veya değiştirilebilir.
- Hardened Repository ise Linux repository + Immutability özelliğini birleştirir.
- Bu sayede yedek dosyaları belirlenen süre boyunca değiştirilemez/silinebilir hale gelir.
- Yani ransomware ya da yanlışlıkla silme olsa bile, dosyalar immutability süresi boyunca güvence altındadır.
Hardened Repository Nasıl Çalışır?
Veeam, Linux makineyi Hardened Repository olarak eklediğinde:
- Backup dosyalarını (VBK, VIB) Linux dosya sistemine yazar.
- Dosyaları chattr +i (immutable attribute) ile işaretler.
- Belirlediğin süre boyunca (ör. 7 gün, 14 gün, 30 gün) dosya silinemez, değiştirilemez.
- Süre bitince Veeam otomatik olarak dosyanın immutability flag’ini kaldırır ve yeni retention politikasına göre dosyayı yönetir.
Hardened Repository Özellikleri
- Operating System: Yalnızca Linux (ext4 veya xfs) üzerinde çalışır.
- Root erişimi yok: Veeam servisi non-root kullanıcı ile bağlanır (sudo üzerinden gerekli komutları çalıştırır).
- Air-gap değil ama güvenli: Tape veya Object Storage kadar izole değil ama ransomware’ye karşı çok güçlü bir koruma sağlar.
- Repository türleriyle farkı: Normal repo silinebilir ama hardened repo, belirlenen süre boyunca değiştirilemez.
Daha fazla bilgi için veeam yardım merkezine aşağıdaki linkten bakabilirsiniz.
- https://helpcenter.veeam.com/docs/backup/vsphere/hardened_iso_preparing.html?ver=120
- https://helpcenter.veeam.com/docs/backup/vsphere/hardened_repository.html?ver=120V
Veeam önerilen yapıda yönetim konsolu ve repositoryin sanallaştırma ortamında ayrı fiziksel olarak konumlandırılmasıdır. Bir çok yapıda product ortamda hepsi kullanılsada bu yanlış bir çözümdür. Aksi halde sanallaştırma ortamına erişen birisi bütün ortama zarar verebilir.

Kuruluma başlarsak veeam önerdiği ubuntu ve rhel linux makinaları kullanmamız gerekmektedir. Yukarıdaki linkten hangi versiyonları kullanmanız gerektiğini öğrenebilirsiniz. Biz Ubuntu 20.04 üzerinden devam edeceğiz. Ubuntu kurulumu varsayılan olarak yapabilirsiniz. Tek dikkat etmeniz gereken os ve repository için ayrı alanlar tanımlamanız gerekmektedir.
Ubuntu kurulumu bittikten sonra repository olarak kullanılacak diski partiton olarak ayarlamanız gerekmektedir. Bunun için aşağıdaki komutu kullanmanız yeterlidir.
sudo cfdisk /dev/sdb
Bu işlemden sonra gpt ile devam edin ve kullanacağınız alanı New seçeneği ile belirleyip Write ile üstüne yazıp işlemi tamamlayınız.

Kurulum bittikten sonra ubuntu sunucunuza ssh üzerinden bağlanın ve aşağıdaki komutları çalıştırın. Komutlar ile daha fazla bilgi için bakınız: https://github.com/tdewin/veeamhubrepo
sudo wget -O ./veeamhubrepo.deb https://github.com/tdewin/veeamhubrepo/releases/download/v0.3.2/veeamhubrepo_noarch.deb
sudo apt-get install ./veeamhubrepo.deb -y
sudo veeamhubrepo
Kurulum sırasında sizden bazı bilgileri isteyecektır. Enter tuşlarına basarak parola belirleme ekranına kadar gelin ve bir parola oluşturun.

Repository için oluşturduğunuz diski seçip Next ile devam ediniz.

Disk adı olarak 1 numaralı seçenek ile devam edebilirsiniz.

Timezone kısmında 36 numara olarak devam ediniz.

Enter tuşlarına basarak işlemleri tamamlayınız. Güncelleme sonrasında size aşağıdaki bilgileri verecektir.

Şimdi veeam konsol tarafına geçin Backup Repositories → Add backup repository ile devam ediniz.

Direct attached storage ile devam edin.

Linux (Hardened Repository) ile devam edin.

Açılan pencerede repository için isim belirterek Server kısmından Add New ile linux makinanızın ip adresini yazınız.

SSH connection kısmında varsayılan kullanıcı adı olan veeamrepo ve belirlediğiniz parolayı girip bu kısmı tamamlayın.

Server kısmındayken bu sefer Populate butonuna basarak oluşturduğumuz diski seçip devam ediyoruz.

Repository kısmında ayarları varsayılan olarak bırakıp devam edeceğiz. Make recent backups immutable for kısmından yedeklerin ne kadar süre silinemeyeceğini yapınıza göre değiştirebilirsiniz.

Veeam, restore işlemleri için bu sunucuyu mount server olarak kullanır ve genelde repository sunucusu seçilir. Instant recovery write cache folder ise, sanal makina çökünce veya test amacıyla, yedekten hızlıca çalışır halde sanal makinayı açmak istediğinizde kullanılan bir özelliktir. Bu makina açıldığından Readonly olarak açılır ve makina içine bir şey yazılacağı zaman bu cach folder kısmına yazılır. Veaam tarafından performans için önerilen Instant recovery write cache folder için ayrı bir SSD disk kullanılmasıdır. Yok ise varsayılan gelen klasörü kullanabilirsiniz.

Next ile işlemleri tamamlıyoruz.

Backup Repository kısmından artık hardened olarak eklendiğini görebilirsiniz.

Aslında bu yöntem ile normal aldığımız backup jobları arasında bir fark yok. Sadece yedekleri silinemez olarak işaretliyor. Aşağıdaki gibi job kısmından repository olarak ilgili linux makinanızı seçmeniz yeterli olacaktır.

Backup işlemi bittikten sonra aldığımız yedeği silmeye çalıştığımızda bir hata ile karşılacağız. Bu şekilde kötü niyetli kişilere karşı amacımıza ulaşmış olduk.
