Cài đặt và cấu hình Two-Factor Authentication (2FA) trên AlmaLinux/Rocky Linux 8

Xác thực 2 lớp hay còn được viết tắt là 2FA (Two-factor authentication) bổ sung một bước khi đăng nhập. Nếu không có 2FA, việc đăng nhập của bạn chỉ đơn thuần là nhập Username và Password – thứ duy nhất bảo mật cho tài khoản của bạn. Do đó việc thêm một lớp bảo vệ nữa về lí thuyết sẽ làm cho tài khoản của bạn trở nên an toàn hơn.

Có một cách để tăng cường bảo mật cho bất kỳ máy chủ Linux nào là bật xác thực hai yếu tố (2FA) cho các đăng nhập SSH. Thiết lập này thì khá dễ dàng và giúp các kết nối vào máy chủ bạn được toàn hơn thay vì sử dụng nhập mật khẩu để xác thực SSH.

Cài đặt và cấu hình Two-Factor Authentication (2FA) trên AlmaLinux/Rocky Linux

Những gì bạn cần:

  • Một máy chủ đang chạy AlmaLinux
  • Một ứng dụng xác thực: Google Authentication
  • Người dùng có đặc quyền cao nhất

Lưu ý: Bạn nên thao tác thực hiện và duy trì kết nối SSH ban đầu với máy chủ của mình và thực hiện kiểm tra từ  phiên terminal khác để có thể dễ dàng sửa lỗi nếu không hoạt động

Cài đặt và cấu hình Two-Factor Authentication (2FA) trên AlmaLinux/Rocky Linux

Bước 1: Tắt Selinux

vi /etc/sysconfig/selinux

Tìm dòng SELINUX=enforcing

Thay enforcing = disabled

  • Lưu lại file và khởi động lại máy chủ Linux Almalinux

selinux disalbes

 

Bước 2: Cài đặt Google Authenticator trên AlmaLinux

Ứng dụng này không giống với ứng dụng Google Authenticator mà bạn cài đặt trên thiết bị di động của mình. Google Authenticator này được cài đặt trên máy chủ của bạn và giúp bạn có thể thêm 2FA vào thông tin đăng nhập SSH.

Trước tiên bạn phải thêm EPEL bằng lệnh sau:

sudo dnf install epel-release -y

Sau khi xong, bạn tiến hành cài đặt Google Authenticator bằng lệnh:

dnf install google-authenticator qrencode qrencode-libs -y

Cài đặt đặt và tạo khóa ssh-keygen

ssh-keygen

Tiếp tục chạy lệnh để tạo một khóa bí mật mới và khóa này sẽ được đặt trong thư mục ~ / .ssh của bạn

google-authenticator -s ~/.ssh/google_authenticator

Trả lời tiếp câu hỏi đầu tiên và đảm bảo thay đổi kích thước cửa sổ đầu cuối của bạn để hiển thị toàn bộ mã QR . Lúc này bạn mở ứng dụng OTP của bạn (Authy hoặc Google Authenticator) trên thiết bị di động và thêm tài khoản mới. Sau đó quét mã QR tiếp tục khi được nhắc trên terminal AlmaLinux, hãy nhập mã gồm sáu chữ số ứng dụng hiển thị.

Vì chúng ta đang lưu trữ tệp google_authenticator ở vị trí không chuẩn, ta cần khôi phục ngữ cảnh SELinux bằng lệnh:

restorecon -Rv ~/.ssh/

Bước 3: Cấu hình SSH cho 2FA

Backup file cấu hình sshd_config

cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

Điều đầu tiên chúng ta phải làm là cấu hình SSH

vi /etc/ssh/sshd_config

Trong file này, phải đảm bảo rằng cả UsePAM được đặt là yes

Tìm dòng:

#ChallengeResponseAuthentication yes

ChallengeResponseAuthentication no

Thay thành:

ChallengeResponseAuthentication yes

#ChallengeResponseAuthentication no

Lưu và đóng file lại

Backup file cấu hình PAM /etc/pam.d/sshd

cp /etc/pam.d/sshd /etc/pam.d/sshd.bka

Mở tệp cấu hình sshd PAM bằng lệnh:

vi /etc/pam.d/sshd

Tìm dòng:

auth       substack     password-auth

Thêm dấu # đằng trước

#auth       substack     password-auth

Và thêm 2 dòng sau vào cuối file

auth       required     pam_google_authenticator.so secret=${HOME}/.ssh/google_authenticator

auth       required     pam_permit.so

Lưu lại file cấu hình

Khởi động lại dịch vụ SSH

systemctl restart sshd

Bước 4: Kiểm tra kết quả

Video Demo: Cài đặt và cấu hình 2FA trên AlmaLinux/Rocky Linux/CentOS 8

Chúc các bạn làm thành công!

Bài viết này hữu ích như thế nào?

Hãy bấm vào ngôi sao để đánh giá!

Đánh giá trung bình 0 / 5. Số phiếu bầu: 0