Active Directory / Freeradius / ntlm_auth / почтовый атрибут

Я в настоящее время настраиваю сервер Linux с Freeradius, чтобы сделать, чтобы наши клиенты прошли проверку подлинности против нашего Active Directory для нашей сети Wi-Fi.

Цель состоит в том, чтобы сделать, чтобы наши пользователи использовали адрес электронной почты, который присутствует Active Directory как 'почтовый' атрибут и их пароль пользователя в домене для аутентификации к сети WiFi.

Формат нашего AD именования следующие

имя: Имя пользователя Joe Jonssen: foo\jjon1 UPN: почтовый адрес jjon1@foo.bar.lan: j.jonssen@company.com

Я в настоящее время имею работу ntlm_auth и могу войти в систему с jjon1 и паролем. Но мы хотим войти в систему с j.jonssen@company.com и паролем.

Есть ли любой способ достигнуть этого, я не связываюсь с Freeradius как сервер Радиуса. Мы должны использовать наш почтовый адрес в качестве имени пользователя для сети WiFi, потому что мы думаем о присоединении к инициативе как Eduroam, и вход в систему с почтовым адресом требуется.

0
задан 29 April 2015 в 17:38
2 ответа

Вы можете узнать имя пользователя / sAMAccountName, запустив LDAP-запрос к AD и затем выполнив NTLM-аутентификацию.

Очень простой сценарий bash mail_to_username ( без входного фильтра) будет выглядеть так:

#!/bin/bash

MAIL=$1
NTDOMAIN=$2
CHALLENGE=$3
NTRESPONSE=$4

HOST="ldap://ip-adress"
BASE_DN="OU=Users,DC=example,DC=de"
BIND_DN="LDAP-freeradius@example.de"
PASSWORD="x"
FILTER="mail=$MAIL"

sAMAccountName=`ldapsearch -LLL -x -D "$BIND_DN" -w "$PASSWORD" -b "$BASE_DN" -H "$HOST" "$FILTER" sAMAccountName | grep sAMAccountName | awk '{print $2}'`

/usr/bin/ntlm_auth --request-nt-key --username=$sAMAccountName --domain=$NTDOMAIN --challenge=$CHALLENGE --nt-response=$NTRESPONSE

внутри модуля mschap вы вызываете bash-скрипт вместо прямого вызова ntlm_auth :

ntlm_auth = "/usr/bin/mail_to_username %{mschap:User-Name:-None} %{%{mschap:NT-Domain}:-EXAMPLE} %{mschap:Challenge:-00} %{mschap:NT-Response:-00}"
0
ответ дан 5 December 2019 в 12:46

Сценарий следует изменить следующим образом:

MAIL=${2:11}
NTDOMAIN=${3:9}
CHALLENGE=${4:12}
NTRESPONSE=${5:14}
0
ответ дан 12 April 2021 в 17:30

Теги

Похожие вопросы