Hướng dẫn build Radius Server trên Windows Server 2016
Trong bài viết này, mình sẽ hướng dẫn các bạn build 1 Radius Server trên Windows Server 2016 để test các dịch vụ với hệ thống mạng. Mình cũng sẽ hướng dẫn các bạn cấu hình kết nối giữa thiết bị Fortigate và Radius Server để kiểm tra dịch vụ.
Radius Server là gì?
RADIUS là viết tắt của Remote Authentication Dial-In User Service, là 1 giao thức hay phần mềm hoạt động theo mô hình Client-Server, cho phép các thiết bị Radius Client giao tiếp với 1 máy chủ Radius trung tâm để xác thực người dùng và phân quyền cho họ khi kết nối vào hệ thống.
Hiện nay có rất nhiều cách để chúng ta có thể xây dựng 1 Radius Server, với nhiều cách triển khai Policy khác nhau. Tuy nhiên trong nội dung bài viết này mình sẽ không đề cập quá sâu và chi tiết vào các cấu hình, vì mục đích chỉ để các bạn có thể tự build được 1 server cơ bản để test với các dịch vụ trong mạng như xác thực user VPN, xác thực tài khoản admin, xác thực 802.1x, hay sử dụng để đăng nhập vào các mạng Wifi thôi.
Cấu hình Radius Server trên Windows Server 2016
Trong bài viết này thì mình sẽ build trên windows server 2016 trên Pnetlab, và mình sẽ test với firewall Fortigate. Mình sẽ kết nối Fortigate với Radius Server này để sử dụng tài khoản trên Radius đăng nhập vào firewall, mục đích cũng chỉ để test kết nối thôi. Còn các ứng dụng thực tế thì mình sẽ hướng dẫn trong 1 bài viết khác nếu các bạn có yêu cầu.
Để build 1 Radius Server, thì các bạn cần phải xây dựng 1 Active Directory với 1 domain được cấu hình, cài đặt Certificate Authorities, và cuối cùng là cài đặt Network Policy Server.
Cấu hình Active Directory Domain Services
Note: Trước khi cấu hình AD thì các bạn nên đổi tên Computer và cấu hình 1 IP tĩnh cho Server.
Để cài đặt Active Directory, các bạn truy cập vào Server Manager, chọn Add roles and Features.
Nhấn Next.
Chọn Role-based or feature-based installation, nhấn Next.
Nhấn Next.
Trong phần Server Roles, các bạn tích chọn mục Active Directory Domain Services, nhấn Add Features và nhấn Next.
Nhấn Next.
Tích chọn Restart the destination server automatically if required để server khởi động lại nếu cần và nhấn Install.
Sau khi cài đặt xong thì các bạn click vào hình lá cờ phía trên và click Promote this server to a domain controller.
Chọn Add a new forest và nhập domain của các bạn vào.
Các cấu hình khác các bạn để mặc định, chỉ cần tạo password cho DSRM là được.
Trong menu DNS Options, các bạn để mặc định, nhấn Next.
Trong menu Additional Options, các bạn chờ Server verify NetBIOS name rồi nhấn Next.
Trong menu Paths, các bạn để mặc định và nhấn Next.
Trong menu Review Options, kiểm tra lại các thông tin đã cấu hình và nhấn Next.
Trong menu Prerequisites check, các bạn chờ server validated các cấu hình và nhấn Install.
Tiếp theo các bạn chỉ cần chờ cho Server cài đặt AD và khởi động lại là xong. Sau khi Server khởi động xong thì các bạn đăng nhập lại vào Server với AD là thông tin các bạn đã cấu hình. Các bạn có thể xem trong phần NetBIOS Name. Ví dụ NetBIOS Name của mình là CNTTSHOP, và tài khoản là Administrator, thì phần username đăng nhập sẽ là CNTTSHOP\Administrator, còn password vẫn là password của tài khoản Administrator.
Tạo Users và Users Group để xác thực cho Radius
Sau khi Server khởi động xong, các bạn vào menu Tool > Active Directory Users and Computers.
Trong này các bạn có thể tạo các OU tùy nhu cầu, hoặc sử dụng các OU cũ, chỉ cần tạo user và user group là được. User này sẽ được sử dụng để xác thực trên các thiết bị cấu hình Radius tới Server này. Mình sẽ tạo 2 OU cho CNTTShop-Users và CNTTShop-UsersGroup cho dễ nhìn thôi. Các bạn kích chuột phải vào domain name, chọn New > Organizational Unit, nhập tên cho OU và nhấn OK.
Mình sẽ tạo 1 User là cnttshop trong OU CNTTShop-Users để test đăng nhập. Các bạn vào OU CNTTShop-Users, chọn icon Create New user, và nhập các thông tin cho User.
1 Group MGMT-Users trong CNTTShop-UsersGroup để nhóm các User quản trị vào. Các bạn vào OU CNTTShop-UsersGroup, chọn icon Create a new group, và nhập tên Group vào, mình sẽ tạo 1 Group là MGMT-Users để nhóm các user quản trị vào.
Sau đó add user vào Group. Các bạn kích chuột phải vào User và chọn Add to a group, sau đó nhập tên Group mà các bạn đã tạo.
Các bạn có thể tạo nhiều User, nhiều nhóm User khác nhau để phân quyền cho các dịch vụ khác nhau. Trong bài viết này thì mình chỉ test việc đăng nhập vào Firewall nên mình chỉ tạo 1 nhóm user quản trị thôi.
Cấu hình Active Directory Certificate Services
Tiếp theo chúng ta cần cài đặt Active Directory Certificate Services.
Truy cập vào Server Manager > Add Roles and Features.
Nhấn Next trong menu Before You Begin, chọn Role-based or feature-based installation trong menu Installation Type và nhấn Next trong menu Server Selection.
Trong menu Server Roles, tích chọn Active Directory Certificate Services và nhấn Add Features.
Tại các menu Features và AD CS thì các bạn nhấn Next. Trong menu Role Services, các bạn tích chọn Certificate Authorities.
Tích chọn Restart the destination server, và nhấn Install.
Sau khi xong, các bạn nhấn vào lá cờ và chọn Configure Active Directory Certificate Services.
Nhấn Next.
Trong menu Role Services, tích chọn Certificate Authority.
Trong menu Setup Type, tích chọn Enterprise CA.
Trong menu CA Type, tích chọn Root CA.
Trong menu Private Key, tích chọn Create a new private key.
Trong menu Cryptography, các bạn lựa chọn thuật toán nào cũng được. Mình sẽ chọn SHA256.
Trong Menu CA Name, các bạn để thông số mặc định và chọn Next.
Trong menu Validity Period, các bạn chọn thời gian hiệu lực của CA, mặc định sẽ là 5 năm, nhấn Next.
Trong menu Certificate Database, các bạn để đường dẫn mặc định và nhấn Next.
Nhấn Configure.
Cấu hình Radius Server
Cuối cùng chúng ta sẽ cài đặt dịch vụ Radius Service lên.
Trong Server Manager, Chọn Add Roles and Features.
Nhấn Next trong menu Before You Begin, chọn Role-based or feature-based installation trong menu Installation Type và nhấn Next trong menu Server Selection.
Trong menu Server Roles, tích chọn Network Policy and Access Services và nhấn Add Features.
Các bạn nhấn Next ở 2 menu Features và Network Policy and Access Services. Tại menu Confirmation, tích chọn Restart the destination server automatically if required để server khởi động lại nếu cần và nhấn Install.
Kết nối Fortigate tới Radius Server
Sau khi cài xong, các bạn cần cấu hình các chính sách để cho phép Fortigate kết nối đến Radius để xác thực.
Cấu hình Policy trên Radius Server
Các bạn vào menu Tools, chọn Network Policy Server.
Trong menu Radius Clients, các bạn kích chuột phải chọn New để add thêm các Radius Client vào. Mình sẽ add thông tin của Fortigate vào.
- Tích chọn Enable this RADIUS client.
- Friendly name: nhập tên để phân biệt các thiết bị client.
- Address (IP or DNS): Nhập IP của Fortigate, trong ví dụ của mình là 10.0.0.1.
- Shared secret: nhập key, key này sẽ được sử dụng trên Fortigate khi kết nối đến Radius Server.
Tiếp theo các bạn kích chuột phải vào Network Policy, chọn New, sau đó đặt tên cho policy.
Nhấn Add. Trong phần Condition các bạn tạo các condition cho kết nối. Có nhiều loại condition mà các bạn có thể định nghĩa, khi connection match với các điều kiện mà các bạn đưa ra thì các hành động phía sau sẽ được thực thi, mình sẽ tạo theo User Groups là MGMT-User mà mình đã tạo. Khi đó thì các User có trong MGMT-Users có thể sử dụng để đăng nhập vào Firewall.
Nhấn Add Groups và nhập tên Users Group của các bạn vào.
Phần này các bạn sẽ chọn action là cho phép hay từ chối truy cập, chọn Access Granted để cho phép kết nối nếu match với các điều kiện.
Chọn kiểu xác thực, mình sẽ chọn là PEAP.
Các bạn nhấn Next ở 2 menu Configure Constraints và Configure Settings, và nhấn Finish ở menu Completing New Network Policy.
Như vậy những người dùng có trong User Groups MGMT-Users sẽ sử dụng được để đăng nhập vào Fortigte. Trên Server như vậy là xong.
Cấu hình Radius trên Fortigate
Bây giờ mình sẽ cấu hình trên Fortigate để kết nối đến Radius Server.
Trước tiên các bạn cần bật Radius Accounting trên Interface kết nối tới Radius.
Sau đó vào menu User & Authentication > Radius Servers, chọn Create New.
- Name: nhập tên cho Radius.
- Primary Server nhập IP của Radius Server
- Secret này là Shared Key mà các bạn tạo trên Server.
- Nhấn Test Connectivity. Trạng thái báo Successful là OK
Các bạn có thể chọn Test User Credentials để test đăng nhập với User trên Radius. Các bạn nhập user trên Radius server vào và nhấn Test, Fortigate báo 2 mục Successful là chúng ta có thể sử dụng các user trong MGMT-Users Group để đăng nhập trên Fortigate.
Tạo Radius Users trên Fortigate
Sau khi kết nối thành công tới Radius Server thì các bạn sẽ cần tạo các User Group và User.
Trong User Groups, chọn Create New để tạo 1 Group.
- Name: đặt tên cho User group.
- Type chọn Firewall
- Các bạn chọn Add trong menu Remote Groups và chọn Radius Server vừa cấu hình.
Trong bài lab này mình đang test dùng User trên Radius để đăng nhập vào firewall, nên mình sẽ tạo thêm các user quản trị. Các bạn truy cập vào menu System > Administrators, chọn Create New > Administrator để tạo.
- Username: nhập tên user có trên Radius Server.
- Type: chọn Match all users in a remote server group.
- Administrator profile: chọn profile mà các bạn muốn gán cho user này.
- Remote User Group: chọn Radius Group mà các bạn tạo ở trên.
Các bạn có thể thấy loại User đang là Remote+Wildcard chứ không phải Local, nghĩa là user này sẽ được xác thực qua Radius server.
Bây giờ các bạn có thể sử dụng User này để đăng nhập vào quản trị Firewall.
OK như vậy là chúng ta đã dựng thành công 1 Radius Server để test các dịch vụ AAA trong mạng. Trong thực tế các bạn có thể áp dụng vào rất nhiều các dịch vụ khác nhau như xác thực 802.1x trên switch, xác thực wifi, xác thực VPN… và các cấu hình cũng sẽ phức tạp hơn rất nhiều nếu các bạn làm chuyên sâu. Các bạn có thể dựng các mô hình lab trên Pnetlab để test thử, mình thấy chúng ta có thể dựng khá đầy đủ theo mô hình thực tế. Còn trên đây chỉ là phần dựng cơ bản cho chạy dịch vụ thôi.
Nếu các bạn có bất kỳ góp ý hay thắc mắc nào, hãy để lại comment để mọi người cùng trao đổi nhé.
Chúc các bạn thành công!
Bình luận bài viết!