Централизованная аутентификация становится необходимой в современных корпоративных сетях, позволяя надежно контролировать доступ к ресурсам. Протокол RADIUS (Remote Authentication Dial-In User Service) предоставляет возможности для централизованного управления аутентификацией, авторизацией и учётом пользователей. В Linux-системах наиболее популярен FreeRADIUS — свободное программное обеспечение с поддержкой различных баз данных и протоколов аутентификации, таких как LDAP, MySQL и другие. В этой статье рассмотрим установку и настройку RADIUS-сервера на базе FreeRADIUS.

Установка и базовая настройка FreeRADIUS

FreeRADIUS можно установить через пакетный менеджер. Для Ubuntu используйте:


sudo apt update
sudo apt install freeradius freeradius-mysql

Для CentOS и новых версий RHEL рекомендуется использовать `dnf` вместо `yum`:


sudo dnf install freeradius freeradius-utils freeradius-mysql

После установки необходимо запустить и активировать службу:


sudo systemctl start freeradius
sudo systemctl enable freeradius

Основные настройки FreeRADIUS находятся в каталоге `/etc/raddb/`. Важный файл `clients.conf` используется для задания параметров взаимодействующих устройств: IP-адресов, секретных ключей и других параметров, обеспечивающих безопасность.

Настройка базы данных для аутентификации

FreeRADIUS позволяет хранить учетные данные в базе данных, такой как MySQL или MariaDB, для удобного централизованного управления доступом. Чтобы установить и настроить MariaDB на Ubuntu, используйте следующую команду:


sudo apt install mariadb-server

Для CentOS команда будет такой:


sudo dnf install mariadb-server

После установки MariaDB создайте базу данных и учетную запись для FreeRADIUS:


sudo mysql -u root -p
CREATE DATABASE radius;
GRANT ALL ON radius.* TO 'radius'@'localhost' IDENTIFIED BY 'password';
FLUSH PRIVILEGES;

Для инициализации базы данных импортируйте схему, предоставляемую FreeRADIUS:


mysql -u root -p radius < /etc/raddb/mods-config/sql/main/mysql/schema.sql

Чтобы разрешить FreeRADIUS использовать SQL для аутентификации, активируйте SQL-модуль, отредактировав файл `mods-enabled/sql` и указав параметры для базы данных.

Настройка протоколов аутентификации

FreeRADIUS поддерживает несколько протоколов аутентификации: PAP, CHAP и EAP, что позволяет настроить сервер для различных нужд. EAP, в частности, востребован для беспроводных сетей и обеспечивает аутентификацию с использованием сертификатов. В файле `eap.conf` можно выбрать нужный метод (например, EAP-TLS) и задать параметры безопасности, такие как ключи и сертификаты.

Установка и настройка Daloradius для упрощения управления

Веб-интерфейс Daloradius может значительно облегчить управление RADIUS-сервером, позволяя администрировать пользователей, просматривать статистику и управлять другими параметрами через браузер. Для его установки потребуется веб-сервер (например, Apache) и PHP:


sudo apt install apache2 php php-mysql

Далее скачайте Daloradius и распакуйте его:


wget https://github.com/lirantal/daloradius/archive/master.zip
unzip master.zip
sudo mv daloradius-master /var/www/html/daloradius

Daloradius требует настройки базы данных, чтобы интегрироваться с FreeRADIUS. Через этот интерфейс можно управлять учетными записями пользователей и выполнять базовые административные задачи.

Тестирование и отладка RADIUS-сервера

Для проверки корректности настройки RADIUS-сервера можно использовать команду `radtest`, отправляя тестовые запросы на сервер:


radtest username password localhost 1812 secret

Если сервер ответит `Access-Accept`, это укажет на успешную аутентификацию. FreeRADIUS также можно запустить в режиме отладки (`freeradius -X`), что полезно для диагностики ошибок конфигурации.

Расширенные возможности: интеграция с Active Directory

FreeRADIUS поддерживает интеграцию с Active Directory через протокол LDAP, что делает его отличным решением для крупных корпоративных сетей. Чтобы настроить эту интеграцию, потребуется установить дополнительный модуль `freeradius-ldap`:


sudo apt install freeradius-ldap

После установки настройте параметры подключения к AD в файле `mods-available/ldap`, указав адрес сервера, метод аутентификации и привилегии пользователя. Такая интеграция позволяет использовать сервер AD для централизованного хранения данных о пользователях.

Обеспечение безопасности и резервное копирование

Безопасность RADIUS-сервера критически важна, особенно в корпоративных сетях. Помимо использования сильных секретных ключей, рекомендуется настроить брандмауэр для ограничения доступа к RADIUS-серверу только с доверенных IP-адресов. Регулярное резервное копирование базы данных также поможет избежать потери данных в случае сбоев системы.

Настройка RADIUS-сервера на Linux предоставляет возможность централизованного управления аутентификацией, что повышает безопасность и упрощает администрирование сети.