Hướng dẫn chi tiết Bảo vệ SSH bằng Two-Factor Authentication (2FA)
Để bảo vệ SSH của bạn bằng Two-Factor Authentication (2FA), bạn có thể sử dụng công cụ Google Authenticator hoặc Authy. Dưới đây là hướng dẫn chi tiết về cách cấu hình SSH với Google Authenticator để yêu cầu mã xác minh thứ hai khi đăng nhập vào server.
Bước 1: Cài đặt Google Authenticator trên server
- Cài đặt Google Authenticator PAM module:Để bắt đầu sử dụng Google Authenticator cho SSH, bạn cần cài đặt gói
pam_google_authenticator
trên máy chủ. Thực hiện các bước sau:- Trên Ubuntu/Debian:
123sudo apt updatesudo apt install libpam-google-authenticator - Trên CentOS/RHEL:
123sudo yum install epel-releasesudo yum install pam_google_authenticator
- Trên Ubuntu/Debian:
Bước 2: Cấu hình SSH để sử dụng 2FA
- Cấu hình PAM để sử dụng Google Authenticator:Sau khi cài đặt xong, bạn cần cấu hình PAM để sử dụng Google Authenticator. Làm theo các bước sau:
- Mở file cấu hình PAM của SSH:
12sudo nano /etc/pam.d/sshd - Thêm dòng sau vào cuối file:
12auth required pam_google_authenticator.so - Lưu file và thoát khỏi trình soạn thảo (nhấn
Ctrl + X
, rồi nhấnY
để lưu, sau đó nhấnEnter
).
- Mở file cấu hình PAM của SSH:
- Cấu hình SSH để yêu cầu mã 2FA:Tiếp theo, bạn cần cấu hình dịch vụ SSH để yêu cầu 2FA. Mở file cấu hình SSH:
12sudo nano /etc/ssh/sshd_config- Đảm bảo các dòng sau được cấu hình như sau:
ChallengeResponseAuthentication yes
PasswordAuthentication yes
(hoặcPasswordAuthentication no
nếu bạn đang sử dụng SSH key và không muốn dùng mật khẩu)
- Lưu file và thoát (nhấn
Ctrl + X
, rồi nhấnY
để lưu, sau đó nhấnEnter
).
- Đảm bảo các dòng sau được cấu hình như sau:
- Khởi động lại dịch vụ SSH:Sau khi cấu hình xong, bạn cần khởi động lại dịch vụ SSH để áp dụng các thay đổi:
12sudo systemctl restart sshd
Bước 3: Cài đặt và cấu hình Google Authenticator cho người dùng
- Cài đặt Google Authenticator cho người dùng:Trên máy chủ, bạn cần cài đặt và cấu hình Google Authenticator cho mỗi người dùng muốn sử dụng 2FA.
- Đăng nhập vào tài khoản người dùng mà bạn muốn thiết lập 2FA, ví dụ:
12su - your_username - Chạy lệnh sau để cấu hình Google Authenticator cho người dùng:
12google-authenticator - Bạn sẽ được yêu cầu trả lời một số câu hỏi. Hãy chọn “y” cho tất cả các câu hỏi để bảo mật cao nhất:
- Do you want authentication tokens to be time-based (y/n)?: Nhấn
y
. - Do you want me to update your “~/.google_authenticator” file (y/n)?: Nhấn
y
. - Do you want me to disallow multiple uses of the same authentication token?: Nhấn
y
. - Do you want me to increase the security of your authentication tokens (y/n)?: Nhấn
y
. - Do you want to enable rate-limiting for authentication attempts?: Nhấn
y
.
- Do you want authentication tokens to be time-based (y/n)?: Nhấn
- Sau khi trả lời, Google Authenticator sẽ tạo một QR code và một số mã khôi phục. Bạn cần lưu lại mã khôi phục để sử dụng nếu bị mất quyền truy cập vào ứng dụng Google Authenticator.
- Đăng nhập vào tài khoản người dùng mà bạn muốn thiết lập 2FA, ví dụ:
- Quét QR code bằng Google Authenticator:Mở ứng dụng Google Authenticator trên điện thoại của bạn (tải về từ App Store hoặc Google Play nếu chưa có), sau đó quét QR code được hiển thị trên terminal.
Sau khi quét mã, ứng dụng Google Authenticator sẽ tạo ra một mã xác nhận 6 chữ số, và bạn có thể sử dụng mã này khi đăng nhập vào server.
Bước 4: Kiểm tra và đăng nhập vào SSH với 2FA
- Kiểm tra lại cấu hình:Sau khi hoàn tất cấu hình, bạn có thể thử đăng nhập vào server SSH của mình. Khi bạn đăng nhập, bạn sẽ thấy yêu cầu nhập mật khẩu và sau đó là mã 2FA từ ứng dụng Google Authenticator.
- Đầu tiên, bạn sẽ nhập mật khẩu của mình.
- Sau đó, Google Authenticator sẽ yêu cầu mã 6 chữ số để hoàn tất quá trình đăng nhập.
Nếu cấu hình chính xác, bạn sẽ đăng nhập thành công vào server.
Bước 5: Bảo mật bổ sung
- Giới hạn số lần thử đăng nhập:Để giảm thiểu các cuộc tấn công brute force, bạn có thể cấu hình tường lửa hoặc cài đặt
fail2ban
để tự động chặn IP sau một số lần thử đăng nhập sai.Để cài đặt
fail2ban
, bạn có thể sử dụng lệnh sau:12sudo apt install fail2ban - Cấu hình tường lửa (Firewall):Hãy đảm bảo rằng chỉ các địa chỉ IP đáng tin cậy có thể kết nối qua SSH. Ví dụ, bạn có thể dùng
ufw
để chỉ cho phép kết nối từ một số IP nhất định:12sudo ufw allow from YOUR_IP to any port 22
Tóm tắt
Bằng cách sử dụng Google Authenticator kết hợp với SSH, bạn có thể tăng cường bảo mật cho server của mình bằng cách yêu cầu một mã xác nhận thứ hai ngoài mật khẩu. Quy trình này giúp giảm thiểu nguy cơ bị tấn công brute force và tăng cường bảo vệ cho tài khoản SSH của bạn.
Quý khách cần tư vấn thiết kế web giá rẻ, vui lòng nhấn nút bên dưới:
- Hướng dẫn Thêm cột Ghi chú vào danh sách đơn hàng
- Dư nhiều dòng trắng có ảnh hưởng đến tốc độ web hay hiệu suất trình duyệt?
- Tắt tính năng tự động cập nhật cho các plugin và theme trong WordPress
- Hiệu ứng chiếu sáng (shine effect) (hiệu ứng ánh sáng lướt qua) khi hover vào button
- Hướng dẫn tích hợp Google Translate vào website