Hướng dẫn disable root login trên linux, bảo mật hơn với SSH Key

disable root login 1

Root là tài khoản quản trị mặc định hoặc siêu người dùng (superuser) trong Linux. Việc disable root login đảm bảo rằng chỉ những người dùng cụ thể mới có thể thực hiện các tác vụ quản trị và cài đặt các gói phần mềm nhất định trên hệ thống thông qua quyền sudo (super user do). Bạn chỉ nên vô hiệu hóa tài khoản root khi đã có sẵn một người dùng không phải root với quyền sudo để chạy tất cả các tác vụ quản trị.

Bài viết này giải thích cách vô hiệu hóa đăng nhập root trong Linux và chỉ cho phép người dùng sudo thực hiện các tác vụ quản trị.

Yêu Cầu Tiên Quyết trước khi disable root login

Trước khi bắt đầu, bạn cần phải:

Vô Hiệu Hóa Đăng Nhập SSH Của Tài Khoản Root

Secure Shell (SSH) cho phép người dùng truy cập từ xa vào máy trạm Linux bằng cặp tên người dùng và mật khẩu hợp lệ hoặc SSH keys. Việc vô hiệu hóa đăng nhập SSH của root sẽ chấm dứt tất cả các yêu cầu kết nối từ tài khoản root và chỉ chấp nhận kết nối từ người dùng không phải root. Hãy làm theo các bước dưới đây để vô hiệu hóa đăng nhập SSH của root trên máy trạm của bạn.

  1. Mở file /etc/ssh/sshd_config bằng một trình soạn thảo văn bản như nano.console

    $ sudo nano /etc/ssh/sshd_config
  2. Tìm directive PermitRootLogin dưới đây và thay đổi giá trị của nó từ yes thành no để vô hiệu hóa đăng nhập của tài khoản root qua SSH.ini

    PermitRootLogin no

    Lưu và đóng file.

  3. Khởi động lại dịch vụ SSH để áp dụng các thay đổi cấu hình.console

    $ sudo systemctl restart ssh

disable root login 2 1

Vô Hiệu Hóa Truy Cập Vào Shell Của Tài Khoản Root

Việc vô hiệu hóa truy cập vào shell của người dùng root sẽ ngăn không cho đăng nhập trực tiếp vào tài khoản root và sử dụng lệnh sudo su. Điều này cho phép người dùng có quyền sudo thực hiện các tác vụ quản trị trên hệ thống mà không cần đăng nhập vào shell của root. Hãy làm theo các bước dưới đây để vô hiệu hóa đăng nhập tài khoản root bằng file /etc/passwd trên máy trạm Linux của bạn.

  1. Mở file /etc/passwd.console

    $ sudo nano /etc/passwd
  2. Thay đổi shell của tài khoản root từ /bin/bash thành /sbin/nologin.ini
    root:x:0:0:root:/root:/sbin/nologin

    Lưu và đóng file.
    File /sbin/nologin sẽ vô hiệu hóa shell mặc định của tài khoản root; thiết lập nologin sẽ hiển thị thông báo “tài khoản không khả dụng” khi người dùng cố đăng nhập với tài khoản root.

  3. Kích hoạt thuộc tính Immutable cho file /etc/passwd để ngăn không cho bất kỳ thay đổi nào đối với file.console

    $ sudo chattr +i /etc/passwd
  4. Chạy lệnh sau để xác minh rằng tài khoản root đã bị vô hiệu hóa. Nhập mật khẩu của người dùng có quyền sudo khi được yêu cầu.console

    $ sudo su

    Output:
    This account is currently not available.

Tạo MOTD Tùy Chỉnh

Cấu hình Message of the Day (motd) hiển thị một thông báo hoặc tin nhắn tùy chỉnh khi người dùng đăng nhập vào máy trạm Linux của bạn. Hãy làm theo các bước dưới đây để tạo một motd tùy chỉnh nhằm hướng dẫn người dùng có quyền sudo sử dụng lệnh sudo khi thực hiện các tác vụ quản trị thay vì cố truy cập vào shell của root.

  1. Mở file /etc/motd.console

    $ sudo nano /etc/motd
  2. Thêm tin nhắn sau vào file để làm motd.text

    Welcome to the server
    Note: The root account is disabled. Use sudo to execute commands and perform administrative tasks.

    Lưu và đóng file.

Kiểm Tra Đăng Nhập Tài Khoản Root – xem đã thực sự disable root login hay chưa

Hãy làm theo các bước dưới đây để kiểm tra và xác minh rằng đăng nhập tài khoản root đã bị vô hiệu hóa trên máy trạm Linux của bạn.

  1. Sử dụng lệnh sudo su để truy cập vào shell của tài khoản root.console
    $ sudo su

    Xác minh rằng đăng nhập của bạn thất bại và hiển thị thông báo:
    This account is currently not available.

  2. Truy cập vào máy trạm Linux của bạn bằng SSH với tư cách là tài khoản root.console
    $ ssh root@Server-IP

    Xác minh rằng kết nối SSH thất bại, ngay cả khi sử dụng thông tin đăng nhập chính xác, với kết quả tương tự như dưới đây:

    Permission denied, please try again.
    ...
    Received disconnect from Server-IP port 22:2: Too many authentication failures
    Disconnected from Server-IP port 2
  3. Đăng nhập vào instance Linux của bạn bằng tty1 hoặc Display Manager (DM) với tư cách là tài khoản root, và xác minh rằng kết nối thất bại.
    disable-root-login-tren-linux

Kết Luận

Bạn đã vô hiệu hóa tài khoản root trên máy trạm Linux của mình. Người dùng thông thường không thể truy cập vào shell của tài khoản root hoặc chỉnh sửa file /etc/passwd để kích hoạt lại đăng nhập của tài khoản root. Ngoài ra, bạn đã vô hiệu hóa đăng nhập root qua SSH, từ đó chặn tất cả các nỗ lực kết nối đến máy trạm Linux của bạn. Tin nhắn của motd đã hướng dẫn người dùng có quyền sudo thực hiện các tác vụ quản trị theo các phương pháp được định nghĩa trong tin nhắn, qua đó nâng cao độ bảo mật cho hệ thống và duy trì các cấp độ truy cập.

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *