Khách hàng khi mua VPS thường có câu hỏi: Bảo mật SSH bằng cách nào? Ở bài viết này mình sẽ giải đáp cho các bạn nha.

Có rất nhiều cách để bảo mật SSH. Trong bài viết này mình sẽ giới thiệu cho các bạn 11 cách bảo vệ SSh tốt nhất hiện nay như sau:
1. Chỉ dùng giao thức SSH phiên bản 2
Giao thức SSH phiên bản 1 đã tồn tại nhiểu lỗ hổng bảo mật. Chính vì thế, nó không còn an toàn nữa. Sử dụng giao thức SSH phiên bản 2 là một trong các cách bảo mật tốt nhất. Hiện nay, dịch vụ SSH được mặc định phiên bản 2. Tuy nhiên, trên một số OS cũ hỗ trợ cả phiên bản 1 và 2.

2. Không dùng mật khẩu rỗng
Nếu bạn đăng nhập SSH vào hệ thống sử dụng mật khẩu rỗng thì cực kỳ nguy hiểm. Chính vì thế, không dùng mật khẩu rỗng cũng là cách để bảo mật SSH.
3. Thay đổi cổng SSH và giới hạn IP
Cổng 22 là cổng mặc định cho dịch vụ SSH theo quy định chung trên toàn thế giới. Chính vì thế, kẻ xấu rất dễ lợi dụng cổng này để dò tìm mật khẩu và đăng nhập SSH. Để bảo mật SSH bạn nên thay đổi cổng SSH và giới hạn số IP.
4. Không đăng nhập bằng user root
Bạn nên tạo một User khác user root. Sau đó, cấu hình hoạt động sudo hay su để chuyển từ User thường sang User Root để sử dụng.

5. Tắt chức năng đăng nhập của File ~/.rhosts
Đăng nhập của File ~/.rhosts là hình thức đăng nhập qua cổng 22 đã cũ. Chính vì thế, nó tồn tại rất nhiều về rủi ro và bảo mật. Nếu User và Host được chỉ định cấu hình theo format cụ thể trong File ~/.rhosts thì các User trong File này sẽ tự động đăng nhập mà không cần cung cấp mật khẩu để vào hệ thống Linux. Vì vậy, bạn hãy tắt ngay chức năng đăng nhập này đi nhé.
6. Cấu hình thời gian ngắt kết nối SSH khi User không hoạt động
Bạn nên cài đặt thời gian Timeout mà một kết nối SSH đến máy chủ Linux không nhận được tương tác nào trên Terminal SSH. Nếu quá thời gian quy định, máy chủ SSH sẽ tự ngắt kết nối SSH từ các User không tương tác SSH.

7. Dùng mật khẩu phức tạp
Nếu vẫn đăng nhập SSH vào linux bằng mật khẩu, bạn nên tạo mật khẩu phức tạp, độ khó cao:
+ Mật khẩu ít nhất 8 ký tự.
+ Mật khẩu phải bao gồm cả chữ in hoa, chữ thường, số và ký tự đặc biệt.
+ Mật khẩu đặt càng ngẫu nhiên càng tốt.
8. Cấu hình thời gian Timeout
Bận cần quy định thời gian cụ thể mà một kết nối SSh đợi hoạt động đăng nhập thành công (Ví dụ: 100 giây). Nếu đăng nhập không thành công thì sẽ thực hiện việc ngắt kết nối đến máy chủ.

9. Tắt chứng thực mật khẩu
Để tăng hiệu quả bảo mật, bạn cần tắt chứng thực mật khẩu và sử dụng chứng thực SSH Key. Khi đăng nhập VPS hoặc máy chủ Cloud, bạn nên dùng SSH Key.
10. Từ chối hoặc cho phép kết nối SSH
Để từ chối hoặc cho phép kết nối SSH đối với một nhóm/ một số User cụ thể trên Linux bạn có thể dùng một số cú pháp sau:
1
2
3
|
AllowUsers user1 user2
AllowGroups quantrivien
|
1
2
3
|
DenyUsers user1 user2
DenyGroups uploader
|
11. Để chế độ “StrictModes”
Dịch vụ SSH sẽ được chỉ định phải kiểm tra thông tin của thư mục File Authorized _key, $HOME User, và thư mục .ssh với chế độ StrictModes. Khi bạn đăng nhập VPS hay Cloud server, dịch vụ SSH sẽ không thể kiểm tra cấu hình.
12. Để số lần tối đa đăng nhập sai
Bạn nên giới hạn số lần tối đa đăng nhập sai mà một User được nhập khi đăng nhập vào hệ thống Linux. SSH sẽ ngắt kết nối của User đó nếu đăng nhập sai quá số lần quy định. VD: MaxAuthTries 5.
13. Tắt Log khi đăng nhập SSH lần cuối
Bạn nên tắt Log ngay sau khi đăng nhập SSH lần cuối. Bạn chỉ cần thay đổi nội dung cấu hình tại mục “PrintLastLog” là đã tắt Log thành công.
Trên đây là các cách bảo mật SSH tốt nhất hiện nay.
Bạn có thể tham khảo thêm các lệnh của SSH tại đây.