Bir dizinin veya dosyanın gerçekten silindiğinden nasıl emin olabilirim?


14

Çoğu dosyanın silindiğinde aslında diskten kaldırılmadığını ve daha sonra kurtarılabileceğini biliyorum.

Sildiğim bir dizinin gerçekten diskten kaldırılmasını nasıl sağlayabilirim? Bunun için araçlar var mı?

Debian Linux kullanıyorum.


5
Kısa cevap: Yapamazsınız! Uzun cevap: Ya diski fiziksel olarak imha edin ya da soruyu yeniden ifade edin: Verileri kurtarmak için ne kadar çaba harcanır ve böyle bir girişimin başarı oranı ne olur?
Marco

Yanıtlar:


11

Kaydetmeden önce verileri şifreleyin. Verileri silmek için tuşu silin.

Verileri zaten düz metin olarak yazdıysanız, basit bir şekilde silmek için çok geç. Çeşitli yerlerde yer alan verilerin birden fazla kopyası olabilir:

  • dosya birden çok kez yazılmışsa (üzerine yazılmış veya değiştirilmişse) dosya sisteminde;
  • birleştirme işleminin parçası olarak yeniden düzenlenmişse dosya sisteminde;
  • dergide (veriler son yazıldıktan sonra oldukça hızlı bir şekilde kaybolacaktır);
  • yedeklerde;
  • özürlü sektörlerde (özellikle SSD'de).

Dosya sistemindeki verilerin kopyalarından kurtulmak için, kaba bir yöntem boş alanı doldurmaktır ( cat /dev/zero >somefileve dosya sistemi dolu olduğu için durmasını beklemektir). Bu, tüm blokların üzerine yazacaktır.

Verilerin küçük kısımları, diğer dosyalar tarafından kısmen kullanılan eksik bloklarda kalabilir. Bu, özellikle dizin içeriğini depolayan bloklarda kalabilen dosya adları için bir endişe kaynağıdır. Her şeyden kurtulmak için tüm dosyaları yedekleyin, dosya sistemini içeren cihazın üzerine tamamen yazın, ardından dosyaları geri yükleyin.

Depolama ortamı, artık kullanılmayan bloklardaki verileri tutabilir. Sabit disklerde bu, yeniden tahsis edilen bozuk bloklar anlamına gelir; disk aşınmaya başlayana kadar bu oldukça nadir bir durumdur. SSD'de bu, aşınma seviyelendirmesi nedeniyle yaygın bir durumdur. Her iki durumda da tehdit çok düşüktür, çünkü bu verilere erişmek orta derecede pahalı bir donanıma ve boşa harcanan zamana sahip biraz sofistike bir saldırgan gerektirir. Bu tehditleri önemsiyorsanız verilerinizi şifreleyin ve anahtarınızı yanınızda bırakmayın.

Birden çok geçiş yaparak veya sıfır yerine rastgele veriler kullanarak verileri silmeyle ilgili önerileri görebileceğinizi unutmayın (“Gutmann silinmesi”). Unut: bu sadece 1980'lerin sabit diskleri için geçerlidir (ve o zaman bile veriler yeniden yapılandırmak için ucuz değildir ve yeniden yapılandırma oldukça güvenilir değildir). Sıfırlarla üzerine yazmak yeterince iyidir; birden fazla rastgele geçiş yapmak eski tavsiye veya yılan yağıdır. Bkz. Neden bir sabit sürücü üzerine sıfırlar (veya rastgele veriler) yazmak yalnızca bir kez yapmaktan daha iyi?


12

Çok popüler bir araç var shred . Silinmeden önce her dosyanın üzerine 25 kez yazılacaktır. Aradığın şey beni olabilir.

Parçalamanın kullanımı oldukça basit

$ shred secret_archive.tar.gz

Bununla birlikte, modern sistemlerde shredaşağıdaki durumlarda verimsiz veya işe yaramayabileceğini unutmayın :

  • Programlarınız farkında olmadığınız geçici dosyalar oluşturur (Birçok GUI Uygulaması gibi)
  • FS'niz Yazma Üzerine Kopyalama tabanlıdır (ZFS veya Btrfs gibi)
  • FS'niz günlük tabanlıdır (NILFS gibi)
  • FS'niz veri günlük kaydını kullanır (bazı yapılandırmalarda JFS, ReiserFS, XFS, ext3 veya ext4 gibi)
  • FS'niz sıkıştırma kullanıyor
  • FS'niz farklı konumlardaki dosyaların yeni sürümlerini ayırır
  • Anlık görüntüleriniz veya Yedeklemeleriniz var
  • Bir ağ üzerindesiniz FS
  • Aşınma seviyelendirme algoritmalı bir SSD kullanıyorsunuz

Diğer ve potansiyel olarak daha güvenli seçenekler şunlardır:

  • Kritik verilerin şifrelenmesi
  • Tüm bölümün veya depolama aygıtının üzerine yazma
  • Cihazın fiziksel imhası

1
Benim man sayfasına göre shredbile ext3 ile çalışır (ve ben de ext4 tahmin) kullanırken verileri = sıralı (varsayılan) ve data = writeback modları. Ayrıca basit bir alternatif var: sadece silinen dosyanızın üzerine yazılması için dosya sisteminin kalan tüm alanını kaplayan büyük bir dosya oluşturun.
scai

Teşekkürler. Sadece düzelttim. journaling -> data jornaling
taffer

@scai, dosyanın blokları zaten yeniden tahsis edilmiş ve henüz yazılmamış olabileceğinden büyük dosya yöntemi mutlaka çalışmayacaktır (hatalı veriler, son dosya veya dizin bloğu gibi ...)
Stéphane Chazelas

3
shredyılan yağı: head -c $(wc -c secret_archive.tar.gz)>! secret_archive.tar.gz` den daha iyi değil . 1980'lerden veya 1990'ların başında bir sabit disk kullanmıyorsanız parçalama kullanmak her zaman anlamsızdır.
Gilles 'SO- kötü olmayı bırak

3
paçavra / bcwipe / vb. dosya sistemi düzeyinde yılan yağıdır. Herhangi bir dosya sistemi için. Dosyalarla çalışma şekliniz nedeniyle: Kaydet'i her tıklattığınızda, eski dosya silinir (boş alanda bulunur) ve yeni bir dosya oluşturulur. Dosya sistemi zaten unutmuşsa, onu parçalayamazsınız. - Cihaz düzeyinde veya tüm boş alanların üzerine yazmada farklıdır. Parçalama, Linux / Unix'te bulunan birkaç hızlı rasgele veri kaynağından biridir. / dev / (u) rasgele büyük miktardaki verilerin üzerine yazmak için çok yavaş. - Yani tek bir parçalama kartı cihaz veya boş alan için sorun değil, sadece tek bir dosya için değil
frostschutz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.