В этом уроке мы покажем вам, как установить FreeRADIUS в Ubuntu 24.04 LTS. FreeRADIUS — это мощный сервер RADIUS с открытым исходным кодом, который предоставляет надежные службы аутентификации, авторизации и учета (AAA). Он широко используется в различных сетевых средах, от малого бизнеса до крупных предприятий, для обеспечения безопасного доступа к сетевым ресурсам.

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы умеете использовать оболочку и, самое главное, размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете под учетной записью root, в противном случае вам может потребоваться добавить ‘sudo‘ к командам для получения root-прав. Я покажу вам пошаговую установку FreeRADIUS на Ubuntu 24.04 (Noble Numbat). Вы можете следовать тем же инструкциям для Ubuntu 22.04 и любого другого дистрибутива на основе Debian, такого как Linux Mint, Elementary OS, Pop!_OS и других.

Предварительные условия

  • Сервер под управлением одной из следующих операционных систем: Ubuntu и любого другого дистрибутива на основе Debian, например Linux Mint.
  • Рекомендуется использовать новую установку ОС, чтобы предотвратить любые потенциальные проблемы.
  • Доступ к серверу по SSH (или просто откройте терминал, если вы находитесь на рабочем столе).
  • Активное подключение к Интернету. Вам понадобится подключение к Интернету, чтобы загрузить необходимые пакеты и зависимости.
  • Система Ubuntu 24.04 с root-доступом или пользователь с привилегиями sudo.

Установите FreeRADIUS на Ubuntu 24.04 LTS Noble Numbat

Шаг 1. Обновление репозитория пакетов.

Чтобы обеспечить плавный процесс установки, крайне важно обновить системные пакеты до последних версий. Откройте терминал и выполните следующие команды:

sudo apt update
sudo apt upgrade

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

Шаг 2. Установка зависимостей.

Для правильной работы FreeRADIUS требуется несколько зависимостей. Чтобы установить эти зависимости, выполните следующую команду:

sudo apt install build-essential libssl-dev libpam0g-dev libtool autoconf

Шаг 3. Установка FreeRADIUS в Ubuntu 24.04.

Теперь, когда зависимости установлены, вы можете приступить к установке FreeRADIUS. Менеджер пакетов Ubuntu предоставляет удобный способ установки FreeRADIUS:

sudo apt install freeradius

Эта команда загрузит и установит последнюю стабильную версию FreeRADIUS вместе со всеми дополнительными необходимыми пакетами.

Альтернативно, если вам нужен больший контроль над процессом установки или вы хотите использовать определенную версию FreeRADIUS, вы можете собрать его из исходников:

wget https://github.com/FreeRADIUS/freeradius-server/releases/download/release_3_2_4/freeradius-server-3.2.4.tar.gz
tar -xvf freeradius-server-3.2.4.tar.gz
cd freeradius-server-3.2.4

Настройте и скомпилируйте FreeRADIUS:

./configure
make
sudo make install

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

После завершения установки запустите службу FreeRADIUS и включите ее автоматический запуск при запуске системы:

sudo systemctl start freeradius
sudo systemctl enable freeradius

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

sudo systemctl status freeradius

Если служба активна и работает, в отчете о состоянии вы увидите вывод, аналогичный «Активен: активен (работает)».

Шаг 4. Базовая конфигурация.

FreeRADIUS поставляется с конфигурацией по умолчанию, которая хорошо подходит для большинства установок. Основные файлы конфигурации находятся в папке /etc/freeradius/3.0/ каталог.

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

listen {
  ipaddr = 127.0.0.1
  port = 1812
}

modules {
  pap {
    # PAP authentication settings
  }
}

logging {
  auth_log = /var/log/freeradius/radius.log
}

В разделе прослушивания вы можете указать IP-адреса и порты, на которых FreeRADIUS должен прослушивать входящие запросы. Раздел модулей позволяет настроить различные методы аутентификации, такие как PAP, CHAP или EAP. Раздел журналирования позволяет вам определить, где FreeRADIUS должен хранить свои файлы журналов.

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

Не забудьте перезапустить службу FreeRADIUS после внесения любых изменений в файлы конфигурации:

sudo systemctl restart freeradius

Шаг 5. Настройте клиентов.

Чтобы разрешить сетевым устройствам взаимодействовать с вашим сервером FreeRADIUS, вам необходимо настроить их в качестве клиентов. Конфигурация клиента хранится в файле client.conf.

Откройте файл в текстовом редакторе:

sudo nano /etc/freeradius/3.0/clients.conf

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

client your_network_device {
ipaddr = 192.168.1.1
secret = your_secret_password
require_message_authenticator = no
nastype = other
}

Заменять your_network_device с описательным именем для клиента, ipaddr с IP-адресом сетевого устройства и your_secret_password с надежным уникальным паролем, который будет использоваться для безопасной связи между клиентом и сервером FreeRADIUS.

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

Шаг 6. Управление пользователями.

FreeRADIUS хранит информацию о пользователе в файле пользователей, расположенном в папке /etc/freeradius/3.0/ каталог. Этот файл содержит записи пользователей, которые определяют учетные данные аутентификации и параметры авторизации для каждого пользователя.

Чтобы добавить нового пользователя, откройте файл пользователей в текстовом редакторе:

sudo nano /etc/freeradius/3.0/users

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

username Cleartext-Password := "password"

Замените имя пользователя фактическим именем пользователя и пароль паролем пользователя. Вы также можете указать дополнительные атрибуты для пользователя, такие как время ожидания сеанса, назначение VLAN или ограничения пропускной способности.

Вот пример записи пользователя с дополнительными атрибутами:

meilana Cleartext-Password := "secretpassword"
Session-Timeout := 3600,
Tunnel-Type = VLAN,
Tunnel-Medium-Type = IEEE-802,
Tunnel-Private-Group-Id = 10

В этом примере пользователь «meilana» имеет тайм-аут сеанса 3600 секунд (1 час) и ему назначена VLAN 10.

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

Шаг 7. Тестирование установки.

Чтобы убедиться, что ваша установка FreeRADIUS работает правильно, вы можете протестировать ее с помощью утилиты radtest, которая входит в состав пакета FreeRADIUS.

Сначала запустите FreeRADIUS в режиме отладки, чтобы увидеть подробный результат:

sudo freeradius -X

Эта команда запустит FreeRADIUS на переднем плане и отобразит сообщения отладки, которые помогут вам выявить любые проблемы или неправильные настройки.

В другом окне терминала используйте radtest чтобы отправить тестовый запрос аутентификации:

radtest username password localhost 0 testing123

Заменять username и пароль с учетными данными пользователя, настроенными в файле пользователей. Параметр localhost указывает адрес сервера, 0 представляет номер порта (по умолчанию 1812), а testing123 — это общий секрет для локального тестового клиента.

Если тест пройден успешно, вы должны увидеть сообщение «Доступ-Принять», указывающее, что аутентификация пользователя прошла успешно. Если вы обнаружите какие-либо ошибки, просмотрите выходные данные отладки в окне терминала FreeRADIUS, чтобы выявить и устранить проблемы.