Apache
Autenticação por usuário e senha
Introdução
• 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.
05/11/2015
Administração de redes
2
Funcionamento
• 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.
05/11/2015
Administração de redes
3
Considerações
• 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.
05/11/2015
Administração de redes
4
Arquivo .htaccess
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>
05/11/2015
Administração de redes
5
AuthType Basic
• 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.
AuthName
• O que aparece na janela de solicitação de
usuário e senha.
• Exemplo:
AuthName “Digite seu login e sua senha”
05/11/2015
Administração de redes
7
AuthGroupFile
• 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
05/11/2015
Administração de redes
8
AuthUserFile
• AuthUserFile <nome do arquivo>
• É um arquivo de nomes de usuários e suas
senhas criptografadas.
• Exemplos:
AuthUserFile acesso
AuthUserFile /etc/httpd/auth/acesso
05/11/2015
Administração de redes
9
Procedimentos
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.
05/11/2015
Administração de redes
10
Criando o arquivo de senhas (1)
• 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”.
05/11/2015
Administração de redes
11
Criando o arquivo de senhas (2)
• 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
05/11/2015
Administração de redes
12
Páginas HTML
• 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.
05/11/2015
Administração de redes
13
Testar
• Faça um teste através do navegador
confirmando o acesso restrito.
• Verifique os logs do sistema Apache.
05/11/2015
Administração de redes
14
Download

04 autenticação Apache