Bảo Mật GRUB Ngăn Chặn Phá Mật Khẩu Root Chế Độ Single-User

(1). CentOS 6

  1. Tạo mật khẩu mã hóa
[root@CentOS6 ~]# grub-md5-crypt
Password: 
Retype password: 
$1$QPduF0$FNhzDUPQPV8ARQ5Lx.V421  // Đây là chuỗi mật khẩu đã mã hóa
  1. Thêm mật khẩu mã hóa vào /boot/grub/grub.conf
[root@CentOS6 ~]# vim /boot/grub/grub.conf 
# grub.conf được tạo bởi anaconda
#
# Lưu ý rằng bạn không cần chạy lại grub sau khi thay đổi tệp này
# THÔNG BÁO: Bạn có một phân vùng /boot. Điều này có nghĩa là
#           tất cả đường dẫn kernel và initrd đều liên quan đến /boot/, ví dụ:
#           root (hd0,0)
#           kernel /vmlinuz-version ro root=/dev/mapper/vg_centos6-lv_root
#           initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password --md5 $1$QPduF0$FNhzDUPQPV8ARQ5Lx.V421  // Thêm dòng này
title CentOS 6 (2.6.32-642.el6.x86_64)
        root (hd0,0)
        kernel /vmlinuz-2.6.32-642.el6.x86_64 ro root=/dev/mapper/vg_centos6/lv_root rd_NO_LUKS rd_NO_MD rd_LVM_LV=vg_centos6/lv_swap crashkernel=128M LANG=zh_CN.UTF-8 rd_LVM_LV=vg_centos6/lv_root  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
        initrd /initramfs-2.6.32-642.el6.x86_64.img
  1. Sau khi khởi động lại, để vào chế độ single-user và crack mật khẩu root, bạn phải nhập mật khẩu đã đặt

Không thể sử dụng e để vào chế độ single-user nữa, hệ thống sẽ yêu cầu nhấn p và nhập mật khẩu để vào chế độ single-user.

(2). CentOS 7

  1. Tạo mật khẩu mã hóa
[root@server ~]$ LANG="en_US.UTF-8"
[root@server ~]$ grub2-mkpasswd-pbkdf2 
Enter password: 
Reenter password: 
// Từ is trở đi là mật khẩu đã mã hóa
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.C88D38083C2E0D37296410F5D8F11294A1B38705D9C3F245BB449FE63F01D838E5D897C5F94C3605AE1A2CBB845D7FB69EA682CF81FE3470C856A829BEA2AF09.3E5F147E46C0A0FE5E27CE7D4075CAC77007472898C5058A078D77F3C6C0E91D652BA2906AAAAA3987EEBD3E5DDBD8743ADDFE8A22758722797399CE7334B4AA
  1. Thêm mật khẩu mã hóa vào /etc/grub.d/00_header
[root@server ~]# vim /etc/grub.d/00_header
// Thêm đoạn này vào cuối tệp
cat <<EOF
set superusers='admin'    // Tên người dùng ở đây có thể không tồn tại trong hệ thống, chỉ dùng riêng cho GRUB
// Cũng cần ghi tên người dùng ở đây
password_pbkdf2 admin grub.pbkdf2.sha512.10000.C88D38083C2E0D37296410F5D8F11294A1B38705D9C3F245BB449FE63F01D838E5D897C5F94C3605AE1A2CBB845D7FB69EA682CF81FE3470C856A829BEA2AF09.3E5F147E46C0A0FE5E27CE7D4075CAC77007472898C5058A078D77F3C6C0E91D652BA2906AAAAA3987EEBD3E5DDBD8743ADDFE8A22758722797399CE7334B4AA
EOF
// Lưu và thoát
  1. Cập nhật thông tin grub
[root@server ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-957.10.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.10.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-957.5.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.5.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-957.1.3.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.1.3.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-862.14.4.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.14.4.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-862.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-862.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-f5097333f3d74aec9635cc62d6bc0638
Found initrd image: /boot/initramfs-0-rescue-f5097333f3d74aec9635cc62d6bc0638.img
done

Lưu ý: Phải cập nhật thông tin grub, nếu không sẽ không có hiệu quả

  1. Sau khi khởi động lại, để vào chế độ single-user và crack mật khẩu root, bạn phải nhập tên người dùng và mật khẩu đã đặt

Nhấn e để vào chế độ single-user

Thẻ: GRUB CentOS bảo mật single-user mode root password

Đăng vào ngày 6 tháng 7 lúc 12:06