Cách bảo vệ GRUB bằng mật khẩu (Linux)

Chúng tôi thường dành một phần lớn thời gian của mình cho ngăn chặn truy cập trái phép cho nhóm của chúng tôi: chúng tôi định cấu hình tường lửa, quyền người dùng, ACL, tạo mật khẩu mạnh, v.v.; nhưng chúng ta hiếm khi nhớ bảo vệ sự khởi động của thiết bị của chúng tôi.

Nếu một người có quyền truy cập thực tế vào máy tính, họ có thể khởi động lại máy tính và thay đổi thông số GRUB để có được quyền truy cập của quản trị viên vào máy tính. Chỉ cần thêm '1' hoặc 's' vào cuối dòng GRUB 'kernel' để có được kiểu truy cập đó.


Để tránh điều này, GRUB có thể được bảo vệ bằng cách sử dụng mật khẩu, do đó nếu nó không được biết thì không thể sửa đổi các tham số của nó.

Nếu bạn đã cài đặt bộ tải khởi động GRUB (phổ biến nhất nếu bạn sử dụng các bản phân phối Linux phổ biến nhất), bạn có thể bảo vệ từng mục nhập trong menu GRUB bằng mật khẩu. Bằng cách này, mỗi khi bạn chọn một hệ điều hành để khởi động, nó sẽ yêu cầu bạn nhập mật khẩu mà bạn đã chỉ định để khởi động hệ thống. Và như một phần thưởng, nếu máy tính của bạn bị đánh cắp, những kẻ xâm nhập sẽ không thể truy cập các tệp của bạn. Nghe có vẻ tốt, phải không?

GRUB 2

Đối với mỗi mục nhập Grub, bạn có thể thiết lập người dùng có đặc quyền để sửa đổi các thông số của mục nhập xuất hiện trong GRUB khi khởi động hệ thống, ngoại trừ superuser (người có quyền truy cập để sửa đổi Grub bằng cách nhấn phím “e”). Chúng tôi sẽ thực hiện việc này trong tệp /etc/grub.d/00_header. Chúng tôi mở tệp bằng trình chỉnh sửa yêu thích của chúng tôi:

sudo nano /etc/grub.d/00_header

Ở cuối dán như sau:

mèo < < EOF
đặt superusers=”user1″
mật khẩu user1 password1
EOF

Trong đó user1 là superuser, ví dụ:

mèo < < EOF
đặt superusers="superuser"
mật khẩu siêu người dùng 123456
EOF

Để tạo thêm người dùng, hãy thêm họ vào bên dưới:

mật khẩu siêu người dùng 123456

Nó sẽ trông giống như sau:

mèo < < EOF
đặt superusers="superuser"
mật khẩu siêu người dùng 123456
mật khẩu người dùng2 7890
EOF

Khi chúng tôi đã thiết lập được những người dùng chúng tôi muốn, chúng tôi sẽ lưu các thay đổi.

Bảo vệ Windows 

Để bảo vệ Windows, bạn phải chỉnh sửa tệp /etc/grub.d/30_os-prober.

sudo nano /etc/grub.d/30_os-prober

Tìm một dòng mã có nội dung:

menuentry "$ {LONGNAME} (trên $ {DEVICE})" {

Nó sẽ trông như thế này (superuser là tên của superuser):

menuentry "$ {LONGNAME} (trên $ {DEVICE})" –users superuser {

 
Lưu các thay đổi và chạy:

sudo update-grub

Tôi đã mở tệp /boot/grub/grub.cfg:

sudo nano /boot/grub/grub.cfg

Và mục nhập Windows ở đâu (như thế này):

menuentry "Windows XP Professional" {

thay đổi nó thành này (user2 là tên của người dùng có đặc quyền truy cập):

menuentry "Windows XP Professional" –users user2 {

Khởi động lại và bắt đầu. Bây giờ, khi bạn cố gắng vào Windows, nó sẽ yêu cầu bạn nhập mật khẩu. Nếu bạn nhấn phím "e", nó cũng sẽ yêu cầu nhập mật khẩu.

Bảo vệ Linux

Để bảo vệ các mục trong nhân Linux, hãy chỉnh sửa tệp /etc/grub.d/10_linux và tìm dòng có nội dung:

menuentry "$ 1" {

Nếu bạn chỉ muốn superuser có thể truy cập vào nó, nó sẽ giống như sau:

menuentry "$ 1" –users user1 {

Nếu bạn muốn người dùng thứ hai có thể truy cập:

menuentry "$ 1" –users user2 {

Bạn cũng có thể bảo vệ mục nhập khỏi việc kiểm tra bộ nhớ bằng cách chỉnh sửa tệp /etc/grub.d/20_memtest:

menuentry "Kiểm tra bộ nhớ (memtest86 +)" –users superuser {

Bảo vệ tất cả các mục nhập

Để bảo vệ tất cả các mục nhập chạy:

sudo sed -i -e '/ ^ menuentry / s / {/ –users superuser {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os-prober / etc / grub.d / 40_custom

Để hoàn tác bước này, hãy chạy:

sudo sed -i -e '/ ^ menuentry / s / –users superuser [/ B] {/ {/' /etc/grub.d/10_linux /etc/grub.d/20_memtest86+ /etc/grub.d/30_os- prober /etc/grub.d/40_custom

GRUB

Hãy bắt đầu bằng cách mở môi trường GRUB. Tôi đã mở một thiết bị đầu cuối và viết:

grub

Sau đó, tôi đã nhập lệnh sau:

md5crypt

Nó sẽ yêu cầu bạn nhập mật khẩu bạn muốn sử dụng. Nhập nó và nhập tù. Bạn sẽ nhận được một mật khẩu được mã hóa mà bạn phải giữ rất cẩn thận. Bây giờ, với quyền của quản trị viên, tôi đã mở tệp /boot/grub/menu.lst bằng trình soạn thảo văn bản yêu thích của bạn:

sudo gedit /boot/grub/menu.lst

Để đặt mật khẩu cho các mục trong menu GRUB mà bạn thích, bạn phải thêm các thông tin sau vào từng mục mà bạn muốn bảo vệ:

mật khẩu --md5 my_password

Trong đó my_password sẽ là mật khẩu (được mã hóa) do md5crypt trả về: Trước:

tiêu đề Ubuntu, kernel 2.6.8.1-2-386 (chế độ khôi phục)
gốc (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

Sau đó:

tiêu đề Ubuntu, kernel 2.6.8.1-2-386 (chế độ khôi phục)
gốc (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

Lưu tệp và khởi động lại. Thật dễ dàng! Để tránh, không những kẻ độc hại có thể thay đổi các thông số cấu hình của mục được bảo vệ mà còn không thể khởi động hệ thống đó, bạn có thể thêm một dòng vào mục "được bảo vệ", sau thông số tiêu đề. Theo ví dụ của chúng tôi, nó sẽ trông giống như sau:

tiêu đề Ubuntu, kernel 2.6.8.1-2-386 (chế độ khôi phục)
khóa
gốc (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

Lần tới khi ai đó muốn khởi động hệ thống đó, họ sẽ phải nhập mật khẩu.

Fuente: delanover & Tận dụng & Diễn đàn Ubuntu & elavdeveloper


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.

  1.   Marcelo miranda dijo

    Xin chào, tôi muốn được giúp đỡ, làm ơn, tôi muốn bảo vệ hạt nhân của hệ thống Android của mình bằng mật khẩu vì nếu thiết bị bị đánh cắp, họ sẽ thay đổi ROM và tôi không bao giờ có thể khôi phục được! Nếu bạn có thể giúp tôi ... Tôi có quyền truy cập siêu người dùng, nhưng tôi muốn nó yêu cầu tôi nhập mật khẩu khi bạn đặt thiết bị ở chế độ tải xuống. Cảm ơn trước.

  2.   Jose damian dijo

    Đóng góp xuất sắc. Đã đăng ký