Sou novo no serviço Active Directory do Azure e sua abstração é um pouco complicada para mim no momento. O que estou tentando fazer é que todos os meus servidores AWS EC2 (Linux) sejam autenticados via LDAP (para conexão SSH).
Configurei o SLDAP com sucesso, o endereço IP público já foi gerado e vinculei-o a um FQDN (dc.mydomain.com). Em meu servidor AWS EC2 Linux, instalei sssd e realmd para poder realizar a autenticação SSH AD.
Aqui está a string ldap que uso para confirmar que o sldap está funcionando corretamente:
ldapsearch -H ldaps://directory.mydomain.com:636 -Z -d 5 -x -b "dc=mydomain,dc=com" -D "[email protected]" -W
O comando acima fornece todas as informações sobre o DN,CN,OU,DC listado no Azure AD.
Enquanto tento usar o PAM no CENTOS7, parece que binddn
não resolve nenhum results()
- com certeza o que dn
estou usando existe, pois é o que aparece nos resultados do ldapsearch.
O MS Azure tem restrição/limitação sobre isso?
Responder1
Não há documentação que indique que há limites para o Azure AD DS com LDAP seguro.
Na documentação, dizia apenas que você pode acessar o domínio gerenciado com LDAP seguro pela Internet. Além disso, não afirma que pode ser usado pelo aplicativo para autenticação no Azure AD.
Como alternativa, em vez do Azure AD DS com LDAPS, você pode usar o Azure AD para logins do Linux no link abaixo. Você ainda pode encontrar código de exemplo emaqui.
https://channel9.msdn.com/Blogs/Open/Using-Azure-AD-for-Linux-logins
ATUALIZAR
Funciona usando o Azure AD para login SSH no meu RHEL 7.3. A seguir está o guia passo a passo para fazer o Azure AD funcionar para logins do Linux.
Pré-requisitos
- Um diretório do Azure AD foi criado e existem alguns usuários
- Node.js e npm são instalados na VM Linux
- Um aplicativo de diretório foi criado (tipo de cliente nativo) e você tem o ID do cliente
- Sua distribuição PAM possui pam_exec.so
Provisionamento de usuários
Você precisa usar o seguinte comando para adicionar a conta do Azure AD, isso garante que o usuário com o qual você fará login seja visível pelo NSS.
sudo useradd -m <user>
Instalando
Você pode baixar o arquivo tar emhttps://github.com/bureado/aad-logine:
sudo tar xzf aad-login_0.1.tar.gz -C /
cd /opt/aad-login
sudo npm install
Configurando
- Abra /opt/aad-login/aad-login.js e altere os seguintes itens
diretório var = '********.onmicrosoft.com'; //O nome de domínio do diretório
var clientid = '****-****-*****-*****-**********'; //O ID do cliente do aplicativo registrado no Azure AD
autoridadeHostUrl: 'https://login.microsoftonline.com' //A URL mais recente do endpoint
- Abra /etc/pam.d/sshd e adicione a seguinte regra
autenticação suficiente pam_exec.so expor_authtok /usr/local/bin/aad-login
Observação:Para Utuntu, você precisa adicionar a regra em /etc/pam.d/common-auth
No CentOS 7.x (e outras distros habilitadas para SELinux), você precisa desabilitar a política executando o seguinte comando:
sudo setenforce 0