Entre as várias opções de autenticação do Apache existe uma que permite usar base LDAP. Nessa dica está sendo usado uma base do Active Directory do Windows Server 2008 64 bits com o Microsoft Identity Management for UNIX 6.0 instalado. Nesta dica será exposto como usar autenticação com e sem ele. A máquina onde está instalada o Apache esta com sistema openSUSE 64 bits com todas as configurações para funcionamento com Hosts Virtuais.
Para ser usado a autenticação LDAP, primeiramente deve se ativar os módulos LDAP e AUTHNZ_LDAP do Apache. Isso pode ser feito facilmente com os comandos abaixo:
Para ser usado a autenticação LDAP, primeiramente deve se ativar os módulos LDAP e AUTHNZ_LDAP do Apache. Isso pode ser feito facilmente com os comandos abaixo:
# a2enmod ldap
# a2enmod authnz_ldap
Feito isso, agora basta configurar um diretório para autenticação. Nesse exemplo, o arquivo de configuração do host virtual se encontra em /etc/apache2/vhosts/vhost.conf. Abra o arquivo com o seguinte comando:
# vi /etc/apache2/vhosts/vhost.conf
Pressione "i" para iniciar a alteração do arquivo e escolha um diretório para aplicar as configurações. Um exemplo básico usando o Microsoft Identity Management for UNIX seria o seguinte:
<directory "/srv/www/vhosts/dominio.com/diretorio">
Options All
Order allow,deny
Allow from all
AuthBasicAuthoritative off
AuthName "Informe usuario e senha"
AuthType Basic
AuthBasicProvider ldap
AuthzLDAPAuthoritative on
AuthLDAPBindDN "cn=usuarioApache,ou=UsuLocais,dc=dominio,dc=com"
AuthLDAPBindPassword "123456"
AuthLDAPURL ldap://192.168.0.1:389/ou=UsuLocais,dc=dominio,dc=com?uid
Require valid-user
DirectoryIndex index.html
</Directory>
Feche o arquivo pressionando "ESC" depois ":wq" e em seguida "Enter". Agora o apache deve ser parado e reiniciado para que as alterações entrem em vigor:
# rcapache2 stop
# rcapache2 start
No código acima, a primeira linha em vermelho informa o usuário que irá se conectar a base ldap para ler as informações, a "ou" onde está esse usuário e o domínio ao qual ele pertence. Na segunda linha em vermelho, é informado a senha do usuário. Já na terceira linha, é informado onde deve ser procurada as informações do usuário que está tentando se autenticar no diretório. Neste caso, na terceira linha (AuthLDAPURL) a busca é feita pelo "uid", por isso o usuário que irá se autenticar deverá ter sua conta corretamente configurada na aba UNIX Atributes, no Snap-in "Usuários e Computadores do Active Directory" como pode ser visto na tela abaixo:
Além disso, ao realizar as configurações, tenha certeza que os usuários que irão se autenticar estão realmente dentro da "ou" informada pois caso contrário será retornado erro 500 referente a problemas internos do servidor.
Um exemplo de AuthLDAPURL para fazer busca em todo o domínio sem usar o Microsoft Identity Management for UNIX 6.0 seria como abaixo:
AuthLDAPURL "ldap://192.168.0.1:389/dc=dominio,dc=com?sAMAccountName?sub?(objectClass=person)"
Com isso, qualquer usuário do domínio poderá realizar acesso na pasta especificada, mas a busca no logon será um pouco mais demorada pois o sistema irá varrer o domínio todo para encontrar o usuário e não somente uma "ou" ou "cn" em específico.
Seria isso, existe muitas outras configurações possíveis, mas essa dica é apenas para ajudar a quem está iniciando e encontrou dificuldades nos primeiros testes. Sempre que houver problemas, é recomendável ler o arquivo de log referente aos erros pois neles as informações são mais precisas sobre as causas. Até a próxima.
Cordialmente;
Claudir Pereira dos Santos
Matelândia-PR
Além disso, ao realizar as configurações, tenha certeza que os usuários que irão se autenticar estão realmente dentro da "ou" informada pois caso contrário será retornado erro 500 referente a problemas internos do servidor.
Um exemplo de AuthLDAPURL para fazer busca em todo o domínio sem usar o Microsoft Identity Management for UNIX 6.0 seria como abaixo:
AuthLDAPURL "ldap://192.168.0.1:389/dc=dominio,dc=com?sAMAccountName?sub?(objectClass=person)"
Com isso, qualquer usuário do domínio poderá realizar acesso na pasta especificada, mas a busca no logon será um pouco mais demorada pois o sistema irá varrer o domínio todo para encontrar o usuário e não somente uma "ou" ou "cn" em específico.
Seria isso, existe muitas outras configurações possíveis, mas essa dica é apenas para ajudar a quem está iniciando e encontrou dificuldades nos primeiros testes. Sempre que houver problemas, é recomendável ler o arquivo de log referente aos erros pois neles as informações são mais precisas sobre as causas. Até a próxima.
Cordialmente;
Claudir Pereira dos Santos
Matelândia-PR
Nenhum comentário:
Postar um comentário