Trong kỷ nguyên số hóa, việc bảo mật và quản lý quyền truy cập mạng là điều tối quan trọng đối với mọi doanh nghiệp. Một hệ thống xác thực mạnh mẽ giúp bảo vệ tài nguyên, đảm bảo chỉ những người dùng hợp lệ mới có thể truy cập mạng của bạn. Tuy nhiên, việc cấu hình và quản lý dịch vụ RADIUS truyền thống thường phức tạp, đòi hỏi kiến thức chuyên sâu về dòng lệnh. Điều này gây khó khăn lớn cho các quản trị viên hệ thống.
Giải pháp toàn diện cho vấn đề này chính là sự kết hợp giữa FreeRADIUS và daloRADIUS. FreeRADIUS là một trong những máy chủ RADIUS mã nguồn mở mạnh mẽ và linh hoạt nhất hiện nay. Nó cung cấp khả năng xác thực, ủy quyền và tính cước (AAA) cho nhiều loại dịch vụ mạng. Tuy nhiên, việc quản lý FreeRADIUS thuần túy bằng dòng lệnh có thể khá rắc rối.
Để đơn giản hóa quá trình này, daloRADIUS ra đời như một giao diện quản trị web trực quan. daloRADIUS cho phép bạn quản lý người dùng, nhóm, thuộc tính RADIUS và các cấu hình khác một cách dễ dàng thông qua trình duyệt web. Sự kết hợp này mang lại một hệ thống xác thực mạng hiệu quả, an toàn và dễ quản lý. Bài hướng dẫn này sẽ chỉ cho bạn cách cài đặt và cấu hình hai công cụ này trên Linux/Ubuntu từng bước một.

Yêu cầu hệ thống và phần mềm cần thiết
Để cài đặt FreeRADIUS và daloRADIUS thành công, chúng ta cần chuẩn bị một môi trường hệ thống phù hợp. Việc đáp ứng các yêu cầu này sẽ giúp quá trình cài đặt diễn ra suôn sẻ và hệ thống hoạt động ổn định. Đừng lo lắng, các yêu cầu này khá cơ bản và dễ dàng đáp ứng.
Phần cứng và hệ điều hành hỗ trợ
Hệ điều hành lý tưởng để triển khai FreeRADIUS và daloRADIUS là các phiên bản Linux/Ubuntu. Các phiên bản Ubuntu Server từ 18.04 LTS trở lên hoặc Debian 10+ là lựa chọn tuyệt vời. Chúng cung cấp sự ổn định và hỗ trợ cộng đồng rộng lớn. Về phần cứng, bạn sẽ cần một CPU có ít nhất 2 nhân, RAM khoảng 2GB RAM và dung lượng ổ cứng tối thiểu 20GB. Những thông số này đảm bảo FreeRADIUS và daloRADIUS có đủ tài nguyên để hoạt động hiệu quả.
Phần mềm cần thiết
Bên cạnh hệ điều hành, chúng ta cần cài đặt một số phần mềm quan trọng khác. Đầu tiên là FreeRADIUS, đảm bảo bạn sử dụng phiên bản mới nhất để có được các tính năng và bản vá bảo mật cập nhật. Tiếp theo, daloRADIUS yêu cầu một máy chủ web như Apache hoặc Nginx, cùng với PHP phiên bản 7.4 trở lên. Để lưu trữ dữ liệu, MySQL hoặc MariaDB là cơ sở dữ liệu được khuyến nghị. Ngoài ra, bạn cũng cần cài đặt các gói PHP mở rộng và các thư viện liên quan khác để daloRADIUS có thể hoạt động hoàn chỉnh.

Hướng dẫn cài đặt FreeRADIUS trên Linux/Ubuntu
Bây giờ, chúng ta sẽ bắt đầu với việc cài đặt FreeRADIUS, nền tảng của hệ thống xác thực của chúng ta. Quá trình này khá đơn giản và được thực hiện hoàn toàn thông qua terminal. Hãy chuẩn bị sẵn sàng với quyền truy cập root hoặc sudo.
Cài đặt FreeRADIUS qua terminal
Đầu tiên, hãy cập nhật danh sách gói phần mềm của hệ thống để đảm bảo bạn có các gói mới nhất. Mở terminal và nhập lệnh sudo apt update. Sau khi cập nhật xong, chúng ta sẽ tiến hành cài đặt FreeRADIUS bằng lệnh sudo apt install freeradius freeradius-utils. Lệnh này sẽ cài đặt cả FreeRADIUS và các tiện ích đi kèm hữu ích cho việc kiểm tra.
Sau khi cài đặt, dịch vụ FreeRADIUS thường sẽ tự động khởi động. Để kiểm tra trạng thái của dịch vụ, bạn có thể sử dụng lệnh sudo systemctl status freeradius. Nếu mọi thứ diễn ra suôn sẻ, bạn sẽ thấy thông báo “active (running)”. Điều này xác nhận FreeRADIUS đã được cài đặt và đang hoạt động trên hệ thống của bạn.
Thiết lập cấu hình ban đầu
FreeRADIUS sử dụng nhiều file cấu hình để xác định cách thức hoạt động của nó. Các file quan trọng nhất nằm trong thư mục /etc/freeradius/3.0/. Bạn cần chú ý đến clients.conf, nơi khai báo các thiết bị mạng (ví dụ: bộ định tuyến, điểm truy cập) có thể gửi yêu cầu xác thực đến FreeRADIUS. File users dùng để định nghĩa tài khoản người dùng và mật khẩu, thường được sử dụng cho các xác thực cơ bản.
Ngoài ra, thư mục mods-enabled chứa các module xác thực được kích hoạt, trong khi sites-enabled chứa các site ảo định nghĩa cách xử lý các yêu cầu RADIUS. Hiểu rõ chức năng của từng file cấu hình sẽ giúp bạn tùy chỉnh FreeRADIUS một cách linh hoạt. Chúng ta sẽ đi sâu hơn vào các cấu hình này ở phần tiếp theo.

Cấu hình FreeRADIUS để chạy dịch vụ xác thực mạng
Sau khi FreeRADIUS đã được cài đặt, bước tiếp theo là cấu hình nó để thực hiện các chức năng xác thực mạng. Đây là trái tim của hệ thống, nơi bạn định nghĩa cách người dùng được kiểm tra và cấp quyền. Hãy cùng nhau thiết lập những cấu hình quan trọng này.
Cấu hình xác thực cơ bản (PAP, CHAP)
Để bắt đầu với xác thực cơ bản, chúng ta sẽ chỉnh sửa file users trong thư mục cấu hình của FreeRADIUS. File này cho phép bạn định nghĩa các tài khoản người dùng cục bộ một cách đơn giản. Ví dụ, bạn có thể thêm một người dùng như testuser Cleartext-Password := "testpass" để kiểm tra xác thực bằng phương thức PAP (Password Authentication Protocol). PAP là một phương thức đơn giản, nhưng ít an toàn vì truyền mật khẩu dưới dạng văn bản rõ.
Đối với các phương thức an toàn hơn như CHAP (Challenge Handshake Authentication Protocol), bạn cần cấu hình các module tương ứng. FreeRADIUS hỗ trợ rất nhiều module xác thực khác nhau, từ cơ sở dữ liệu SQL đến LDAP và EAP. Việc chọn đúng phương thức xác thực phụ thuộc vào yêu cầu bảo mật và cơ sở hạ tầng hiện có của bạn. Chúng ta sẽ tập trung vào việc kích hoạt các module cần thiết trong file sites-enabled/default hoặc inner-tunnel.
Thiết lập logging và bảo mật
Việc theo dõi hoạt động của FreeRADIUS là rất quan trọng để phát hiện sự cố và các hành vi bất thường. Bạn có thể cấu hình FreeRADIUS để ghi lại các sự kiện xác thực vào file log. File radiusd.conf chứa các thiết lập liên quan đến logging. Bạn có thể chỉ định vị trí file log, mức độ chi tiết của log và các thông tin khác cần ghi lại. Việc kiểm tra log thường xuyên giúp bạn nắm bắt tình hình hệ thống.
Về bảo mật, một bước quan trọng là giới hạn quyền truy cập vào FreeRADIUS. Trong file clients.conf, bạn chỉ nên khai báo các địa chỉ IP của các thiết bị mạng được phép gửi yêu cầu xác thực. Sử dụng một secret key mạnh và duy nhất cho mỗi client để tăng cường bảo mật. Ngoài ra, hãy đảm bảo rằng FreeRADIUS chạy trên các cổng mạng tiêu chuẩn (1812 cho xác thực, 1813 cho tính cước) và tường lửa của bạn chỉ cho phép các kết nối đến các cổng này từ các địa chỉ IP đáng tin cậy.

Cài đặt và cấu hình daloRADIUS làm giao diện quản trị web
Sau khi FreeRADIUS đã sẵn sàng hoạt động, bước tiếp theo là cài đặt daloRADIUS. daloRADIUS sẽ cung cấp một giao diện web trực quan, giúp việc quản lý người dùng và cấu hình trở nên dễ dàng hơn bao giờ hết. Hãy cùng nhau thực hiện các bước này.
Tiến hành cài đặt daloRADIUS
Đầu tiên, chúng ta cần tải daloRADIUS về máy chủ. Bạn có thể tải phiên bản mới nhất từ trang web chính thức hoặc kho lưu trữ GitHub của daloRADIUS. Sau khi tải về, hãy giải nén file vào thư mục gốc của máy chủ web (ví dụ: /var/www/html/daloradius/ đối với Apache hoặc /usr/share/nginx/html/daloradius/ đối với Nginx). Đảm bảo rằng máy chủ web của bạn đã được cài đặt và hoạt động.
Tiếp theo, bạn cần cấu hình quyền truy cập cho thư mục daloRADIUS. Đặt quyền sở hữu cho người dùng của máy chủ web (ví dụ: www-data trên Ubuntu) để daloRADIUS có thể đọc và ghi file. Đồng thời, kiểm tra cấu hình PHP. Đảm bảo các module PHP cần thiết như php-mysql, php-gd, php-pear và các module khác được kích hoạt. Bạn cũng có thể cần điều chỉnh các giá trị như memory_limit và max_execution_time trong file php.ini để daloRADIUS hoạt động tối ưu.
Tùy chỉnh giao diện quản trị và tính năng
Sau khi cài đặt cơ bản, bạn có thể truy cập daloRADIUS qua trình duyệt web. Giao diện ban đầu sẽ yêu cầu bạn hoàn tất một số bước cấu hình cơ sở dữ liệu. daloRADIUS cung cấp một loạt các chức năng quản trị mạnh mẽ. Bạn có thể dễ dàng thêm, sửa, xóa người dùng, quản lý nhóm người dùng, gán các thuộc tính RADIUS cụ thể cho từng tài khoản hoặc nhóm.
Ngoài ra, daloRADIUS còn cho phép bạn theo dõi phiên hoạt động của người dùng, xem báo cáo chi tiết và cấu hình các chính sách truy cập. Giao diện quản trị cũng có thể được tùy chỉnh một phần, ví dụ như thay đổi logo hoặc màu sắc để phù hợp với thương hiệu của bạn. Đừng quên thiết lập các tài khoản quản trị viên mạnh và an toàn cho daloRADIUS để bảo vệ giao diện quản lý của bạn.

Liên kết daloRADIUS với cơ sở dữ liệu và FreeRADIUS
Để daloRADIUS hoạt động hiệu quả và cung cấp giao diện quản lý thực sự cho FreeRADIUS, chúng ta cần thiết lập kết nối giữa daloRADIUS và cơ sở dữ liệu. Cơ sở dữ liệu này sẽ lưu trữ thông tin người dùng và các cấu hình liên quan, cho phép FreeRADIUS truy vấn và xác thực.
Thiết lập MySQL/MariaDB cho daloRADIUS
Bước đầu tiên là cài đặt MySQL hoặc MariaDB trên máy chủ của bạn. Sau khi cài đặt, hãy tạo một cơ sở dữ liệu mới dành riêng cho daloRADIUS, ví dụ daloradius. Tiếp theo, bạn cần tạo một người dùng cơ sở dữ liệu với quyền truy cập đầy đủ vào database này và đặt mật khẩu mạnh. Sử dụng câu lệnh SQL tương tự như CREATE DATABASE daloradius; và GRANT ALL PRIVILEGES ON daloradius.* TO 'dalouser'@'localhost' IDENTIFIED BY 'your_strong_password';.
Sau khi tạo database và người dùng, bạn cần import cấu trúc bảng mẫu của daloRADIUS vào cơ sở dữ liệu vừa tạo. Thường thì file SQL mẫu có tên schema.sql hoặc create_mysql.sql nằm trong thư mục cài đặt của daloRADIUS. Bạn có thể import bằng lệnh mysql -u dalouser -p daloradius < /path/to/daloradius/contrib/db/mysql/create_mysql.sql. Cuối cùng, chỉnh sửa file cấu hình của daloRADIUS (thường là config.php) để thiết lập kết nối đến cơ sở dữ liệu này, bao gồm tên database, tên người dùng và mật khẩu.
Đồng bộ dữ liệu giữa FreeRADIUS và daloRADIUS
Để FreeRADIUS có thể sử dụng thông tin người dùng được quản lý bởi daloRADIUS, chúng ta cần cấu hình FreeRADIUS để truy vấn cơ sở dữ liệu. Đầu tiên, hãy kích hoạt module sql trong FreeRADIUS. Bạn sẽ cần chỉnh sửa file mods-enabled/sql để cấu hình thông tin kết nối đến cơ sở dữ liệu mà daloRADIUS đang sử dụng. Điều này bao gồm loại cơ sở dữ liệu (MySQL), địa chỉ máy chủ, tên database, người dùng và mật khẩu.
Tiếp theo, bạn cần cấu hình FreeRADIUS để sử dụng module sql để xác thực người dùng. Trong file sites-enabled/default hoặc inner-tunnel, bạn sẽ thêm sql vào phần authorize, authenticate và accounting. Điều này đảm bảo FreeRADIUS sẽ truy vấn cơ sở dữ liệu để tìm thông tin người dùng và mật khẩu khi có yêu cầu xác thực. Sau khi thực hiện các thay đổi, hãy khởi động lại dịch vụ FreeRADIUS bằng sudo systemctl restart freeradius để các thay đổi có hiệu lực. Bây giờ, mọi thông tin người dùng được thêm vào daloRADIUS sẽ được FreeRADIUS sử dụng để xác thực.

Kiểm tra và chạy thử hệ thống xác thực RADIUS
Sau khi đã cài đặt và cấu hình FreeRADIUS cùng daloRADIUS, bước quan trọng nhất là kiểm tra xem hệ thống có hoạt động chính xác hay không. Việc này sẽ đảm bảo rằng người dùng có thể xác thực thành công và mọi thứ đều được ghi lại.
Thử nghiệm xác thực user bằng các công cụ test
Để kiểm tra chức năng xác thực của FreeRADIUS, bạn có thể sử dụng công cụ radtest. Đây là một tiện ích dòng lệnh đi kèm với FreeRADIUS, giúp bạn mô phỏng một yêu cầu xác thực từ client RADIUS. Ví dụ, bạn có thể tạo một người dùng testuser với mật khẩu testpass trong daloRADIUS. Sau đó, trên terminal của máy chủ FreeRADIUS, chạy lệnh radtest testuser testpass localhost 0 testing123.
Trong lệnh này, testuser là tên người dùng, testpass là mật khẩu, localhost là địa chỉ IP của máy chủ RADIUS, 0 là cổng UDP (thường là 1812), và testing123 là shared secret key mà bạn đã cấu hình trong clients.conf cho localhost. Nếu xác thực thành công, bạn sẽ thấy phản hồi “Access-Accept”. Điều này chứng tỏ FreeRADIUS đã kết nối được với daloRADIUS (thông qua cơ sở dữ liệu) và xác thực người dùng thành công.
Quan sát log và phản hồi xác thực
Khi bạn chạy thử nghiệm, điều quan trọng là phải quan sát các file log. Log của FreeRADIUS thường nằm ở /var/log/freeradius/radius.log hoặc tương tự. Sử dụng lệnh tail -f /var/log/freeradius/radius.log trong một terminal khác để xem log theo thời gian thực. Bạn sẽ thấy các thông báo chi tiết về quá trình xác thực, bao gồm việc FreeRADIUS nhận yêu cầu, truy vấn cơ sở dữ liệu và gửi phản hồi.
Ngoài ra, daloRADIUS cũng có các phần báo cáo và log hoạt động riêng. Bạn có thể truy cập vào giao diện web của daloRADIUS để xem các bản ghi xác thực, trạng thái người dùng và các lỗi có thể xảy ra. Phân tích kỹ các thông báo trong log sẽ giúp bạn xác định nguyên nhân nếu có bất kỳ sự cố nào trong quá trình xác thực. Việc kiểm tra kỹ lưỡng này là chìa khóa để đảm bảo hệ thống của bạn hoạt động ổn định và đáng tin cậy.

Khắc phục lỗi thường gặp trong quá trình cài đặt
Trong quá trình cài đặt FreeRADIUS và daloRADIUS, bạn có thể gặp phải một số lỗi phổ biến. Đừng lo lắng, hầu hết các vấn đề đều có thể được giải quyết bằng cách kiểm tra và điều chỉnh các cấu hình cụ thể.
Lỗi dịch vụ FreeRADIUS không khởi động
Một trong những lỗi thường gặp nhất là dịch vụ FreeRADIUS không thể khởi động. Nguyên nhân phổ biến có thể là do file cấu hình bị lỗi cú pháp. FreeRADIUS rất nhạy cảm với các lỗi chính tả hoặc thiếu dấu chấm phẩy trong các file cấu hình. Để kiểm tra, bạn có thể chạy FreeRADIUS ở chế độ debug bằng lệnh sudo freeradius -X. Lệnh này sẽ hiển thị chi tiết các lỗi trong file cấu hình, giúp bạn dễ dàng xác định vị trí cần sửa.
Một nguyên nhân khác có thể là cổng dịch vụ (mặc định 1812) đã bị một ứng dụng khác chiếm dụng. Bạn có thể kiểm tra xem cổng 1812 có đang được sử dụng hay không bằng lệnh sudo netstat -tulpn | grep 1812. Nếu có, bạn cần giải phóng cổng đó hoặc thay đổi cổng mặc định của FreeRADIUS trong file radiusd.conf. Đảm bảo rằng bạn đã cấp đủ quyền cho FreeRADIUS để đọc các file cấu hình và ghi vào file log.
Lỗi kết nối daloRADIUS với database
Nếu daloRADIUS không thể kết nối với cơ sở dữ liệu MySQL/MariaDB, có một vài điều bạn cần kiểm tra. Đầu tiên, hãy chắc chắn rằng dịch vụ MySQL/MariaDB đang chạy. Bạn có thể kiểm tra bằng lệnh sudo systemctl status mysql (hoặc mariadb). Tiếp theo, kiểm tra lại thông tin kết nối cơ sở dữ liệu trong file config.php của daloRADIUS. Đảm bảo tên máy chủ, tên database, tên người dùng và mật khẩu đều chính xác.
Thêm vào đó, hãy kiểm tra quyền truy cập của người dùng cơ sở dữ liệu. Đôi khi, người dùng thiếu quyền để thực hiện các thao tác cần thiết trên database daloradius. Bạn có thể cấp lại quyền bằng lệnh GRANT ALL PRIVILEGES ON daloradius.* TO 'dalouser'@'localhost' IDENTIFIED BY 'your_strong_password'; FLUSH PRIVILEGES;. Cuối cùng, đảm bảo rằng module PHP php-mysql hoặc php-mysqli đã được cài đặt và kích hoạt. Thiếu module này sẽ ngăn cản PHP kết nối với cơ sở dữ liệu.

Best Practices
Để đảm bảo hệ thống FreeRADIUS và daloRADIUS của bạn hoạt động an toàn, hiệu quả và ổn định lâu dài, việc tuân thủ các best practices là vô cùng quan trọng. Hãy biến những thói quen này thành một phần của quy trình quản lý hệ thống của bạn.
Đảm bảo cập nhật phiên bản mới nhất của cả FreeRADIUS và daloRADIUS thường xuyên. Các bản cập nhật này không chỉ mang lại tính năng mới mà còn vá các lỗ hổng bảo mật quan trọng. Việc bỏ qua cập nhật có thể khiến hệ thống của bạn dễ bị tấn công. Hãy lên lịch kiểm tra và áp dụng các bản vá một cách định kỳ.
Thường xuyên backup toàn bộ cấu hình của FreeRADIUS (thư mục /etc/freeradius) và cơ sở dữ liệu của daloRADIUS. Trong trường hợp có sự cố hoặc hỏng hóc, bạn có thể nhanh chóng khôi phục hệ thống về trạng thái hoạt động bình thường. Lưu trữ các bản backup ở một nơi an toàn, ngoài máy chủ chính.
Hạn chế truy cập trực tiếp vào máy chủ RADIUS từ bên ngoài. Sử dụng VPN hoặc cấu hình tường lửa (firewall) để chỉ cho phép các máy chủ và thiết bị mạng đáng tin cậy kết nối đến FreeRADIUS và giao diện quản trị daloRADIUS. Điều này giúp giảm thiểu rủi ro bị tấn công từ bên ngoài.
Kiểm tra log FreeRADIUS và daloRADIUS thường xuyên để phát hiện bất kỳ hoạt động bất thường nào. Các cảnh báo về xác thực thất bại liên tục hoặc các truy cập lạ có thể là dấu hiệu của một cuộc tấn công. Sử dụng các công cụ giám sát log tự động để nhận được thông báo kịp thời.
Tuyệt đối không cấp quyền truy cập rộng rãi cho cơ sở dữ liệu và giao diện web daloRADIUS. Chỉ những tài khoản quản trị viên cần thiết mới được phép truy cập, và mỗi tài khoản nên có mật khẩu mạnh, duy nhất. Hãy thực hiện nguyên tắc đặc quyền tối thiểu để bảo vệ các tài nguyên quan trọng của bạn.

Kết luận
Qua bài hướng dẫn chi tiết này, bạn đã được trang bị kiến thức để cài đặt và cấu hình FreeRADIUS cùng daloRADIUS trên nền tảng Linux/Ubuntu. Chúng ta đã cùng nhau trải qua các bước từ chuẩn bị hệ thống, cài đặt từng thành phần, cấu hình xác thực cơ bản đến việc liên kết chúng với cơ sở dữ liệu và kiểm tra hoạt động. Hướng dẫn cũng bao gồm các mẹo khắc phục lỗi thường gặp và những best practices quan trọng để đảm bảo an toàn.
Việc triển khai FreeRADIUS và daloRADIUS mang lại một hệ thống xác thực mạng mạnh mẽ, an toàn và dễ quản lý. Thay vì phải vật lộn với các dòng lệnh phức tạp, giờ đây bạn có thể quản lý người dùng và chính sách truy cập thông qua một giao diện web trực quan. Điều này không chỉ tiết kiệm thời gian mà còn nâng cao hiệu quả bảo mật cho toàn bộ hệ thống mạng của bạn.
Với những kiến thức và hướng dẫn này, AZWEB khuyến khích bạn thử cài đặt ngay để tự mình trải nghiệm những lợi ích mà FreeRADIUS và daloRADIUS mang lại. Việc này không chỉ giúp tăng cường bảo mật mà còn tối ưu hóa quy trình quản lý truy cập mạng trong doanh nghiệp của bạn. Để nâng cao hơn nữa kiến thức của mình, bạn có thể tham khảo thêm tài liệu chuyên sâu về FreeRADIUS EAP, tích hợp với LDAP hoặc Active Directory để mở rộng khả năng xác thực của hệ thống.