Есть контроллер домена (Windows Server 2008 R2). Требуется чтобы пользователи подключались к WiFi через свои учетные записи на нем.
Домен будет называться my.local, полное имя Active Directory сервера ad.my.local
Cервер с FreeRADIUS — radius.my.local
Ставим Ubuntu 12.04 LTS
Обновляемся:
aptitude update && aptitude safe-upgrade
Ставим необходимые пакеты
aptitude install samba winbind krb5-config freeradius
Правим конфиг самбы (/etc/samba/samba.conf):
меняем параметры в секции
[global] workgroup = MY security = ADS realm = MY.LOCAL
Далее правим (/etc/krb5.conf):
прописываем в секции
[libdefaults] default_realm = MY.LOCAL
в секции
[realms] MY.LOCAL = { kdc = MY.LOCAL admin_server = MY.LOCAL } [domain_realm] .my.local = MY.LOCAL my.local = MY.LOCAL
Теперь присоеденяемся к домену
net join -U Administrator
проверяем авторизацию пользователя
wbinfo -a username%password
результатом должно быть:
challenge/response password authentication succeeded
Переходим к настройке FreeRADIUS
открываем /etc/freeradius/eap.conf и меняем
default_eap_type = md5
на
default_eap_type = peap
затем правим /etc/freeradius/modules/mschap
раскоментируем
#with_ntdomain_hack = no
и поменяем
with_ntdomain_hack = yes
раскоментируем
#ntlm_auth = "/path/to/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{User-Name:-None}} --challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-Response:-00}"
и пропишем реальный путь к ntlm_auth
ntlm_auth = "/usr/bin/ntlm_auth --request-nt-key --username=%{%{Stripped-User-Name}:-%{User-Name:-None}} --challenge=%{mschap:Challenge:-00} --nt-response=%{mschap:NT-Response:-00}"
теперь добавим пользователя freerad в группу winbindd_priv, чтобы он мог читать из директории /var/run/samba/winbindd_privileged
usermod -a -G winbindd_priv freerad
проверяем FreeRADIUS командой:
radtest -t mschap username password localhost 0 testing123
сервер должен ответить:
rad_recv: Access-Accept packet from host 127.0.0.1 port 1812, id=10, length=84
Теперь правим конфиг (/etc/freeradius/clients.conf)
прописываем IP нашей WiFi точки
client 111.222.333.444 { secret = testing123-2 shortname = WiFi nastype = cisco }
Переходим к настройке самой точки.
Basic Settings > Wireless
прописываем SSID
выбираем Authentication [WPA-Enterprise]
далее прописываем IP RADIUS Server, RADIUS Port и RADIUS Secret (в нашем случае testing123-2)
Теперь настраиваем клиентские компьютеры.
Windows 7:
Центр управления сетями и общим доступом > Управление беспроводными сетями > Добавить > Создать профиль вручную
Укажите имя сети, тип безопасности (WPA-Enterprise), Тип шифрования (AES)
Далее > Изменить параметры подключения
Вкладка «Безопастность»
Снять галочку с «Запоминать мои учетные данные для этого подключения при каждом входе в систему»
Кнопка «Параметры»
Снять галочку с «Проверять сертификат сервера»
в этом же окне кнопка «Настроить»
Снять галочку с «Использовать автоматически имя входа и пароль из Windows (и имя домена, если существует)»
Windows XP:
Беспроводные сети > Изменить дополнительные параметры > Беспроводные сети
Кнопка «Добавить»
Вкладка «Сети»
Указываеи Сетевое имя (SSID)
Проверка подлинности [WPA]
Шифрование данных [AES]
Далее вкладка «Проверка подлинности»
Тип EAP [Защищенные EAP (PEAP)]
Кнопка «Свойства»
Убираем галочку «Проверять сертификат сервера»
Далее кнопка «Настроить»
Убираем галочку «Автоматически использовать имя входа и пароль Windows (и имя домена, если существует)»
Читал статью на другом сайте про ПЕАП и домен, там было написано вот что:
«Но в вышеописанной схеме есть один минус. Дело в том, что подключение к беспроводной сети может происходить только после фактического логина пользователя в операционную систему. То есть для начала мы должны ввести свой логин/пароль на доступ в систему и уже только после этого сможем подключиться к беспроводной сети. А что делать, если у нас на руках ноутбук, включенный в домен, и кроме как по WiFi, подключить его к сети не представляется возможным (или это не удобно)? Ведь при нажатии ctrl-alt-del для ввода логина/пароля для доступа в доменную сеть, компьютер уже должен иметь доступ к сети (хотя бы для того, чтобы найти тот самый домен, куда он должен быть подключен). Тем самым, EAP-PEAP в этом случае не применим, а надо использовать EAP-TLS, то есть настраивать сертификаты и все остальное. «. хотя там и не рассматривался случай с данными из AD, однако насколько эта проблема верно описана? По приведенному выше способу клиент сможет загрузиться и залогиниться под доменной учеткой через вай-фай, получив при этом доступ к сети? Спасибо.
У пользователей с Windows 7 вроде как проблем нет. Но мне эта схема самому уже не очень нравится, в ближайшее время сделаю аутентификацию через керберос и опубликую статью.
Спасибо за полезную статью!
На днях буду настраивать связку Cisco WLC + FreeRadius + Active Directory
Подскажите пожалуйста где можно реально скачать программу FreeRADIUS-server?Где не пытался-нигде не получается.Заранее спасибо.