← Voltar para o blog
Dicas

Autenticação apache2 - htaccess via Active Directory

OCTA Tecnologia 02 de junho, 2020
Autenticação apache2 - htaccess via Active Directory

Autenticação de diretório protegido do Apache 2 com ".htaccess" via AD 2008 64 bits.

Devido a necessidade de ter vários diretórios autenticados em meu servidor, existia vários arquivos de autenticação, o que tornava a administração pouco produtiva e sempre que fosse necessário incluir, bloquear ou remover um usuário, era preciso acessar vários arquivos e diretórios para tal.

Comecei a buscar na Internet sobre a autenticação de um diretório do Apache via htaccess e AD. Encontrei vários artigos que indicavam como fazer tal configuração, mas não obtive sucesso em nenhum deles e sempre ocorria o erro:

Password Mismatch

Por não encontrar respostas para este erro, comecei a configuração por conta própria, tendo como base:

Cenário:

  • Debian 6.0 64 bits
  • Apache 2.2.22

Instalação dos módulos LDAP para o Apache 2:

# apt-get install libapache2-mod-ldap-userdir

Habilitando os módulos:

# a2enmod ldap
# a2enmod authnz_ldap


Reiniciar o Apache:

# /etc/init.d/apache2 restart

Criar o diretório que deseja bloquear com senha no diretório Web ou via vhost. No meu caso, foi criado o diretório teste diretamente no diretório root do Apache: /var/www/teste

Criando o arquivo de autenticação: .htaccess

Pode ser utilizado qualquer editor de texto, eu particularmente prefiro o Pico:

# pico .htaccess

Options All

AuthType Basic

AuthBasicProvider ldap

AuthLDAPURL "ldap://xxx.xxx.xxx.xxx:389/OU=usuarios_a_se_autenticar,DC=exa mple,DC=com?sAMAccountName?sub? (objectClass=*)"

AuthLDAPBindDN "CN=apache,CN=Users,DC=example,DC=com"

AuthLDAPBindPassword "12345apache"

AuthName "Entre com usuário e senha do AD"



      order deny,allow

      deny from all

      require valid-user



Satisfy Any

 

Explicações:

  • AuthLDAPURL → Endereço completo do servidor, onde xxx.xxx.xxx.xxx (192.168.0.1), porta. Ou, de onde se encontra os usuários que irão autenticar no diretório, DC=Domínio do AD;
  • AuthLDAPBindDN → Usuário do AD com permissão para listar os usuários do domínio;
  • AuthName → Senha do usuário.


Não vou entrar no mérito de explicar todos os campos do arquivo, pois são basicamente os mesmos para qualquer arquivo .htaccess.

No meu ambiente, esta autenticação está funcionando perfeitamente.


Qualquer dúvida poste aqui que eu respondo.

Espero ter ajudado, assim como eu precisava deste tipo de solução, mas os exemplos que achei na Internet não foram claros o suficiente.

Tags dica
OCTA Tecnologia
OCTA Tecnologia

Nascemos na era digital, onde informação tornou-se um bem muito precioso. Vendo as dificuldades de empresas de médio e pequeno porte com a sua infraestrutura de TI, resolvemos criar um modelo de serviço e atendimento diferenciado, visando agregar valor a esses negócios. De tal forma que tenha um excelente ambiente de trabalho, pagando o justo e se preocupando apenas com o sucesso do seu négocio.