Prohoster > Xác thực hai yếu tố trong OpenVPN với bot Telegram
Xác thực hai yếu tố trong OpenVPN với bot Telegram
Bài viết mô tả việc thiết lập máy chủ OpenVPN để kích hoạt xác thực hai yếu tố với bot Telegram sẽ gửi yêu cầu xác nhận khi kết nối.
OpenVPN là một máy chủ VPN mã nguồn mở, miễn phí, nổi tiếng, được sử dụng rộng rãi để tổ chức quyền truy cập an toàn của nhân viên vào các tài nguyên nội bộ của tổ chức.
Khi xác thực để kết nối với máy chủ VPN, sự kết hợp giữa khóa và thông tin đăng nhập/mật khẩu của người dùng thường được sử dụng. Đồng thời, mật khẩu được lưu trữ trên máy khách biến toàn bộ tập hợp thành một yếu tố duy nhất không cung cấp mức độ bảo mật phù hợp. Kẻ tấn công, sau khi giành được quyền truy cập vào máy khách, cũng có quyền truy cập vào máy chủ VPN. Điều này đặc biệt đúng đối với các kết nối từ máy chạy Windows.
Sử dụng yếu tố thứ hai giúp giảm 99% nguy cơ truy cập trái phép và hoàn toàn không làm phức tạp quá trình kết nối cho người dùng.
Hãy để tôi đặt chỗ ngay: để triển khai, bạn sẽ cần kết nối máy chủ xác thực của bên thứ ba multifactor.ru, trong đó bạn có thể sử dụng biểu giá miễn phí cho nhu cầu của mình.
Nguyên tắc hoạt động
OpenVPN sử dụng plugin openvpn-plugin-auth-pam để xác thực
Plugin kiểm tra mật khẩu người dùng trên máy chủ và yêu cầu yếu tố thứ hai thông qua giao thức RADIUS trong dịch vụ Multifactor
Multifactor gửi tin nhắn cho người dùng qua bot Telegram xác nhận quyền truy cập
Người dùng xác nhận yêu cầu truy cập trong trò chuyện Telegram và kết nối với VPN
Cài đặt máy chủ OpenVPN
Có rất nhiều bài viết trên Internet mô tả quá trình cài đặt và cấu hình OpenVPN, vì vậy chúng tôi sẽ không sao chép chúng. Nếu bạn cần trợ giúp, có một số liên kết đến các hướng dẫn ở cuối bài viết.
Thiết lập đa yếu tố
Đi đến Hệ thống điều khiển đa yếu tố, hãy chuyển đến phần "Tài nguyên" và tạo VPN mới.
Sau khi tạo, bạn sẽ có hai lựa chọn: Mã định danh NAS и Đã chia sẻ bí mật, chúng sẽ được yêu cầu cho cấu hình tiếp theo.
Trong phần "Nhóm", đi tới cài đặt nhóm "Tất cả người dùng" và xóa cờ "Tất cả tài nguyên" để chỉ người dùng của một nhóm nhất định mới có thể kết nối với máy chủ VPN.
Tạo nhóm mới "Người dùng VPN", tắt tất cả các phương thức xác thực ngoại trừ Telegram và cho biết rằng người dùng có quyền truy cập vào tài nguyên VPN đã tạo.
Trong phần "Người dùng", hãy tạo những người dùng sẽ có quyền truy cập vào VPN, thêm họ vào nhóm "Người dùng VPN" và gửi cho họ liên kết để định cấu hình yếu tố xác thực thứ hai. Thông tin đăng nhập của người dùng phải khớp với thông tin đăng nhập trên máy chủ VPN.
Thiết lập máy chủ OpenVPN
Mở tập tin /etc/openvpn/server.conf và thêm plugin để xác thực bằng mô-đun PAM
Dòng đầu tiên kết nối mô-đun PAM pam_radius_auth với các tham số:
Skip_passwd - vô hiệu hóa việc truyền mật khẩu của người dùng đến máy chủ RADIUS Multifactor (anh ta không cần biết điều đó).
client_id - thay thế [NAS-Identifier] bằng tham số tương ứng từ cài đặt tài nguyên VPN.
Tất cả các tham số có thể được mô tả trong tài liệu cho mô-đun.
Dòng thứ hai và thứ ba bao gồm xác minh hệ thống về thông tin đăng nhập, mật khẩu và quyền người dùng trên máy chủ của bạn cùng với yếu tố xác thực thứ hai.
Khởi động lại OpenVPN
$ sudo systemctl restart openvpn@server
thiết lập máy khách
Bao gồm yêu cầu đăng nhập và mật khẩu người dùng trong tệp cấu hình máy khách
auth-user-pass
Проверка
Khởi chạy ứng dụng khách OpenVPN, kết nối với máy chủ, nhập tên người dùng và mật khẩu của bạn. Bot Telegram sẽ gửi yêu cầu truy cập bằng hai nút
Một nút cho phép truy cập, nút thứ hai chặn nó.
Bây giờ bạn có thể lưu mật khẩu của mình trên máy khách một cách an toàn; yếu tố thứ hai sẽ bảo vệ máy chủ OpenVPN của bạn khỏi bị truy cập trái phép một cách đáng tin cậy.
Nếu có điều gì đó không hiệu quả
Tuần tự kiểm tra xem bạn có bỏ sót điều gì không:
Có một người dùng trên máy chủ có OpenVPN với mật khẩu được đặt
Máy chủ có quyền truy cập qua cổng UDP 1812 tới địa chỉ bán kính.multifactor.ru
Các tham số NAS-Identifier và Shared Secret được chỉ định chính xác
Một người dùng có cùng thông tin đăng nhập đã được tạo trong hệ thống Multifactor và được cấp quyền truy cập vào nhóm người dùng VPN
Người dùng đã cấu hình phương thức xác thực qua Telegram
Nếu trước đây bạn chưa thiết lập OpenVPN, hãy đọc bài viết chi tiết.
Các hướng dẫn được thực hiện với các ví dụ trên CentOS 7.