2013/08/14

การ config ใช้งาน encrypted partition หรือ partition ที่ถูกเข้ารหัสด้วย dm-crypt บน Debian / Ubuntu


ในบทความนี้จะกล่าวถึงการ config เพื่อใช้งาน partition ที่ถูกเข้ารหัสด้วย dm-crypt บน Debian / Ubuntu (ย้ำนะว่าบน Debian / Ubuntu บาง linux distribution อาจจะไม่เหมือนหรือคล้ายกัน)
ภาพอธิบายแบบคร่าวๆ เผื่อบางคนไม่รู้ว่า dm-crypt คืออะไร
เริ่มละนะ!!
คำสั่งด้านล่างนี้ต้องใช้สิทธิ์ superuser หรือ root ในการใช้งานคำสั่งต่างๆ ดังนั้นเราควรเป็น root ซะด้วยคำสั่ง
$: su -
หรือใช้ sudo นำหน้าคำสั่งก็ได้เช่น sudo apt-get install cryptsetup เป็นต้น เพื่อบอกว่าเราเป็น superuser นะ

1. ก่อนอื่นเลย ใน linux ของท่านต้องมี cryptsetup package ถ้าใครไม่มีก็ติดตั้งด้วยคำสั่ง
$: apt-get install cryptsetup

2. เมื่อติดตั้งสำเร็จเสร็จสิ้นแล้ว ให้ท่านเปิด file /etc/crypttab ด้วย editor ที่ท่านถนัดและชื่นชอบ เช่น gedit, vim, nano หรือ pico (โดยส่วนตัวแล้วผมชอบ vim)
$: vim /etc/crypttab

3. เมื่อเปิด /etc/crypttab ขึ้นมาแล้ว ให้เพิ่ม config ที่อยู่ในบรรทัดด้านล่างนี้เข้าไป
csda2    /dev/sda2    none    luks,noauto
แล้วก็ทำการ save และออกจาก editor

4. จากนั้นให้เปิด file /etc/fstab ด้วย editor เหมือนเดิม
$: vim /etc/fstab

5. หลังจากเปิด /etc/fstab ขึ้นมาแล้วจะเห็น config เดิมอยู่มากมายอย่าไปสนใจครับ ให้เพิ่มบรรทัดด้านล่างนี้เข้าไป
/dev/mapper/csda2    /secret    ext4    defaults,noauto    0    0
แล้วก็ทำการ save และออกจาก editor

6. เราจะสร้าง directory สำหรับการ mount point partition เข้ารหัสของเราโดยผมจะสร้างไว้ที่ root หรือ / (ไม่ใช่ /root นะครับ)
mkdir /mysecret

7. จากนั้นเราจะเพิ่ม attribute ให้กับ directory ที่เพิ่งสร้างขึ้นมา
chattr +i /mysecret

7.1 ใช้คำสั่งนี้เพื่อป้องกันการเขียน file หรือ directory หรือ ข้อมูลใดๆ ใน /mysecret ในขณะที่ยังไม่ได้ mount partition เข้ารหัสเข้ากับ /mysecret (ผมพยายามอธิบายให้อ่านเข้าใจง่ายๆอ่ะนะ ถ้าอ่านแล้วงงก็ run คำสั่งไปก่อนแล้วไปหาข้อมูลทีหลังก็ได้) เมื่อเสร็จแล้ว ให้ใช้คำสั่งด้านล่างนี้เพื่อดู attribute ถูกกำหนดหรือยัง (ผมไม่มี output มาให้ดูนะครับ พอดีเขียนบทความนี้บนเครื่องอื่น)
lsattr /

8. เมื่อเสร็จสิ้นขั้นตอนข้างบนแล้ว เราก็จะใช้งานกันละทีนี้ เมื่อท่านเปิดเครื่องมาทุกๆครั้งแล้วต้องการใช้ข้อมูลใน partition ที่เข้ารหัสข้อมูลไว้ ให้ใช้คำสั่งดังนี้ครับ
cryptdisks_start csda2
Password: ใส่รหัสผ่านของท่านซะ

9. เมื่อ cryptdisks_start เสร็จ partition เข้ารหัสของเราก็พร้อมที่จะใช้งาน ด้วยคำสั่งด้านล่าง
mount /mysecret

10. ตรวจสอบการ mount ว่าสำเร็จหรือไม่ด้วยคำสั่ง
df -h
เพียง 10 ขั้นตอนง่ายๆ เราก็จะสามารถใช้งาน encrypted partition ได้แล้ว