O documento descreve o processo de autenticação por usuário e senha no Apache, incluindo: 1) o usuário envia o login e senha que são verificados no arquivo criptografado; 2) é possível criar grupos de usuários; 3) o navegador solicita as credenciais se não tiver; 4) é necessário configurar o arquivo htaccess no diretório restrito.
2. O princípio da autenticação é simples. O cliente
envia o seu login e sua senha para o servidor
Apache.
O Apache procura a entrada correspondente no
arquivo de senhas criptografadas, verificando se o
usuário tem permissão para acessar o diretório
protegido.
O webmaster pode armazenar os logins de acesso
(usuários) em uma lista (arquivo) ou em um banco
de dados.
Também é possível juntar vários usuários em um
grupo e dar acesso ao grupo ao invés de dar
acesso usuário por usuário.
Administração de redes 19/11/2014 2
3. Cada par login/senha é válido para um
domínio particular que é nomeado quando
as senhas são criadas.
O navegador pergunta sobre a URL; o
servidor envia de volta o código 401
(Autenticação Requerida) e o domínio.
Se o navegador já possuir o login e a senha,
ele envia a requisição novamente para o
servidor, caso contrário o navegador solicita
ao usuário que entre com seu login e a sua
senha.
Administração de redes 19/11/2014 3
4. O que iremos mostrar agora não é totalmente
seguro, pois a senha trafega pela rede
criptografada com uma chave de apenas 64
bits, o que é facilmente reversível.
Atualmente é possível criar uma
implementação mais eficiente utilizando o
protocolo SSL.
Administração de redes 19/11/2014 4
5. Este arquivo deve estar dentro do diretório restrito.
<Directory /var/www/html/restrito>
AuthType Basic
AuthName “Digite seu login e sua senha”
AuthUserFile /etc/httpd/auth/acesso
Require valid-user
</Directory>
Administração de redes 19/11/2014 5
6. A diretiva AuthType Basic ativa a checagem
da autenticação.
Esta diretiva especifica também o tipo de
controle da autorização.
◦ Originalmente somente Basic era possível.
◦ A partir da versão 1.1 foi introduzida a opção
Digest que usa MD5.
◦ Se a diretiva AuthType for usada, torna-se
necessário usar também AuthName e
AuthGroupFile ou AuthName e AuthUserFile.
7. O que aparece na janela de
solicitação de usuário e senha.
Exemplo:
AuthName “Digite seu login e sua
senha”
Administração de redes 19/11/2014 7
8. Esta diretiva é necessária somente para
autenticações por grupo.
Fornece o nome do arquivo que contém os
nomes dos grupos e seus membros:
Exemplos:
AuthGroupFile vendas
AuthGroupFile diretores
Administração de redes 19/11/2014 8
9. AuthUserFile <nome do arquivo>
É um arquivo de nomes de usuários e suas
senhas criptografadas.
Exemplos:
AuthUserFile acesso
AuthUserFile /etc/httpd/auth/acesso
Administração de redes 19/11/2014 9
10. 1. Informar, no arquivo de configuração do
Apache, que determinado diretório terá
restrição de acesso.
2. Criar um arquivo em local de sua escolha,
para armazenar as senhas dos usuários.
3. Criar, obrigatoriamente no diretório restrito,
um arquivo denominado .htaccess. A
presença deste arquivo restringe o acesso ao
diretório.
Administração de redes 19/11/2014 10
11. O utilitário “htpasswd” é usado para criar o
arquivo de senhas e, posteriormente para
inserir cada uma das senhas criptografadas.
• Em nosso caso criamos o arquivo de senhas dentro
de etc/httpd/auth/, já que os usuários não tem
acesso a esta localização e o chamamos de “acesso”.
Administração de redes 19/11/2014
1
1
12. O arquivo de senhas é criado junto com o primeiro
usuário. Em nosso caso, como já dissemos, demos
ao arquivo o nome de acesso. Veja abaixo a
sintaxe:
◦ htpasswd -c acesso joao
New password:
Re-type new password:
Adding password for user joao
Para o segundo usuário, omitimos a opção –c, pois
o arquivo de senhas já foi criado no comando
anterior. Digitamos apenas o comando, o nome do
arquivo de senhas e o login do usuário.
◦ htpasswd acesso pedro
Administração de redes 19/11/2014 12
13. Inserir um vínculo para o diretório restrito, na
página principal (index.html) existente no
diretório /eletrica/htdocs.
◦ <a href=“restrito/index2.html">Clique aqui para
acessar a área restrita</a>
Criar, dentro do diretório restrito, a página
index2.html que será acessada após a
digitação do login e da senha.
Administração de redes 19/11/2014
1
3
14. Faça um teste através do navegador
confirmando o acesso restrito.
Verifique os logs do sistema Apache.
Administração de redes 19/11/2014 14