Cách thiết lập xác thực hai yếu tố (2FA) cho SSH trong Linux

Bạn muốn nâng cấp bảo mật SSH của mình lên cấp độ tiếp theo? Đây là cách bạn có thể thiết lập xác thực hai yếu tố cho SSH trong Linux.

Secure Shell, hoặc SSH, là một giao thức mạng mật mã cho phép truy cập an toàn vào các thiết bị qua mạng không an toàn. Thường dùng để bảo mật cho đăng nhập từ xa, truy cập dòng lệnh từ xa và thực thi lệnh từ xa.

Nếu bạn đã sử dụng SSH, bạn đã biết rằng nó sử dụng cơ chế xác thực một yếu tố yêu cầu khóa SSH hoặc mật khẩu để xác thực. Mặc dù điều này có vẻ không đáng báo động ngay từ đầu, nhưng nó khiến hệ thống tiếp xúc với một số lỗ hổng bảo mật mở.

Do đó, nó thường được khuyến nghị bật xác thực hai yếu tố (2FA) cho SSH để tăng cường bảo mật của nó. Trong bài viết này, chúng tôi sẽ thảo luận chi tiết về xác thực hai yếu tố, cùng với hướng dẫn toàn diện về cách bật 2FA cho SSH.

Xác thực hai yếu tố là gì?

Xác thực hai yếu tố hoặc 2FA, là một dạng cơ chế xác thực đa yếu tố (MFA) yêu cầu yếu tố xác thực thứ hai, ngoài yếu tố đầu tiên, để xác thực thông tin đăng nhập của bạn và bảo vệ tài khoản của bạn khỏi bị truy cập trái phép.

Bạn có thể coi 2FA là mã xác minh được tạo bởi ứng dụng tạo mã hoặc trình tạo mã thông báo phần cứng, bạn cần cung cấp mã này tại thời điểm đăng nhập, sau khi nhập mật khẩu, để truy cập vào tài khoản của mình.

Khi bạn đăng ký một tài khoản trên bất kỳ dịch vụ trực tuyến nào, bạn phải tạo một mật khẩu để bảo mật tài khoản đó. Mật khẩu này đóng vai trò là yếu tố xác thực đầu tiên của bạn và nó được yêu cầu bởi dịch vụ để xác thực bạn mỗi khi bạn đăng nhập vào tài khoản của mình.

Tại sao bạn nên kích hoạt 2FA cho SSH?

SSH , theo mặc định, xác thực bạn bằng khóa công khai hoặc mật khẩu trước khi thiết lập kết nối giữa bạn và thiết bị / máy chủ khác.

Nói chung, cấu hình này hoạt động hoàn toàn tốt và bạn có thể sử dụng nó trong hầu hết các trường hợp. Tuy nhiên, đối với những lần bạn kết nối với một thiết bị / máy chủ đang lưu giữ thông tin nhạy cảm hoặc thông tin cá nhân qua SSH, bạn cần thêm một lớp bảo vệ trên hệ thống đó.

Một cách để làm điều này là bật xác thực hai yếu tố trên máy chủ / máy chủ, bảo vệ quyền truy cập của nó qua SSH và yêu cầu yếu tố xác thực thứ hai để xác thực đăng nhập máy khách.

Do đó, ngay cả khi ai đó quản lý được mật khẩu của máy khách / máy chủ, họ vẫn không thể truy cập hệ thống qua SSH trừ khi họ cũng cung cấp mã 2FA.

Cách thiết lập 2FA cho SSH trong Linux

Việc thiết lập và chạy 2FA cho SSH trên Linux bao gồm một loạt các bước. Dưới đây là bảng phân tích từng bước để hướng dẫn bạn thực hiện quy trình.

Điều kiện tiên quyết

Không cần phải nói rằng bạn cần một chương trình máy chủ SSH được cài đặt trên hệ thống mà bạn muốn kích hoạt 2FA. Để xác minh điều này, hãy mở thiết bị đầu cuối và nhập:

ssh -V

Nếu bạn đã cài đặt máy chủ SSH, hãy chuyển sang bước tiếp theo. Nếu không, hãy nhập lệnh sau để cài đặt nó:

sudo apt install openssh-server

Khi quá trình cài đặt hoàn tất, hãy xác minh xem SSH đã được bật trên hệ thống hay chưa. Để thực hiện việc này, hãy nhập:

sudo systemctl status ssh

Nếu trạng thái của bạn phản ánh Active: hoạt động (đang chạy) , bạn có thể tiến hành thêm. Nhưng trong trường hợp nó hiển thị khác, hãy nhập lệnh sau:

sudo systemctl enable ssh

Trong một số trường hợp, cấu hình tường lửa có thể ảnh hưởng đến SSH và bạn có thể cần phải đưa ra lệnh dưới đây để kích hoạt máy chủ SSH trên hệ thống của mình.

sudo ufw allow ssh

Bước 1: Cài đặt Google Authenticator PAM

Với máy chủ OpenSSH được thiết lập và chạy trên máy chủ của bạn, điều đầu tiên bạn cần làm là cài đặt Mô-đun xác thực có thể cắm được (PAM), mô-đun này cung cấp cơ sở hạ tầng cần thiết để tích hợp xác thực đa yếu tố cho SSH trong Linux.

Google Authenticator PAM là lựa chọn phổ biến nhất về mặt này vì nó dễ triển khai và sử dụng hơn một số mô-đun xác thực khác. Nó cung cấp tất cả cơ sở hạ tầng cần thiết cần thiết để xác thực người dùng bằng mã Mật khẩu dùng một lần (TOTP) dựa trên thời gian và có sẵn các ứng dụng tạo mã trên Android và iOS.

Để cài đặt Google Authenticator PAM, hãy mở cửa sổ dòng lệnh và chạy lệnh sau:

sudo apt install libpam-google-authenticator

Nhập y tại lời nhắc cài đặt để xác nhận quá trình.

Bước 2: Định cấu hình SSH

Với Google Authenticator PAM hiện đã được cài đặt trên hệ thống của bạn, đã đến lúc để SSH sử dụng mô-đun này để xác thực. Đối với điều này, bạn cần phải chỉnh sửa một vài tệp cấu hình.

Chúng tôi khuyên bạn nên sao lưu các tệp này để tránh gặp sự cố nếu có sự cố xảy ra trong quá trình này. Sau khi hoàn tất, hãy tiếp tục với các bước sau:

  1. Mở tệp cấu hình PAM bằng nano . Hãy thoải mái sử dụng bất kỳ trình soạn thảo văn bản Linux nào khác .sudo nano /etc/pam.d/sshd
  2. Nối dòng sau vào tệp.auth required pam_google_authenticator.so
  3. Lưu và thoát khỏi cửa sổ chỉnh sửa tệp.
  4. Khởi động lại dịch vụ sshd bằng systemctl.sudo systemctl restart sshd.service

Tiếp theo, chỉnh sửa tệp cấu hình SSH, tệp này chịu trách nhiệm cấu hình SSH.

  1. Mở tệp bằng nano.sudo nano /etc/ssh/sshd_config
  2. Trong tệp này, tìm dòng ChallengeResonseAuthentication không và thay đổi trạng thái của nó từ ” không ” thành ”  “. Thao tác này sẽ hướng dẫn SSH yêu cầu mã xác thực bất cứ khi nào ai đó cố gắng đăng nhập vào hệ thống.
  3. Lưu tệp và khởi động lại daemon SSH.sudo systemctl restart sshd.service

Bước 3: Định cấu hình Authenticator trên Linux

Bây giờ bạn đã cài đặt và định cấu hình SSH, bạn cần định cấu hình Google Authenticator để tạo mã TOTP.

Đối với điều này, hãy mở thiết bị đầu cuối và khởi chạy Google Authenticator bằng lệnh sau:

google-authenticator

Google Authenticator bây giờ sẽ đưa ra cho bạn một loạt câu hỏi. Trả lời những câu hỏi này bằng câu trả lời  ( y ) hoặc không ( n ). Đối với hầu hết các câu hỏi, câu trả lời mặc định là  trừ khi bạn chọn một tùy chọn không mặc định.

Dưới đây là danh sách các câu hỏi, ở dạng rút gọn, ứng dụng sẽ hỏi bạn:

  • Tạo mã thông báo xác thực dựa trên thời gian (y / n): y
  • Cập nhật tệp ” ~ / .google_authenticator ” (y / n) của bạn: y
  • Không cho phép sử dụng nhiều lần cùng một mã thông báo xác thực ?: y
  • Tăng tần suất tạo mã (y / n):  n
  • Bật giới hạn tốc độ (y / n): y

Bước 4: Định cấu hình Authenticator trên điện thoại

Ngay sau khi bạn trả lời câu hỏi Xác thực Google đầu tiên bằng câu trả lời có, Google PAM sẽ tạo mã QR trên màn hình của bạn cùng với khóa bí mật và một vài mã khôi phục. Làm theo các bước bên dưới để đăng ký Google Authenticator trên điện thoại của bạn.

Nhưng trước tiên, bạn cần tải xuống ứng dụng Google Authenticator trên điện thoại thông minh của mình.

Tải xuống: Google Authenticator dành cho Android | iOS (Miễn phí)

  1. Nhấp vào dấu Cộng ( + ) và chọn Quét mã từ các tùy chọn menu.
  2. Trỏ máy ảnh của thiết bị vào mã QR trên màn hình máy tính để tự động tạo mục nhập trên ứng dụng.
  3. Ngoài ra, hãy chọn Nhập khóa cài đặt từ menu Dấu cộng (+) và điền vào các mục cần thiết. Đối với điều này, trước tiên, hãy đặt tên cho mục nhập của bạn – đó phải là tên mà bạn có thể dễ dàng nhận ra – và sau đó, nhập khóa bí mật được hiển thị bên dưới mã QR trên màn hình của bạn.
  4. Cuối cùng, nhấn  Thêm để lưu mục nhập.

Để phòng ngừa, hãy sao chép tất cả các mã khôi phục được hiển thị bên dưới mã QR và lưu chúng vào một vị trí an toàn. Bạn có thể cần chúng nếu bạn không thể truy cập Google Authenticator trên điện thoại của mình hoặc mất quyền truy cập.

Bảo mật quyền truy cập SSH trên Linux với 2FA

Nếu bạn làm theo đúng hướng dẫn ở trên, bạn nên bật xác thực hai yếu tố cho SSH trên hệ thống Linux của mình.

Bây giờ, mỗi khi bạn muốn truy cập máy chủ / thiết bị này qua SSH, trước tiên, bạn cần nhập mật khẩu SSH (yếu tố đầu tiên) và sau đó, nhập mã TOTP (yếu tố thứ hai) từ ứng dụng Google Authenticator để xác thực đăng nhập. Đây là một cách tuyệt vời để quản lý và bảo mật thông tin đăng nhập SSH từ xa của bạn khỏi những kẻ xâm nhập trên internet.

Chia sẻ suy nghĩ, quan điểm của bạn

Leave a reply

Sao Hải Vương
Logo