FreeRADIUS — это мощный и широко используемый сервер RADIUS (Remote Authentication Dial-In User Service) с открытым исходным кодом, который обеспечивает централизованное управление аутентификацией, авторизацией и учетом (AAA) для доступа к сети. Благодаря широкому набору функций, гибкости и масштабируемости FreeRADIUS стал основным решением для многих организаций, стремящихся обеспечить безопасность своих сетей.
Предварительные условия
Прежде чем мы приступим к процессу установки, убедитесь, что у вас есть следующие необходимые условия:
- Сервер под управлением одной из следующих операционных систем: Fedora 40.
- Рекомендуется использовать свежую установку ОС, чтобы предотвратить возможные проблемы.
- Для выполнения команд вам понадобится доступ к терминалу. Fedora предоставляет для этого приложение Terminal. Его можно найти в меню «Приложения».
- Стабильное интернет-соединение для загрузки необходимых пакетов.
- Некорневой пользователь sudo или доступ к корневому пользователю. Мы рекомендуем использовать не root-пользователя sudo, так как при неосторожном обращении с правами root вы можете повредить систему.
Установка FreeRADIUS на Fedora 40
Шаг 1. Обновите систему.
Чтобы процесс установки прошел гладко, убедитесь, что ваша система Fedora 40 обновлена. Откройте терминал и выполните следующую команду:
sudo dnf clean all
sudo dnf update
Шаг 2. Включите RPM Fusion.
Чтобы начать процесс установки, сначала нужно включить репозитории RPM Fusion в системе Fedora 40. Эти репозитории содержат дополнительные пакеты, необходимые для FreeRADIUS. Откройте терминал и выполните следующие команды:
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
sudo dnf install https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
После включения репозиториев обновите систему, чтобы убедиться в наличии последних пакетов:
sudo dnf update
Шаг 3. Установка FreeRADIUS на Fedora 40.
Теперь, когда ваша система обновлена, вы можете приступить к установке основных пакетов FreeRADIUS и дополнительных модулей. Выполните следующую команду:
sudo dnf install freeradius freeradius-utils freeradius-ldap freeradius-mysql freeradius-postgresql
Эта команда установит основной сервер FreeRADIUS, утилиты и модули для интеграции с LDAP, MySQL и PostgreSQL.
Шаг 4. Настройка FreeRADIUS.
После завершения установки необходимо настроить FreeRADIUS в соответствии с требованиями вашей сети. Основной файл конфигурации находится по адресу /etc/raddb/radiusd.conf. Откройте этот файл с помощью удобного текстового редактора:
sudo nano /etc/raddb/radiusd.conf
Просмотрите настройки и внесите необходимые изменения, например, укажите IP-адрес и порт, на котором должен прослушиваться FreeRADIUS. Сохраните файл и выйдите из редактора.
Далее настройте виртуальный сервер по умолчанию, отредактировав файл /etc/raddb/sites-available/default. Этот файл определяет политики аутентификации и авторизации для клиентов RADIUS. Настройте параметры в соответствии с настройками вашей сети и сохраните изменения.
Чтобы указать клиентов RADIUS (сетевые устройства), которым разрешено отправлять запросы на аутентификацию на сервер FreeRADIUS, отредактируйте файл /etc/raddb/clients.conf. Добавьте IP-адреса или сетевые диапазоны ваших клиентов и назначьте общий секрет для безопасной связи.
Шаг 5. Генерация SSL-сертификатов.
Для обеспечения безопасной связи между FreeRADIUS и сетевыми устройствами рекомендуется использовать шифрование SSL/TLS. Сгенерируйте самоподписанный SSL-сертификат, выполнив следующую команду:
sudo openssl req -x509 -newkey rsa:4096 -keyout /etc/raddb/certs/server.key -out /etc/raddb/certs/server.pem -days 365 -nodes
Укажите запрашиваемую информацию, такую как страна, штат, организация и общее имя, чтобы сгенерировать сертификат.
Далее настройте FreeRADIUS на использование сгенерированного сертификата, отредактировав файл /etc/raddb/mods-enabled/eap. Откройте и измените следующие строки:
private_key_file = ${certdir}/server.key
certificate_file = ${certdir}/server.pem
Шаг 6. Настройка методов аутентификации.
FreeRADIUS поддерживает различные методы аутентификации, что позволяет интегрировать его с существующими базами данных пользователей или системами аутентификации. Давайте рассмотрим несколько распространенных методов аутентификации.
Локальная аутентификация пользователей
Для аутентификации пользователей по локальному файлу можно использовать файл пользователя, расположенный по адресу /etc/raddb/users. Добавьте записи о пользователях в следующем формате:
username Cleartext-Password := "password"
Замените имя пользователя и пароль на нужные учетные данные. Сохраните файл после добавления записей пользователей.
Аутентификация по LDAP
Если у вас есть существующий LDAP-сервер, вы можете настроить FreeRADIUS на аутентификацию пользователей по нему. Сначала убедитесь, что модуль freeradius-ldap установлен. Затем отредактируйте файл /etc/raddb/mods-available/ldap, чтобы указать данные вашего LDAP-сервера, такие как URL сервера, базовый DN и мандаты привязки.
Откомментируйте и измените следующие строки:
server = "ldap://your-ldap-server.com"
base_dn = "dc=example,dc=com"
bind_dn = "cn=admin,dc=example,dc=com"
bind_password = "your-bind-password"
Замените заполнители на информацию о вашем реальном LDAP-сервере. Сохраните изменения и создайте символическую ссылку для включения модуля LDAP:
sudo ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/
Аутентификация по базе данных (MySQL/PostgreSQL)
FreeRADIUS также может аутентифицировать пользователей по базе данных, например MySQL или PostgreSQL. Чтобы настроить аутентификацию по базе данных, выполните следующие действия:
- Установите сервер базы данных (MySQL или PostgreSQL) на систему Fedora 40.
- Создайте базу данных RADIUS и необходимые таблицы, используя предоставленные файлы схем в каталоге /etc/raddb/mods-config/sql/main/.
- Отредактируйте соответствующий конфигурационный файл (/etc/raddb/mods-available/sql), чтобы указать детали подключения к базе данных, такие как имя хоста сервера, имя базы данных, имя пользователя и пароль.
- Включите модуль SQL, создав символическую ссылку:
sudo ln -s /etc/raddb/mods-available/sql /etc/raddb/mods-enabled/
Шаг 7. Запуск службы FreeRADIUS.
Чтобы запустить службу FreeRADIUS и включить ее автоматический запуск при загрузке системы, выполните следующие команды:
sudo systemctl start radiusd
sudo systemctl enable radiusd
Убедитесь, что служба успешно работает, проверив ее состояние:
sudo systemctl status radiusd
Шаг 8. Тестирование аутентификации.
Чтобы проверить функциональность аутентификации сервера FreeRADIUS, можно воспользоваться утилитой radtest. Выполните следующую команду, заменив имя пользователя и пароль на действительные учетные данные:
radtest username password localhost 0 testing123
Если аутентификация прошла успешно, вы должны увидеть сообщение «Access-Accept» в выходных данных.
Поздравляем! Вы успешно установили FreeRADIUS. Для получения дополнительной или полезной информации мы рекомендуем вам посетить официальный сайт FreeRADIUS.