Реализация AADDC SLDAP

Реализация AADDC SLDAP

Я новичок в Azure Active Directory Service, и его абстракция для меня пока немного загадка. Я пытаюсь сделать так, чтобы все мои серверы AWS EC2 (Linux) были аутентифицированы через LDAP (для SSH-подключения).

Я успешно настроил SLDAP, публичный IP-адрес уже сгенерирован, и я привязал его к FQDN (dc.mydomain.com). На моем сервере AWS EC2 Linux я установил sssd и realmd, чтобы иметь возможность выполнить аутентификацию SSH AD.

Вот строка ldap, которую я использую, чтобы подтвердить правильную работу sldap:

ldapsearch -H ldaps://directory.mydomain.com:636 -Z -d 5 -x -b "dc=mydomain,dc=com" -D "[email protected]" -W

Приведенная выше команда выводит всю информацию о DN,CN,OU,DC, перечисленных в Azure AD.

При попытке использовать PAM в CENTOS7, похоже, что binddnне получается разрешить ни одно из них results()— наверняка тот, dnкоторый я использую, существует, поскольку он отображается в результатах ldapsearch.

Есть ли у MS Azure какие-либо ограничения по этому поводу?

решение1

Ни в одной документации не указано, что существуют ограничения для Azure AD DS с защищенным LDAP.

В документации сказано только, что можно получить доступ к управляемому домену с помощью безопасного LDAP через Интернет. Также не указано, что приложение может использовать его для аутентификации в Azure AD.

В качестве альтернативы, вместо Azure AD DS с LDAPS, вы можете рассмотреть использование Azure AD для входа Linux по ссылке ниже. Вы даже можете найти пример кода изздесь.

https://channel9.msdn.com/Blogs/Open/Using-Azure-AD-for-Linux-logins

ОБНОВЛЯТЬ

Он работает с использованием Azure AD для входа SSH на моем RHEL 7.3. Ниже приведено пошаговое руководство по настройке Azure AD для входа Linux.

Предпосылки

  • Создан каталог Azure AD, и существуют некоторые пользователи.
  • Node.js и npm установлены на виртуальной машине Linux
  • Приложение каталога создано (тип собственного клиента) и у вас есть идентификатор клиента
  • В вашем дистрибутиве PAM есть pam_exec.so

Предоставление пользователю прав

Для добавления учетной записи Azure AD вам необходимо использовать следующую команду. Это гарантирует, что пользователь, под которым вы будете входить в систему, будет виден NSS.

sudo useradd -m <user>

Установка

Вы можете загрузить tarfile с сайтаhttps://github.com/bureado/aad-loginи:

sudo tar xzf aad-login_0.1.tar.gz -C /
cd /opt/aad-login
sudo npm install

Настройка

  1. Откройте /opt/aad-login/aad-login.js и измените следующие элементы

var каталог = '********.onmicrosoft.com'; // Доменное имя каталога
var clientid = '****-****-*****-*****-**********'; //Идентификатор клиента приложения, зарегистрированного в Azure AD
authorityHostUrl : 'https://login.microsoftonline.com' //Последний URL конечной точки

  1. Откройте /etc/pam.d/sshd и добавьте следующее правило

достаточная аутентификация pam_exec.so expose_authtok /usr/local/bin/aad-login

Примечание:Для Utuntu необходимо добавить правило в /etc/pam.d/common-auth

  1. В CentOS 7.x (и других дистрибутивах с поддержкой SELinux) необходимо отключить политику, выполнив следующую команду:

    судо setenforce 0

Связанный контент