Esse Post foi baseado em nosso ambiente padrão, caso você queira criar o mesmo ambiente, você vai precisar:

  • Instalar o servidor CentOS padrão: Caso tenha dúvidas consulte aqui ou no link disponibilizado nas referências.
  • Instalar o servidor Apache: Caso tenha dúvidas consulte aqui ou no link disponibilizado nas referências.

Caso você trabalhe com CentOS, instale os seguintes pacotes:

yum install mod-ldap -y

Caso você trabalhe com Debian ou Ubuntu, pode instalar o apache com seguintes comandos (e depois configurar o apache da mesma forma):

apt-get install libapache2-mod-ldap-userdir -y
sudo a2enmod ldap
sudo a2enmod authnz_ldap

Deixaremos algumas partes em cinza, para que você altere conforme sua realidade.

  • Pré-requisitos
    • Precisaremos do IP do servidor AD que tem a função de PDC;
    • Crie uma conta para consulta no AD, coloque que a senha não expira, o usuário não pode alterar a senha (por segurança, pode ser de um grupo que não tenha acesso à nenhum outro recurso e retirar do grupo Domain Users), obtenha o UPN desse usuário (usuario@dominio);
    • Pegue o DN do seu domínio;
    • Crie um grupo e coloque os membros que poderão ter acesso à esse site (ou pasta) via navegador. Depois de criado abra o grupo e vá na aba editor de atributos, copie o caminho DN pois será necessário;
    • Caso não saiba como obter o DN, leia nosso post Como obter o Distinguished Name (DN) no Active Directory.

Edite o arquivo de configuração do seu site e adicione (dentro das suas configurações de <Directory> ou <VirtualDirectory>) as seguintes informações:

#COMENTARIOS
#Se quiser liberar APENAS para usuários que sejam membros de um grupo, use:
#AuthLDAPURL “ldap://IP_DO_SEU_PDC:389/DN_DO_DOMINIO?sAMAccountName?sub?(memberOf=DN_GRUPO_CRIADO)”
#Se quiser liberar APENAS para usuários de uma OU, use:
AuthLDAPURL “ldap://IP_PDC:389/DN_DA_OU?sAMAccountName?sub?(objectClass=*)”

#
AllowOverride None
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthName “Insira sua Credencial”
Order allow,deny
Allow from All
Require valid-user
AuthLDAPBindDN contacriada@seudominio.com.br
AuthLDAPBindPassword SENHA_DA_CONTA
AuthLDAPURL “ldap://IP_DO_SEU_PDC:389/DN_DO_DOMINIO?sAMAccountName?sub?(memberOf=DN_GRUPO_CRIADO)”

Fontes/Referências

NVLAN – Como obter o Distinguished Name (DN) no Active Directory
NVLAN – Instalação padrão do CentOS7
NVLAN – Instalando o Apache no CentOS

Mais Informações

Esperamos ter ajudado da melhor forma possível e estaremos sempre a disposição para mais informações.

Entre em contato conosco pelo e-mail equipe@nvlan.com.br.

NVLAN - Consultoria