Servidor Apache
Criar uma área protegida em um site é uma necessidade cada vez mais comum. Seja para disponibilizar conteúdo pago ou simplesmente para restringir o acesso a pessoas autorizadas.
É possível proteger uma área de seu site usando os métodos de autenticação do servidor Web Apache.
Na essência, basta configurar o diretório para que apenas os usuários autenticados possam acessá-la.
Neste laboratório será usado o módulo de autenticação libapache2-authnz-ldap. A intenção é fornecer uma janela de login de acesso a uma área do site usando um par usuário/senha armazenado no servidor OpenLDAP.
Instalando o Apache
Para instalar o Apache versão 2, execute o seguinte comando:
aptitude install apache2
Ativando módulo de suporte ao LDAP
Para que o suporte ao LDAP seja ativado no Apache é necessário executar o seguinte comando:
a2enmod authnz_ldap
Criando “virtualhost” com acesso autenticado
Para efeito de testes vamos criar um “virtualhost” em nosso servidor Apache. Assim poderemos visualizar a autenticação acontecendo.
1. Crie um arquivo chamado kyapanel.com.br e insira o seguinte conteúdo:
<VirtualHost *>
ServerAdmin webmaster@ldap__.kyapanel.com.br
ServerName ldap__.kyapanel.com.br
DocumentRoot /var/www/ldap
LDAPTrustedClientCert CERT_BASE64 /etc/ldap/tls/cacert.pem
LDAPTrustedMode TLS
<Directory /var/www/ldap>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
AuthType Basic
AuthName "Curso de OpenLDAP"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL "ldap://ldap__.kyapanel.com.br:389/ou=Usuarios, \
dc=kyapanel,dc=com,dc=br?uid"
require valid-user
Order allow,deny
allow from all
</Directory>
ErrorLog /var/log/apache2/ldap-error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/ldap-access.log combined
ServerSignature Off
</VirtualHost>
2. Copie o arquivo para o diretório /etc/apache2/conf.d
cp kyapanel.com.br /etc/apache2/conf.d
3. Crie o diretório do nosso “virtualhost” e um arquivo index.html
mkdir /var/www/ldap/ echo "Autenticação por LDAP Funciona" > /var/www/ldap/index.html
4. Reinicie o Apache
apache2ctl restart
A configuração acima permitirá que qualquer usuário válido existente na base LDAP possa acessar a página. Entretanto, em algumas situações, será desejável que o acesso seja permitido apenas para alguns usuários.
Existem diversos métodos que permitem selecionar quais usuários podem ou não acessar uma determinada página web sob autenticação em bases LDAP. O método mais utilizado é a adição de um atributo aos usuários que poderão acessar a página, se a validação for realizada com sucesso.
Para utilizá-lo basta escolher um atributo e adicioná-lo aos usuários desejados e alterar a linha “require valid-user” nas configurações do Apache, por:
require ldap-attribute <atributo>=<valor>
Exemplo:
require ldap-attribute title=acessoweb
Neste exemplo apenas os usuários que possuirem o atributo “title” definido como “acessoweb” conseguirão acessar a página.
Testando autenticação
Para testar a autenticação basta utilizar o seu navegador preferido e acessar o “virtualhost”. Uma tela será exibida solicitando autenticação. Basta fornecer os dados.
Licença
Copyright 2007 Anahuac de Paula Gil e Francisco Kem Iti Saito
Permite-se distribuição, publicação e cópia literal da íntegra deste documento, sem pagamento de royalties, desde que sejam preservadas a nota de copyright, a URL oficial do documento e esta nota de permissão.
Permite-se também distribuição, publicação e cópia literal de seções individuais deste documento, sem pagamento de royalties, desde que sejam preservadas a nota de copyright e a nota de permissão acima, e que a URL oficial do documento seja preservada ou substituída pela URL oficial da seção individual.