- Как установить FreeRADIUS на Ubuntu
- Установите FreeRADIUS на Ubuntu
- Установка и настройка Radius сервера на Ubuntu с веб интерфейсом Daloradius
- Установка пакетов
- Настройки MySQL
- Настройка конфигов
- Тест RADIUS-сервера
- Установка веб интерфейс DaloRadius
- Настройка Freeradius в связке с FreeIPA на Rocky Linux
- Подготовка сервера
- 1. Время
- 2. Firewalld
- 3. SELinux
- 4. Имя сервера
- Установка и настройка Freeradius
- Freeradius + FreeIPA
- Подготовка LDAP
- Настройка Freeradius
- Установка сервера Freeradius на Linux CentOS 8
- Подготовка сервера
- 1. Firewalld
- 2. SELinux
- Установка и настройка Freeradius
- Запрос с другого узла
- Хранение записей в MariaDB
- Установка и настройка СУБД
- PHP и PHP-FPM
- Установка daloRADIUS
- Лог ошибок и запросов
Как установить FreeRADIUS на Ubuntu
Следующая статья покажет вам, как установить и настроить сервер FreeRADIUS поверх хоста Ubuntu. RADIUS используется в качестве сервера аутентификации для пользователей, которые подключаются и используют определенную сетевую службу, такую как VPN.
RADIUS — это сетевой протокол, который обеспечивает аутентификацию, авторизацию и учет (AAA). Это означает, что сервер RADIUS может аутентифицировать пользователей (Аутентификация), может блокировать доступ пользователей к определенным ресурсам (Авторизация) и может регистрировать все попытки входа в систему и хранить базу данных пользователей (Учет).
Установите FreeRADIUS на Ubuntu
Перво-наперво, войдя на хост Ubuntu, мы можем установить Freeradius с помощью команды apt-get install:
Как только установка будет завершена, давайте проверим, что она действительно была установлена, выполнив следующую команду:
После этого давайте запустим быструю проверку конфигурации:
Теперь, когда он установлен и работает, мы рассмотрим конфигурацию и внесем необходимые изменения.
Файл конфигурации для Freeradius находится в / etc / freeradius , поэтому давайте изменим наш каталог на это и продолжим:
Давайте увеличим значение по умолчанию для максимального количества запросов с 1024 до 2048, если мы планируем подключить более пяти клиентов одновременно:
Далее нам нужно убедиться, что $ INCLUDE clients.conf появляется в файле конфигурации. Вы можете поместить его в любую строку без комментариев в файле конфигурации. Файл clients.conf в основном содержит список всех сервисов, которые позволят этому серверу аутентифицировать пользователей.
Следующим шагом является добавление клиентов (устройств, которые будут использовать этот сервер RADIUS для аутентификации пользователей):
Мы создали нового клиента с именем OOB, а затем поместили его в базовую конфигурацию, которая включает IP-адрес клиента и секретный пароль, который используется для защиты связи между сервером RADIUS и клиентским устройством.
Теперь, когда мы закончили с этой частью, мы начнем добавлять пользователей. Мы делаем это путем редактирования файла пользователя:
Затем мы добавляем следующую строку:
Sabrin — это имя пользователя, за которым следует тип пароля, который мы хотим, и сам пароль.
Как только это будет сделано, мы запускаем сервер FreeRADIUS, используя следующую команду:
Это оно! Теперь вам просто нужно настроить ваше устройство на сервере Freeradius, и все готово! Enoy!
Источник
Установка и настройка Radius сервера на Ubuntu с веб интерфейсом Daloradius
Здесь будет рассмотрено как установить Radius-сервер FreeRadius с веб интерфейсом Daloradius
Установка пакетов
1. Перед установкой обновляем все пакеты в системе
2. Установим Apache2 и PHP
Модули php5-gd php-pear php-db необходимы для работы веб интерфейса Daloradius
3. Устанавливаем Mysql сервер
4. Устанавливаем FreeRadius
5. Устанавливаем пакет freeradius-mysql
Настройки MySQL
1. Подключаемся к серверу Mysql
2. Далее создаем базу данных radius
3. Назначим полные права пользователю radius
4. Отключаемся от Mysql
5. Импортируем таблицы в базу данных radius
6. Для проверки добавим тестовые значения в таблицу radcheck
7. Теперь нужно добавить Radius клиентов в файл /etc/freeradius/clients.conf
Пример добавления:
Настройка конфигов
1.Открываем файл настроек Freeradius для MySQL
Расположение файла — /etc/freeradius/sql.conf
Редактируем строки до такого вида:
2.Далее открываем файл сайта Freeradius
Расположение файла — /etc/freeradius/sites-enabled/default
Приводим следующие строки к виду:
3.Далее правим основной конфигурационный файл Freeradius и включаем поддержку Mysql
Расположение файла — /etc/freeradius/radiusd.conf
Тест RADIUS-сервера
1. Откройте 2 ssh окна терминала.
В первом окне остановим сервис Freeradius
2. И запустим сервис в режиме debug
3. Теперь открываем второе окно терминала и вводим запрос
Если вывод команды такой:
То все в порядке.
Установка веб интерфейс DaloRadius
1. Скачиваем последнюю версию ПО
2. Распаковываем в текущий каталог
3. Переносим в папку /var/www/
4. Импортируем таблицы в базу данных radius
5. Далее правим конфиг веб интерфейса
Расположение файла — /var/www/daloradius/library/daloradius.conf.php
Редактируем строку $configValues[‘CONFIG_DB_PASS’] = »;
В нее вводим наш пароль к БД
Должно получится так :
Если хотите использовать пользователя отличного от root измените строку
Источник
Настройка Freeradius в связке с FreeIPA на Rocky Linux
Так как Rocky Linux реализован на базе CentOS, данная инструкция подойдет и для последнего. Предполагается, что у нас уже настроен FreeIPA, в противном случае, читаем также инструкцию Установка и использование FreeIPA на CentOS.
Подготовка сервера
Для корректной работы Freeradius с сервером LDAP необходимо настроить время, брандмауэр и отключить SELinux.
1. Время
Устанавливаем сервис для синхронизации времени и запускаем его:
yum install chrony
systemctl enable chronyd —now
Задаем часовой пояс:
timedatectl set-timezone Europe/Moscow
* в данном примере задается часовой пояс по московскому времени. Полный перечень вариантов можно посмотреть командой timedatectl list-timezones.
2. Firewalld
Создаем правило для разрешения сервиса radius (порты 1812 и 1813):
firewall-cmd —permanent —add-service=radius
3. SELinux
В нашей инструкции мы просто отключим SELinux
sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
* при желании настроить SELinux может оказаться полезной инструкция Настройка SELinux в CentOS.
4. Имя сервера
Задаем имя нашему серверу:
hostnamectl set-hostname freeradius.dmosk.ru
Установка и настройка Freeradius
Установим сам Freeradius и настроим его для аутентификации с использованием конфигурационного файла.
Установка выполняется командой:
dnf install freeradius freeradius-utils
* мы установим не только сам freeradius, но и утилиты для работы с ним.
Разрешим автозапуск сервиса и запустим его:
systemctl enable radiusd
systemctl start radiusd
. и в самый низ добавляем:
test Cleartext-Password := «test123»
* мы создали пользователя test с паролем test123.
Перечитываем конфиг radius:
systemctl reload radiusd
Делаем тестовый запрос:
radtest test test123 localhost 1218 testing123
- test — учетная запись, которую мы проверяем.
- test123 — пароль от учетной записи test.
- localhost — сервер, к которому мы обращаемся (в нашем случае, локальный).
- 1218 — порт, на котором слушает запросы freeradius.
- testing123 — пароль для подключения клиентом к серверу radius. Данный пароль создается по умолчанию для локальных запросов.
Мы должны увидеть ответ на подобие:
.
Received Access-Accept Id 87 from 127.0.0.1:1812 to 127.0.0.1:56554 length 20
Access-Accept говорит нам о том, что пароль для пользователя test правильный. Сервер работает.
Freeradius + FreeIPA
Как говорилось выше, мы рассмотрим процесс аутентификации с LDAP на базе FreeIPA. Необходимо выполнить настройку как на стороне последнего, так и сервера RADIUS.
Подготовка LDAP
Все, что от нас требуется — создать отдельную учетную запись со стандартными правами. Это делается в веб-интерфейсе управления FreeIPA.
Переходим в раздел Идентификация — Пользователи:
Справа кликаем по Добавить:
Заполняем поля и сохраняем настройки.
После создания учетной записи необходимо войти под ней через веб-интерфейс и поменять пароль:
Готово. Переходим к настройкам Freeradius.
Настройка Freeradius
Устанавливаем дополнение к Freeradius для работы с ldap:
yum install freeradius-ldap
Активируем установленный модуль:
ln -s /etc/raddb/mods-available/ldap /etc/raddb/mods-enabled/ldap
Открываем на редактирование файл ldap:
Внесем некоторые настройки в конфигурацию:
server=»ldap://ipa01.dmosk.ru»
server=»ldap://ipa02.dmosk.ru»
.
#port=389
port=636
.
identity=»uid=freeradius,cn=users,cn=accounts,dc=dmosk,dc=ru»
password=freeradius135
.
base_dn=»cn=users,cn=accounts,dc=dmosk,dc=ru»
.
- server — перечисление наших серверов FreeIPA. Если их несколько, создаем несколько строчек.
- port — порт, на котором слушает наш LDAP. Как правило, это 389 или 636 с TLS.
- identity — путь до учетной записи пользователя, под которой мы будем подключаться к Freeradius. Это та учетная запись, которую мы создали по инструкции выше.
- password — пароль для учетной записи, которую мы используем в опции identity.
- base_dn — базовый путь в ldap для поиска объектов.
- в секции user проверяем, чтобы значения для двух параметров base_dn и filter были такие.
- start_tls — задаем, если используем TLS (порт 636). Иначе, оставляем закомментированным.
Теперь настроим Freeradius, чтобы он выполнял аутентификацию в LDAP.
Источник
Установка сервера Freeradius на Linux CentOS 8
Цель данной инструкции — показать пример развертывания и использования сервера аутентификации на базе протокола RADIUS с помощью Freeradius. Мы выполним его установку на CentOS 8 — в итоге мы получим:
- RADIUS-сервер на базе Freeradius 3.
- Хранение пользователей как в обычном файле, так и СУБД MariaDB/MySQL.
- Веб-интерфейс для управления записями.
В ходе работ мы выполним:
Подготовка сервера
Для корректной работы Freeradius необходимо настроить брандмауэр и отключить SELinux.
1. Firewalld
Создаем правило для разрешения сервиса radius (порты 1812 и 1813):
firewall-cmd —permanent —add-service=radius
2. SELinux
В нашей инструкции мы просто отключим SELinux
sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config
* при желании настроить SELinux может оказаться полезной инструкция Настройка SELinux в CentOS.
Установка и настройка Freeradius
Установка в CentOS выполняется командой:
dnf install freeradius freeradius-utils
* мы установим не только сам freeradius, но и утилиты для работы с ним.
Разрешим автозапуск сервиса и запустим его:
systemctl enable radiusd
systemctl start radiusd
. и в самый низ добавляем:
test Cleartext-Password := «test123»
* мы создали пользователя test с паролем test123.
Перечитываем конфиг radius:
systemctl reload radiusd
Делаем тестовый запрос:
radtest test test123 localhost 1218 testing123
- test — учетная запись, которую мы проверяем.
- test123 — пароль от учетной записи test.
- localhost — сервер, к которому мы обращаемся (в нашем случае, локальный).
- 1218 — порт, на котором слушает запросы freeradius.
- testing123 — пароль для подключения клиентом к серверу radius. Данный пароль создается по умолчанию для локальных запросов.
Мы должны увидеть ответ на подобие:
.
Received Access-Accept Id 87 from 127.0.0.1:1812 to 127.0.0.1:56554 length 20
Access-Accept говорит нам о том, что пароль для пользователя test правильный. Сервер работает.
Запрос с другого узла
Следующим этапом добавим возможность делать запросы к серверу RADIUS с другого узла сети. Предположим, что мы хотим отправить запрос на проверку с другого сервера Linux (Windows, Ubuntu или CentOS — не важно). Если мы попытаемся проверить данные для аутентификации командой:
radtest test test123 192.168.1.15 1218 testing123
* где 192.168.1.15 — IP-адрес сервера RADIUS.
. то мы не получим ответ. Для этого нужно добавить узел, с которого отправляются запросы к клиенты freeradius. Открываем на сервере файл:
client client1 <
ipaddr = 192.168.1.17
secret = password
>
* где client1 — произвольное название для клиента; ipaddr — его IP-адрес; secret — пароль для авторизации на freeradius.
Перезапускаем службу radiusd:
systemctl restart radiusd
Теперь можно выполнить запрос на удаленном узле командой:
radtest test test123 192.168.1.15 1218 password
Хранение записей в MariaDB
Использование базы данных в качестве хранилища логинов и паролей позволит управлять ими без необходимости перезапускать сервис. Но самое главное — дает возможность использовать различные графические панели управления.
Установка и настройка СУБД
Устанавливаем MariaDB и модуль mysql для Freeradius:
dnf install mariadb-server freeradius-mysql
Разрешаем автозапуск и запускаем MariaDB:
systemctl enable mariadb —now
Создаем пароль для учетной записи mysql-root:
mysqladmin -u root password
Заходим в оболочку mysql:
Создаем базу данных для freeradius:
> CREATE DATABASE radius DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
* данной командой мы создадим базу radius.
Создаем пользователя и даем ему права на созданную базу:
> GRANT ALL ON radius.* TO radius@localhost IDENTIFIED BY ‘radius123’;
* в данном примере мы создали пользователя radius, которому можно подключаться к СУБД с локального сервера; выдали права на любые действия с базой radius; в качестве пароля задали radius123.
Отключаемся от mysql:
Импортируем схему для базы данных:
mysql -u root -p radius — должна запуститься стартовая страница NGINX:
PHP и PHP-FPM
Устанавливаем php с компонентами:
dnf install php php-fpm php-mysqlnd php-gd php-xml php-mbstring
На момент написания инструкции, в репозитории CentOS 8 не было пакета php-pear-DB, который необходим для работы daloRADIUS. Для его установки загружаем пакет установки репозитория REMI:
rpm -Uvh remi-release*rpm
Теперь можно установить php-pear-DB:
dnf —enablerepo=remi install php-pear-DB
Создаем индексный файл в корневой директории nginx:
Снова запускаем браузер и переходим по адресу http:// — должна запуститься страница с информацией о PHP:
Установка daloRADIUS
Переходим на страницу последнего релиза daloRADIUS. Копируем ссылку на архив с порталом:
С помощью скопированной ссылки загружаем архив на сервере:
Создаем каталог в рутовой папке веб-сервера:
Распаковываем скачанный архив в созданную директорию :
tar zxvf 1.1-2.tar.gz -C /usr/share/nginx/html/daloradius —strip-components 1
Открываем конфигурационный файл daloradius:
Правим настройки для подключения к базе radius:
.
$configValues[‘CONFIG_DB_ENGINE’] = ‘mysqli’;
$configValues[‘CONFIG_DB_HOST’] = ‘localhost’;
$configValues[‘CONFIG_DB_PORT’] = ‘3306’;
$configValues[‘CONFIG_DB_USER’] = ‘radius’;
$configValues[‘CONFIG_DB_PASS’] = ‘radius123’;
$configValues[‘CONFIG_DB_NAME’] = ‘radius’;
.
* мне пришлось поменять значения для CONFIG_DB_USER и CONFIG_DB_PASS.
Вносим изменения в базу radius:
mysql -u root -p radius /daloradius — мы увидим страницу для входа в систему. Вводим пользователя administrator и пароль radius:
Лог ошибок и запросов
По умолчанию, Freeradius отправляет лог в файл radius.log — запустить непрерывный просмотр лога можно командой:
tail -f /var/log/radius/radius.log
Если нужен более детализированный отчет о ходе работы RADIUS, можно запустить сервис в режиме отладки. Для этого останавливаем работу службы:
Источник