Bu sayfa makine çevirisidir. İngilizce orijinalini okuyun. English

IBSurgeon kütüphanesi

Ransomware saldırılarına karşı Firebird veritabanları nasıl korunur?

06-Aralık-2016, Alexey Kovyazin tarafından

Fidye yazılımı saldırıları birçok şirket için ciddi bir sorun haline geldi: geçen hafta, Firebird veritabanları fidye yazılımı virüsleri tarafından şifrelenmiş farklı müşterilerden 3 olay yaşadık. Neyse ki hepsine yardımcı olabildik, ancak sorunun boyutu kesinlikle artıyor.

Bu makalede, bu sorunların nasıl çözüldüğünü ele alacağız.

Genel olarak, fidye yazılımı özellikle Firebird veritabanlarını şifrelemek için tasarlanmamıştır; sadece bilgisayardaki tüm dosyaları şifreler ve ardından şifreyi çözmek için fidye ister. Ödeme yapsanız bile, herhangi bir şifre çözme anahtarı veya yanıt alamayabilirsiniz (ayrıca, antivirüs web sitelerini kontrol etmek gerekir: genellikle bu fidye yazılımı için pin kodları veya hatta şifre çözme araçları yayınlarlar. Örneğin, bunlardan biri: noransom.kaspersky.com/)

Elbette, güvenilir (ve sunucular için uygun) bir antivirüs bulundurmak gereklidir, ancak Firebird veritabanını korumak için özel olarak ne yapabiliriz?

Farklı fidye yazılımı türleri vardır, Firebird veritabanları üzerindeki etkilerini ele alalım.

2 şirket, Firebird veritabanlarını kısmen şifreleyen fidye yazılımı tarafından saldırıya uğradı.

Bildiğiniz gibi, Firebird veritabanı dosyası aynı boyutta sayfalardan oluşan bir kümedir. Firebird veritabanındaki veritabanı sayfaları farklı türde bilgiler içerir: meta veriler, kullanıcı verileri, indeksler, üreteçler vb.

Genellikle, bu tür fidye yazılımı veritabanı dosyasının tamamını değil, küçük bir kısmını - başlık sayfasını ve veritabanı içindeki bazı veritabanı sayfalarının yüzdesini - şifreler.

Tüm sayfalar güçlü ilişkilere sahip olduğundan, şifrelenmiş sayfaların birkaçı bile tüm veritabanını Firebird motoru tarafından okunamaz hale getirir. Örneğin, 10GB’lık bir veritabanında verilerin %1’inden azı şifrelenmişti ve diğer %99’u sağlamdı.

Bu durumda, şifrelenmiş veritabanı ağır şekilde bozulmuş bir veritabanı dosyası olarak değerlendirilebilir ve IBSurgeon FirstAID, şifrelenmiş Firebird veritabanı dosyasından veri dışa aktarımı gerçekleştirebilen araçtır. Aynı yaklaşım, bozuk HDD’lerden veritabanlarını kurtarmak için kullanılır.

Şifrelenmiş Firebird veritabanından veri dışa aktarma

IBSurgeon FirstAID, doğrudan düzeltme veya veri çıkarma ile veritabanlarını kurtarabilir. Doğrudan düzeltme hızlıdır, veritabanı dosyasındaki bozulmaları hızlıca düzeltebilir. Ancak, fidye yazılımı durumunda, başlık sayfası ve ana meta veriler kaybolduğu için yardımcı olmayacaktır, bu nedenle çıkarma tek seçenektir.

FirstAID veritabanı dosyasını doğrudan okur - Firebird’ü veritabanı dosyasına erişmek için kullanmaz, veritabanı dosyasını doğrudan, bayt bayt okur. Yalnızca bozuk verilerin çıkarılmasına odaklandığı ve performanstan ödün verdiği için, FirstAID ağır şekilde bozulmuş Firebird veritabanlarından bile veri dışa aktarabilir. Elbette, FirstAID şifrelenmiş verileri bozuk olarak atlar ve yalnızca iyi verileri dışa aktarır.

Fidye yazılımı kritik meta verileri şifrelemediyse, şifrelenmiş veritabanı dosyasını FirstAID ile açmak ve kayıtları önizlemek mümkündür: soldaki listeden tabloyu seçin ve Önizleme sekmesini açın, ardından veri sayfalarına göz atın.

Görebildiğiniz kayıtlar, aynı yapıya sahip yeni bir veritabanına dışa aktarılabilir:

Yaklaşık kayıp miktarı, veritabanı için Sayfa Özeti sekmesindeki Kötü sayfa yüzdesi ile tahmin edilebilir:

Kötü sayfa yüzdesi, kaç veritabanı sayfasının şifrelendiğini ve verilerinin kaybolduğunu gösterir.

Böylece, 2 durumda veritabanları, şifrelenmiş veritabanlarından veri dışa aktaran FirstAID Extractor kullanılarak kurtarıldı.

%100 şifreleme yapan fidye yazılımı

Maalesef, fidye yazılımı genellikle dosyaların %100’ünü şifreler ve istisnasız tamamen şifreler.

Genellikle, bu tür fidye yazılımı işletim sisteminin önyükleyicisine kötü amaçlı kod enjekte eder, ardından bilgisayarı yeniden başlatır ve CHKDSK yürütmesini simüle eder, ancak disk kontrolü yerine her şeyi şifreler.

Bu tür bir virüsten korunmanın tek yolu, önemli veritabanının üçüncü bir konumda yedeğine sahip olmaktır: bulutta veya başka bir ofiste.

Firebird veritabanları için 4 olası yedekleme yaklaşımı vardır:

  1. gbak ile tam doğrulanmış yedekleme
  2. nbackup ile artımlı doğrulanmamış yedekleme
  3. VM düzeyinde yedekleme (sanal ortam için)
  4. Çoğaltmaya dayalı Sıcak Bekleme (veritabanı yansıması)

Fidye yazılımından korunmak için en iyi yedekleme yöntemi hangisidir? 50GB boyutundaki Firebird veritabanının canlı örneği üzerinde artılarını ve eksilerini ele alalım.

Özellik Tam doğrulanmış yedekleme (gbak) Artımlı yedekleme (nbackup) VM düzeyinde yedekleme Sıcak bekleme (çoğaltma)
Yüklenecek boyut Her gün ~30GB Başlangıçta 50GB, ardından değiştirilen bölümler
Maksimum yedekleme sıklığı Her gün Her saat VM yedekleme aracı ayarlarına bağlı Her dakika
Veritabanı performans düşüşü Yüksek Orta Düşük Çok düşük
Yedekleme yönteminin güvenilirliği Yüksek Düşük Düşük Yüksek
Yedekleme için gereken süre 2-3 saat (IO hızına bağlı) Başlangıç seviye 0 oluşturmak 15-20 dakika, ardından 3-4 dakika Diskin tam anlık görüntüsünü almayı gerektirir (IO ve disk boyutuna bağlı) Başlangıç 15-20 dakika, her zaman çevrimiçi

gbak ile tam doğrulanmış yedekleme

Yedekleme aracı (gbak) tüm veritabanını okur ve özel bir formatta (fbk) saklar. Bu yedekleme yöntemi, veritabanındaki her kaydı okuduğu ve veritabanının sağlam olduğunu garanti ettiği için doğrulanmış olarak adlandırılır. Çok güvenilir bir yedekleme yöntemidir.

Ancak, tam doğrulanmış yedekleme, her seferinde tam yedeklemenin yüklenmesini gerektirdiği ve gerçekleştirilmesi çok zaman aldığı için (Firebird’deki en yavaş yedekleme türüdür) yeterince büyük veritabanları için (örneğimizdeki 50GB gibi) bulut yedekleme için uygun değildir. gbak yürütme sırasında, yoğun rastgele disk okuma ve yazma nedeniyle veritabanı performansı düşüktür.

nbackup ile artımlı yedekleme

Artımlı yedekleme, Firebird’ün başka bir yedekleme aracı olan nbackup ile yapılır. Nbackup yedeklemeleri değişiklik artışları olarak oluşturur: önce, veritabanının tam kopyası olan seviye 0 yedeğini oluşturur, ardından bir sonraki yinelemede veritabanını tarar ve yalnızca değiştirilen sayfaları Seviye 1, Seviye 2 vb. olarak saklar. Tam yedeklemeyi (Seviye 0) üç ayda bir, Seviye 1 artışlarını her ay, Seviye 2’yi her hafta, Seviye 3’ü her gün ve Seviye 4’ü her saat ayarlamak mümkündür.

Oldukça hızlıdır, neredeyse doğrusal dosya kopyalama hızında yedeklemeler oluşturur.

nbackup’un ana dezavantajı doğrulama eksikliğidir - veritabanı sayfası bozuksa, nbackup onu yedekleme dosyasına kopyalar ve bu da bozuk olur (bu durumda hata verecek olan gbak’ın aksine). Ayrıca, her seviyenin oluşturulması Firebird’ün tüm veritabanını taramasını gerektirdiğinden (Firebird 2.5’te, v3’te iyileştirmeler vardır), büyük veritabanında nbackup’ı çok sık çalıştırmak mümkün değildir.

Anlayabileceğiniz gibi, nbackup oldukça karmaşık bir zamanlama gerektirir, ancak doğru araçlarla bu kolay bir iştir.

Doğru yol, nbackup’ı gbak ile kombinasyon halinde kullanmaktır: gbak veritabanını her gün veya her hafta doğrular ve nbackup veritabanını oldukça sık yedeklemenin hızlı yolunu sağlar.

Bu nedenle, nbackup veritabanını bulutta saklamak için iyi bir seçim gibi görünüyor.

VM yedeklemeleri

Sanal makine yedeklemeleri ne olacak? VM ve yedekleme araçlarının satıcıları veritabanlarının yedeklenmesini desteklediklerini iddia ederler, ancak genellikle hangi veritabanlarının desteklendiğini belirtmezler. VM yedeklemesi, çevrimiçi yedeklemeyi doğru şekilde gerçekleştirmek için belirli veritabanı için Volume Shadow Service (VSS) sağlayıcısının kurulmasını gerektirir. Firebird için VSS sağlayıcısı, HQbird gelişmiş dağıtımının bir parçası olarak mevcuttur.

Elbette, VSS sağlayıcısı ile VM yedeklemesinde sihir yoktur - arka planda, veritabanını kopyalamaya uygun moda geçirmek için nbackup kullanır. VSS sağlayıcısı olmadan, VM düzeyinde yedeklemenin sonucu, sert sıfırlamaya benzer bir durumda veritabanının kopyası gibi olacaktır: Firebird verileri RAM’de yoğun şekilde önbelleğe alır ve yazılmamış değişiklikler nedeniyle yedeklemenin bozulması mümkündür.

Sıcak bekleme

Bazı işletmeler veritabanından hiçbir veri kaybetmek istemez. Çökmeden önceki son faturalar kritik olabilir ve son sevkiyat bir düzine kamyonu yola gönderebilir. Bu durumda, saatlik yedeklemeler bile yeterli değildir; tek olası çözüm, zaman uyumsuz yerel çoğaltmaya dayanan veritabanının sıcak beklemesidir (salt okunur yansıma).

Yerel, çoğaltmanın tetikleyiciler veya meta veri değişikliği gerektirmediği anlamına gelir (tek gereksinim, çoğaltılan tüm tablolar için birincil veya benzersiz anahtarlara sahip olmaktır) ve çok hızlı çalışır.

Sıcak bekleme, veritabanının ilk kopyasını oluşturmayı, onu bir çoğaltma olarak başlatmayı ve bekleme sunucusuna yüklemeyi gerektirir. Bundan sonra, veri değişiklikleri ana sunucudan minimum gecikmeyle (1 dakikadan itibaren) gönderilecektir. Yalnızca değişiklikler gönderilir, bu nedenle veritabanının okuma performansını baskılamaz.

Bu yedekleme seçeneği çok güvenilirdir - veritabanının başka bir sunucuda canlı kopyasının varlığını garanti eder.

IBSurgeon sizin için ne yapabilir?

Firebird için abonelik tabanlı destek hizmeti sunuyoruz ve bu hizmet bulut yedekleme ve sıcak bekleme seçeneklerini içerir. Kolay ve uygun fiyatlıdır (ayda $99), aşağıdaki seçenekleri içerir:

  • Firebird veritabanının izlenmesi ve yedeklemelerin otomasyonu
  • Uzak masaüstü ve anlık mesajlaşma desteği
  • Failover Firebird çözümü (sıcak bekleme) ve bulut yedekleme

Firebird destek hizmeti hakkında daha fazla ayrıntıyı burada okuyun.

Diğer bir seçenek, gelişmiş Firebird dağıtımımız olan HQbird kullanmak ve bulut yedeklemeyi veya sıcak beklemeyi kendiniz uygulamaktır. HQbird hakkında daha fazla ayrıntıyı burada bulabilirsiniz.

Ve elbette, son şans olarak, FirstAID Extractor.

Herhangi bir sorunuz için lütfen bizimle iletişime geçmekten çekinmeyin!