Hướng dẫn tắt đăng nhập root qua SSH trên Linux
Bảo mật truy cập SSH là một trong những cách đơn giản nhưng hiệu quả nhất để bảo vệ máy chủ Linux của bạn. Mặc định, nhiều máy chủ cho phép đăng nhập root qua SSH, điều này có thể gây rủi ro lớn. Tắt đăng nhập root đảm bảo rằng quyền truy cập quản trị chỉ có thể thực hiện qua người dùng không phải root có quyền sudo. Dưới đây là hướng dẫn chi tiết từng bước.
Mục lục
- Bước 1: Đăng nhập dưới tài khoản không phải root
- Bước 2: Chỉnh sửa cấu hình SSH
- Bước 3: Khởi động lại dịch vụ SSH
- Bước 4: Xác nhận quyền truy cập không phải root
- Bước 5: Kiểm tra bảo mật tùy chọn
- Thực tiễn tốt nhất
- Cạm bẫy thường gặp
- Mẹo hiệu suất
- Giải quyết sự cố
Bước 1: Đăng nhập dưới tài khoản không phải root
Trước khi tắt đăng nhập root, bạn cần đảm bảo rằng bạn có một tài khoản không phải root với quyền sudo. Nếu bạn chưa có tài khoản này, bạn có thể tạo bằng cách sau:
bash
sudo adduser yourusername
sudo usermod -aG sudo yourusername
Sau đó, đăng nhập bằng tài khoản đó:
bash
ssh yourusername@server_ip
Bước 2: Chỉnh sửa cấu hình SSH
Mở tệp cấu hình daemon SSH:
bash
sudo nano /etc/ssh/sshd_config
Tìm dòng:
bash
#PermitRootLogin yes
Chỉnh sửa nó thành:
bash
PermitRootLogin no
Điều này sẽ tắt đăng nhập root qua SSH.
Bước 3: Khởi động lại dịch vụ SSH
Sau khi chỉnh sửa cấu hình, bạn cần khởi động lại dịch vụ SSH để áp dụng các thay đổi:
bash
sudo systemctl restart sshd
Trên một số hệ thống (như Ubuntu/Debian), dịch vụ có thể được gọi là
sshthay vìsshd:
bash
sudo systemctl restart ssh
Bước 4: Xác nhận quyền truy cập không phải root
Trước khi đóng phiên làm việc, hãy kiểm tra rằng tài khoản không phải root của bạn có thể đăng nhập và sử dụng sudo:
bash
ssh yourusername@server_ip
sudo whoami
Kết quả trả về nên là root. Điều này xác nhận rằng quyền truy cập quản trị vẫn có thể thực hiện mà không cần sử dụng tài khoản root.
Bước 5: Kiểm tra bảo mật tùy chọn
Để tăng cường bảo mật, bạn có thể xem xét các lần đăng nhập gần đây để phát hiện bất kỳ nỗ lực truy cập root nào:
bash
sudo journalctl -u sshd | grep "root"
Thực tiễn tốt nhất
- Luôn có ít nhất một tài khoản không phải root có quyền sudo: Điều này đảm bảo bạn có thể quản lý hệ thống mà không cần sử dụng quyền root.
- Sử dụng SSH key thay vì mật khẩu: Điều này sẽ cải thiện bảo mật hơn nữa cho việc truy cập SSH.
Cạm bẫy thường gặp
- Quên tạo tài khoản không phải root: Nếu bạn tắt đăng nhập root mà không có tài khoản khác, bạn sẽ không thể đăng nhập vào máy chủ.
- Nhầm lẫn tên dịch vụ SSH: Đảm bảo bạn sử dụng đúng tên dịch vụ để khởi động lại.
Mẹo hiệu suất
- Giới hạn địa chỉ IP được phép truy cập SSH: Bạn có thể cấu hình tường lửa để chỉ cho phép địa chỉ IP cụ thể.
- Sử dụng Fail2ban: Công cụ này giúp bảo vệ máy chủ bằng cách chặn IP cố gắng đăng nhập không thành công nhiều lần.
Giải quyết sự cố
- Không thể đăng nhập: Kiểm tra lại cấu hình tệp
sshd_configvà đảm bảo bạn đã khởi động lại dịch vụ SSH. - Đăng nhập bị từ chối: Kiểm tra quyền truy cập của tài khoản không phải root để đảm bảo nó có quyền sudo.
Kết luận
Việc tắt đăng nhập root giúp giảm thiểu rủi ro từ các cuộc tấn công brute-force và hạn chế số lượng tài khoản mà kẻ tấn công có thể nhắm tới. Luôn đảm bảo rằng ít nhất một tài khoản không phải root có quyền sudo để quản lý hệ thống một cách an toàn. Hãy thực hiện ngay hôm nay để bảo vệ máy chủ Linux của bạn!