User Tools

Site Tools


связка_freeradius_active_directory

This is an old revision of the document!


Связка FreeRADIUS + Active Directory

Здесь мы настроим связку FreeRADIUS с контроллерами домена Windows, чтобы авторизовать и аутентифицировать пользователей AD. Для связки с доменом Windows нам потребуется настроить Samba.

1. Обновим информацию о пакетах:

 apt-get update

2. Установим freeradius:

 sudo apt install freeradius

3. Проверим, что он запущен:

 ps -ax | grep free

4. На всякий случай проверим hostname и установим нужный, если требуется:

 hostname -f
 hostnamectl set-hostname new_hostname

5. Устанавливаем самбу и другие необходимые пакеты одной командой:

 apt-get install samba samba-common winbind libnss-winbind krb5-user

6. Проверяем - запущена ли самба

 ps -ax | grep smb

Если нужно перезапустить самбу, выполняем:

 sudo systemctl restart nmbd

7. Настраиваем конфиг самбы в секции global. Здесь workgroup - имя домена Windows, netbios name - имя радиус-сервера. Разрешаем только mschapv2 и ntlmv2 и указываем риалм.

 /etc/samba/smb.conf
[global]
   workgroup = ARASAKA
   security = ads
   netbios name = radius1
   password server = *
   realm = arasaka.local
   ntlm auth = mschapv2-and-ntlmv2-only
   winbind use default domain = yes

8. Настраиваем kerberos realm в файле:

 /etc/krb5.conf
[libdefaults]
        default_realm = ARASAKA.LOCAL

[realms]
        ARASAKA.LOCAL = {
                kdc = dc01.arasaka.local
                kdc = dc02.arasaka.local
                admin_server = dc01.arasaka.local
        }

[domain_realm]
        .arasaka.local = ARASAKA.LOCAL
        arasaka.local = ARASAKA.LOCAL

9. Вводим машину в домен и ОБЯЗАТЕЛЬНО перезагружаемся:

 net join -U jp

:!: При этом, есть вероятность, что конфигурирование krb5.conf не потребуется, т.к. информация о домене будет взята из самбы.

10. Проверяем аутентификацию в домене:

 wbinfo -a jp%password

:!: Если на п.9 мы не перезагрузились - есть вероятность, что получим ошибку (например, USER NOT FOUND)

11. Проверяем работу NTLM:

 ntlm_auth --request-nt-key --domain=ARASAKA --username=jp --password=password

Должны получить ответ:

 NT_STATUS_OK: The operation completed successfully. (0x0)

12. Конфигурируем ntlm для freeradius в файле:

 /etc/freeradius/3.0/mods-enabled/ntlm_auth

В нём указываем путь к бинарному файлу ntlm_auth и название домена:

exec ntlm_auth {
        wait = yes
        program = "/usr/bin/ntlm_auth --request-nt-key --domain=ARASAKA.LOCAL --username=%{mschap:User-Name} --password=%{User-Password}"
}

13. В двух (или больше, если есть) файлах добавляем опцию ntlm_auth.

/etc/freeradius/3.0/sites-enabled/default
/etc/freeradius/3.0/sites-enabled/inner-tunnel
связка_freeradius_active_directory.1667398931.txt.gz · Last modified: 2022/11/02 14:22 by jp