เมื่อไฟล์ถูกลบเนื้อหาอาจยังคงอยู่ในระบบไฟล์เว้นแต่จะถูกเขียนทับอย่างอื่นอย่างชัดเจน wipe
คำสั่งปลอดภัยสามารถลบไฟล์ แต่ดูเหมือนจะไม่อนุญาตให้มีการลบพื้นที่ว่างในดิสก์ไม่ได้ใช้โดยไฟล์ใด ๆ
ฉันควรใช้อะไรเพื่อให้บรรลุสิ่งนี้
เมื่อไฟล์ถูกลบเนื้อหาอาจยังคงอยู่ในระบบไฟล์เว้นแต่จะถูกเขียนทับอย่างอื่นอย่างชัดเจน wipe
คำสั่งปลอดภัยสามารถลบไฟล์ แต่ดูเหมือนจะไม่อนุญาตให้มีการลบพื้นที่ว่างในดิสก์ไม่ได้ใช้โดยไฟล์ใด ๆ
ฉันควรใช้อะไรเพื่อให้บรรลุสิ่งนี้
คำตอบ:
คำเตือน:ฮาร์ดแวร์ disk / SSD ที่ทันสมัยและระบบไฟล์ที่ทันสมัยอาจทำให้ข้อมูลในสถานที่ที่คุณไม่สามารถลบได้ดังนั้นกระบวนการนี้อาจยังคงเก็บข้อมูลไว้ในดิสก์ วิธีการล้างข้อมูลที่ปลอดภัยเพียงวิธีเดียวคือคำสั่ง ATA Secure Erase (หากนำไปใช้อย่างถูกต้อง) หรือการทำลายทางกายภาพ ดูที่ฉันจะลบข้อมูลทั้งหมดในฮาร์ดไดรฟได้อย่างน่าเชื่อถือได้อย่างไร
คุณสามารถใช้ชุดเครื่องมือที่เรียกว่าปลอดภัยลบ
sudo apt-get install secure-delete
มีสี่เครื่องมือ:
srm
- ลบไฟล์ที่มีอยู่
smem
อย่างปลอดภัย - ลบร่องรอยของไฟล์จาก ram อย่างปลอดภัย - ลบ
sfill
พื้นที่ทั้งหมดที่ทำเครื่องหมายว่าว่างในฮาร์ดไดรฟ์ของคุณ
sswap
- ล้างข้อมูลทั้งหมดจากพื้นที่สว็อปของคุณ
จากหน้าคนของ srm
srm ถูกออกแบบมาเพื่อลบข้อมูลบนสื่อในลักษณะที่ปลอดภัยซึ่งไม่สามารถกู้คืนได้โดยขโมยการบังคับใช้กฎหมายหรือภัยคุกคามอื่น ๆ อัลกอริธึมการลบจะขึ้นอยู่กับกระดาษ "การลบข้อมูลอย่างปลอดภัยจากแม่เหล็กและหน่วยความจำโซลิดสเตต" ที่นำเสนอในการประชุมความปลอดภัย Usenix ครั้งที่ 6 โดย Peter Gutmann หนึ่งในผู้เข้ารหัสลับพลเรือนชั้นนำ
กระบวนการลบข้อมูลที่ปลอดภัยของ srm จะเป็นดังนี้:
- 1 ผ่านด้วย 0xff
- สุ่ม 5 ครั้ง
/dev/urandom
ใช้สำหรับ RNG ที่ปลอดภัยหากมี- 27 รอบด้วยค่าพิเศษที่กำหนดโดย Peter Gutmann
- สุ่ม 5 ครั้ง
/dev/urandom
ใช้สำหรับ RNG ที่ปลอดภัยหากมี- เปลี่ยนชื่อไฟล์เป็นค่าสุ่ม
- ตัดไฟล์
เพื่อเป็นการรักษาความปลอดภัยเพิ่มเติมไฟล์จะถูกเปิดในโหมด O_SYNC และหลังจากผ่านการ
fsync()
โทรแต่ละครั้งsrm
เขียนบล็อกขนาด 32k เพื่อความรวดเร็วโดยการเติมบัฟเฟอร์ของดิสก์แคชเพื่อบังคับให้พวกเขาล้างข้อมูลและเขียนทับข้อมูลเก่าซึ่งเป็นของไฟล์
cat /dev/zero >nosuchfile; rm nosuchfile
เพียงแค่ทำเช่นนี้จากพาร์ทิชันที่เหมาะสม:
วิธีที่เร็วที่สุดหากคุณต้องการเพียงบัตรเดียวและต้องการแทนที่ทุกอย่างด้วยศูนย์คือ:
cat /dev/zero > zero.file
sync
rm zero.file
(เรียกใช้จากไดเรกทอรีในระบบไฟล์ที่คุณต้องการลบ)
( sync
คำสั่งเป็นการวัดความหวาดระแวงที่ทำให้ข้อมูลทั้งหมดถูกเขียนลงดิสก์ - ตัวจัดการแคชอัจฉริยะอาจทำงานออกมาว่าสามารถยกเลิกการเขียนบล็อกที่ค้างอยู่เมื่อไม่มีการเชื่อมโยงไฟล์ )
จะมีเวลาระหว่างการดำเนินการนี้เมื่อไม่มีพื้นที่ว่างบนระบบไฟล์ซึ่งอาจใช้เวลาหลายสิบวินาทีหากไฟล์ผลลัพธ์มีขนาดใหญ่และมีการแยกส่วนจึงใช้เวลาสักครู่ในการลบ หากต้องการลดเวลาที่ช่องว่างเป็นศูนย์อย่างสมบูรณ์:
dd if=/dev/zero of=zero.small.file bs=1024 count=102400
cat /dev/zero > zero.file
sync
rm zero.small.file
rm zero.file
นี่น่าจะเพียงพอที่จะหยุดบางคนที่กำลังอ่านเนื้อหาไฟล์เก่าโดยไม่มีการดำเนินการทางนิติเวชที่มีราคาแพง สำหรับเล็กน้อยที่เชื่อถือได้มากขึ้น แต่ช้ากว่าตัวแปรแทนที่ด้วย/dev/zero
/dev/urandom
สำหรับความหวาดระแวงมากขึ้นให้เรียกใช้หลายขั้นตอนด้วย/dev/urandom
แม้ว่าคุณจะต้องใช้ความพยายามอย่างมากshred
ยูทิลิตี้จากแพ็คเกจ coreutils ก็เป็นไปได้
dd if=/dev/zero of=zero.small.file bs=1024 count=102400
shred -z zero.small.file
cat /dev/zero > zero.file
sync
rm zero.small.file
shred -z zero.file
sync
rm zero.file
โปรดทราบว่าในไฟล์ข้างต้นไฟล์ขนาดเล็กจะถูกทำลายก่อนที่จะสร้างไฟล์ขนาดใหญ่ดังนั้นจึงสามารถลบออกได้ทันทีที่ไฟล์ขนาดใหญ่เสร็จสมบูรณ์แทนที่จะต้องรอให้ไฟล์ถูกฉีกออกจากระบบไฟล์ด้วยพื้นที่ว่างเป็นศูนย์ในเวลาที่ใช้ กระบวนการทำลายโดยใช้เวลานานกว่าไฟล์ขนาดใหญ่และถ้าคุณพยายามซ่อนบางอย่างจาก NSA นั้นไม่จำเป็นต้องใช้ IMO
ทั้งหมดข้างต้นควรทำงานกับระบบไฟล์ใด ๆ
ขนาดไฟล์ จำกัด :
เนื่องจาก DanMoulding ชี้ให้เห็นในความคิดเห็นด้านล่างนี้อาจมีปัญหากับการ จำกัด ขนาดไฟล์ในบางระบบไฟล์
สำหรับ FAT32 มันจะเป็นข้อกังวลอย่างแน่นอนเนื่องจากข้อ จำกัด ของไฟล์ 2GiB: ปริมาณส่วนใหญ่จะใหญ่กว่านี้ในวันนี้ (8TiB เป็นขนาด จำกัด ของปริมาณ IIRC) คุณสามารถหลีกเลี่ยงปัญหานี้ได้โดยการวางท่อcat /dev/zero
เอาต์พุตขนาดใหญ่split
เพื่อสร้างไฟล์ขนาดเล็กจำนวนมากและปรับขั้นตอนการฉีกและลบตามลำดับ
ด้วย ext2 / 3/4 มันเป็นเรื่องที่น่าเป็นห่วงน้อย: ด้วยค่าเริ่มต้น / บล็อก 4K ทั่วไปขนาด จำกัด ของไฟล์คือ 2TiB ดังนั้นคุณจะต้องมีปริมาณมากเพื่อให้เป็นปัญหา (ขนาดปริมาณสูงสุดภายใต้เงื่อนไขเหล่านี้ คือ 16TiB)
ด้วย btrfs (ยังคงทดลอง) ทั้งไฟล์สูงสุดและขนาดโวลุ่มเป็น 16EiB ขนาดใหญ่
ภายใต้ NTFS ความยาวไฟล์สูงสุดจะมากกว่าความยาวระดับเสียงสูงสุดในบางกรณี
จุดเริ่มต้นสำหรับข้อมูลเพิ่มเติม:
http://en.wikipedia.org/wiki/Ext3#Size_limits
http://en.wikipedia.org/wiki/Btrfs
http://en.wikipedia.org/wiki/Ntfs#Scalability
อุปกรณ์เสมือน
ดังที่ได้กล่าวไว้ในความคิดเห็นเมื่อเร็ว ๆ นี้มีข้อควรพิจารณาเพิ่มเติมสำหรับอุปกรณ์เสมือน:
สำหรับดิสก์เสมือนที่ได้รับการจัดสรรอย่างกระจัดกระจายวิธีอื่น ๆ เช่นที่ใช้โดยzerofree
จะเร็วกว่า (แม้ว่าจะแตกต่างกันไปcat
และdd
นี่ไม่ใช่เครื่องมือมาตรฐานที่คุณสามารถพึ่งพาได้ในระบบปฏิบัติการยูนิกซ์ที่เหมือนกัน)
โปรดระวังว่าการ zeroing บล็อกบนอุปกรณ์เสมือนที่กระจัดกระจายอาจไม่เช็ดบล็อกบนอุปกรณ์ทางกายภาพจริง ๆ แล้วในความเป็นจริงฉันจะบอกว่ามันไม่น่าเป็นไปได้ - ตัวจัดการดิสก์เสมือนจะทำให้บล็อกนั้นไม่ได้ใช้อีกต่อไป ดังนั้นจึงสามารถจัดสรรให้อย่างอื่นได้ในภายหลัง
แม้สำหรับอุปกรณ์เสมือนที่มีขนาดคงที่คุณอาจไม่สามารถควบคุมได้ว่าอุปกรณ์อยู่ที่ใดจึงสามารถเคลื่อนย้ายไปรอบ ๆ ที่ตั้งปัจจุบันหรือบนดิสก์ทางกายภาพชุดใหม่ได้ตลอดเวลาและสิ่งที่คุณสามารถเช็ดได้มากที่สุดคือที่ตั้งปัจจุบันไม่ใช่ ตำแหน่งก่อนหน้าใด ๆ ที่บล็อกอาจมีอยู่ในอดีต
สำหรับปัญหาข้างต้นบนอุปกรณ์เสมือน: เว้นแต่คุณจะควบคุมโฮสต์และสามารถทำการลบที่ปลอดภัยของพื้นที่ที่ไม่ได้ถูกจัดสรรหลังจากนั้นเช็ดดิสก์ใน VM หรือย้ายอุปกรณ์เสมือนรอบ ๆ ไม่มีสิ่งใดที่คุณสามารถทำได้หลังจาก ความจริง การขอความช่วยเหลือเพียงอย่างเดียวคือการใช้การเข้ารหัสดิสก์เต็มรูปแบบตั้งแต่เริ่มต้นดังนั้นจึงไม่มีสิ่งใดที่ไม่เข้ารหัสถูกเขียนลงในสื่อทางกายภาพตั้งแต่แรก อาจมีการเรียกใช้การล้างพื้นที่ว่างภายใน VM แน่นอน โปรดสังเกตว่า FDE สามารถทำให้อุปกรณ์เสมือนกระจัดกระจายมีประโยชน์น้อยกว่ามากเนื่องจากเลเยอร์การจำลองเสมือนไม่สามารถมองเห็นว่าบล็อกใดที่ไม่ได้ใช้ หากเลเยอร์ระบบไฟล์ของระบบปฏิบัติการส่งคำสั่งตัดแต่งไปยังอุปกรณ์เสมือน (ราวกับว่าเป็น SSD) และตัวควบคุมเสมือนตีความสิ่งเหล่านี้นั่นอาจแก้ไขได้ แต่ฉันไม่รู้สถานการณ์ใด ๆ ที่เกิดขึ้นจริงและกว้างขึ้น การอภิปรายนั้นเป็นเรื่องของที่อื่น (เราใกล้จะหมดปัญหาเรื่องคำถามเดิมแล้วดังนั้นหากสิ่งเหล่านี้ทำให้คุณสนใจการทดลองและ / หรือคำถามติดตามอาจเป็นไปตามลำดับ)
secure-delete
เครื่องมือ: การใช้sfill -llz
ลดขั้นตอนทั้งหมดเป็นหนึ่งรอบที่เขียน '0 เท่านั้น
cat
และdd
จะมีอยู่บนสวยมาก ๆ Unix-a-OS เช่นที่พวกเขาได้รับการพิจารณาเครื่องมือมาตรฐานที่zerofree
อาจจะไม่ได้เว้นแต่จะได้รับการเพิ่มอย่างชัดเจน
zerofree
แน่นอนว่าจะทำงานแน่นอน "สิ่งที่ทั้งระบบไฟล์ชั่วคราวเต็ม" สิ่งที่กล่าวถึงในหน้าคน (เกือบ แต่ไม่ได้ลดลงค่อนข้างเล็ก small.file pokery jiggery pokery ในตัวอย่างของฉัน) เป็นความกังวลของแท้หากคุณกำลังทำสิ่งนี้บนระบบที่ใช้งานอยู่ในปัจจุบันและzerofree
แน่นอนว่าจะเร็วขึ้นในอินสแตนซ์ที่เฉพาะเจาะจงมันได้รับการปรับให้เหมาะสมสำหรับ: อุปกรณ์บล็อกเสมือนที่ได้รับการจัดสรรอย่างกระจัดกระจาย แม้ว่าคุณจะไม่สามารถใช้การลบบนอุปกรณ์เสมือนเพื่อความปลอดภัยได้ แต่คำตอบที่แท้จริงในกรณีนี้คือการเข้ารหัสแบบเต็มอุปกรณ์ตั้งแต่เริ่มต้น
ฉันตกตะลึงด้วยจำนวนโฟโตเรคที่สามารถเรียกคืนได้จากดิสก์ของฉันแม้หลังจากการล้างข้อมูล
ไม่ว่าจะมีความปลอดภัยมากขึ้นในการเติม "พื้นที่ว่าง" เพียง 1 ครั้งด้วย 0x00 หรือ 38 เท่าด้วยมาตรฐาน cabalistic ที่แตกต่างกันมากกว่าการอภิปรายทางวิชาการ ผู้เขียนบทความเกี่ยวกับการทำลายเอกสารทางน้ำเชื้อในปี 1996 ได้เขียนบทส่งท้ายด้วยตัวเองว่านี่เป็นสิ่งล้าสมัยและไม่จำเป็นสำหรับฮาร์ดแวร์ที่ทันสมัย ไม่มีกรณีเอกสารของข้อมูลที่ถูกแทนที่ด้วยศูนย์ทางกายภาพและกู้คืนหลังจากนั้น
ความจริงการเชื่อมโยงที่เปราะบางในขั้นตอนนี้เป็นระบบแฟ้ม ระบบไฟล์บางส่วนจองพื้นที่สำหรับการใช้งานพิเศษและไม่สามารถใช้เป็น "พื้นที่ว่าง" ได้ แต่ข้อมูลของคุณอาจจะมี ซึ่งรวมถึงภาพถ่ายอีเมลข้อความส่วนตัวส่วนบุคคล ฉันเพิ่งจะสำรองพื้นที่ + พื้นที่ + ext4 และได้เรียนรู้ว่า 5% ของhome
พาร์ติชันของฉันถูกจอง ฉันเดาว่านี่เป็นphotorec
สิ่งที่ฉันพบมาก สรุป: วิธีการย่อยที่ไม่ได้เป็นสิ่งที่สำคัญที่สุดแม้วิธีการหลายผ่านยังคงทิ้งข้อมูลในสถานที่
คุณสามารถลอง# tune2fs -m 0 /dev/sdn0
ก่อนที่จะติดตั้ง (หากเป็นพาร์ติชั่นรูทหลังจากรีบูตเครื่องให้ตรวจสอบว่ารัน-m 5
หรือถอนการ-m 1
ติดตั้งแล้ว)
แต่ถึงกระนั้นไม่ทางใดก็ทางหนึ่งอาจมีที่ว่างเหลืออยู่
วิธีเดียวที่ปลอดภัยอย่างแท้จริงคือการล้างพาร์ติชันทั้งหมดสร้างระบบไฟล์อีกครั้งแล้วเรียกคืนไฟล์ของคุณจากการสำรองข้อมูล
วิธีที่รวดเร็ว (แนะนำ)
รันจากไดเร็กทอรีบนระบบไฟล์ที่คุณต้องการลบ:
dd if=/dev/zero of=zero.small.file bs=1024 count=102400
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
rm zero.file
หมายเหตุ: วัตถุประสงค์ของไฟล์ขนาดเล็กคือการลดเวลาเมื่อพื้นที่ว่างเป็นศูนย์สมบูรณ์ จุดประสงค์ในการซิงค์คือเพื่อให้แน่ใจว่าข้อมูลนั้นถูกเขียนขึ้นจริง
นี่ควรจะดีพอสำหรับคนส่วนใหญ่
ทางช้า (หวาดระแวง)
ไม่มีกรณีเอกสารของการกู้คืนข้อมูลหลังจากการทำความสะอาดข้างต้น มันจะมีราคาแพงและเรียกร้องทรัพยากรถ้าเป็นไปได้เลย
แต่ถ้าคุณมีเหตุผลที่คิดว่าหน่วยงานลับจะใช้ทรัพยากรจำนวนมากในการกู้คืนไฟล์ของคุณนี่ก็เพียงพอแล้ว:
dd if=/dev/urandom of=random.small.file bs=1024 count=102400
dd if=/dev/urandom of=random.file bs=1024
sync ; sleep 60 ; sync
rm random.small.file
rm random.file
ใช้เวลานานกว่ามาก
การเตือน หากคุณเลือกวิธีหวาดระแวงหลังจากนี้คุณจะยังคงต้องการเช็ดอย่างรวดเร็วและนั่นไม่ใช่ความหวาดระแวง การมีอยู่ของข้อมูลสุ่มล้วน ๆ นั้นง่ายและราคาถูกในการตรวจจับและทำให้เกิดความสงสัยว่าเป็นข้อมูลที่เข้ารหัสจริง คุณอาจตายภายใต้การทรมานโดยไม่เปิดเผยคีย์ถอดรหัส
ช้ามาก (หวาดระแวงบ้า)
แม้แต่ผู้เขียนบทความย่อยที่เกี่ยวกับการย่อยในปี 1996 ก็ได้เขียนบทส่งท้ายซึ่งบอกว่าสิ่งนี้ล้าสมัยและไม่จำเป็นสำหรับฮาร์ดแวร์ที่ทันสมัย
แต่ถ้าคุณยังมีเวลาว่างมากมายและคุณไม่รังเกียจที่จะเสียดิสก์ด้วยการเขียนทับจำนวนมาก
dd if=/dev/zero of=zero.small.file bs=1024 count=102400
sync ; sleep 60 ; sync
shred -z zero.small.file
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
shred -z zero.file
sync ; sleep 60 ; sync
rm zero.file
หมายเหตุ: สิ่งนี้เทียบเท่ากับการใช้เครื่องมือลบความปลอดภัย
ก่อนที่จะแก้ไขโพสต์นี้เป็นบทความที่เขียนโดย David Spillett คำสั่ง "cat" สร้างข้อความแสดงข้อผิดพลาด แต่ฉันไม่สามารถเขียนความคิดเห็นในโพสต์ของคนอื่น
cat
คำสั่งที่คาดว่าจะให้ "ไม่มีช่องว่างซ้าย" ข้อผิดพลาดในตัวอย่างของฉันในตอนท้ายของการทำงานของตน คุณสามารถซ่อนสิ่งนี้ได้โดยเปลี่ยนเส้นทาง stderr ไปที่/dev/null
หากเป็นปัญหา ฉันมักจะใช้pv
มากกว่าcat
หรือdd
เพื่อเรียงลำดับสิ่งนี้เพื่อให้ได้ตัวบ่งชี้ความก้าวหน้าที่มีประโยชน์
...raises the suspicion that it is actually encrypted data. You may die under torture for not revealing the decryption key.
เฮ้นั่นคือสิ่งที่ฉันคิด ฉันเดาว่าหมายถึงผมหวาดระแวง ...
dd
ทำงานในฐานะ root ให้การเข้าถึงระบบไฟล์มากกว่าที่dd
ไม่มีรูทหรือไม่? ฉันอยากจะเชื่อว่านี่เป็นเรื่องจริง แต่ไม่สามารถดูเหตุผลได้ในขณะนี้
มียูทิลิตี้ zerofree เป็นอย่างน้อยใน Ubuntu:
http://manpages.ubuntu.com/manpages/natty/man8/zerofree.8.html
zerofree — zero free blocks from ext2/3 file-systems
zerofree finds the unallocated, non-zeroed blocks in an ext2 or ext3
filesystem (e.g. /dev/hda1) and fills them with zeroes. This is useful
if the device on which this file-system resides is a disk image. In
this case, depending on the type of disk image, a secondary utility may
be able to reduce the size of the disk image after zerofree has been
run.
The usual way to achieve the same result (zeroing the unallocated
blocks) is to run dd (1) to create a file full of zeroes that takes up
the entire free space on the drive, and then delete this file. This has
many disadvantages, which zerofree alleviates:
· it is slow;
· it makes the disk image (temporarily) grow to its maximal extent;
· it (temporarily) uses all free space on the disk, so other
concurrent write actions may fail.
filesystem has to be unmounted or mounted read-only for zerofree to
work. It will exit with an error message if the filesystem is mounted
writable. To remount the root file-system readonly, you can first
switch to single user runlevel (telinit 1) then use mount -o remount,ro
filesystem.
ตรวจสอบลิงค์นี้เกี่ยวกับ zerofree: การรักษาภาพระบบไฟล์เบาบาง - มันมาจากผู้เขียน - Ron Yorston (9 สิงหาคม 2012)
ต่อไปนี้เป็นวิธีใช้ GUI
ความก้าวหน้าของ BleachBit มากกว่า dd (ซึ่งเป็นสิ่งที่ดีมาก) คือเมื่อดิสก์เต็มในที่สุด BleachBit จะสร้างไฟล์ขนาดเล็กเพื่อล้างไอโหนด (ซึ่งมีข้อมูลเมตาเช่นชื่อไฟล์เป็นต้น)
ฉันใช้dd
เพื่อจัดสรรไฟล์ใหญ่หนึ่งไฟล์ขึ้นไปเพื่อเติมพื้นที่ว่างแล้วใช้ยูทิลิตี้การลบที่ปลอดภัย
ในการจัดสรรไฟล์ด้วย dd ลอง:
dd if=/dev/zero of=delete_me bs=1024 count=102400
จะสร้างไฟล์ชื่อdelete_me
ที่มีขนาด 100 MB (นี่bs
คือ "ขนาดบล็อก" ตั้งค่าเป็น 1k และcount
เป็นจำนวนบล็อกที่จะจัดสรร)
จากนั้นใช้ยูทิลิตี้ลบที่ปลอดภัยที่คุณชื่นชอบ (ฉันใช้shred
อยู่) กับไฟล์ที่สร้างขึ้น
แต่ให้สังเกตสิ่งนี้: การบัฟเฟอร์หมายความว่าแม้ว่าคุณทำทั้งดิสก์คุณอาจไม่ได้ทุกอย่าง!
ลิงค์นี้แนะนำให้ใช้scrub
สำหรับการเช็ดพื้นที่ว่าง ยังไม่ได้ลอง
scrub
อีกครั้งและมันทำให้ระบบไฟล์ทั้งหมดเสียหาย โชคดีที่ฉันมีความรู้สึกที่ดีในการทดลองครั้งแรกในระบบไฟล์ทดสอบไม่ใช่ข้อมูลจริงของฉัน
เช็ดไดรฟ์ด้วยความเร็วสูงสุด
คำแนะนำทั่วไปสำหรับการเข้ารหัสไดรฟ์ในปัจจุบันจะบอกให้คุณทราบถึงการล้างข้อมูลไดรฟ์ก่อน
คำสั่งด้านล่างจะเติมไดรฟ์ของคุณด้วยรหัส AES
ใช้ซีดีสดหากคุณต้องการล้างข้อมูลไดรฟ์สำหรับบูตหลัก
เปิดเทอร์มินัลและยกระดับสิทธิ์ของคุณ:
sudo bash
ให้เราแสดงรายการไดรฟ์ทั้งหมดในระบบเพื่อความปลอดภัย:
cat /proc/partitions
หมายเหตุ: แทนที่/dev/sd{x}
ด้วยอุปกรณ์ที่คุณต้องการเช็ด
คำเตือน: นี่ไม่ใช่สำหรับมือสมัครเล่น! คุณสามารถทำให้ระบบของคุณไม่สามารถบูตได้ !!!
sudo openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > /dev/sd{x}
ฉันตกตะลึงที่ความรวดเร็วนี้
คุณอาจมีแพ็คเกจ GNU coreutilsติดตั้งอยู่แล้วในระบบของคุณ มันมีคำสั่งฉีก
คุณสามารถล้างพื้นที่ว่างของคุณโดยใช้แพ็คเกจการลบที่ปลอดภัย
ในแพ็คเกจนั้นคุณสามารถค้นหาsfill
เครื่องมือที่ออกแบบมาเพื่อลบข้อมูลที่อยู่บนพื้นที่ว่างในสื่อที่ปลอดภัยซึ่งไม่สามารถกู้คืนได้โดยโจรการบังคับใช้กฎหมายหรือภัยคุกคามอื่น ๆ
ในการติดตั้งแพ็คเกจการลบที่ปลอดภัยใน Linux (Ubuntu) ให้ติดตั้งโดยใช้คำสั่งต่อไปนี้:
$ sudo apt-get install secure-delete
จากนั้นหากต้องการลบข้อมูลของคุณไม่มีพื้นที่ว่างลองคำสั่งต่อไปนี้:
sfill -f -v -ll /YOUR_MOUNTPOINT/OR_DIRECTORY
โดยที่ / YOUR_MOUNTPOINT / OR_DIRECTORY เป็นจุดต่อเชื่อม ( df -h
, mount
) หรือไดเรกทอรีเพื่อล้างพื้นที่ว่าง
อ่านคู่มือได้ที่http://manpages.ubuntu.com/manpages/hardy/man1/sfill.1.html
ใช้ dd และปล่อยพื้นที่ว่างให้เป็นศูนย์ มันเป็นข้อมูลเกี่ยวกับตำนานที่จำเป็นต้องเขียนทับหลาย ๆ ครั้ง (เพียงแค่ถาม peter guntmann) และข้อมูลสุ่มเมื่อเทียบกับ 1 ของ 0 นั้นแสดงถึงกิจกรรมที่ผิดธรรมชาติ ผลลัพธ์ที่ได้คือไดรฟ์ที่สะอาดและใช้เวลาน้อย นอกจากนี้โปรแกรมลบที่ปลอดภัยไม่สามารถรับประกันได้ว่าพวกเขาจะเขียนทับไฟล์จริงบนระบบไฟล์ที่ทันสมัย (ทำเจอร์นัล) ทำสิ่งที่ชอบด้วยตัวคุณเองและรับโฟโตเรคสแกนไดรฟ์ของคุณเพื่อดูเลอะเลือนเช็ดด้วย 1 และเลือกเป็นศูนย์ด้วยรูปแบบที่ไม่ต้องแตะต้อง ถ้า photorec ยังค้นหาสิ่งต่าง ๆ อยู่โปรดจำไว้ว่ามันกำลังสแกนทุกอย่างที่มีดังนั้นให้ทำอย่างนี้อีกครั้งกับผู้ใช้รูท
โปรดจำไว้ว่าซีไอเอ / fbi / nsa ไม่มีเครื่องแฟนซีที่สามารถอ่านสถานะที่แท้จริงของบิตสื่อแม่เหล็กของคุณ นั่นเป็นเพียงกระดาษที่เขียนเมื่อนานมาแล้ว "what-if" คุณจะต้องเช็ด 1 ครั้งเท่านั้น
ง่ายกว่าคือการใช้สครับ :
scrub -X dump
สิ่งนี้จะสร้างdump
โฟลเดอร์ในตำแหน่งปัจจุบันและสร้างไฟล์จนกว่าดิสก์จะเต็ม คุณสามารถเลือกรูปแบบด้วย-p
ตัวเลือก ( nnsa|dod|bsi|old|fastold|gutmann
)
ไม่ใช่เรื่องง่ายที่จะทำการติดตั้งสครับ ( ดูฟอรัม Ubuntu ในเรื่องนี้ ) แต่เมื่อการติดตั้งเสร็จสิ้นคุณก็จะเป็นเครื่องมือที่ง่ายและมีประสิทธิภาพในมือของคุณ
scrub
อีกครั้งและมันทำให้ระบบไฟล์ทั้งหมดเสียหาย โชคดีที่ฉันมีความรู้สึกที่ดีในการทดลองครั้งแรกในระบบไฟล์ทดสอบไม่ใช่ข้อมูลจริงของฉัน
scrub -X dump_dir
และดูเหมือนว่าจะทำงานได้ดี BTW ติดตั้งบน Ubuntu 14.04 apt-get install scrub
ตรงไปตรงมามาก:
นี่คือสคริปต์ "sdelete.sh" ที่ฉันใช้ ดูความคิดเห็นเพื่อดูรายละเอียด
# Install the secure-delete package (sfill command).
# To see progress type in new terminal:
# watch -n 1 df -hm
# Assuming that there is one partition (/dev/sda1). sfill writes to /.
# The second pass writes in current directory and synchronizes data.
# If you have a swap partition then disable it by editing /etc/fstab
# and use "sswap" or similar to wipe it out.
# Some filesystems such as ext4 reserve 5% of disk space
# for special use, for example for the /home directory.
# In such case sfill won't wipe out that free space. You
# can remove that reserved space with the tune2fs command.
# See http://superuser.com/a/150757
# and https://www.google.com/search?q=reserved+space+ext4+sfill
sudo tune2fs -m 0 /dev/sda1
sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'
sudo sfill -vfllz /
# sfill with the -f (fast) option won't synchronize the data to
# make sure that all was actually written. Without the fast option
# it is way too slow, so doing another pass in some other way with
# synchronization. Unfortunately this does not seem to be perfect,
# as I've watched free space by running the "watch -n 1 df -hm"
# command and I could see that there was still some available space
# left (tested on a SSD drive).
dd if=/dev/zero of=zero.small.file bs=1024 count=102400
dd if=/dev/zero of=zero.file bs=1024
sync ; sleep 60 ; sync
rm zero.small.file
rm zero.file
sudo tune2fs -m 5 /dev/sda1
sudo tune2fs -l /dev/sda1 | grep 'Reserved block count'
ฉันพบโซลูชันง่าย ๆ ที่ทำงานบน Linux และบน MacOS ย้ายในโฟลเดอร์รูทของดิสก์และเรียกใช้คำสั่งนี้:
for i in $(seq 1 //DISKSPACE//); do dd if=/dev/zero of=emptyfile${i} bs=1024 count=1048576; done; rm emptyfile*;
โดยที่ // DISKSPACE // มีขนาดเป็น GB ของฮาร์ดดิสก์ของคุณ
บางครั้งฉันใช้ bash one-liner:
while :; do cat /dev/zero > zero.$RANDOM; done
เมื่อมันเริ่มบอกว่าดิสก์เต็มเพียงกดCtrl+ Cและลบzero.*
ไฟล์ที่สร้างขึ้น
มันทำงานได้กับทุกระบบไม่ จำกัด ขนาดไฟล์
ละเว้นcat: write error: File too large
ข้อผิดพลาดใด ๆ
นี่ไม่ใช่คำตอบ! เป็นเพียงความคิดเห็นสำหรับผู้ที่ต้องการใช้pv
... ดังนั้นอย่ากังวลกับการลงคะแนน
บนLinux Mint 17.3คุณสามารถใช้pv
( มุมมองไพพ์ ) เพื่อรับความคืบหน้าของการเขียน ตัวอย่างเช่น:
# Install pv (pipe view)
sudo apt-get install pv
# Write huge file of approximate size of /dev/sdb, using urandom data:
pv --timer --average-rate --progress --numeric --eta --interval 5 --size "$(blockdev --getsize64 /dev/sda )" /dev/urandom >rand.file
ข้อได้เปรียบที่นี่คือคุณจะได้รับแถบความคืบหน้า ETA และอัตราข้อมูลที่อัปเดตอย่างต่อเนื่อง ข้อเสียคือการเขียนแบบนี้ในหนึ่งบรรทัดและเมื่อดิสก์เต็ม (ส่งคืนข้อผิดพลาด) จะหายไป สิ่งนี้เกิดขึ้นเนื่องจากขนาดเต็มประมาณโดยประมาณเนื่องจากระบบปฏิบัติการจะใช้ดิสก์ในขณะที่การดำเนินการที่ยาวนานนี้กำลังเกิดขึ้นโดยเฉพาะอย่างยิ่งในปริมาณ OS
บน HD เก่ามากที่ฉันได้รับอัตราการส่งข้อมูลเกี่ยวกับ13 MB / sใช้/dev/urandom
และประมาณ70 MB / s/dev/zero
เมื่อใช้ นี้น่าจะปรับปรุงต่อไปเมื่อใช้ดิบdd
หรือไม่cat
pv
เมื่อไฟล์นั้นหายไปจากการบันทึกของระบบไฟล์ข้อมูลที่ถูกทิ้งไว้ในฮาร์ดดิสก์จะเป็นลำดับที่ไม่มีความหมายของ 1 และ 0 หากคุณต้องการแทนที่ลำดับที่ไม่มีความหมายนั้นด้วยลำดับที่ไม่มีความหมายอื่นฉันสามารถแนะนำผลิตภัณฑ์เชิงพาณิชย์สำหรับการลบไดรฟ์ได้อย่างปลอดภัยเช่นอาร์คอน