Olá amigos, hoje vou mostrar uma maneira bem simples de autenticar usuários no Apache2 em uma base no AD com Perl AuthenNTLM.
Primeiramente devemos baixar o pacote libapache2-authenntlm-perl conforme abaixo:
#apt-get install libapache2-authenntlm-perl
Devemos então editar as configurações para nosso virtualhost em /etc/apache2/sites-enabled/site.conf ou diretamente no arquivo default em /etc/apache2/sites-enabled/000-default conforme abaixo:
<Directory>
Order allow,deny
Allow from 192.168
Options FollowSymLinks
AllowOverride None
PerlAuthenHandler Apache2::AuthenNTLM
AuthType ntlm
AuthName "Acesso Restrito"
require valid-user
PerlAddVar ntdomain "DOMÍNIO nome_do_servidor"
PerlSetVar defaultdomain DOMÍNIO
PerlSetVar ntlmsemtimeout 2
PerlSetVar ntlmdebug 2
PerlSetVar splitdomainprefix 1
</Directory>
Existem algumas considerações a respeito da configuração da variável PerlAddVar ntdomain.
No nome_do_servidor deve existir realmente um nome e não o endereço IP, o nome do servidor deve ser adicionado no arquivo /etc/hosts uma vez que a resolução de nomes da ferramenta é local.
Maiores informações a respeito do Perl AuthenNTLM inclusive as definições de suas variáveis podem ser encontradas no link abaixo:
http://search.cpan.org/~speeves/Apache-AuthenNTLM-2.10/AuthenNTLM.pm#PerlAddVar_ntdomain_%22domain_pdc_bdc%22
Quais quer dúvidas ou esclarecimentos estou a disposição.
Um grade abraço a todos.