-
06/07/2013
-
797
-
1.308 bài viết
Hướng dẫn thiết lập xác thực 2 yếu tố cho SSH
SSH (Secure Shell) bị tấn công chiếm quyền truy cập đã không còn là chuyện lạ với các quản trị viên. Để tăng cường bảo mật cho SSH có nhiều cách như đổi port, đặt mật khẩu mạnh, sử dụng SSH key, giới hạn truy cập và trong bài viết này sẽ giới thiệu với các bạn một phương pháp nữa là thiết lập xác thực 2 yếu tố cho SSH.
Xác thực 2 yếu tố là gì?
Xác thực đa yếu tố (MFA) hay (2FA) là phương pháp sử dụng nhiều hơn 1 yếu tố để xác thực / đăng nhập. Điều này có nghĩa là nếu kẻ xấu lấy được 1 yếu tố xác thực thì tài khoản / hệ thống của bạn vẫn an toàn nhờ yếu tố còn lại bảo vệ.
Các yếu tố thường được dùng để xác thực là: mật khẩu, câu hỏi bảo mật, vân tay, giọng nói, ứng dụng sinh mã xác thực…
Một yếu tố phổ biến là dùng ứng dụng sinh mã xác thực TOTP (Time-Based One-Time Password) như Google Authenticator. Để tăng cường bảo mật cho SSH với yếu tố xác thực thứ hai bằng ứng dụng sinh mã TOTP chúng ta thực hiện các bước sau.
Bước 1: Tải ứng dụng sinh mã xác thực
Tải Google Authenticator dành cho Android | iOS
Hoặc Authy dành cho Android | iOS
Bước 2: Cài đặt thư viện Google PAM (Pluggable Authentication Module)
Mở Terminal chạy lần lượt 2 lệnh sau:
Bước 3: Cấu hình Google Authenticator
Tại bước này chúng ta cần phải thao tác cấu hình cho từng người dùng bằng cách chạy lệnh:
Trên màn hình sẽ hiện ra mã QR, khóa bí mật, mã dự phòng. Bạn có thể dùng ứng dụng Google Authenticator / Authy đã tải ở bước 1 để quét mã QR. Sau đó hãy lưu các thông tin trên màn hình để sao lưu dự phòng và sử dụng khi cần về sau.
Ở những câu hỏi tiếp theo chọn như hình sau:
Bước 4: Cấu hình SSH sử dụng Google Authenticator
Sửa tập tin cấu hình sshd bằng cách chạy lệnh:
Tìm đến dòng @include common-auth và thêm # phía trước
Thêm dòng này vào cuối tập tin
Lưu lại và thoát.
Tiếp tục sửa tập tin sshd_config với lệnh:
Tìm đến dòng ChallengeResponseAuthentication > yes. Dòng PasswordAuthentication > no
Thêm dòng sau vào cuối tập tin:
Lưu lại và thoát.
Khởi động lại dịch vụ SSH để cấu hình có hiệu lực bằng lệnh sau:
Xác thực 2 yếu tố là gì?
Xác thực đa yếu tố (MFA) hay (2FA) là phương pháp sử dụng nhiều hơn 1 yếu tố để xác thực / đăng nhập. Điều này có nghĩa là nếu kẻ xấu lấy được 1 yếu tố xác thực thì tài khoản / hệ thống của bạn vẫn an toàn nhờ yếu tố còn lại bảo vệ.
Các yếu tố thường được dùng để xác thực là: mật khẩu, câu hỏi bảo mật, vân tay, giọng nói, ứng dụng sinh mã xác thực…
Một yếu tố phổ biến là dùng ứng dụng sinh mã xác thực TOTP (Time-Based One-Time Password) như Google Authenticator. Để tăng cường bảo mật cho SSH với yếu tố xác thực thứ hai bằng ứng dụng sinh mã TOTP chúng ta thực hiện các bước sau.
Bước 1: Tải ứng dụng sinh mã xác thực
Tải Google Authenticator dành cho Android | iOS
Hoặc Authy dành cho Android | iOS
Bước 2: Cài đặt thư viện Google PAM (Pluggable Authentication Module)
Mở Terminal chạy lần lượt 2 lệnh sau:
Mã:
sudo apt-get update
sudo apt-get install libpam-google-authenticator
Bước 3: Cấu hình Google Authenticator
Tại bước này chúng ta cần phải thao tác cấu hình cho từng người dùng bằng cách chạy lệnh:
Mã:
google-authenticator
Do you want authentication tokens to be time-based (y/n) > chọn y
Trên màn hình sẽ hiện ra mã QR, khóa bí mật, mã dự phòng. Bạn có thể dùng ứng dụng Google Authenticator / Authy đã tải ở bước 1 để quét mã QR. Sau đó hãy lưu các thông tin trên màn hình để sao lưu dự phòng và sử dụng khi cần về sau.
Ở những câu hỏi tiếp theo chọn như hình sau:
Bước 4: Cấu hình SSH sử dụng Google Authenticator
Sửa tập tin cấu hình sshd bằng cách chạy lệnh:
Mã:
sudo nano /etc/pam.d/sshd
Tìm đến dòng @include common-auth và thêm # phía trước
Mã:
#@include common-auth
Thêm dòng này vào cuối tập tin
Mã:
auth required pam_google_authenticator.so
Lưu lại và thoát.
Tiếp tục sửa tập tin sshd_config với lệnh:
Mã:
sudo nano /etc/ssh/sshd_config
Tìm đến dòng ChallengeResponseAuthentication > yes. Dòng PasswordAuthentication > no
Mã:
...
ChallengeResponseAuthentication yes
…
…
# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no
...
Thêm dòng sau vào cuối tập tin:
Mã:
AuthenticationMethods publickey,keyboard-interactive
Lưu lại và thoát.
Khởi động lại dịch vụ SSH để cấu hình có hiệu lực bằng lệnh sau:
Mã:
sudo service ssh restart
Chỉnh sửa lần cuối bởi người điều hành: