Перейти до змісту

Сервер FreeRADIUS RADIUS із Samba Active Directory

Вступ

RADIUS — це протокол AAA (аутентифікація, авторизація та облік) для керування доступом до мережі. FreeRADIUS – це фактичний RADIUS-сервер для Linux та інших Unix-подібних систем.

Ви можете налаштувати FreeRADIUS на роботу з Active Directory від Microsoft, скажімо, для автентифікації 802.1X, Wi-Fi або VPN.

Передумови та припущення

Нижче наведено мінімальні вимоги для цієї процедури:

  • Можливість виконувати команди від імені користувача root або використовувати sudo для підвищення привілеїв
  • Сервер-член Active Directory, незалежно від того, чи використовує він домен Windows Server або Samba
  • Клієнт RADIUS, такий як маршрутизатор, комутатор або точка доступу Wi-Fi

Налаштування Samba

Вам потрібно буде налаштувати Active Directory за допомогою Samba. Зверніть увагу, що sssd не працюватиме.

Встановлення FreeRADIUS

Ви можете встановити FreeRADIUS з репозиторіїв dnf:

dnf install -y freeradius

Налаштування FreeRADIUS

Після встановлення пакетів спочатку потрібно згенерувати сертифікати шифрування TLS для FreeRADIUS:

cd /etc/raddb/certs
./bootstrap

Згодом вам потрібно буде ввімкнути ntlm_auth. Відредагуйте файл /etc/raddb/sites-enabled/default та вставте наступний код у блок authenticate:

authenticate {
...
    ntlm_auth
...
}

Вставте те саме в /etc/raddb/sites-enabled/inner_tunnel:

authenticate {
...
    ntlm_auth
...
}

Змініть рядок program у /etc/raddb/mods-enabled/ntlm_auth на цей:

    program = "/usr/bin/ntlm_auth --request-nt-key --domain=MYDOMAIN --username=%{mschap:User-Name} --password=%{User-Password}"

Замініть MYDOMAIN на ім'я вашого домену Active Directory.

Вам потрібно буде зробити ntlm_auth типом автентифікації за замовчуванням у /etc/raddb/mods-config/files/authorize. Додайте наступний рядок:

DEFAULT   Auth-Type = ntlm_auth

Вам також потрібно буде визначити клієнтів. Це зроблено для запобігання несанкціонованому доступу до нашого RADIUS-сервера. Відредагуйте файл clients.conf:

vi clients.conf

Вставте наступне:

client 172.20.0.254 {
        secret = secret123
}

Замініть 172.20.0.254 та secret123 на IP-адресу та секретне значення, які використовуватимуть клієнти. Повторіть це для інших клієнтів.

Увімкнення FreeRADIUS

Після початкового налаштування можна запустити radiusd:

systemctl enable --now radiusd

Налаштування RADIUS на комутаторі

Після налаштування сервера FreeRADIUS вам потрібно налаштувати клієнт RADIUS на комутаторі MikroTik автора як дротовий клієнт 802.1X:

/radius
add address=172.20.0.12 secret=secret123 service=dot1x
/interface dot1x server
add interface=combo3

Замініть 172.20.0.12 на IP-адресу сервера FreeRADIUS, а secret123 на секретний ключ, який ви встановили раніше.

Author: Neel Chauhan

Contributors: Steven Spencer, Ganna Zhyrnova