Установка и настройка FreeRADIUS на Ред ОС — пошаговое руководство

Для начала убедитесь, что у вас есть доступ к репозиториям, которые содержат пакет radius. Это позволит вам легко установить и настроить все необходимые компоненты. Используйте команду dnf для установки. Введите следующее:


sudo dnf install freeradius freeradius-utils

После того как пакет будет установлен, необходимо настроить основные параметры сервера. Начните с редактирования конфигурационного файла, чтобы указать параметры сети и протоколы аутентификации, которые будут использоваться. Основной конфигурационный файл находится по пути /etc/raddb/radiusd.conf. Например, можно указать порт, на котором будет работать сервер, а также настроить тайм-ауты для запросов.

Далее настройте клиентов, которым будет разрешено подключение к серверу. Для этого откройте файл /etc/raddb/clients.conf и добавьте данные клиентов в формате:


client имя_клиента {
ipaddr = 192.168.1.100
secret = testing123
require_message_authenticator = no
}

Не забудьте настроить аутентификацию пользователей. Для этого можно использовать файл /etc/raddb/users, где задаются учетные записи и права доступа. Пример добавления пользователя:


имя_пользователя Cleartext-Password := "пароль"

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


sudo systemctl restart radiusd

Проверьте работоспособность сервера, отправив тестовый запрос с использованием утилиты radtest:


radtest имя_пользователя пароль localhost 0 testing123

Если все настройки выполнены корректно, сервер должен успешно обработать запрос и вернуть ответ о том, что аутентификация прошла успешно. Для мониторинга работы сервера используйте команду radiusd -X, которая выведет подробный лог работы с ошибками и информацией о процессе аутентификации.

После того как все параметры настроены и протестированы, сервер готов к использованию. Рекомендуется периодически проверять логи, чтобы выявить возможные проблемы или попытки несанкционированного доступа.

Подготовка системы и установка пакетов FreeRADIUS на Ред ОС

Обновите систему для получения последних версий пакетов:


sudo dnf update -y

Добавьте репозиторий EPEL для получения дополнительных пакетов:


sudo dnf install epel-release -y

Инсталлируйте необходимые компоненты:


sudo dnf install freeradius freeradius-utils -y

Проверьте состояние службы:

Читайте также:  Как создать собственный VPN сервер на Linux


sudo systemctl status radiusd

Если служба не запущена, активируйте её:


sudo systemctl start radiusd

Для включения автозапуска службы при загрузке системы выполните команду:


sudo systemctl enable radiusd

Для диагностики работы системы используйте команду с параметром -X:


sudo radiusd -X

Команда Описание
sudo dnf update -y Обновление пакетов системы
sudo dnf install epel-release -y Добавление репозитория EPEL
sudo dnf install freeradius freeradius-utils -y Инсталляция нужных пакетов
sudo systemctl start radiusd Запуск службы
sudo systemctl enable radiusd Автозапуск службы при старте

После выполнения этих команд компоненты готовы к использованию.

Настройка конфигурационных файлов для работы с FreeRADIUS

Откройте файл /etc/freeradius/3.0/radiusd.conf, который управляет основной конфигурацией сервера. В нем можно настроить пути к журналам, параметры безопасности и другие важные элементы. Обратите внимание на строки, такие как logdir, pidfile, user и group, которые определяют пути и права для работы сервера. Если необходимо изменить пользовательские и групповые права для работы службы, отредактируйте эти параметры в соответствии с требованиями системы.

Для настройки источников аутентификации откройте файл /etc/freeradius/3.0/clients.conf, где добавляются клиенты, которые будут взаимодействовать с сервером. Здесь задаются IP-адреса и секреты клиентов, а также доступ к серверу. Пример записи для клиента:


client example {
ipaddr = 192.168.1.100
secret = testing123
require_message_authenticator = yes
}

Для указания источника пользователей (например, через базу данных, LDAP или файлы) редактируется файл /etc/freeradius/3.0/users. В этом файле прописываются учетные записи с параметрами авторизации. Например, для добавления пользователя с именем testuser можно использовать следующий шаблон:


testuser Cleartext-Password := "password"

Для подключения к базе данных откройте файл /etc/freeradius/3.0/mods-available/sql и активируйте модуль, установив параметр sql в файле /etc/freeradius/3.0/sites-available/default. Для этого убедитесь, что в конфигурации присутствует строка:


sql {
driver = "rlm_sql_mysql"
server = "localhost"
login = "radius"
password = "password"
radius_db = "radiusdb"
}

Для подключения к LDAP необходимо отредактировать файл /etc/freeradius/3.0/mods-available/ldap, указав параметры сервера, пользователя и пароль для аутентификации. Пример:


ldap {
server = "ldap://localhost"
identity = "cn=admin,dc=example,dc=com"
password = "password"
base_dn = "dc=example,dc=com"
}

Не забывайте про настройку логирования. Откройте файл /etc/freeradius/3.0/radiusd.conf и убедитесь, что параметры логирования (например, auth_log, accounting_log) правильно настроены для вашего окружения. Пример:


log {
destination = files
file = /var/log/freeradius/radius.log
level = info
}

После внесения всех изменений необходимо активировать модули, создав символические ссылки в каталоге /etc/freeradius/3.0/mods-enabled/ для каждого модуля, который был настроен в /etc/freeradius/3.0/mods-available/. Это можно сделать с помощью команды:

Читайте также:  Установка платформы для ведения блогов Ghost на сервере с операционной системой Ubuntu 22.04 или 20.04


ln -s /etc/freeradius/3.0/mods-available/sql /etc/freeradius/3.0/mods-enabled/
ln -s /etc/freeradius/3.0/mods-available/ldap /etc/freeradius/3.0/mods-enabled/

Перезапустите службу, чтобы изменения вступили в силу:


systemctl restart freeradius

Для контроля за работой сервера используйте команды radiusd -X для запуска в режиме отладки и journalctl -u freeradius для просмотра логов.

Примерные пути к конфигурационным файлам в различных системах:

ОС Путь к файлу
Debian, Ubuntu /etc/freeradius/3.0/
CentOS, RHEL /etc/raddb/
Arch Linux /etc/freeradius/

Интеграция с LDAP и базами данных для аутентификации пользователей

Для аутентификации через LDAP в FreeRADIUS необходимо использовать модуль rlm_ldap. В случае работы с MySQL или PostgreSQL для хранения учетных данных пользователей, используйте модули rlm_sql и соответствующие настройки для подключения к базе данных.

Конфигурация подключения к LDAP

Редактируйте файл /etc/raddb/modules/ldap. В нем нужно указать параметры подключения к серверу LDAP:


ldap {
server = "ldap://192.168.1.100"
identity = "cn=admin,dc=example,dc=com"
password = "password"
base_dn = "dc=example,dc=com"
filter = "(uid=%{Stripped-User-Name})"
start_tls = no
tls_cacertfile = /etc/ssl/certs/ca-certificates.crt
tls_certfile = /etc/ssl/certs/radius-client.crt
tls_keyfile = /etc/ssl/private/radius-client.key
}

Параметры:

  • server – адрес LDAP-сервера.
  • identity – учетные данные для подключения к серверу LDAP.
  • password – пароль для подключения.
  • base_dn – базовый DN для поиска пользователей.
  • filter – фильтр для поиска соответствующего пользователя по имени.

Конфигурация подключения к базе данных

Для работы с базой данных нужно настроить модуль rlm_sql. Пример для MySQL:


sql {
driver = "mysql"
server = "localhost"
login = "radius"
password = "radius_password"
radius_db = "radiusdb"
read_clients = yes
auth_check_query = "SELECT id, username, password FROM radcheck WHERE username='%{SQL-User-Name}'"
auth_pass_query = "SELECT id, username FROM radreply WHERE username='%{SQL-User-Name}'"
}

Параметры подключения:

  • driver – указывает драйвер для базы данных (например, mysql или postgres).
  • server – хост базы данных.
  • login – имя пользователя базы данных.
  • password – пароль для базы данных.
  • radius_db – имя базы данных.

Проверка аутентификации

После настройки LDAP или базы данных, проверьте работу аутентификации с помощью команды:


radiusd -X

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

Читайте также:  Подключение сетевой папки через графическую оболочку Astra Linux Common Edition

Пример структуры базы данных для аутентификации

Пример таблицы для базы данных MySQL:


CREATE TABLE radcheck (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(64) NOT NULL,
attribute VARCHAR(32) NOT NULL,
op CHAR(2) NOT NULL,
value VARCHAR(253) NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE radreply (
id INT NOT NULL AUTO_INCREMENT,
username VARCHAR(64) NOT NULL,
attribute VARCHAR(32) NOT NULL,
op CHAR(2) NOT NULL,
value VARCHAR(253) NOT NULL,
PRIMARY KEY (id)
);

Таблицы radcheck и radreply содержат данные для аутентификации и авторизации пользователей. radcheck используется для проверки пароля, а radreply для добавления атрибутов к сессии.

Типичные ошибки и способы их устранения

  • Ошибка подключения к LDAP: Проверьте правильность указанных данных для подключения, включая сервер, DN и пароль.
  • Ошибки SQL-запросов: Убедитесь, что запросы в конфигурации правильно соответствуют структуре вашей базы данных.
  • Ошибка в аутентификации: Используйте режим отладки radiusd -X для получения подробной информации о проблемах.

Тестирование и диагностика работы FreeRADIUS в Ред ОС

Для проверки корректности работы сервера необходимо выполнить несколько проверок с помощью стандартных инструментов и логов системы.

Для начала убедитесь, что служба работает. Используйте команду:

systemctl status radiusd

Если статус «active (running)», значит сервис работает нормально. В случае ошибки можно перезапустить сервер командой:

systemctl restart radiusd

Для диагностики сбоев стоит обратиться к логам. Просматривайте логи с помощью команды:

journalctl -u radiusd

Или читайте логи из директории:

tail -f /var/log/radius/radius.log

Для проверки конфигурации можно воспользоваться командой:

radiusd -X

Чтобы тестировать аутентификацию, используйте команду radtest. Например, для проверки пользователя:

radtest user password 127.0.0.1 0 testing123

Здесь «user» – имя пользователя, «password» – его пароль, 127.0.0.1 – адрес сервера, 0 – порт, «testing123» – секрет для общения с сервером.

В случае необходимости тестирования внешних источников, таких как LDAP или SQL, проверьте подключение к базе данных с помощью соответствующих утилит, например, командой для проверки соединения с MySQL:

mysql -u radius -p -h localhost

Для диагностики работы с клиентами можно использовать утилиту radiusd с флагом -X, что позволит отследить запросы и ответы, а также ошибки на каждом этапе аутентификации.

Команда Описание
systemctl status radiusd Проверка статуса службы сервера
journalctl -u radiusd Просмотр логов сервера
radiusd -X Запуск в режиме отладки
radtest Тестирование аутентификации
mysql -u radius -p -h localhost Проверка соединения с базой данных

Видео по теме статьи [Установка и настройка FreeRADIUS на Ред ОС шаг за шагом]

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *