ในฐานะที่เป็นมาตรการตอบโต้ต่อภัยคุกคามความปลอดภัยฉันได้เขียนสคริปต์เล็ก ๆ น้อย ๆ ที่คำนวณ MBR และการตรวจสอบการบูตแล้วเปรียบเทียบกับสคริปต์เก่า ตราบใดที่คอมพิวเตอร์ยังทำงานอยู่นี่ก็โอเค แต่เมื่อฉันรีสตาร์ทมันเช็คซัมจะเปลี่ยนไป
คำถาม - อะไรคือสาเหตุของการเปลี่ยนแปลงและวิธีการป้องกัน?
รายละเอียด:
openSUSE 13.2, noatime สำหรับ/boot
set, boot parition เป็นพาร์ติชั่นแยกต่างหาก (ไม่ใช่แค่ไดเร็กตอรี่ใน root filesystem), พาร์ติชั่นจะถูก unmount ทันทีหลังจากที่ฉันล็อกอินและมันเป็นขั้นตอนแรกก่อนการคำนวณ checsum
สคริปต์:
#!/bin/sh
sudo umount /boot
# MBR
sudo dd if=/dev/sda bs=512 status=noxfer count=1 | sha1sum | diff bootcheck_mbr.sha1 -
MBR_RES=$?
# boot partition
sudo dd if=/dev/sda1 bs=1M status=noxfer | sha1sum | diff bootcheck_boot.sha1 -
BOOT_RES=$?
if [[ $MBR_RES -ne 0 ]] || [[ $BOOT_RES -ne 0 ]]
then
kdialog --sorry "WARNING:\nBoot disk is changed." --title "BOOT CHECK" --geometry 0x0++300+400
else
kdialog --title "Boot check" --passivepopup "The disk is unchanged." 25 --geometry 0x0++300+400
fi