Hard drive merobek -robek di Linux
- 3972
- 583
- Karl O'Connell DDS
Saat kami menghapus file dari sistem file, data tidak dihapus secara fisik: sistem operasi hanya menandai area yang sebelumnya ditempati oleh file, sebagai gratis dan membuatnya tersedia untuk menyimpan informasi baru. Satu -satunya cara untuk memastikan data sebenarnya dihapus dari perangkat adalah dengan menimpanya dengan data lain. Kami mungkin ingin melakukan operasi seperti itu karena alasan privasi (mungkin kami berencana untuk menjual perangkat dan kami ingin memastikan pemilik baru tidak dapat mengakses data kami), atau mungkin untuk menyiapkan perangkat untuk enkripsi. Dalam tutorial ini kita akan melihat beberapa alat yang dapat kita gunakan untuk benar -benar menghapus data pada perangkat
Dalam tutorial ini Anda akan belajar:
- Cara merobek data menggunakan dd
- Cara mengamankan file dan perangkat menggunakan utilitas shred
- Bagaimana menimpa data menggunakan badblocks
Persyaratan dan konvensi perangkat lunak yang digunakan
Kategori | Persyaratan, konvensi atau versi perangkat lunak yang digunakan |
---|---|
Sistem | Distribusi-independen |
Perangkat lunak | DD, robek atau badblocks |
Lainnya |
|
Konvensi | # - mensyaratkan perintah linux yang diberikan untuk dieksekusi dengan hak istimewa root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo memerintah$ - mensyaratkan perintah Linux yang diberikan untuk dieksekusi sebagai pengguna biasa |
Menghapus data menggunakan DD
DD adalah program yang sangat kuat yang disertakan secara default di semua distribusi Linux utama. Dalam artikel sebelumnya kami melihat cara menggunakan DD secara detail; Dalam hal ini, yang ingin kami lakukan hanyalah mengesampingkan konten perangkat blok hipotetis kami dengan nol atau data acak. Dalam kedua kasus, kita dapat menggunakan data yang dihasilkan oleh file "khusus": /dev/nol
Dan dev/urandom
(atau /dev/acak
) masing -masing. Yang pertama mengembalikan nol setiap kali operasi baca dilakukan di atasnya; yang terakhir mengembalikan byte acak menggunakan generator nomor linux kernel acak.
Untuk mengisi disk dengan nol yang dapat kita jalankan:
$ sudo dd if =/dev/nol dari =/dev/sdx
Untuk menggunakan data acak, sebagai gantinya:
$ sudo dd if =/dev/urandom dari =/dev/sdx
Menggunakan wadah LUKS sebagai generator data acak
Mengesampingkan perangkat dengan data acak adalah operasi yang memakan waktu, tetapi dapat berguna terutama jika kami berencana untuk menggunakan enkripsi disk penuh, untuk membuat bagian yang digunakan dan tidak digunakan dari disk yang tidak dapat dibedakan. Untuk mempercepat proses kita dapat menggunakan sedikit "trik": kita dapat membuat a Luks
(Linux Unified Key Setup) Container pada perangkat atau partisi yang ingin kami isi dengan data acak, dan tulis nol untuk itu. Berkat enkripsi, data akan ditulis secara transparan di perangkat yang mendasari sebagai acak.
Pertama -tama kami membuat Luks
wadah:
$ sudo cryptsetup luksformat /dev /sdx peringatan! ======== Ini akan menimpa data pada /dev /sdx secara tidak dapat ditarik kembali. Apa kamu yakin? (Ketik huruf besar ya): Ya masukkan sandi untuk /dev /sdx: verifikasi sandi:
Dalam hal ini tidak benar -benar diperlukan untuk menggunakan kata sandi yang kuat, karena kami menggunakan wadah sebagai generator data acak, dan kami akan memusnahkannya setelah operasi selesai. Setelah wadah siap, kami membukanya dengan menjalankan perintah berikut:
$ sudo cryptsetup luksopen /dev /sdx crypted enter pasal frase untuk /dev /sdx:
Sekarang wadah dibuka, kita dapat menggunakan DD dan mengisinya dengan nol. Sangat penting: kami menulis ke wadah Luks yang dipetakan sebagai /dev/mapper/crypted
, tidak pada dasarnya /dev/sdx
Perangkat secara langsung:
$ sudo dd if =/dev/nol dari =/dev/mapper/crypted bs = 1m
Setelah semua data telah ditulis, kami menutup wadah, dan mengganti header LUKS dengan data acak. Ukuran header tergantung pada format Luks
digunakan: itu 2mib
untuk warisan Luks
format, dan 16mib
Untuk Luks2
format, yang telah menjadi default dalam versi terbaru dari cryptsetup. Hanya untuk memastikan, kita dapat mengesampingkan 20MIB disk pertama:
$ sudo cryptsetup luksclose/dev/mapper/crypted $ sudo dd if =/dev/urandom dari =/dev/sdx bs = 1m count = 20
Menghapus data menggunakan shred
Nama utilitas ini cukup jelas: tujuan utamanya, seperti yang dinyatakan dalam manual, adalah untuk menimpa file dan secara opsional menghapusnya. Itu sobekan
Utilitas bergantung pada asumsi bahwa sistem file menimpa data di tempatnya. Aplikasi mungkin tidak memungkinkan kita mencapai hasil yang diharapkan, misalnya, pada sistem file jurnal, seperti ext4 (mungkin sistem file linux yang paling banyak digunakan), jika dipasang dengan data = jurnal
pilihan.
Saat memasang sistem file ext4, dengan data = dipesan
atau Data = WriteBack
Opsi (yang pertama adalah default), data ditulis ke sistem file utama setelah metadata
berkomitmen untuk jurnal. Dalam kedua kasus, sobekan
Bekerja dengan baik, menghasilkan hasil yang diharapkan.
Saat menggunakan data = jurnal
Opsi, sebaliknya, tidak hanya metadata, tetapi data itu sendiri ditulis ke jurnal sistem file, sebelum ditulis ke sistem file utama. Sangat mudah untuk melihat mengapa ini dapat menyebabkan masalah.
Mari kita lihat beberapa contoh penggunaan aplikasi. Misalkan kita ingin mengamankan file-file bernama "tes". Yang harus kita lakukan adalah menjalankan perintah berikut (di sini kita menggunakan -v
opsi untuk membuat program lebih bertele -tele):
$ shred -V Tes Shred: Tes: Pass 1/3 (acak) ... robek: tes: lulus 2/3 (acak) ... roda: tes: lulus 3/3 (acak)…
Secara default aplikasi menimpa file yang ditentukan 3
kali dengan data acak. Jumlah operan dapat diubah menggunakan -N
(kependekan dari --iterasi
) pilihan. Untuk mengesampingkan file 6 kali kami akan menjalankan:
Shred -V -n 6 Tes Shred: Tes: Pass 1/6 (Acak) ... Rusak: Tes: Pass 2/6 (000000) ... Shred: Tes: Pass 3/6 (555555) ... Shred: Tes: Pass 4/ 6;
Ada beberapa kasus di mana kami mungkin ingin menyembunyikan fakta bahwa operasi penghancuran dilakukan pada file atau perangkat. Dalam situasi itu kita dapat menggunakan program ini -z
(kependekan dari --nol
) Opsi untuk membuat program melakukan operan tambahan dengan nol setelah merobek -robek:
$ shred -v -n 6 -z Tes Shred: Tes: Pass 1/7 (acak) ... robek: tes: lulus 2/7 (ffffff) ... robek: tes: lulus 3/7 (aaaaaa) ... robek: tes: Lulus 4/7 (555555) ... Rusak: Tes: Pass 5/7 (000000) ... Rusak: Tes: Pass 6/7 (acak) ... Rusak: Tes: Pass 7/7 (000000)…
Dari output verbose dari perintah, kita memang dapat memperhatikan bagaimana lulus terakhir dilakukan dengan menulis nol (000000
). Kita dapat memverifikasi dengan menjalankan hexdump
Program pada file:
Uji $ hexdump 0000000 0000 0000 0000 0000 0000 0000 0000 0000 * 0008000
Menghapus file
Jika kita melihat sistem file setelah menjalankan salah satu perintah dalam contoh di atas, kita dapat melihat bahwa meskipun ditimpa dengan data acak, file itu sendiri belum dihapus: ini terjadi karena perintah juga dapat digunakan pada file yang mewakili keseluruhan blok perangkat atau partisi (e.G /dev/sda
), dan itu tidak boleh dihapus.
Namun saat beroperasi pada file umum, kami mungkin ingin juga menangani file dari sistem file setelah mengesampingkannya. Untuk mencapai perilaku ini, kita dapat menggunakan -u
atau --menghapus
pilihan. Kedua opsi menyebabkan file dihapus, tetapi dengan yang terakhir kami juga dapat menentukan bagaimana penghapusan harus dilakukan. Kita bisa hoose antara:
- untlink: File dihapus dengan menggunakan standar
untlink
panggilan sistem; - menghapus: byte dalam nama file dikaburkan sebelum penghapusan;
- Wipesync: byte yang dikaburkan juga disinkronkan ke disk;
Itu Wipesync
Mode adalah default.
Menghapus data menggunakan badblocks
walaupun Badblocks
Tujuan utama utilitas adalah mencari blok buruk, dengan menggunakan a Mode tulis
Tes Mengganggu Kami dapat secara efektif menimpa data yang ada di perangkat pada perangkat. Yang harus kita lakukan adalah meluncurkan perintah dan menentukan -w
Opsi: Tes akan dilakukan dengan menulis terlebih dahulu dan kemudian membaca 0xaa
, 0x55
, 0xff
Dan 0x00
Pola data pada setiap blok dan membandingkan isinya.
Kita bisa menggunakan -S
Dan -v
opsi, untuk masing -masing membuat program menampilkan informasi kemajuan dan jumlah kesalahan baca dan tulis yang ditemui. Untuk menyeka perangkat kami, kami akan menjalankan:
$ sudo badblocks -wsv /dev /sdx memeriksa blok buruk dalam mode baca -wr dari blok 0 hingga 3870719 pengujian dengan pola 0xaa: ^c6.30% selesai, 0:41 Berlalu. (0/0/0 kesalahan)
Untuk menjalankan perintah di atas perangkat harus tidak dipasang, jika tidak Badblocks
akan menolak untuk berjalan kecuali operasi dipaksakan dengan -F
pilihan. Jumlah default blok yang diuji pada suatu waktu 64
; Namun, kami dapat mengubah parameter ini menggunakan -C
pilihan.
Kesimpulan
Pada artikel ini kami melihat tiga utilitas yang dapat kami gunakan untuk merobek data pada perangkat, dan beberapa contoh penggunaannya. DD
Dan sobekan
adalah bagian dari util inti GNU, jadi mereka hampir pasti sudah dipasang di sistem Anda. Badblocks
adalah perangkat lunak yang digunakan untuk menguji keberadaan blok buruk: saat melakukan tes baca-tulis dengannya, kami dapat mengganti data pada perangkat. Harap perhatikan bahwa efektivitas penghancuran data tergantung juga pada jenis perangkat yang digunakan: drive solid state, misalnya, harus menangani fenomena seperti amplifikasi tulis.
Tutorial Linux Terkait:
- Hal -hal yang harus diinstal pada ubuntu 20.04
- Mendapatkan kembali privasi dan keamanan Anda di era digital
- Hal -hal yang harus dilakukan setelah menginstal ubuntu 20.04 FOSSA FOSSA Linux
- Cara menggunakan Google Drive di Linux
- Cara mempartisi drive usb di linux
- Cara membandingkan kinerja disk di linux
- Cara mempartisi drive di linux
- Enkripsi disk penuh dengan Veracrypt di Ubuntu Linux
- Mint 20: Lebih baik dari Ubuntu dan Microsoft Windows?
- Pengantar Otomatisasi Linux, Alat dan Teknik