FreeRADIUS відіграє важливу роль в управлінні службами AAA (Authentication, Authorization, and Accounting) для контролю доступу до мережі. Чи то підтримка корпоративних Wi-Fi під’єднань, чи то аутентифікація VPN-логінів, FreeRADIUS входить до числа найпопулярніших серверних рішень RADIUS із відкритим вихідним кодом. Його надійність, масштабованість і гнучкість роблять його найкращим вибором як для малих підприємств, так і для великих організацій. Rocky Linux 9, відома своєю стабільністю і готовністю до роботи на підприємствах, являє собою виняткову платформу для спокійної роботи FreeRADIUS.
RADIUS є найважливішим компонентом під час роботи з централізованими службами аутентифікації та авторизації. Згодом він виявився особливо корисним у середовищах, що вимагають стандартизації та безпеки управління користувачами. Використання FreeRADIUS у Rocky Linux 9 забезпечує доступ до оновлень і довгострокових поліпшень, що дуже важливо для збереження надійної безпеки та високої продуктивності. Системні адміністратори часто віддають перевагу рішенням із відкритим вихідним кодом, оскільки вони дають змогу налаштовувати систему й отримують підтримку від процвітаючих онлайн-спільнот. У цьому посібнику розглядається все, починаючи з попередніх вимог до системи і закінчуючи розширеними налаштуваннями, що забезпечує міцну основу для інфраструктури аутентифікації будь-якої організації.
Вступ
FreeRADIUS – це сервер RADIUS з відкритим вихідним кодом, призначений для виконання завдань аутентифікації, авторизації та обліку. Він високо цінується в мережевих колах і допомагає підприємствам централізувати облікові дані користувачів і пристроїв. Впровадивши FreeRADIUS у Rocky Linux 9, адміністратори можуть легше керувати безпекою мережі, даючи змогу використовувати багаторівневі методи автентифікації, як-от 802.1X, VPN і автентифікація на основі LDAP.
Rocky Linux 9, альтернатива CentOS, створена спільнотою, успадкувала сильний акцент на підтримку і надійність. Це середовище забезпечує стабільну основу для таких сервісів, як FreeRADIUS, гарантуючи мінімальний час простою і надійний захист даних. Сумісність із SELinux і функціями безпеки Rocky Linux ще більше підвищує надійність вашого розгортання AAA. Дотримуючись наведених нижче інструкцій, новачки у FreeRADIUS або системному адмініструванні зможуть створити гнучкий і безпечний сервер автентифікації відносно простим способом.
Попередні умови
Перед встановленням FreeRADIUS переконайтеся, що виконано всі необхідні умови, щоб уникнути перешкод під час налаштування:
- Сервер або віртуальна машина під управлінням Rocky Linux 9 з належним доступом до мережі.
- Привілеї Sudo або root-рівня для внесення загальносистемних змін.
- Базове розуміння командного рядка Linux, включно з редагуванням файлів і управлінням службами.
- Достатня кількість дискового простору і пам’яті для виконання операцій RADIUS, особливо за наявності великої бази даних користувачів.
- Необов’язково, але рекомендується: повне доменне ім’я (FQDN) для виробничих середовищ.
Підготовка системи
Підготовка системи допомагає забезпечити безперебійну роботу під час і після встановлення. Для початку оновіть наявні репозиторії пакетів до останніх версій. Актуальність пакетів підвищує безпеку та стабільність:
sudo dnf update -y
Далі налаштуйте важливі параметри, наприклад ім’я хоста, якщо ви ще не зробили цього. Встановлення описового імені хоста допомагає легко ідентифікувати сервер:
sudo hostnamectl set-hostname radius-server.example.com
Синхронізація системного годинника із сервером NTP, хоча й необов’язкова, допомагає підтримувати послідовність журналів і точні часові мітки. Цей крок можна виконати, встановивши та налаштувавши Chrony:
sudo dnf install chrony -y
sudo systemctl enable --now chronyd
Крім того, перевірте налаштування мережі, щоб гарантувати, що сервер може взаємодіяти з клієнтськими пристроями і будь-якими зовнішніми серверами баз даних, якщо ви плануєте використовувати MySQL або LDAP на більш пізньому етапі. Переконайтеся, що ваш брандмауер дозволяє вхідний трафік на необхідних UDP-портах (1812 для аутентифікації, 1813 для обліку за замовчуванням), що також буде важливо для наступних кроків.
Процес встановлення
Після налаштування середовища Rocky Linux 9 приступайте до встановлення FreeRADIUS і супутніх пакетів. Офіційні репозиторії надають простий спосіб почати роботу. Щоб встановити FreeRADIUS, використовуйте стандартний менеджер пакетів dnf:
sudo dnf install freeradius freeradius-utils -y
Ця команда зазвичай встановлює серверне програмне забезпечення, різні модулі та утиліти. Деякі дистрибутиви поділяють функціональні можливості на окремі пакети, тому незайвим буде перевірити, які компоненти вам дійсно потрібні. Наприклад, якщо вам потрібна підтримка MySQL або LDAP, переконайтеся, що ви встановили відповідні пакети:
sudo dnf install freeradius-mysql freeradius-ldap -y
Після встановлення увімкніть і запустіть службу FreeRADIUS:
sudo systemctl enable radiusd
sudo systemctl start radiusd
Переконайтеся, що служба запущена:
systemctl status radiusd
Якщо вона показує «active (running)», ви успішно встановили FreeRADIUS на сервер Rocky Linux 9. Якщо служба не запущена, підказку можуть дати журнали в /var/log/messages, /var/log/radius/ або виведення journalctl -u radiusd. На цьому попередньому етапі у вас є функціональний RADIUS-сервер, але настійно рекомендується виконати додаткові кроки з налаштування параметрів клієнта, політик безпеки і методів аутентифікації.
Базова конфігурація
Наступним кроком буде налаштування основних параметрів для забезпечення безпечної та коректної роботи. За замовчуванням файли конфігурації знаходяться в каталозі /etc/raddb. Розуміння цих каталогів дуже важливе для ефективного керування сервером.
Розуміння структури каталогів
У каталозі /etc/raddb ви знайдете такі файли, як radiusd.conf, clients.conf, а також підкаталоги mods-available, mods-enabled і sites-available. Файл radiusd.conf містить глобальні конфігурації, тоді як модулі або віртуальні хости вмикаються шляхом зв’язування їх із директорій «available» у директорії «enabled». Цей підхід схожий на те, як багато веб-серверів обробляють конфігурації сайтів.
Налаштування клієнтів
У файлі clients.conf вкажіть IP-адреси або діапазони мереж для пристроїв, які будуть запитувати аутентифікацію у сервера RADIUS. Для кожного клієнта вкажіть секрет, що розділяється між клієнтом і сервером:
client switch-01 {
ipaddr = 192.168.10.5
secret = VerySecretKey
require_message_authenticator = no
}
Замініть switch-01 і IP-адресу на значущі значення, що відповідають вашому середовищу. Для підвищення безпеки рекомендується використовувати випадковий і сильний секрет.
Редагування файлу Users
Файл users в /etc/raddb/ містить облікові записи користувачів, зіставлені з різними методами аутентифікації. Щоб створити користувача з ім’ям «testuser» і паролем «testpassword», додайте запис, подібний до такого:
testuser Cleartext-Password := «testpassword»
Це налаштування стосується найпростішого сценарію, коли облікові дані зберігаються в плоскому файлі. У наступних розділах буде розказано, як під’єднати FreeRADIUS до більш надійних систем зберігання даних, таких як MySQL або LDAP-каталоги.
Базові налаштування безпеки
Хоча для тестування може бути зручно використовувати мінімальні конфігурації, не забувайте від самого початку використовувати надійні паролі та секрети. Крім того, переконайтеся, що політики SELinux дотримуються. Якщо SELinux блокує трафік RADIUS, ви можете перевірити або змінити контексти за допомогою semanage і restorecon, якщо це необхідно. Добре визначена політика брандмауера, що обмежує протоколи RADIUS тільки відомими клієнтами, ще більше зміцнює безпеку.
Розширена конфігурація
Хоча аутентифікація на основі локальних файлів підходить для невеликих розгортань, підприємствам часто потрібні складніші конфігурації з використанням зовнішніх баз даних або служб каталогів. FreeRADIUS підтримує кілька бекендів, що дає змогу керувати користувачами в широкому масштабі.
Використання MySQL або MariaDB
MySQL або MariaDB часто використовують для зберігання профілів користувачів, призначень груп і облікових даних. Після встановлення модуля freeradius-mysql створіть виділену базу даних і користувача для FreeRADIUS:
CREATE DATABASE radius_db;
CREATE USER 'radius_user'@'localhost' IDENTIFIED BY 'StrongPassword123';
GRANT ALL PRIVILEGES ON radius_db.* TO 'radius_user'@'localhost';
FLUSH PRIVILEGES;
Потім імпортуйте стандартні файли схем, надані FreeRADIUS. Зазвичай ці файли знаходяться в каталозі /etc/raddb/mods-config/sql/main/mysql/schema.sql або в іншому місці з аналогічною назвою. Потім налаштуйте sql.conf з деталями підключення до бази даних і включіть sql в mods-enabled.
Інтеграція LDAP
Організації, які використовують Active Directory або OpenLDAP для централізованого управління користувачами, можуть віддати перевагу інтеграції LDAP. Після встановлення freeradius-ldap визначте дані LDAP-сервера в mods-available/ldap, вкажіть базові DN і задайте правильні мандати прив’язки. Потім увімкніть модуль, перейшовши з mods-available в mods-enabled і вказавши посилання на нього в sites-enabled/default.
Налаштування сертифікатів TLS
Для методів EAP (Extensible Authentication Protocol), таких як PEAP або EAP-TLS, вам знадобляться дійсні сертифікати TLS. Самопідписані сертифікати за замовчуванням знаходяться у файлі /etc/raddb/certs, але для використання у виробничих цілях згенеруйте або придбайте дійсні сертифікати в центрі сертифікації. Оновіть eap.conf, щоб вказати на нові сертифікати та ключі для підвищення довіри та безпеки.
Посилення безпеки
Підтримка надійного захисту має першорядне значення для сервера RADIUS, оскільки він зазвичай обробляє дуже важливі облікові дані. Кілька заходів знижують ризики та підвищують глибину захисту.
- Надійні секрети та паролі: Переконайтеся, що всі секрети клієнтів RADIUS і облікові дані бази даних є випадковими та складними.
- Конфігурація брандмауера: Обмежте трафік RADIUS дозволеними підмережами або певними IP-адресами клієнтів за допомогою команди firewall-cmd. Наприклад:
sudo firewall-cmd --add-port=1812/udp --permanent
sudo firewall-cmd --add-port=1813/udp --permanent
sudo firewall-cmd --reload
- Політики SELinux: Якщо SELinux увімкнено, перевірте журнали відмов у /var/log/audit/audit.log і налаштуйте контексти або політики, щоб дозволити легітимні транзакції RADIUS.
- Блокування облікових записів: Розгляньте можливість застосування методів блокування облікових записів або засобів виявлення вторгнень для захисту від атак методом грубої сили.
- Часті оновлення: Регулярно оновлюйте Rocky Linux 9 і FreeRADIUS, щоб усунути відомі вразливості та забезпечити стабільну роботу.
Добре захищена система охороняє не тільки облікові дані користувачів, а й найважливіші корпоративні ресурси. Невеликі помилки в конфігурації або слабка політика паролів можуть призвести до вторгнень і витоку даних. Регулярно переглядайте журнали, файли конфігурації та рекомендації з безпеки, щоб виявити потенційні загрози на ранній стадії.
Тестування та верифікація
Після завершення початкового налаштування логічним наступним кроком буде перевірка коректності роботи сервера. Утиліта radtest – чудовий інструмент для тестування аутентифікації. Наприклад:
radtest testuser testpassword 127.0.0.1 0 testing123
Замініть testuser, testpassword і секрет testing123 на реальні облікові дані, визначені у вашій конфігурації. Якщо результат показує «Access-Accept», базовий потік аутентифікації працює.
Під час усунення помилок зверніться до журналів у /var/log/radius/radius.log або використовуйте режим налагодження:
sudo systemctl stop radiusd
sudo radiusd -X
У режимі налагодження FreeRADIUS працює у фоновому режимі, виводячи докладні дані про кожен запит. Перевірте всі ознаки неправильної конфігурації, відсутності модулів або проблем із підключенням до бази даних, а потім внесіть відповідні зміни. Така ретельна перевірка забезпечує стабільну базову лінію перед початком розширеного або великомасштабного розгортання.
Приклади інтеграції
Універсальність сервера RADIUS робить його застосовним для безлічі різних мережевих служб. Нижче наведено кілька поширених сценаріїв інтеграції, що показують, як FreeRADIUS може слугувати надійною платформою аутентифікації.
Інтеграція мережевих пристроїв
Комутатори, маршрутизатори та бездротові контролери часто підтримують RADIUS для AAA. Налаштувавши параметри RADIUS на пристрої, вкажіть IP-адресу сервера і відповідний секрет. Налаштуйте пристрій на пересилання запитів автентифікації та обліку в екземпляр FreeRADIUS. Цей метод централізованого управління корисний для великих кампусних мереж.
Бездротова аутентифікація (WPA2-Enterprise)
При налаштуванні Wi-Fi шифрування корпоративного рівня (WPA2-Enterprise) сервер FreeRADIUS перевіряє справжність користувачів за допомогою 802.1X. Точки доступу направляють запити EAP на FreeRADIUS, який перевіряє облікові дані у файлах користувачів, базах даних або LDAP, а потім автоматично надає або відмовляє в доступі. Цей процес гарантує, що неавторизовані пристрої не зможуть приєднатися до мережі.
Інтеграція з VPN-сервером
Багато продуктів VPN, як-от OpenVPN або рішення на базі IPsec, дають змогу визначити сервер RADIUS для аутентифікації користувачів. Направляючи запити на вхід у VPN на FreeRADIUS, організації підтримують єдине, централізоване сховище ідентифікаційних даних, що охоплює як локальний, так і віддалений доступ. Такий послідовний підхід спрощує ініціалізацію користувачів і аудит.
Обслуговування та моніторинг
Після досягнення стабільної конфігурації регулярне обслуговування і моніторинг дають змогу підтримувати безперебійну роботу служби. Послідовно виконуйте такі завдання:
- Застосовувати оновлення: Використовуйте sudo dnf update за розкладом для захисту від нових вразливостей. Це також забезпечує сумісність модулів у ширшій екосистемі Rocky Linux.
- Моніторинг журналів: Слідкуйте за журналами FreeRADIUS за адресою /var/log/radius/ на предмет підозрілої активності або повторюваних помилок.
- Налаштування продуктивності: Якщо сервер обробляє великі обсяги трафіку, подумайте про налаштування параметрів threadpool у radiusd.conf або про оптимізацію SQL-запитів. Налаштування кешування може підвищити швидкість і знизити навантаження.
- Резервні копії: Регулярно створюйте резервні копії файлів конфігурації та баз даних бекенда. Нехтування резервним копіюванням може призвести до значної втрати даних у разі збою обладнання або пошкодження файлів через неправильну конфігурацію.
Організована стратегія обслуговування дає змогу запобігти розростанню дрібних проблем. Наприклад, ігнорування попереджень журналу про помилки аутентифікації може бути ознакою атаки методом «грубої сили». Регулярні перевірки забезпечують надійність інфраструктури AAA вашої організації та попереджають адміністраторів про виникаючі загрози або проблеми з користувачами.
Керівництво з усунення неполадок
Загальні повідомлення про помилки
Повідомлення про помилки типу «Cannot find a config item» або «Module not found» зазвичай означають відсутність або непрацездатність модуля в mods-enabled. Переконайтеся, що він правильно підключений до mods-available і що встановлені залежності.
Режим налагодження
Запуск FreeRADIUS у режимі налагодження (radiusd -X) виводить докладні журнали, які прояснюють процес аутентифікації. Цей підхід рекомендується для діагностики складних збоїв входу в систему або помилок завантаження модулів.
Аналіз журналів
Перегляньте журнали в /var/log/radius/ або використовуйте journalctl -u radiusd, щоб знайти деталі помилок. Як правило, у журналах вказуються неправильні секрети, недійсні сертифікати або посилання на неіснуючих користувачів.
Кроки з усунення
Після виявлення причини перевірте clients.conf, визначення користувачів або облікові дані SQL/LDAP. Перезавантажте або перезапустіть службу FreeRADIUS, щоб перевірити, чи усунуло це виправлення проблему:
sudo systemctl restart radiusd
Вітаємо! Ви успішно встановили FreeRADIUS. Для отримання додаткової або корисної інформації ми рекомендуємо вам відвідати офіційний сайт FreeRADIUS.