Hướng dẫn cấu hình xác thực bằng token khi SSH

Voyage

W-------
17/01/2015
0
3 bài viết
Hướng dẫn cấu hình xác thực bằng token khi SSH
I. Mục đích
Kiểu tấn công SSH Brute force đã có từ rất lâu, với một user bất kì có mật khẩu yếu sẽ rất nhanh bị hack, và từ user này, hacker có rất nhiều cách để xâm nhập sâu hơn vào hệ thống. Để ngăn chặn điều này, có thể đặt password đủ mạnh cho tất cả các user (có thể login), hoặc có thể cấu hình rules hạn chế IP được quyền remote hoặc sử dụng SSH keys...và cũng có thể sử dụng token để tăng cường khả năng bảo mật khi SSH.
Có thể tìm hiểu thông tin về token qua http://en.wikipedia.org/wiki/Security_token
II. Cấu hình
1. Cài đặt Putty:
Putty thường được sử dụng làm chương trình OpenSSH trong môi trường Windows. Nó có thể được cấu hình để sử dụng một cặp key mã hóa RSA để xác thực người dùng. Quá trình chính là tạo ra cặp public và private keys, install private key vào trong Putty của người dùng, sau đó install public key vào trong ssh server. Etoken/ST2/ST3 token có thể được sử dụng để chứa private key thay vì lưu trữ nó với Putty client. Quá trình này thực ra miêu tả cấu hình một UTORauth (được tạo ra với mục đích chính là tập trung được nhiều thông tin xác thực hơn xung quanh một khu vực và cung cấp một middleware layer cho ứng dụng để sử dụng thông tin. Các dịch vụ chính: Indentification, authentication and authorization tương ứng với các câu hỏi who are u? How do we know that? What would you like to do?) token và cert cho một Putty client trong môi trường Windows để xác thực tới một SSH server.
Putty là một phần mềm hỗ trợ khá nhiều chuẩn của smart card, trong trường hơp này, nó có hỗ trợ CAPI – một phần mềm được phát triển cho phép bảo mật các ứng dụng trên Windows bằng cách mã hóa – được sử dụng trong Etoken/ST2/ST3.
Để có thể xác thực qua token khi SSH cần cài đặt Putty version 6.02 trở lên, vì từ phiên bản này mới hỗ trợ Cryprographic API (CAPI) - giúp xác thực qua token.

2. Cấu hình Putty:

14908931761.png

Sau khi cài đặt sẽ có giao diện như hình trên. Điền đầy đủ thông tin về Server: IP, name.
Sau đó lấy SSH key theo như hình dưới:
14908931762.png


3. Cấu hình trên SSH Server:
a. Chỉnh sửa trong file cấu hình SSH
Vim /etc/ssh/sshd_config
14908931763.png

· Không cho ssh bằng quyền root, ta chỉnh: PermitRootLogin yes -->no
· Chỉnh đúng đường dẫn như trên hình: AuthorizedKeysFile /etc/ssh/%u/authorized_keys
· Không cho user sử dụng pass để ssh vào server:
#PasswordAuthentication yes --> PasswordAuthentication no
b. Copy public key trên Putty client vào server (lấy trên bước 2)
AuthorizedKeysFile /etc/ssh/%u/authorized_keys
Lí do ta chỉnh đường dẫn file chứa public key thành như vậy vì thư mục home đã bị mã hóa, vì vậy SSH không thể truy cập vào file authorized_keys -->không thể lấy được public key -->không thể login vào được.
# Ta xử lí vấn đề bằng cách tạo ra một thư mục bên ngoài home với tên /etc/ssh/username:
Mkdir /etc/ssh/username
# Thư mục này sẽ được cấp quyền chạy là 755
chmod 755 /etc/ssh/usernamme
# Sau đó tiếp tục tạo file authorized_keys:
touch /etc/ssh/username/authorized_keys
# Copy public key vào authorized_keys:
Vim /etc/ssh/username/authorized_keys
# Cấp quyền chạy 644 cho /etc/ ssh/username/authorized_keys
Chmod 644 /etc/ ssh/username/authorized_keys
# Restart lại service
Service ssh restart
Sau đó, truy cập vào Server qua Putty bằng user được tạo trong mục 3b.
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Bên trên