RADIUS - это протокол AAA (аутентификация, авторизация и учет), который помогает контролировать доступ к сети. Другими словами, протокол RADIUS используется для управления соединением между сервером сетевого доступа (NAS) и сервером аутентификации.
Соединение между двумя сторонами (NAC-NAS или NAS-Authentication server) инициируется после успешного согласования на сетевом уровне путем обмена пакетами, содержащими необходимую информацию, такую как идентификация NAS, номер порта аутентификации и т.д. Проще говоря, можно сказать, что протокол RADIUS используется для управления доступом к сети.
Простыми словами можно сказать, что RADIUS предоставляет информацию об аутентификации, авторизации и учетной записи от сервера аутентификации к устройству, запрашивающему доступ.
Что такое сервер freeRADIUS?
FreeRADIUS поддерживает все эти три функции протокола AAA - аутентификацию, авторизацию и учет. Для того чтобы контролировать, к какому типу сети можно подключиться, FreeRADIUS использует различные модули. Например, если NAS является маршрутизатором, то он не может обеспечить аутентификацию пользователя, то есть в этом случае только авторизация выполняется модулем (модулями) PPP или PPTP клиента, а остальные шаги выполняются другими модулями.
FreeRADIUS также обеспечивает поддержку всех важных баз данных, используемых для учетных записей, пользователей и т.д., включая MariaDB/MySQL, PostgreSQL, Microsoft SQL Server, Oracle Database и т.д.
Что такое daloRADIUS?
daloRADIUS - это продвинутый веб-интерфейс, обеспечивающий полное управление пользователями с использованием новейших функций, таких как автоматизация, как для конечных пользователей, так и для системных администраторов. Он упрощает повседневное управление вашей установкой FreeRADIUS.
daloRADIUS можно использовать для настройки параметров системы/ NAS, создания новых учетных записей пользователей и управления NAS. Это единственный интерфейс, который обеспечивает полное управление пользователями как для конечных пользователей, так и для администраторов.
Почему именно daloRADIUS?
Это современный веб-интерфейс для сервера FreeRADIUS с новейшими функциями, такими как автоматизация для конечных пользователей и администраторов, все из одного места. Это облегчает сетевым администраторам управление сетью с любого устройства, имеющего доступ к интернету, а конечным пользователям дает возможность управлять своими учетными данными и предпочтениями подключения.
В этом руководстве вы научитесь устанавливать FreeRADIUS в Ubuntu и использовать daloRADIUS в качестве веб-интерфейса.
Установка FreeRADIUS и Daloradius в Ubuntu
Обновление системы
Подключитесь к серверу от имени пользователя root через SSH и обновите все пакеты системы, выполнив следующую команду:
1 | sudo apt-get update |
1 | sudo apt-get upgrade -y |
После того как ваш сервер обновится, вы можете перейти к следующему шагу.
Установка веб-сервера Apache
Установите веб-сервер apache и необходимые модули, выполнив следующую команду:
1 | sudo apt install apache2 -y |
После завершения установки запустите службу Apache и включите ее запуск при загрузке системы:
1 2 | sudo systemctl start apache2 sudo systemctl enable apache2 |
Чтобы проверить внешний доступ к Apache, используйте ваш веб-браузер для доступа к странице Apache по умолчанию, зайдя на http://your-server-ip в отдельной вкладке.
Установка сервера базы данных MariaDB для FreeRADIUS
MariaDB - это система управления базами данных с открытым исходным кодом, которая будет использоваться в качестве внутреннего хранилища для FreeRADIUS. В этом руководстве freeRADIUS будет использовать MariaDB для хранения учетных записей пользователей, настроек и т.д.
Установите сервер MariaDB, выполнив следующую команду:
1 | sudo apt install software-properties-common mariadb-server mariadb-client -y |
После завершения установки запустите службу MariaDB и включите ее запуск при загрузке системы:
1 2 | sudo systemctl start mysql sudo systemctl enable mysql |
Для защиты установки MariaDB вы можете запустить скрипт mysql_secure_installation, приведенный ниже, указав при запросе пароль root. Это удалит анонимные учетные записи пользователей, запретит удаленные входы root, запретит нулевые пароли и т.д. Рекомендуется настроить это заранее, чтобы фундамент безопасности был прочным для любых будущих развертываний.
1 | sudo mysql_secure_installation |
Ответьте на все вопросы, как показано ниже:
1 2 3 4 5 6 7 | Enter current password for root (enter for none): <strong>Enter</strong> Switch to unix_socket authentication [Y/n] <strong>Y</strong> Set root password? [Y/n]: <strong>N</strong> Remove anonymous users? [Y/n]: <strong>Y</strong> Disallow root login remotely? [Y/n]: <strong>Y</strong> Remove test database and access to it? [Y/n]: <strong>Y</strong> Reload privilege tables now? [Y/n]: <strong>Y</strong> |
Вы можете проверить состояние сервера MariaDB, выполнив следующую команду:
1 | sudo systemctl status mariadb |
Установка PHP 8 для FreeRADIUS
Нам необходимо установить PHP 8, который требуется для веб-интерфейса daloRADIUS. Нам потребуется добавить сторонний PPA, чтобы получить последнюю версию PHP.
1 | sudo add-apt-repository ppa:ondrej/php |
Обновите репозитории, выполнив следующую команду:
1 | sudo apt update |
После добавления PPA вы можете установить PHP 8 и другие необходимые модули, выполнив следующую команду:
1 | sudo apt install php8.0 libapache2-mod-php8.0 |
1 | sudo apt install php8.0-gd php-mail php-mail-mime php8.0-mysql php-pear php-db php8.0-mbstring php8.0-xml php8.0-curl |
Проверьте версию PHP и убедитесь в правильности установки, выполнив следующую команду:
1 | php -v |
Перезапустите Apache после завершения установки
1 | sudo systemctl restart apache2 |
Установка FreeRADIUS
Теперь, когда все предварительные условия выполнены, вы можете приступить к установке FreeRADIUS. По умолчанию пакет FreeRADIUS доступен в репозиториях, вы можете показать версии freeradius, доступные в вашем Ubuntu, выполнив следующую команду:
1 | sudo apt policy freeradius |
Вы получите результат, аналогичный приведенному ниже
Вы можете установить сервер FreeRADIUS, выполнив следующую команду:
1 | sudo apt-get install freeradius freeradius-mysql freeradius-utils -y |
Чтобы быстро проверить работоспособность FreeRADIUS, мы запустим FreeRADIUS в режиме отладки.
Чтобы запустить freeRADIUS в режиме отладки, выполните следующую команду:
1 | sudo systemctl stop freeradius |
1 | sudo freeradius -X |
Вывод должен выглядеть примерно так:
Вы можете увидеть строку "Ready to process requests" внизу, что свидетельствует об успешной установке FreeRADIUS.
Создание базы данных для FreeRADIUS
Теперь, когда FreeRADIUS запущен, давайте создадим базу данных для FreeRADIUS. Для этого мы воспользуемся консолью MariaDB.
Чтобы получить доступ к консоли MariaDB, выполните следующую команду:
1 | sudo mysql -u root -p |
Нажмите Enter, когда появится запрос на аутентификацию на сервере MariaDB.
Выполните следующую команду для создания базы данных freeRADIUS:
1 | CREATE DATABASE radius; |
Предоставьте права на новую созданную базу данных, выполнив следующий запрос, замените $trongp@ss своим паролем.
1 | GRANT ALL ON radius.* to radius@localhost IDENTIFIED BY "$trongp@ss"; |
Перезагрузите привилегии и выйдите из консоли MariaDB, выполнив следующую команду:
1 | FLUSH PRIVILEGES; |
1 | quit; |
После создания базы данных необходимо импортировать предварительно созданную схему базы данных, которая включает таблицы FreeRADIUS MySQL.
1 | sudo mkdir -p /var/www/html/daloradius/daloradius-master/library |
Теперь необходимо изменить файл daloradius.conf для настройки базы данных MySQL следующим образом:
1 | sudo nano /var/www/html/daloradius/daloradius-master/library/daloradius.conf.php |
Настройте doloradius
1 2 3 4 5 6 7 | <?php $configValues['CONFIG_DB_HOST'] = 'localhost'; $configValues['CONFIG_DB_PORT'] = '3306'; $configValues['CONFIG_DB_USER'] = 'root'; $configValues['CONFIG_DB_PASS'] = '$trongp@ss'; $configValues['CONFIG_DB_NAME'] = 'radius'; $configValues['CONFIG_LANG'] = 'en'; |
Перезапустите службу FreeRADIUS с помощью следующей команды:
1 | sudo systemctl restart freeradius |
Установка веб-интерфейса daloRADIUS
Мы установим веб-интерфейс daloRADIUS, чтобы настроить сервер FreeRADIUS с помощью браузера. Выполните следующую команду для загрузки daloRADIUS из репозитория Github
1 | wget https://github.com/lirantal/daloradius/archive/master.zip |
После завершения загрузки распакуйте архив.
1 | unzip master.zip |
Переместите извлеченную папку в корневой каталог вашего сайта.
1 | sudo mv daloradius-master /var/www/html/daloradius |
Импортируйте предварительно созданную схему базы данных в созданную выше базу данных FreeRADIUS
1 2 | sudo mysql -u root -p radius< /var/www/html/daloradius/daloradius-master/contrib/db/fr2-mysql-daloradius-and-freeradius.sql sudo mysql -u root -p radius< /var/www/html/daloradius/daloradius-master/contrib/db/mysql-daloradius.sql |
Затем установите правильные разрешения для конфигурационного файла daloradius и измените разрешения каталога установки daloradius.
1 | sudo chown -R www-data:www-data /var/www/html/daloradius |
1 | sudo chmod -R 755 /var/www/html/daloradius |
1 | sudo chmod 664 /var/www/html/daloradius/daloradius-master/library/daloradius.conf.php |
Теперь вы должны изменить файл daloradius.conf с предпочтительными настройками конфигурации, прежде чем получить доступ к веб-интерфейсу daloRADIUS через браузер.
1 | sudo nano /var/www/html/daloradius/daloradius-master/library/daloradius.conf.php |
Перезапустите службу FreeRADIUS с помощью следующей команды:
1 | sudo systemctl restart freeradius |
Перезапустите Apache
1 | sudo systemctl restart apache2 |
Доступ к веб-интерфейсу daloRADIUS
Чтобы получить доступ к веб-интерфейсу daloradius, откройте http://[ip-address]/daloradius/login.php в вашем браузере. Вам будет предложено ввести имя пользователя и пароль. Имя пользователя по умолчанию - администратор, пароль по умолчанию - radius.
Войдя в веб-интерфейс daloradius, вы можете начать добавлять пользователей, виртуальные серверы RADIUS, типы EAP и т.д. Вы также можете создавать новых пользователей и группы, которые будут использоваться для аутентификации пользователей с помощью типов EAP аутентификации, доступных в FreeRADIUS.
Заключение
В этом руководстве мы узнали, как установить FreeRADIUS с помощью веб-интерфейса daloRADIUS на сервер Ubuntu. Далее мы узнали, как импортировать предварительно созданную схему базы данных. Хотя это руководство было написано для сервера Ubuntu, оно должно работать и на других дистрибутивах Ubuntu или Debian с небольшими изменениями.