วิธีเข้ารหัสดิสก์ พาร์ติชั่น และไฟล์โดยใช้ LUKS บน Linux Debian

การเข้ารหัสข้อมูลบนฮาร์ดไดรฟ์หรือ SSD พาร์ติชั่นและไฟล์เป็นสิ่งสำคัญในปัจจุบัน ขณะนี้เรามีความเป็นไปได้ในการเข้ารหัสข้อมูลของเซิร์ฟเวอร์ NAS คอมพิวเตอร์เดสก์ท็อป และแม้แต่แล็ปท็อป เหนือสิ่งอื่นใด แล็ปท็อปเป็นที่ที่การเข้ารหัสข้อมูลมีความจำเป็นมากที่สุด เพราะหากเราทำหาย แล็ปท็อปจะสามารถเข้าถึงข้อมูลทั้งหมดของเราได้ เหมือนกับว่าเราสูญเสียฮาร์ดไดรฟ์หรือไดรฟ์ปากกาของเรา วันนี้ในบทความนี้ เราจะมาสอนให้คุณเข้ารหัสเนื้อหาทั้งหมดของฮาร์ดดิสก์ตั้งแต่เริ่มต้น โดยใช้ LUKS ใน ลินุกซ์.

ในระบบปฏิบัติการ Linux เรามีตัวเลือกมากมายในการเข้ารหัสข้อมูลใน Linux ตัวอย่างเช่น เราสามารถใช้ dm-crypt, LUKS, eCryptfs และแม้แต่โปรแกรมอย่าง Veracrypt ที่ใช้งานได้หลากหลายและแนะนำเป็นอย่างยิ่ง LUKS (Linux Unified Key Setup) ช่วยให้เราเข้ารหัสดิสก์ พาร์ติชั่น และโลจิคัลวอลุ่มที่เราสร้างขึ้นบนคอมพิวเตอร์ของเรา ข้อดีบางประการที่ LUKS มีเหนือสิ่งอื่นคือ การใช้งานนั้นง่ายมาก โดยไม่ต้องกำหนดค่าหรือรันคำสั่งที่ซับซ้อน มันรวมอยู่ในเคอร์เนลเอง ดังนั้นประสิทธิภาพในการเข้ารหัส / ถอดรหัสข้อมูลจะสูงมาก เราต้อง ยังคำนึงถึงว่าเราสามารถจัดการคีย์เข้ารหัสตามที่เราต้องการได้

วิธีเข้ารหัสดิสก์ พาร์ติชั่น และไฟล์โดยใช้ LUKS บน Linux Debian

เราจะแบ่งบทช่วยสอนนี้ออกเป็นสองส่วนอย่างชัดเจน ในส่วนแรก เราจะสอนวิธีติดตั้งระบบปฏิบัติการ Debian พร้อมการเข้ารหัสทั่วทั้งพาร์ติชั่น เข้ารหัสโดยค่าเริ่มต้น และในส่วนที่สอง เราจะสอนวิธีเข้ารหัส คอมพิวเตอร์เมื่อติดตั้ง Debian ตามปกติแล้ว จะไม่มีการเข้ารหัสบนพาร์ติชันโดยค่าเริ่มต้น รายละเอียดที่สำคัญมากคือพาร์ติชั่นที่เน้นไปที่ "การบูต" จะไม่ถูกเข้ารหัส เพื่อให้สามารถอ่านข้อมูลได้ แต่ส่วนที่เหลือของดิสก์จะถูกเข้ารหัสด้วย LUKS ไม่ว่าจะเป็นพาร์ติชั่นหรือโลจิคัลวอลุ่ม (LVM)

ติดตั้ง Debian หรือ Linux ด้วยการเข้ารหัส LUKS เป็นค่าเริ่มต้น

ในวิซาร์ดการติดตั้ง Debian ไม่ว่าจะมีอินเทอร์เฟซผู้ใช้แบบกราฟิกเต็มรูปแบบ หรือด้วยวิซาร์ดการติดตั้งที่มีอินเทอร์เฟซน้อยที่สุด เรามีความเป็นไปได้ที่จะกำหนดค่าดิสก์ทั้งหมดด้วย LVM ที่เข้ารหัส เพื่อให้มีความลับสูงสุดเมื่อ มาใช้คอมพิวเตอร์กันเถอะ เพราะ ข้อมูลทั้งหมดบนพาร์ติชันระบบและข้อมูลจะถูกเข้ารหัส

เราเพียงแค่ต้องเลือก “คำแนะนำ – ใช้ดิสก์ทั้งหมดและกำหนดค่า LVM ที่เข้ารหัส” จากนั้นเราเลือกดิสก์และเลือกว่าเราต้องการทุกอย่างในพาร์ติชั่นหรือแยกตามพาร์ติชั่น ไม่สำคัญเพราะเราสามารถแยก / พาร์ติชั่นโฮมในอื่นๆ

จะระบุว่าหากเราต้องการบันทึกการเปลี่ยนแปลงทั้งหมดที่ทำขึ้น ขอแนะนำให้ใช้ LVM เพื่อขยายหรือลดความจุในภายหลัง เมื่อเราทำเสร็จแล้ว ระบบปฏิบัติการจะดูแลการลบดิสก์ทั้งหมดด้วยข้อมูลแบบสุ่มเพื่อปรับปรุงความปลอดภัยและหลีกเลี่ยงการกู้คืนข้อมูล จะใช้เวลาสักครู่ขึ้นอยู่กับขนาดของดิสก์ที่เราเลือก

เมื่อเสร็จแล้ว มันจะบอกให้เราใส่รหัสผ่านการเข้ารหัส เข้ารหัสและถอดรหัสดิสก์ด้วยรหัสผ่านนี้ อย่างน้อยที่สุด ขอแนะนำให้ใส่อักขระ 8 ตัว แต่คำแนะนำของเราคือใส่อักขระอย่างน้อย 12 ตัว โดยใช้รหัสผ่านที่รัดกุม เมื่อเสร็จแล้ว เราจะได้บทสรุปของทุกสิ่งที่วิซาร์ดการติดตั้ง Debian จะทำบนดิสก์ของเรา สิ่งที่สำคัญที่สุดคือส่วนหนึ่งของ “การเข้ารหัส sda5_scrypt” รายละเอียดที่สำคัญคือ / boot จะไม่ถูกเข้ารหัสและทั้ง exchange (swap) ดังนั้น เราขอแนะนำให้คุณอย่าใช้การสลับใดๆ หรือเข้ารหัสในภายหลัง

เมื่อเราเห็นทุกอย่างที่กำลังจะเสร็จสิ้น เราระบุว่าเราต้องการเขียนการเปลี่ยนแปลงไปยังดิสก์ และติดตั้งบูตโหลดเดอร์ในด้วง โดยเลือกดิสก์ / dev / sda ที่เรามี

เมื่อเราติดตั้งเสร็จแล้ว ด้วงจะออกมา และเราจะเลือกตัวเลือกแรก มิฉะนั้นเราจะปล่อยให้เวลาผ่านไป มันจะขอรหัสผ่านจากเราโดยอัตโนมัติเพื่อให้สามารถเริ่มระบบปฏิบัติการได้ หากเราไม่ป้อนรหัสผ่านโดยตรง จะไม่สามารถเริ่มได้เพราะทุกอย่างถูกเข้ารหัส หากเราป้อนคีย์ เราจะเห็นว่าบริการต่างๆ เริ่มต้นใน Debian อย่างไร

หากเราต้องการตรวจสอบพาร์ติชั่นที่เราสร้างขึ้น เราสามารถใส่คำสั่งต่อไปนี้:

lsblk --fs

หากเราต้องการดูลักษณะของ LUKS (ใช้อัลกอริทึมการเข้ารหัสแบบสมมาตร ความยาวของคีย์ ฯลฯ) เราสามารถใส่คำสั่งต่อไปนี้:

cryptsetup luksDump /dev/sda5

ในกรณีของเรา / dev / sda5 หากคุณทำการติดตั้งอื่น ข้อมูลนี้อาจมีการเปลี่ยนแปลง อย่างที่คุณเห็น LUKS เข้ารหัสข้อมูลทั้งหมดด้วย AES-XTS ในเวอร์ชัน 512 บิต ใช้ PBKDF argon2i และแฮช SHA256

อย่างที่คุณเห็น การกำหนดค่าระบบปฏิบัติการของเราด้วย Linux เป็นค่าเริ่มต้นนั้นง่ายมาก เราเพียงแค่ต้องทำตามขั้นตอนของวิซาร์ดการกำหนดค่า โดยไม่ต้องทำอย่างอื่น เมื่อเรารู้วิธีเข้ารหัสข้อมูลทั้งหมดตามค่าเริ่มต้นแล้ว มาดูวิธีการทำเมื่อติดตั้งระบบปฏิบัติการเรียบร้อยแล้ว

กำหนดค่าการเข้ารหัส LUKS บนระบบที่ติดตั้งแล้วโดยไม่ต้องเข้ารหัสล่วงหน้า

ในส่วนนี้ของบทช่วยสอน เราจะมาดูกันว่าเราจะสามารถเข้ารหัสพาร์ติชั่นได้อย่างไรเมื่อพาร์ติชั่นถูกสร้างขึ้นแล้ว และแม้กระทั่งวิธีที่เราสามารถเข้ารหัสไฟล์ใดๆ ด้วย LUKS ที่เรามีในระบบปฏิบัติการ เราจะทำการทดสอบเหล่านี้กับระบบ Debian 10 โดยไม่ต้องมีการเข้ารหัสอะไรเลยโดยค่าเริ่มต้น ไม่มีพาร์ติชั่นระบบ ข้อมูล หรืออะไรก็ตาม

สิ่งแรกที่เราต้องทำคือติดตั้ง LUKS ในระบบปฏิบัติการ เพราะไม่ได้ติดตั้งไว้โดยปริยาย ถ้าเราไม่ได้ใช้มันในวิซาร์ดการติดตั้ง การติดตั้งทำได้โดยตรงจากที่เก็บ Debian อย่างเป็นทางการดังนี้:

sudo apt install cryptsetup

เมื่อติดตั้งแล้ว เราสามารถใช้เพื่อเข้ารหัสเนื้อหาของฮาร์ดไดรฟ์ พาร์ติชั่น หรืออุปกรณ์จัดเก็บข้อมูลแบบถอดได้

ก่อนจะเริ่มมัน แนะนำให้ฟอร์แมตพาร์ติชั่นให้สมบูรณ์และเขียนข้อมูลใหม่เสมอ เพื่อให้มีการรักษาความปลอดภัยที่ดีที่สุด ด้วยวิธีนี้ พาร์ติชันหรือดิสก์ทั้งหมดจะถูกเขียนใหม่ด้วยข้อมูลแบบสุ่ม เพื่อให้การกู้คืนข้อมูลทำได้ยากหรือแทบเป็นไปไม่ได้เลย ปัจจุบัน LUKS ไม่อนุญาตให้เข้ารหัสดิสก์หรือพาร์ติชั่นเมื่อมีการใช้งาน ดังนั้นเราจึงต้องทำจากคอมพิวเตอร์เครื่องอื่น นอกจากนี้ คุณต้องใช้ประโยชน์จาก ” cryptsetup-เข้ารหัสใหม่ ” ที่จะช่วยให้เราเข้ารหัสพาร์ติชั่นใหม่ได้อย่างสมบูรณ์โดยไม่สูญเสียข้อมูล แม้ว่าจะแนะนำเป็นอย่างยิ่งให้คุณสำรองข้อมูลไฟล์สำคัญก่อนที่จะดำเนินการดังกล่าว เครื่องมือนี้อนุญาตให้คุณเข้ารหัสข้อมูลบนอุปกรณ์ในสถานที่ของ LUKS แต่พาร์ติชั่นจะต้องไม่ใช้งาน

เข้ารหัสดิสก์หรือพาร์ติชั่นใดๆ (โดยที่ข้อมูลสูญหาย)

สิ่งแรกที่เราต้องทำคือสร้างพาร์ติชั่นใหม่บนดิสก์เพื่อใช้ในภายหลัง เรารันคำสั่งต่อไปนี้:

sudo fdisk /dev/sdb

และเรายังคงใส่ "n" เพื่อสร้างพาร์ติชันใหม่ เราใส่ "p" เพื่อทำให้เป็นพาร์ติชันหลัก และเรายอมรับค่าที่ระบุว่าเรามีพาร์ติชันของฮาร์ดดิสก์ทั้งหมด หากเราต้องการทำให้มีขนาดเล็กลง เรา จะต้องปรับเปลี่ยนเซกเตอร์สำหรับพาร์ติชั่นนี้โดยเฉพาะ

เมื่อเราทำสิ่งนี้เสร็จแล้ว เราต้องใส่พาร์ติชัน sdb1 ที่สร้างขึ้นใหม่ด้วยรูปแบบ LUKS สำหรับสิ่งนี้ เราดำเนินการคำสั่งต่อไปนี้:

sudo cryptsetup luksFormat /dev/sdb1

เราใช้ตัวพิมพ์ใหญ่ "ใช่" ป้อนรหัสผ่านที่เราต้องการ และรอจนกว่าจะพร้อม

ถ้าเรารันคำสั่ง:

lsblk -f

เราจะสามารถเห็นฮาร์ดไดรฟ์ทั้งหมด พาร์ติชั่น และระบบไฟล์ที่เราใช้อยู่ เราควรเห็นว่าใน sdb1 เรามี “crypto_LUKS” ตามที่ปรากฏที่นี่:

เมื่อเราทำเสร็จแล้ว เราจะต้องเปิดพาร์ติชั่นนี้ด้วย LUKS ที่เราเพิ่งสร้างขึ้น สำหรับสิ่งนี้ เราใส่คำสั่ง:

cryptsetup luksOpen /dev/sdb1 particioncifrada

เราแนะนำรหัสผ่าน จากนั้นเราดำเนินการ «lsblk -f» อีกครั้ง และ «พาร์ติชั่นที่เข้ารหัส» จะปรากฏขึ้น ซึ่งเป็นชื่อตัวระบุที่เราให้ไว้ แต่เราสามารถเปลี่ยนได้ตลอดเวลา

ตอนนี้เราต้องกำหนดรูปแบบไฟล์ให้กับพาร์ติชั่นนี้ ปกติแล้วจะทำกับ EXT4 เช่นกัน สำหรับสิ่งนี้ เราใส่คำสั่งต่อไปนี้:

mkfs.ext4 /dev/mapper/particioncifrada

และเราจะมีระบบไฟล์ EXT4 ในพาร์ติชั่นที่เข้ารหัสนี้อยู่แล้ว

ตอนนี้เราต้องเมานต์พาร์ติชั่นกับไดเร็กทอรี ในการทำเช่นนั้น เราต้องสร้างใน / home หรือที่ใดก็ตามที่เราต้องการจุดเมานท์:

mkdir -p /home/bron/particioncifrada/archivos

และตอนนี้เราต้องเมานต์:

mount /dev/mapper/particioncifrada /home/bron/particioncifrada/archivos

และถ้าเราเข้าถึงไดเร็กทอรี «/ home / bron / การเข้ารหัสพาร์ติชั่น / ไฟล์» เราสามารถเขียนข้อมูลทั้งหมดที่เราต้องการ การเข้ารหัสนั้นรวดเร็วและโปร่งใสโดยสิ้นเชิง

หากเรารีสตาร์ทคอมพิวเตอร์ เครื่องจะไม่ถูกเมาต์ และเราจะไม่เปิดพาร์ติชั่นด้วย LUKS ดังนั้น ทุกครั้งที่เรารีสตาร์ทและต้องการเข้าถึงพาร์ติชั่นนี้ เราจะต้องทำสิ่งต่อไปนี้:

cryptsetup luksOpen /dev/sdb1 particioncifrada

เราป้อนรหัสผ่านเมื่อมีการร้องขอและติดตั้งเครื่องอีกครั้ง:

mount /dev/mapper/particioncifrada /home/bron/particioncifrada/archivos

หากเราต้องการให้เปิดและติดตั้งโดยอัตโนมัติเมื่อเริ่มต้นระบบปฏิบัติการ เราจะต้องแก้ไขไฟล์ / etc / crypttab และ / etc / fstab เพื่อวางพาร์ติชั่นนี้ แต่คำแนะนำของเราคือให้คุณเมานต์ยูนิตด้วยตนเองและ ขอรหัสผ่านเพื่อความปลอดภัยเพราะถ้าไม่ใช่คุณจะต้องเก็บคีย์เป็นข้อความธรรมดาใน / boot / พาร์ติชั่น

ตอนนี้เรารู้ทุกอย่างที่จำเป็นต้องรู้เพื่อให้สามารถเข้ารหัสดิสก์หรือพาร์ติชั่นทั้งหมดโดยใช้ LUKS และทำโดยตรงจาก Linux แม้ว่าระบบจะทำงานอยู่แล้วเราจะต้องระวังรหัสผ่านของเรา แต่เราจะพูดถึง ระบบที่มีความปลอดภัยสูงพร้อมการเข้ารหัสข้อมูล