Централизованная аутентификация становится необходимой в современных корпоративных сетях, позволяя надежно контролировать доступ к ресурсам. Протокол 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 предоставляет возможность централизованного управления аутентификацией, что повышает безопасность и упрощает администрирование сети.