Hiện nay mật khẩu là phương thức xác thực phổ biến nhất hiện nay. Tuy nhiên, chuyện bị mất password do bị keylogger, virus... là điều hoàn toàn có thể xảy ra. Nếu password root của server rơi vào tay kẻ gian thì quả thật đó là 1 điều cực kỳ tồi tệ. Hệ thống của bạn đã bị mất kiểm soát toàn diện 

Để khắc phục điểm yếu này, ngoài việc sử dụng public key + private key để login vào SSH như mình đã từng đề cập, hôm nay mình sẽ hướng dẫn các bạn xác minh 2 bước khi đăng nhập vào SSH. 



Xác minh 2 bước google-authenticator trên điện thoại khi vào SSH



Với cách làm này, khi đăng nhập SSH, điều cần làm trước tiên là phải nhập đúng mã được sinh ra trên điện thoại mà bạn đã cài đặt Google Authenticator, sau đó bạn phải nhập đúng mật khẩu thì mới có thể đăng nhập. Như vậy, cho dù password có rơi vào tay kẻ khác thì nếu trên tay họ không có chiếc điện thoại của bạn thì mật khẩu đó cũng sẽ là vô dụng mà thôi. (Thích nhá  )

Không màu mè hoa lá cành nữa, chúng ta sẽ bắt tay vào cấu hình xác minh 2 bước nhé. :v

Đầu tiên, các bạn chuyển vào thư mục /usr/local/src bằng lệnh

Code:
# cd /usr/local/src


Sau đó các bạn gõ lệnh sau để tải và cài đặt các package cần thiết
Code:
# yum install pam-devel make gcc-c++ wget


Sau khi cài các gói trên, các bạn gõ lệnh sau để chuyển về thư mục /root và tải thư viên hỗ trợ chứng thực của google về server

Code:
# cd /root/
# wget https://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2



Sau khi đả tải về, các bạn giải nén file vừa tải ra bằng lệnh
Code:
#tar -xvf libpam-google-authenticator-1.0-source.tar.bz2


Gõ tiếp lệnh sau để chuyển vào thư mục chứa mã nguồn vừa giải nén
Code:
# cd libpam-google-authenticator-1.0
Sau đó gõ lệnh sau để biên dịch mã nguồn
Code:
# make


Cuối cũng gõ lệnh sau để cài đặt mã nguồn vừa biên dịch
Code:
# make install


Sau khi cài xong chúng ta gõ lệnh sau để tạo mã xác thực
Code:
# google-authenticator



Lưu ý:
Sau khi làm bước trên các bạn sẽ có 3 thông số cần lưu ý là:
1. Link lấy mã cài đặt cho trình xác thực trên điện thoại
2. Mã secret code để nhập tay vào trình xác thực trên điện thoại
3. Mã dự phòng để sử dụng khi mất điện thoại hay cho người khác login vào SSH (Mỗi mã chỉ dùng 1 lần)

Bây giờ, các bạn mở điện thoại lên và vào Google Play tải Google Authenticator về máy.
Sau khi tải về, các bạn làm như hình dưới để tiến hành cài đặt tài khoản




Lưu ý: Ở bước chọn Quyét mã vạch hay Nhập khóa được cấp, nếu các bạn chọn Quyét mã vạch sẽ nhập nhanh hơn.
Các bạn truy cập vào link lấy mã cài đặt dạng sau sẽ có 1 mã QRCode cho các bạn quét
Code:
https://www.google.com/chart?chs=200x200&chld=M|0&cht=qr&chl=otpauth://totp/root@server1.sinhvienit.net%3Fsecret%3DZ23OBXXXXXXXXXXX

Giờ quay lại phía server, chúng ta tiếp tục mở file /etc/pam.d/sshd
Code:
# vi /etc/pam.d/sshd
và thêm đoạn sau vào đầu file như hình dưới
Code:
auth       required     pam_google_authenticator.so



Lưu file trên lại, Tiếp tục gõ lệnh sau để sửa cấu hình dịch vụ SSHD
Code:
# vi /etc/ssh/sshd_config
Ở file này, các bạn sửa
Code:
ChallengeResponseAuthentication no
Thành
Code:
ChallengeResponseAuthentication yes
Nếu có dấu # ở đầu thì bỏ dấu # đi (xem hình dưới)



Lưu file trên lại.
Gõ lệnh service sshd reload để load lại cấu hình dịch vụ SSHD





Từ bây giờ trở đi, khi login vào SSH, trước tiên các bạn phải nhập mã nhìn thấy trên điện thoại mới có thể đăng nhập. Nếu nhập không đúng mã thì cho dù đúng mật khẩu cũng không thể login


Demo thành quả:

Khi dùng Secure shell client



Khi dùng Putty




Một số lưu ý:
1. Bạn chỉ có 30 giây để nhập mã (Xem đồng hồ cạnh mã hiển thị trên điện thoại)
2. Khi sử dụng hết mã dự phòng, gõ lệnh sau để tạo mã dự phòng mới
Code:
# google-authenticator
Khi tạo mã dự phòng mới, bạn cũng phải cập nhật lại thiết đặt tài khoản trên điện thoại nhé.
3. Nếu muốn bỏ chức năng này, mở file /etc/ssh/sshd_config sửa
Code:
ChallengeResponseAuthentication yes
thành
Code:
ChallengeResponseAuthentication no
Chúc các bạn thành công :v
0 Comments
G+ Comments
Comments

0 comments:

Post a Comment

 
Top

Nhận xét mới đăng tải!

Loading…
X