Để 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.
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
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
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
Code:
ChallengeResponseAuthentication no
Code:
ChallengeResponseAuthentication yes
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
3. Nếu muốn bỏ chức năng này, mở file /etc/ssh/sshd_config sửa
Code:
ChallengeResponseAuthentication yes
Code:
ChallengeResponseAuthentication no
0 comments:
Post a Comment