เมื่อเร็ว ๆ นี้เพื่อนคนหนึ่งของฉันมาที่บ้านของฉันภายใน 15 นาทีเขาแฮ็คบัญชีของฉันโดยใช้ Live CD และรีเซ็ตรหัสผ่านต่อหน้าฉัน ฉันรู้สึกงุนงงเมื่อเห็นสิ่งนั้น โปรดแนะนำฉันเพื่อป้องกันความพยายามในอนาคตโดยใช้ Live CD
เมื่อเร็ว ๆ นี้เพื่อนคนหนึ่งของฉันมาที่บ้านของฉันภายใน 15 นาทีเขาแฮ็คบัญชีของฉันโดยใช้ Live CD และรีเซ็ตรหัสผ่านต่อหน้าฉัน ฉันรู้สึกงุนงงเมื่อเห็นสิ่งนั้น โปรดแนะนำฉันเพื่อป้องกันความพยายามในอนาคตโดยใช้ Live CD
คำตอบ:
วิธีที่ง่ายและรวดเร็วในการทำเช่นนี้คือการปิดใช้งานการบูตจากซีดีและ USB sticks ใน BIOS ของคุณและตั้งรหัสผ่าน BIOS
ตามหน้าวิกินี้ :
การวางรหัสผ่านหรือรายการเมนูล็อค (ในไฟล์กำหนดค่า Grub) ไม่ได้ป้องกันผู้ใช้จากการบู๊ตด้วยตนเองโดยใช้คำสั่งที่ป้อนที่บรรทัดคำสั่ง grub
อย่างไรก็ตามไม่มีอะไรหยุดใครบางคนจากการขโมยฮาร์ดไดรฟ์ของคุณและติดตั้งบนเครื่องอื่นหรือรีเซ็ต BIOS ของคุณโดยการถอดแบตเตอรี่หรือหนึ่งในวิธีอื่น ๆ ที่ผู้โจมตีสามารถใช้เมื่อพวกเขาสามารถเข้าถึงเครื่องของคุณได้
วิธีที่ดีกว่าคือการเข้ารหัสไดรฟ์ของคุณคุณสามารถทำได้โดยเข้ารหัสไดเรกทอรีหลักหรือเข้ารหัสดิสก์ทั้งหมด:
ยืนถัดจากคอมพิวเตอร์ของคุณในขณะที่ถือไม้ตีลูกบอล เอาชนะใครก็ตามที่เข้ามาใกล้อย่างรุนแรง
หรือล็อคมัน
หากคอมพิวเตอร์ของคุณสามารถเข้าถึงได้ทางกายภาพจะไม่ปลอดภัย
ขั้นตอนการป้องกันด้วยรหัสผ่านของ grub2 นั้นค่อนข้างยุ่งยากและหากคุณเข้าใจผิดมีความเป็นไปได้ที่จะปล่อยให้ตัวเองอยู่กับระบบที่ไม่สามารถบู๊ตได้ ดังนั้นจึงมักจะทำการสำรองข้อมูลรูปแบบของฮาร์ดไดรฟ์ของคุณก่อน คำแนะนำของฉันจะใช้Clonezilla - เครื่องมือสำรองอื่นเช่นPartImageสามารถใช้
หากคุณต้องการฝึกฝนสิ่งนี้ - ใช้เครื่องเสมือนแขกซึ่งคุณสามารถย้อนกลับสแน็ปช็อตได้
ขั้นตอนด้านล่างนี้ช่วยป้องกันการแก้ไขการตั้งค่า Grub โดยไม่ได้รับอนุญาตในขณะทำการบูทนั่นคือการกดeเพื่อแก้ไขจะช่วยให้คุณเปลี่ยนตัวเลือกการบูต ตัวอย่างเช่นคุณสามารถบังคับให้ทำการบูทไปที่โหมดผู้ใช้คนเดียวและเข้าถึงฮาร์ดดิสก์ของคุณได้
ขั้นตอนนี้ควรใช้ร่วมกับการเข้ารหัสฮาร์ดดิสก์และตัวเลือกการบูตไบออสที่ปลอดภัยเพื่อป้องกันการบูตจากซีดีสดตามที่อธิบายไว้ในคำตอบที่เกี่ยวข้องกับคำถามนี้
เกือบทุกอย่างด้านล่างสามารถคัดลอกและวางทีละบรรทัด
ก่อนอื่นให้สำรองไฟล์ด้วงที่เราจะแก้ไข - เปิดเทอร์มินัลเซสชัน:
sudo mkdir /etc/grub.d_backup
sudo cp /etc/grub.d/* /etc/grub.d_backup
ให้สร้างชื่อผู้ใช้สำหรับด้วง:
gksudo gedit /etc/grub.d/00_header &
เลื่อนไปที่ด้านล่างเพิ่มบรรทัดว่างใหม่และคัดลอกและวางต่อไปนี้:
cat << EOF
set superusers="myusername"
password myusername xxxx
password recovery 1234
EOF
ในตัวอย่างนี้มีการสร้างชื่อผู้ใช้สองชื่อ: myusernameและการกู้คืน
ถัดไป - นำทางกลับไปที่เทอร์มินัล (อย่าปิดgedit
):
ผู้ใช้งาน Natty และ Oneiric เท่านั้น
สร้างรหัสผ่านที่เข้ารหัสโดยการพิมพ์
grub-mkpasswd-pbkdf2
ป้อนรหัสผ่านของคุณคุณจะใช้สองครั้งเมื่อได้รับแจ้ง
Your PBKDF2 is grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
บิตที่เราสนใจเริ่มต้นgrub.pbkdf2...
และสิ้นสุดBBE2646
เน้นส่วนนี้โดยใช้เมาส์คลิกขวาและคัดลอก
สลับกลับไปที่gedit
แอปพลิเคชันของคุณ- เน้นข้อความ "xxxx" และแทนที่ด้วยสิ่งที่คุณคัดลอก (คลิกขวาและวาง)
เช่นบรรทัดควรมีลักษณะเช่น
password myusername grub.pbkdf2.sha512.10000.D42BA2DB6CF3418C413373CD2D6B9A91AE4C0EB4E6AA20F89DFA027CA6E6CBF3542CB39E951607E9D651D82700AF47884929BDD193E36CB262CC96201B5789AA.1A9B0033928E3D3D0338583A5BF13AF7D5CC6EC5A41456F8FE8D8EBEB7A093CD0A0CE8688949E6007188ECB3FB0FF916F258602D130CF5C8525FB318FBBE2646
ทุกรุ่น 'buntu (ชัดเจนขึ้นไป)
บันทึกและปิดไฟล์
ในที่สุดคุณจะต้องใช้รหัสผ่านเพื่อป้องกันแต่ละรายการในเมนูด้วง (ไฟล์ทั้งหมดที่มีบรรทัดที่ขึ้นต้นด้วยmenuentry ):
cd /etc/grub.d
sudo sed -i -e '/^menuentry /s/ {/ --users myusername {/' *
สิ่งนี้จะเพิ่มรายการใหม่--users myusername
ให้กับแต่ละบรรทัด
เรียกใช้ update-grub เพื่อสร้างด้วงของคุณใหม่
sudo update-grub
เมื่อคุณพยายามที่จะแก้ไขรายการด้วงก็จะขอชื่อผู้ใช้ของคุณคือMyUserNameและรหัสผ่านที่คุณใช้
รีบูตและทดสอบว่ามีการบังคับใช้ชื่อผู้ใช้และรหัสผ่านเมื่อแก้ไขรายการด้วงทั้งหมด
อย่าลืมกดSHIFTระหว่างการบู๊ตเพื่อแสดงด้วงของคุณ
ทั้งหมดข้างต้นสามารถแก้ไขได้อย่างง่ายดายโดยใช้โหมดการกู้คืน
โชคดีที่คุณยังสามารถบังคับให้ชื่อผู้ใช้และรหัสผ่านใช้รายการเมนูโหมดการกู้คืน ในส่วนแรกของคำตอบนี้เราจะสร้างชื่อผู้ใช้เพิ่มเติมที่เรียกว่าการกู้คืนด้วยรหัสผ่านของ1234 ในการใช้ชื่อผู้ใช้นี้เราจำเป็นต้องแก้ไขไฟล์ต่อไปนี้:
gksudo gedit /etc/grub.d/10_linux
เปลี่ยนสายจาก:
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
ไปที่:
if ${recovery} ; then
printf "menuentry '${title}' --users recovery ${CLASS} {\n" "${os}" "${version}"
else
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
fi
เมื่อใช้การกู้คืนให้ใช้การกู้คืนชื่อผู้ใช้และรหัสผ่าน1234
วิ่งsudo update-grub
เพื่อสร้างไฟล์ด้วงของคุณใหม่
รีบูตและทดสอบว่าคุณถูกถามว่าเป็นชื่อผู้ใช้และรหัสผ่านเมื่อพยายามบูตในโหมดการกู้คืน
ข้อมูลเพิ่มเติม - http://ubuntuforums.org/showthread.php?t=1369019
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
สำหรับการกู้คืน แต่คล้ายกับภายใน if function คุณช่วยแนะนำวิธีแก้ไขได้ไหม?
สิ่งสำคัญคือต้องจำไว้ว่าถ้ามีคนเข้าถึงเครื่องของคุณทางกายภาพพวกเขาจะสามารถทำสิ่งต่าง ๆ กับพีซีของคุณได้ตลอดเวลา สิ่งต่าง ๆ เช่นการล็อคเคสพีซีของคุณและรหัสผ่าน BIOS จะไม่หยุดบุคคลที่กำหนดจากการใช้ฮาร์ดไดรฟ์และข้อมูลของคุณ
คุณสามารถทำได้แม้ในกรณีของการรีเซ็ต "ตัวรีเซ็ต" จะไม่สามารถดูข้อมูลได้
/home
การทำเช่นนี้เพียงเข้ารหัส
หากคุณต้องการทำให้เป็นไปไม่ได้ที่การรีเซ็ตจะต้องมีบางสิ่งที่จำเป็นต้องลบออกซึ่งรับผิดชอบการเปลี่ยนรหัสผ่าน
sudo
สิทธิ์พวกเขาไม่จำเป็นต้อง/home
ทำความเสียหายร้ายแรง