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

  1. 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:
    • Trên CentOS/RHEL:

Bước 2: Cấu hình SSH để sử dụng 2FA

  1. 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:
    • Thêm dòng sau vào cuối file:
    • Lưu file và thoát khỏi trình soạn thảo (nhấn Ctrl + X, rồi nhấn Y để lưu, sau đó nhấn Enter).
  2. 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:
    • Đảm bảo các dòng sau được cấu hình như sau:
      • ChallengeResponseAuthentication yes
      • PasswordAuthentication yes (hoặc PasswordAuthentication 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ấn Y để lưu, sau đó nhấn Enter).
  3. 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:

Bước 3: Cài đặt và cấu hình Google Authenticator cho người dùng

  1. 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ụ:
    • Chạy lệnh sau để cấu hình Google Authenticator cho người dùng:
    • 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.
    • 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.
  2. 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

  1. 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

  1. 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:

  2. 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:


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.

Chào ! Bạn thấy nội dung này thế nào?

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

×







    Vui lòng nhập email trước khi lấy OTP.