22A Hue Street, Hanoi, Vietnam 0904092014 info@binhminhitc.com

Trong thời đại hầu như mọi thiết bị đều “thông minh” và làm việc từ xa đang thay đổi cách chúng ta làm việc, quản lý mạng doanh nghiệp khó hơn bao giờ hết. May mắn là khi mạng ngày càng phức tạp, các công cụ dành cho quản trị viên mạng cũng ngày càng phong phú. Tại Ubiquiti, chúng tôi liên tục nỗ lực giúp khách hàng dễ dàng tích hợp sản phẩm với các công nghệ này.
Một trong những công cụ chúng tôi đã tích hợp tốt hơn với sản phẩm UniFi là xác thực RADIUS. Dù không phải công nghệ mới, công dụng của nó ngày càng tăng trong những năm gần đây. Nhiều mạng doanh nghiệp dùng RADIUS, và điều đó có lý do. Khi BYOD (mang thiết bị cá nhân đi làm) đã trở thành xu hướng lâu dài, khó hình dung một thế giới không có chỗ cho xác thực RADIUS.
UniFi và RADIUS phối hợp rất tốt. UniFi cho phép quản lý mạng ở mọi địa điểm dù xa đến đâu, và với RADIUS bạn có thể dùng cùng một thông tin đăng nhập ở mọi site.
Trong bài này, tôi sẽ giải thích cách RADIUS hoạt động rồi hướng dẫn tích hợp nó với UniFi.

Xác thực RADIUS là gì?

RADIUS (Remote Authentication Dial In User Service) là giao thức mạng phổ biến đáp ứng nhu cầu AAA (Authentication, Authorization và Accounting – xác thực, phân quyền và ghi nhận) của môi trường CNTT hiện đại. RADIUS giúp quản trị viên quản lý truy cập mạng tốt hơn nhờ tăng cường bảo mật, kiểm soát và giám sát. Nói đơn giản, RADIUS cho phép người dùng từ xa kết nối mạng không dây tự xác định danh tính rồi được cấp quyền truy cập những gì họ cần.

Khi bắt đầu xác thực qua RADIUS, yêu cầu xác thực và thông tin đăng nhập được gửi từ thiết bị người dùng tới RADIUS client. RADIUS client chuyển tiếp yêu cầu tới máy chủ xác thực RADIUS để đối chiếu với các quy tắc định sẵn/cơ sở dữ liệu tài khoản người dùng. Nếu yêu cầu đáp ứng điều kiện, phản hồi chấp nhận được gửi lại thiết bị người dùng qua client. Tính năng accounting, nếu được bật, cung cấp thêm cho quản trị viên thông tin như thời lượng phiên và băng thông.
Với UniFi, Access Point/UniFi Switch sau khi cấu hình cũng có thể đóng vai trò RADIUS client để giúp xác thực người dùng/thiết bị với máy chủ xác thực RADIUS. Thiết lập cấu hình RADIUS trên mạng có thể khá mất thời gian – nhưng tích hợp nó vào UniFi thì đơn giản.
Tôi đã dựng hai máy chủ (Linux và Windows) trong mạng tại nhà làm máy chủ xác thực, và xác nhận chỉ cần hai bước để tích hợp cấu hình RADIUS đang chạy với mạng do UniFi quản lý:

  1. Khai báo Access Point/UniFi Switch là RADIUS Client trên RADIUS Server, và tạo shared secret/mật khẩu để thêm vào UniFi Settings.
  2. Thêm RADIUS Server/RADIUS Proxy Server vào mạng trong UniFi Controller.

Tôi sẽ hướng dẫn chi tiết cả hai bước – qua cấu hình RADIUS trên Windows Server bằng NPS và trên máy chủ xác thực Ubuntu Linux.

Microsoft Windows Server 2012 R2

Trên Windows, có thể cấu hình RADIUS qua Network Policy Server (NPS), một tính năng có thể thêm vào Windows Server thông qua NAP. Trong nhiều mạng, Windows NPS là lựa chọn tốt vì tích hợp với người dùng/quyền trong Active Directory.

Để minh họa, tôi dựng một máy ảo Windows Server 2012 R2 mới làm máy chủ xác thực.
Sau khi cấu hình máy chủ NPS làm RADIUS server, có thể thêm UAP/US làm RADIUS Client bằng cách nhấp chuột phải vào “RADIUS Clients” và chọn “New”.

Để thêm UAP-AC-PRO làm client, tôi nhập địa chỉ IP của thiết bị, đặt tên thân thiện là “apradius1” và tự nhập “Shared Secret”. Shared Secret dùng để xác minh RADIUS client được phép xử lý yêu cầu xác thực qua RADIUS server. Với môi trường lớn, nên tạo “Shared Secrets template” để tiết kiệm thời gian thay vì thêm từng cái.
Để hoàn tất cấu hình máy chủ, tôi kiểm tra các cổng cần thiết đã được mở (1812 cho Authorization, 1813 cho Accounting) để máy chủ nhận được yêu cầu.
Lưu ý: Nếu gặp sự cố khi xác thực vào mạng không dây bằng PEAP như tôi, chỉ cần nhập (import) một chứng chỉ vào máy chủ cho mục đích Server Authentication. Sau đó mọi thứ hoạt động trơn tru.

Cấu hình FreeRADIUS trên Linux

Để dựng và thử máy chủ xác thực RADIUS trên Linux, tôi cài phiên bản Ubuntu mới nhất (16.10) trên một máy ảo. Dù Ubuntu không hỗ trợ RADIUS sẵn, có một lựa chọn mã nguồn mở rất tốt là FreeRADIUS, có sẵn dưới dạng gói nhị phân cho quản trị viên Linux. FreeRADIUS là một trong những lựa chọn phổ biến nhất – điều dễ hiểu vì nó miễn phí và việc thiết lập khá dễ, kể cả với người không chuyên Linux như tôi. (Xem hướng dẫn chi tiết và hữu ích của họ tại đây)
Dưới đây là tóm tắt các bước tôi đã làm để máy chủ Ubuntu FreeRADIUS hoạt động với các UniFi AP trong mạng.
Trước tiên, tôi cài FreeRADIUS bằng lệnh sau:

$ sudo apt-get install freeradius

Tiếp theo, tôi mở các cổng mặc định dùng cho RADIUS Authentication (1812) và Accounting (1813). Sau khi tạo các ngoại lệ tường lửa cần thiết, tôi bắt đầu cấu hình máy chủ.
Để thêm AP làm client, bạn cần sửa tệp cấu hình clients.conf. Tệp clients.conf của tôi nằm trong thư mục /etc/freeradius.
Để thêm AP, tôi làm theo hướng dẫn trong tệp này. Tôi thêm UAP-AC-PRO, vẫn đặt tên là “apradius1”, kèm địa chỉ IP của AP và secret. Đây là nội dung tôi thêm vào tệp Clients.conf:

client apradius1 {
       ipaddr = 192.168.1.139
       secret = secret1234
}

Tệp duy nhất khác cần sửa là tệp Users trong cùng thư mục, để tạo tài khoản dùng thử. Nếu không phải để thử nghiệm, quản trị viên thường không muốn tạo tài khoản và nhập mật khẩu dạng văn bản thuần.
Có nhiều module để đối chiếu thông tin đăng nhập với cơ sở dữ liệu người dùng đã mã hóa. Ví dụ, nhiều quản trị viên tích hợp FreeRADIUS với LDAP bằng cách thêm thành phần LDAP vào FreeRADIUS (xem tài liệu tại đây). Tuy nhiên, để đơn giản, tôi chỉ thêm thông tin đăng nhập của một người dùng giả để thử chức năng RADIUS.

Thêm RADIUS Server vào UniFi Settings

Để cấu hình mạng do UniFi quản lý, mở controller và thực hiện các bước sau:

  • Vào Settings > Wireless Networks
  • Tạo mạng mới hoặc sửa mạng hiện có bằng cách nhấp “Edit”.
  • Chọn “WPA Enterprise” ở mục security
  • Ở “RADIUS Auth Server”, nhập địa chỉ IP của RADIUS Server hoặc RADIUS Proxy Server
  • Nhập cổng RADIUS Server dùng để xác thực, mặc định là 1812
  • Trong ô mật khẩu, nhập shared secret bạn đã gán cho access point khi khai báo nó là RADIUS client.

Các bước tùy chọn – chỉ cần khi dùng chức năng RADIUS Accounting:

  • Nhấp “+RADIUS Accounting Server”
  • Thêm IP, cổng (mặc định 1813) và Shared Secret cho accounting trên RADIUS Server.


Để hoàn tất cấu hình RADIUS trong UniFi Controller, tôi làm theo các bước trên: chọn mạng “TurtleRA1”, chọn “WPA Enterprise” ở mục security và thêm địa chỉ IP của máy chủ xác thực RADIUS ở “RADIUS Auth Server”. Tôi nhập cổng 1812, và ở ô Password là shared secret đã tạo trước đó. Nhấp “Save” để áp dụng thay đổi.

Xác thực thiết bị client bằng phương thức EAP

Sau khi cấu hình xong, hãy kiểm tra mọi thứ hoạt động bằng cách kết nối một thiết bị vào mạng RADIUS. Khi kết nối tới AP đã bật RADIUS, bạn sẽ được yêu cầu chọn phương thức EAP. Chọn bất kỳ phương thức nào bạn đã cho phép trên RADIUS server.
Để thử thiết lập RADIUS mới, tôi kết nối điện thoại vào mạng mới “TurtleRA1”.

Tôi chọn PEAP (Protected Extensible Authentication Protocol) vì đã kiểm tra phương thức này được bật trên RADIUS server.

Sau khi nhập thông tin đăng nhập thử, tôi nhấp “Save”. AP xác thực với RADIUS server và thiết bị của tôi kết nối thành công.

Thiết lập RADIUS với UniFi chưa bao giờ dễ hơn thế. Hãy theo dõi các tuần tới vì chúng tôi sẽ bổ sung tài liệu liên quan đến RADIUS, hướng dẫn thêm về thiết lập accounting, xử lý yêu cầu xác thực thất bại, v.v.

Nguồn: Blog Ubnt