Я только что настроил FreeRadius, но хочу аутентифицировать пользователей, которые находятся в Azure AD. Я знаю, что можно связать FreeRADIUS с Active Directory, но я ничего не могу найти об Azure AD.
Кто-нибудь знает, возможно ли это? Возможным решением может быть создание AD, локально синхронизированного с Azure AD, но я хотел бы сделать это напрямую.
Проверка подлинности FreeRADIUS через Azure Active Directory
Ответы (3)
Я сделал это с небольшим трудом. Джон Роберт Мендоза прав, но есть несколько ошибок. Вот мои шаги:
- Добавьте AADDS и LDAP в AAD https://docs.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-admin-guide-configure-secure-ldap. (Защитите порты, поскольку теперь вы открыты для атаки методом грубой силы.)
- Создайте Linux vm (я использовал Ubuntu) для размещения Freeradius в том же vnet, что и ваш AADDS
- Установите freeradius 3.x с ldap
sudo apt install freeradius
sudo apt install freeradius-ldap - Настройте freeradius (я просто обрисую конфигурацию ldap для AAD)
i. отредактируйте /etc/freeradius/3.0/mods-available/ldap
Это ценности, которые я изменил
ldap {
server = 'yourAADDSdomain.onmicrosoft.com'
#the identity user should be a member of you AADDS admin group
identity = '[email protected]'
password = 'yourpassword'
basedn = 'OU=AADDC Users,dc=yourAADDSdomain,dc=onmicrosoft,dc=com'
user {
filter = “(userPrincipalName=%{%{Stripped-User-Name}:-%{User-Name}})”
}
}
II. отредактируйте /etc/freeradius/3.0/sites-available/default
server default {
listen {
type = auth
ipaddr = *
port = 0
limit {
max_connections = 16
lifetime = 0
idle_timeout = 30
}
}
listen {
ipaddr = *
port = 0
type = acct
limit {
}
}
authorize {
if (!control:Auth-Type) {
ldap
if (ok && User-Password) {
update {
control:Auth-Type := LDAP
}
}
}
expiration
logintime
}
authenticate {
Auth-Type LDAP {
ldap
}
}
preacct {
preprocess
acct_unique
}
accounting {
detail
unix
radutmp
exec
attr_filter.accounting_response
}
session {
radutmp
}
post-auth {
exec
Post-Auth-Type REJECT {
attr_filter.access_reject
}
}
pre-proxy {
}
post-proxy {
eap
}
}
Некоторые другие моменты:
Используйте radtest, чтобы проверить это
используйте ldp.exe на машине с Windows, чтобы подключиться к вашему ldap, чтобы проверить, что он возвращает
ссылки:
https://docs.microsoft.com/en-us/azure/active-directory-domain-services/active-directory-ds-admin-guide-configure-secure-ldap
https://wiki.freeradius.org/guide/Getting-Started
https://medium.com/@georgijsr/freeradius-2-1-12-ubuntu-14-04-server-with-ldap-authentication-and-ldap-fail-over-6611624ff2c9
Freeradius + ОШИБКА Openldap: для запроса не найден метод аутентификации (Auth-Type): отклонение пользователя
http://freeradius.1045715.n5.nabble.com/guide-on-configuring-freeradius-3-LDAP-td5748776.html
Syntax error: Expected comma after '': “(userPrincipalName=%{%{Stripped-User-Name}:-%{User-Name}})”
. Конфигурация модуля Ldap: gist.github.com/aidanbritnell/36f803ac52de7345173506
- person ; 19.07.2019
Вам нужно будет включить безопасный LDAP для управляемого домена в доменных службах Azure AD [1], а затем настроить rlm_ldap в FreeRadius [2] для использования Azure AD в качестве аутентификации LDAP. источник. Вы хотели бы ограничить подключения к IP-адресу Azure AD с помощью элементов управления доступом, чтобы заблокировать неавторизованные клиенты от отправки нежелательных поисковых запросов LDAP в службу вашего домена и извлечения конфиденциальной информации о пользователях.
Ссылки:
[2] https://wiki.freeradius.org/protocol/LDAP
Я выяснил, если у вас есть служба / хост с включенной "лазурной рекламой" в вашей локальной сети, для лазурного он работает так же, как и для локальной рекламы. Важно понимать, что вам необходимо включить необходимую службу, чтобы freeradius мог к ней подключиться. и просто включать его на общедоступном IP-адресе не рекомендуется, лучше создать туннель (ipsec) для Microsoft и включить рекламную службу на локальном IP-адресе.