หน้าเว็บ

วันอาทิตย์ที่ 27 กันยายน พ.ศ. 2552

สร้าง password ป้องกัน grub

ถ้าเกิดไม่ต้องการให้ใครมา boot เครื่องเรา (ป้องกันการ boot ไม่ใช่ป้องกันการ login) สามารถป้องกันได้โดยใส่ password ไว้ที่ grub เลย ซึ่งประโยชน์หลักๆก็มีด้วย 3 ประการ
1. ป้องกันการเข้าถึง Single-user mode เช่น การเข้า recovery console ซึ่งถ้าเข้ามาในโหมดนี้จะทำการ log in เป็น root ทันทีโดยไม่ต้องใส่ password root
2. ป้องกันการเข้าถึง grub console เพราะถ้าเครื่อง boot ด้วย grub แล้ว ผู้ไม่หวังดีสามารถดึงข้อมูลการตั้งค่าของ grub หรือทำการแก้ไขค่าด้วย grub editor interface ได้
3. ป้องกันการเข้าถึง OS ที่ไม่มีที่การป้องกันไม่ค่อยดี เช่น เข้าได้โดยไม่ต้องใส่ password (เช่น DOS) ในกรณีที่เครื่องเราทำ dual-boot หรือลงหลายๆ OS ไว้ในเครื่องเดียว

วิธีการทำ
มีดังนี้
1. ใช้คำสั่ง grub-md5-crypt เพื่อ generate ค่า hash ของ password ออกมา
2. แก้ไขไฟล์ /boot/grup/menu.lst โดยให้เติมค่า password --md5 ค่าแฮช ไว้ที่บรรทัดสุดท้ายของแต่ละ OS ที่ต้องการจะป้องกัน เช่น

title Ubuntu, kernel 2.6.8.1-2-386 (recovery mode)
root (hd1,2)
kernel /boot/vmlinuz-2.6.8.1-2-386 root=/dev/hdb3 ro single
initrd /boot/initrd.img-2.6.8.1-2-386
password --md5 $1$w7Epf0$vX6rxpozznLAVxZGkcFcs

แล้วลองทดสอบโดยการ reboot เข้า grub เป็นอันเสร็จ

ข้อควรระวัง อย่าใส่ค่า hash value ผิด

ระบบที่ทดสอบ
OS: Ubuntu 9.04 Server

ที่มา
http://ubuntuforums.org/showthread.php?t=7353
http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/en-US/Security_Guide/s2-wstation-bootloader.html

ไม่มีความคิดเห็น: