Radius server ��������� linux

Radius server для Linux

MultiFactor Radius Adapter — программный компонент, RADIUS сервер для Linux.

Компонент доступен вместе с исходным кодом, распространяется бесплатно. Актуальная версия находится на GitHub: код и сборка.

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

Требования для установки компонента

  • Компонент устанавливается на Linux сервер, протестирован на CentOS, Ubuntu, Debian, Astra Linux;
  • Минимальные требования для сервера: 1 CPU, 2 GB RAM, 8 GB HDD (обеспечивают работу ОС и адаптера для 100 одновременных подключений — примерно 1500 пользователей);
  • На сервере должен быть открыт порт 1812 (UDP) для приема запросов от Radius клиентов;
  • Серверу с установленным компонентом необходим доступ к хосту api.multifactor.ru по TCP порту 443 (TLS) напрямую или через HTTP proxy;
  • Для взаимодействия с Active Directory, компоненту нужен доступ к серверу домена по TCP порту 389 (схема LDAP) или 636 (схема LDAPS);
  • Для взаимодействия с Network Policy Server, компоненту нужен доступ к NPS по UDP порту 1812.

Компонент использует среду выполнения ASP.NET Core runtime версии 3.1, которая является бесплатной, открытой, разрабатывается компанией Microsoft и Open-Source сообществом. Среда выполнения не накладывает никаких ограничений на использование.

Для установки выполните команды:

Инструкция применима к Astra Linux Common Edition (релиз Орёл) и Special Edition (релиз Смоленск) с выключенным режимом замкнутой программной среды (ЗПС). https://wiki.astralinux.ru/pages/viewpage.action?pageId=41192241#id-Смоленск1.6:УстановкаMS.NetCoreиMSVisualStudioCode-Загрузкаиустановкапакетов.NetCore

Инструкция применима к Astra Linux Special Edition (релиз Смоленск) в режиме замкнутой программной среды (ЗПС).

Создайте папку, скачайте и распакуйте актуальную версию компонента из GitHub:

Создайте системного пользователя mfa и дайте ему права на приложение:

Параметры работы компонента хранятся в файле /opt/multifactor/radius/multifactor-radius-adapter.dll.config в формате XML.

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

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

При включении параметра use-active-directory-user-phone компонент будет использовать телефон, записанный на вкладке General. Формат телефона может быть любым.

При включении параметра use-active-directory-mobile-user-phone компонент будет использовать телефон, записанный на вкладке Telephones в поле Mobile. Формат телефона также может быть любым.

Параметры подключения к внешнему RADIUS серверу

Для проверки первого фактора в RADIUS, например, в Network Policy Server применимы следующие параметры:

Дополнительные RADIUS атрибуты

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

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

Статус можно проверить командой:

Журналы работы компонента находятся в папке /opt/multifactor/radius/logs , а также в системном журнале.

При размещении компонета в кластерной конфигурации придерживайтесь схемы Active/Passive или выбирайте вариант, при котором повторный запрос с клиента будет обрабатываться тем же сервером.

Для наилучшей работы с nginx или HAProxy также укажите в настройках прокси-сервера заголовок proxy_protocol.

Дополнительная информация про Active Directory

  • Linux версия адаптера пока не умеет работать с несколькими доменами, между которыми установлено доверие.
  • Для работы с Active Directory используется простая проверка подлинности пароля пользователя. Настоятельно рекомендуем использовать схему LDAPS для шифрования трафика между адаптером и доменом (на сервере AD должен быть установлен сертификат, в т.ч. самоподписанный).

Удаление .NET Core

Для просмотра списка установленных на вашей машине версий SDK и сред выполнения .NET Core используйте команду:

Источник

Установка сервера 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, можно запустить сервис в режиме отладки. Для этого останавливаем работу службы:

Источник

Установка и настройка 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 измените строку

Источник

Fast, feature-rich, modular, and scalable.

Get started with the world’s most widely deployed RADIUS server:

Version <> has been released.

Welcome to the FreeRADIUS project, the open source implementation of RADIUS, an IETF protocol for AAA (Authorisation, Authentication, and Accounting).

The FreeRADIUS project maintains the following components: a multi protocol policy server (radiusd) that implements RADIUS, DHCP, BFD, and ARP; a BSD licensed RADIUS client library; a RADIUS PAM library; and an Apache RADIUS module.

We provide a step-by-step guide to radiusd -X . The guide breaks down the different pieces of the debug output, and explains what they mean. Often you can just look for ERROR or WARNING to solve many problems.

FreeRADIUS is responsible for authenticating one third of all users on the Internet.

Get involved with The FreeRADIUS Server Project

Our comprehensive support for protocols, data stores, directories, databases, and language integrations would not be possible without contributions from the community. Open your favourite editor and help us make FreeRADIUS better!

Develop new modules

API documentation, C code examples, and anything else you need to get up-to-speed and writing modules for FreeRADIUS.

Submit new modules

Developed your own module? Great! Submit your code back to the project and have it maintained by the community.

Found an issue? We accept patches for everything, from code, to documentation, and even to this website!

Connect with us

Feel free to reach out; we’re always happy to receive your feedback.

Источник

Читайте также:  Как включить точку восстановления windows 10 при загрузке
Оцените статью