Linux Sistemlerde Silinmiş Dosyaları Kurtarmak (Disk Forensics)
Bu yazı Linux sistemlerde temel seviyede dosya sistemleri, özellikleri vedesteklenen dosya sistemleri üzerinde silinen dosyalarin geri getirilmesi ile ilgili bilgiler içermektedir.
Ext2 Dosya Sistemi Ext2 Dosya Sistemi
Ext2 (second extended filesystem) bir linux dosya sistemidir. Hem ardışık hem de ayrı bloklar halinde diske yazma yapabilir. Maksimum dosya boyutu 2 TiB, dosya adı uzunluğu 255 bayt, bölüm boyutu 32 TiB olabilir. Dosya isimlerinde NULL karakterlere izin vermez. Linux, BSD, Windows ve Mac OS X işletim sistemlerinde desteklenir. Dosya sistemi seviyesinde şifreleme yapmaz. Dosya sistemi seviyesinde sıkıştırma ise sadece e2compr eklentisi sayesinde yönetici verileri dışındaki dosyalara uygulanabilir.
Ext3 Dosya Sistemi
Ext3 (third extended filesystem) linux çekirdeği tarafından sıklıkla kullanılan günlüklü dosya sistemidir (journaled file system). Ext2 ye göre en büyük avantajı da budur. Yapılan değişikliklerin kaydını tuttuğundan, sistemin çökmesi veya elektrik kesintisi yüzünden temiz bir şekilde kapanmaması durumunda, sisteme gelecek zararları dosya sistemini kontrol etme gereksinimi duymadan hızlı bir şekilde giderir. Maksimum dosya boyutu 2 TiB, dosya adı uzunluğu 255 bayt, bölüm boyutu 16 TiB olabilir. Dosya isimlerinde NULL karakterlere izin vermez. Linux, BSD ve Windows işletim sistemlerinde desteklenir. Dosya sistemi seviyesinde sıkıştırma ve şifreleme yapamaz.
Ext4 Dosya Sistemi
Ext4 (fourth extended filesystem) Linux için bir günlüklü dosya sistemidir (journaled file system). Maksimum dosya boyutu 16 TiB, dosya sayısı 4 milyar, dosya adı uzunluğu 255 bayt, bölüm boyutu 1 EiB olabilir. Dosya isimlerinde NULL karakterlere izin vermez. Linux ve Windows işletim sistemlerinde desteklenir. Dosya sistemi seviyesinde sıkıştırma ve şifreleme yapamaz.
Linux'ta dosya silme(me) komutu “rm”
Tam olarak yaptığı şey dosya bağlantısını kaldırmaktır. Bu yüzden silindiği zannedilen dosyalar geri getirilebilir. Dosyaların geri getirilmesini zorlaştırmak için rm yerine shred komutu kullanımı önerilir. Yazının ilerleyen safhalarında geri döndürülemez silme işlemlerinden bahsedilecektir.
Bazı Seçenekler:
-f
|
Doğrulama istemeden silme işlemini gerçekleştirir.
|
-i
|
Silme işleminden önce emin olup olmadığımıza dair doğrulama ister.
|
-r
|
Bir dizini, içindeki diğer dizin ve dosyalarla birlikte siler.
|
-v
|
Silme işlemi sırasında tam olarak ne yaptığına dair bilgileri gösterir.
|
-I
|
Üç dosyadan fazla veya -r ile silme işlemlerinden önce doğrulama ister.
|
Scalpel ile Dosya Kurtarma
Scalpel'i kurma
Kurtarmak istediğiniz dosya türlerini seçme
Dosyaları kurtarma:
Scalpel burada kurtarılan dosyalarla birlikte audit.txt dosyasını yaptıklarımızın bir özeti olarak oluşturur.
Daha ayrıntılı dosya kurtarma işlemleri için:
Foremost ile dosya kurtarma işlemleri
Foremost nedir?
Bazı Seçenekler
-t
|
Dosya türünü belirtme. (-t jpeg,pdf,png,zip ...)
|
-i
|
Hangi diskte kurtarma işlemi yapacağını belirtme (varsayılan: stdin)
|
-a
|
Bütün dosya türlerinden arar. Bozuk dosyaları da çıkartır.
|
-w
|
Sadece audit dosyasını oluşturur, bulunan dosyaları diske yazmaz.
|
-v
|
Konsol ekranında yapılan işlemin bütün mesajlarını gösterir.
|
-o
|
Bulunan dosyaları nereye yazacağını belirtme (varsayılan: output)
|
Dosyalar Nasıl Kurtarılır?
3) Kurtarılan dosyaları hangi dizine kaydetmek istediğinize karar verin.
Extundelete ile Dosya Kurtarma
Extundelete nedir?
Nasıl yüklenir?
Paket Yöneticisinden:
Kaynak koddan:
Temel Kullanım Seçenekleri:
--restore-all
|
Bütün bulduğu dosyaları geri getirmeye çalışır.
|
--output-dir 'path'
|
'path' olarak belirtilen dizine kurtardığı dosyaları yazar.
|
--restore-file 'path'
|
'path' olarak belirtilen dosyayı kurtarmaya çalışır.
|
--restore-files 'path'
|
'path' olarak belirtilen dizinin içindeki dosyaları kurtarır.
|
3) Şimdi sıra dosyaları kurtarma aşamasına geldi. /dev/sdb2 sildiğim dosyaların bulunduğu disk bölümüydü. --restore-all argümanıyla bulduğu bütün dosyaları kurtarmasını sağlıyorum. --output-dir ile bulduğu dosyaları nereye yazacağını seçiyorum. Eğer belirtmezseniz varsayılan olarak o anda çalıştığınız dizine RECOVERED_FILES dosyası oluşturur ve bulduklarını yazar.
4) /media/yedekdisk dizinine oluşturulan RECOVERED_FILES dizininin içeriğini listeliyorum.
Linux'ta dosyaları güvenli silmemize yarayan bir araçtır. Güvenli silmeden kasıt dosyaların pahalı donanımlarla bile geri getirilmesinin zorlaştırmasıdır. Günümüzde linux sistemlerde çoğunlukla günlüklü dosya sistemleri kullanılır. Günlüğe yazılan veriler kolayca erişilemediğinden silinmek istenilen dosyanın üzerine yazma işlemleri de kesin çözüm olamamaktadır.
Pekii bu durumda ne işimize yarar shred? En azından diskinizde bulunan hassas bilgilerin herkes tarafından rahatlıkla ele geçirilmesine engel olur. USB diskinizi arkadaşınıza vermeden, bilgisayarı tamirciye götürmeden, sabit diskinizi internette satmadan önce shred ile güvenli dosya silme işlemleri yapmak bilgilerinizin korunmasında standart dosya silme ve disk formatlama işlemlerinden daha çok yardımcı olur.
Seçenekler:
-f
|
Eğer gerekliyse dosya iznini yazılabilir olarak değiştirir.
|
-n
|
Dosyanın üstüne n kere yazma işlemi gerçekleştir. (Varsayılan 3)
|
-z
|
Shred işlemini gizlemek için son olarak dosya üzerine sıfırlar yazar.
|
-v
|
O anda yapılan işlemleri gösterir.
|
-u
|
Üzerine yazdıktan sonra dosyayı siler.
|
2) İşleme başlamadan önce /dev/sdb2 bölümünün bağını kaldırıyorum. -n argümanıyla 20 kere üzerine veri yazma ve -z argümanıyla en sonunda sıfırlama işlemi yapacak. Sıfırlama işlemi genelde üzerine yazma yaptığımız anlaşılmasın diye yapılır. İşlemler gerçekleşirken -f argümanıyla yazma korumalı olan dosyaların iznini değiştirecek ve -v argümanıyla da olup biteni ekrana yazacak.
3) Extundelete aracıyla dosya kurtarıp kurtaramadığımıza bakıyoruz.
Sonuç:
Görünüşe göre shred aracı, hiçbir şeyi garanti etmese de, işe yarıyor. Eğer istihbarat örgütleri tarafından aranan biri değilseniz Shred veya aynı işi yapan Scrub, Wipe gibi araçlar işinizi görür. Sabit diskine her an el konma ihtimali olan biri iseniz belki bu araçları kullanmanın yanında, günlüklü dosya sistemleri kullanmamak, tam disk şifrelemesi yapmak ve diskle işiniz bitince parçalayıp gaz döküp yakmak da bir çözüm olabilir.
Ext4 (fourth extended filesystem) Linux için bir günlüklü dosya sistemidir (journaled file system). Maksimum dosya boyutu 16 TiB, dosya sayısı 4 milyar, dosya adı uzunluğu 255 bayt, bölüm boyutu 1 EiB olabilir. Dosya isimlerinde NULL karakterlere izin vermez. Linux ve Windows işletim sistemlerinde desteklenir. Dosya sistemi seviyesinde sıkıştırma ve şifreleme yapamaz.
Tam olarak yaptığı şey dosya bağlantısını kaldırmaktır. Bu yüzden silindiği zannedilen dosyalar geri getirilebilir. Dosyaların geri getirilmesini zorlaştırmak için rm yerine shred komutu kullanımı önerilir. Yazının ilerleyen safhalarında geri döndürülemez silme işlemlerinden bahsedilecektir.
-f
|
Doğrulama istemeden silme işlemini gerçekleştirir.
|
-i
|
Silme işleminden önce emin olup olmadığımıza dair doğrulama ister.
|
-r
|
Bir dizini, içindeki diğer dizin ve dosyalarla birlikte siler.
|
-v
|
Silme işlemi sırasında tam olarak ne yaptığına dair bilgileri gösterir.
|
-I
|
Üç dosyadan fazla veya -r ile silme işlemlerinden önce doğrulama ister.
|
2) Masaüstümdeki sil isimli dizini, içindeki diğer dizin ve dosyalarla birlikte siliyorum. -I ile doğrulama istiyor, -v ile yapılan işlemi gösteriyor.
3) /Desktop/yedekler dizinindeki bütün pcap dosyalarını -i argümanı sayesinde her seferinde doğrulatarak siliyorum. Böylece son anda syn.pcap dosyasını silmekten vazgeçebilirim.
Scalpel ile Dosya Kurtarma
Kurtarmak istediğiniz dosya türlerini seçme:
Dosyaları kurtarma:
Scalpel burada kurtarılan dosyalarla birlikte audit.txt dosyasını yaptıklarımızın bir özeti olarak oluşturur.
Daha ayrıntılı dosya kurtarma işlemleri için:
Foremost ile dosya kurtarma işlemleri:
Foremost nedir?
Bazı Seçenekler:
-t
|
Dosya türünü belirtme. (-t jpeg,pdf,png,zip ...)
|
-i
|
Hangi diskte kurtarma işlemi yapacağını belirtme (varsayılan: stdin)
|
-a
|
Bütün dosya türlerinden arar. Bozuk dosyaları da çıkartır.
|
-w
|
Sadece audit dosyasını oluşturur, bulunan dosyaları diske yazmaz.
|
-v
|
Konsol ekranında yapılan işlemin bütün mesajlarını gösterir.
|
-o
|
Bulunan dosyaları nereye yazacağını belirtme (varsayılan: output)
|
Dosyalar Nasıl Kurtarılır?
3) Kurtarılan dosyaları hangi dizine kaydetmek istediğinize karar verin.
İşlem tamamlandıktan sonra hangi dosya türünden kaç tane kurtarıldığını konsol ekranından veya foremost'un veri kurtarma işleminin özeti olarak oluşturduğu audit.txt dosyasından görebilirsiniz.
Extundelete ile Dosya Kurtarma
Extundelete nedir?
Nasıl yüklenir?
Paket Yöneticisinden:
Kaynak koddan:
Temel Kullanım Seçenekleri:
--restore-all
|
Bütün bulduğu dosyaları geri getirmeye çalışır.
|
--output-dir 'path'
|
'path' olarak belirtilen dizine kurtardığı dosyaları yazar.
|
--restore-file 'path'
|
'path' olarak belirtilen dosyayı kurtarmaya çalışır.
|
--restore-files 'path'
|
'path' olarak belirtilen dizinin içindeki dosyaları kurtarır.
|
2) Bu dizini rm komutu ile sildikten sonra, silinen verilerin üstüne yazma işlemi olmaması için dosyaların silindiği diski hızlı bir şekilde sadece okunur yapıyorum.
3) Şimdi sıra dosyaları kurtarma aşamasına geldi. /dev/sdb2 sildiğim dosyaların bulunduğu disk bölümüydü. --restore-all argümanıyla bulduğu bütün dosyaları kurtarmasını sağlıyorum. --output-dir ile bulduğu dosyaları nereye yazacağını seçiyorum. Eğer belirtmezseniz varsayılan olarak o anda çalıştığınız dizine RECOVERED_FILES dosyası oluşturur ve bulduklarını yazar.
4) /media/yedekdisk dizinine oluşturulan RECOVERED_FILES dizininin içeriğini listeliyorum.
Linux'ta dosyaları güvenli silmemize yarayan bir araçtır. Güvenli silmeden kasıt dosyaların pahalı donanımlarla bile geri getirilmesinin zorlaştırmasıdır. Günümüzde linux sistemlerde çoğunlukla günlüklü dosya sistemleri kullanılır. Günlüğe yazılan veriler kolayca erişilemediğinden silinmek istenilen dosyanın üzerine yazma işlemleri de kesin çözüm olamamaktadır.
Pekii bu durumda ne işimize yarar shred? En azından diskinizde bulunan hassas bilgilerin herkes tarafından rahatlıkla ele geçirilmesine engel olur. USB diskinizi arkadaşınıza vermeden, bilgisayarı tamirciye götürmeden, sabit diskinizi internette satmadan önce shred ile güvenli dosya silme işlemleri yapmak bilgilerinizin korunmasında standart dosya silme ve disk formatlama işlemlerinden daha çok yardımcı olur.
Seçenekler:
-f
|
Eğer gerekliyse dosya iznini yazılabilir olarak değiştirir.
|
-n
|
Dosyanın üstüne n kere yazma işlemi gerçekleştir. (Varsayılan 3)
|
-z
|
Shred işlemini gizlemek için son olarak dosya üzerine sıfırlar yazar.
|
-v
|
O anda yapılan işlemleri gösterir.
|
-u
|
Üzerine yazdıktan sonra dosyayı siler.
|
2) İşleme başlamadan önce /dev/sdb2 bölümünün bağını kaldırıyorum. -n argümanıyla 20 kere üzerine veri yazma ve -z argümanıyla en sonunda sıfırlama işlemi yapacak. Sıfırlama işlemi genelde üzerine yazma yaptığımız anlaşılmasın diye yapılır. İşlemler gerçekleşirken -f argümanıyla yazma korumalı olan dosyaların iznini değiştirecek ve -v argümanıyla da olup biteni ekrana yazacak.
3) Extundelete aracıyla dosya kurtarıp kurtaramadığımıza bakıyoruz.
Görünüşe göre shred aracı, hiçbir şeyi garanti etmese de, işe yarıyor. Eğer istihbarat örgütleri tarafından aranan biri değilseniz Shred veya aynı işi yapan Scrub, Wipe gibi araçlar işinizi görür. Sabit diskine her an el konma ihtimali olan biri iseniz belki bu araçları kullanmanın yanında, günlüklü dosya sistemleri kullanmamak, tam disk şifrelemesi yapmak ve diskle işiniz bitince parçalayıp gaz döküp yakmak da bir çözüm olabilir.
Kaynak:
Apache PHP MYSQL Kurmak
LAMP (Linux Apache Mysql PHP) kurulup bazı ayarların yapılması
26,224 okuma,
Java Kurulumu
Sun Java yüklemek, yeni adıyla oracle Java yüklemenin yolları
25,711 okuma, 18/12/2014