Автор Тема: Аутентификация на оборудовании на основе Radius + AD  (Прочитано 312 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн around

  • Moderator
  • сисадми́н
  • ***
  • Сообщений: 542
  • Karma: +55/-0
  • Пол: Мужской
  • Ломаем Cisco, Huawei, QTech. Быстро, качественно!
    • Share Post
    • Сайт Кругликова
Для удобства организации доступа к сетевым устройствам удобно использовать централизованную схему аутентификации на основе протокола Radius или tacacs+ (DIAMETER не рассматриваем в принципе, я не видел устройств с его поддержкой для наших целей).
Поскольку tacacs+ поддерживается не таким большим количеством оборудования (например, его нет в Mikrotik, я НЕГОДУЮ!), то будем авторизовываться через radius.
Radius - сетевой протокол, предназначенный для обеспечения централизованной аутентификации, авторизации и учёта (Authentication, Authorization, and Accounting, AAA) пользователей, подключающихся к различным сетевым службам, FreeRADIUS — RADIUS сервер с открытым исходным кодом.
Рассмотрим настройку сервера FreeRADIUS для работы с доменом Active Directory, для организации доступа к сети на основании учетных записей доменных пользователей. FreeRADIUS устанавливается на сервер под CentOS 6.10, файрвол и selinux отключены.

1. Обязательно указываем DNS, отвечающий за домен

[[email protected] ~]$ cat /etc/resolv.conf
search test.local
nameserver 10.0.0.16
nameserver fe80::16

2. Устанавливаем необходимые зависимости:

sudo yum -y install authconfig samba samba-winbind samba-client pam_krb5 krb5-workstation net-tools bind-utils samba-winbind-clients freeradius freeradius-krb5
3. Запускаем интерфейс для настройки источников системной аутентификации

sudo authconfig-tui
Запускается псевдо-графическая оболочка для настройки
На странице "Authentication Configuration" выбираем "User Information -> Use Winbind", "Authentication -> Use Kerberos"



Далее в меню "Kerberos Settings" указываем "Realm", "KDC" и "Admin Server". Ставим оба переключателя "Use DNS to"



В "Winbind Settings" выбираем "Security Model" -> ads, опять указываем домен (Netbios-имя), контроллер домена, область и оболочку по-умолчанию в зависимости от необходимости.



4. Запускаем демоны и добавляем их в автозагрузку

[[email protected] ~]$ sudo service smb start
Starting SMB services:                                     [  OK  ]
[[email protected] ~]$ sudo service nmb start
Starting NMB services:                                     [  OK  ]
[[email protected] ~]$ sudo chkconfig smb on
[[email protected] ~]$ sudo chkconfig nmb on

5. Присоединяем сервер к домену

[[email protected] ~]$ sudo net ads join -U Administrator
Enter Administrator"s password:
Using short domain name -- TEST
Joined "AUTH" to dns domain "test.local"
No DNS domain configured for freeradius. Unable to perform DNS Update.
DNS update failed: NT_STATUS_INVALID_PARAMETER

6. Запускаем демон winbind

[[email protected] ~]$ sudo service winbind start
Starting Winbind services:                                 [  OK  ]
[[email protected] ~]$ sudo chkconfig winbind on

<strong>ОЧЕНЬ ВАЖНО!!!</strong> Необходимо добавить права radius'у на доступ к winbind.

sudo usermod -a -G wbpriv radiusd
7. Проверяем доступ к AD

[[email protected] ~]$ wbinfo -u
TEST\administrator
TEST\guest
TEST\krbtgt

8. Проверяем аутентификацию ntlm

[[email protected] ~]$ ntlm_auth --request-nt-key --domain=TEST.LOCAL --username=Administrator --password=PaSsWoRd
NT_STATUS_OK: Success (0x0)

9. Идем в файл /etc/raddb/modules/ntlm_auth прописываем правильные значения

[[email protected] ~]$ sudo cat /etc/raddb/modules/ntlm_auth
exec ntlm_auth {
        wait = yes
         program = "/usr/bin/ntlm_auth --request-nt-key --domain=TEST.LOCAL  --username=%{mschap:User-Name} --password=%{User-Password}"
}

Идём в /etc/raddb/modules/mschap, расскомментируем строку и добавим домен

ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --domain=TEST.LOCAL --username=%{%{Stripped-User-Name}:-%{%{User-Name}:-None}} --challenge=%{%{mschap:Challenge}:-00} --nt-response=%{%{mschap:NT-Response}:-00}"
Правим конфигурацию виртуальных сервров Freeradius

[[email protected] ~]$ sudo cat /etc/raddb/sites-enabled/default
        ...
authenticate {
        ...
        ntlm_auth
        ...
}

В файл /etc/raddb/users добавляем следующую секцию

DEFAULT     Auth-Type = ntlm_auth
Создаем клиента для Freeradius

cat /etc/raddb/clients.conf
client 10.0.0.0/8 {
        secret          = VeRySeCrEt
        nas_type        = other
}

10. Проверяем работу. Для этого открываем ещё одну консоль. В первой запускаем freeradius в режиме отладки:

[[email protected] ~]$ sudo radiusd -X
А во второй пытаемся авторизоваться

[[email protected] ~]radtest -t mschap Administrator "пароль" 10.0.0.1 1812 VeRySeCrEt
Sending Access-Request of id 120 to 10.0.0.1 port 1812
        User-Name = "Administrator"
        NAS-IP-Address = 127.0.0.1
        NAS-Port = 1812
        Message-Authenticator = 0x00000000000000000000000000000000
        MS-CHAP-Challenge = 0xf9bf25a95e383336
        MS-CHAP-Response = 0x0001000000000000000000000000000000000000000000000000b66d6382f418a816ea310841a43f80fcc4c7d80a515fe939
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=120, length=84
        MS-CHAP-MPPE-Keys = 0x000000000000000052c4e2d09dee0a860679da01746bc1290000000000000000
        MS-MPPE-Encryption-Policy = 0x00000001
        MS-MPPE-Encryption-Types = 0x00000006

11. Но это ещё не всё. Нехорошо, если под любой учёткой секретаря можно зайти на устройство. Поэтому добавим в файлы /etc/raddb/mods-enabled/ntlm_auth и в /etc/raddb/modules/mschap в строку с указанием ключей для команды ntlm_auth следующую конструкцию

--require-membership-of="TEST\GROUP_NAME"
« Последнее редактирование: Февраль 12, 2019, 05:35:29 pm от around »
roubles in Windows - reboot, troubles in *nix - be root.

 


xx
Поднимаем Joomla на основе старой базы (Denver)

Автор sysadmin

0 Ответов
2351 Просмотров
Последний ответ Сентябрь 10, 2010, 10:14:52 pm
от sysadmin
moved
Перенесено: Поднимаем Joomla на основе старой базы (Denver)

Автор sysadmin

0 Ответов
1 Просмотров
Последний ответ Март 08, 2014, 07:58:21 pm
от sysadmin
thumbup
Аутентификация LDAP в Zabbix

Автор sysadmin

0 Ответов
2720 Просмотров
Последний ответ Июль 22, 2014, 12:19:22 pm
от sysadmin
xx
IPFire+Web_Proxy+Автоматическая аутентификация в AD

Автор Zik

2 Ответов
431 Просмотров
Последний ответ Октябрь 22, 2018, 04:51:24 pm
от Zik