Usando HTTP autenticado no Apache

Este tutorial requer que já se tenha em mãos um webserver Apache configurado e funcionando. Você já teve momentos em que desejou que algum usuário não autorizado deixasse de fuçar determinada pasta em seu servidor web? Eis aqui a solução para seus problemas!

[ Hits: 38.218 ]

Por: Rafael Henrique da Silva Correia em 30/06/2009 | Blog: http://abraseucodigo.com.br


Mão na massa com arquivo de configuração do Apache



1. Abra o arquivo (em um editor de texto) de configuração do SITE que você usará, no meu caso seria:

# vim /etc/apache2/sites-enabled/000-default

2. Agora adicione um contêiner com uma diretiva Directory desta forma (sem adicionar os números das linhas):

1 <Directory /var/www/admin>
2    Deny from all
3    AuthType Basic
4    AuthName "Digite usuário e senha"
5    AuthUserFile /etc/apache2/.htpasswd
6    Require valid-user
7    Satisfy Any
8 </Directory>

Explicando:

Linha 1: Nesta linha abro o contêiner da diretiva Directory e aponto o diretório /var/www/admin (o qual quero modificar permissões de acesso).

Linha 2: Nesta linha nego privilégio a todo mundo para liberar nas linhas debaixo, porém nas linhas debaixo libero com as restrições de acesso igualmente as restrições que usei quando utilizei o arquivo .htaccess (lembrando que se eu adicionar as restrições no arquivo de configuração do site não preciso criar o arquivo .htaccess no diretório, por favor não confunda :D).

Linhas 3, 4, 5, 6, 7: Já explicadas quando falei sobre o arquivo .htaccess.

Linha 8: Fecho o contêiner da diretiva Directory.

3. Agora salvo e saio do arquivo, daí o Apache tem um comando bem interessante que faz carregar o arquivo do site, que é a2ensite (Apache 2 enable site), use-o desta forma:

# a2ensite

Daí aparecerão os arquivos de site disponíveis a ser(em) carregado(s), você digita um dos nomes que aparece e tecla enter, ele carregará o arquivo.

4. Aí para terminar digite:

# /etc/init.d/apache2 reload

Com isso você fará com que o daemon do Apache releia as configurações do arquivo de configuração do site que você acaba de modificar ou se quiser ter mais certeza reinicie o daemon usando:

# /etc/init.d/apache2 stop
# /etc/init.d/apache2 start


ou:

# /etc/init.d/apache2 restart

5. Agora a autenticação já deve estar funcionando corretamente, mas agora baseada em arquivo de configuração do Apache e não mais no .htaccess, faça os testes como no item 6 da explicação do .htaccess.

Página anterior     Próxima página

Páginas do artigo
   1. Um pouco de teoria do protocolo HTTP
   2. O arquivo .htaccess
   3. Mão na massa com .htaccess
   4. Mão na massa com arquivo de configuração do Apache
   5. Aspectos e cuidados com a segurança
Outros artigos deste autor

Configurando cliente na rede wireless com criptografia WPA - Debian

Problema resolvido: VMware Server 1.0.7 rodando no Debian Lenny Linux

Compilar kernel em distros baseadas em Debian

Leitura recomendada

Servidor SSH (Secure Shell Hosting)

Filtro de conteúdo e vírus: Slackware 10.2 + Squid + Dansguardian + Clamav

Reaver - Testes de segurança em redes sem fio

Configurando um servidor Freeradius + openLDAP

Prevenção e rastreamento de um ataque

  
Comentários
[1] Comentário enviado por paulorvojr em 01/07/2009 - 15:16h

Muito bem explicado, parabéns.
Ou seja você refez cada passo enquanto escrevia o artigo. É assim que gostamos de ver artigos com pé e cabeça, e não aqueles que parecem papo de bar.

Abraços

[2] Comentário enviado por rafaelhenrique em 02/07/2009 - 18:48h

Muito obrigado pelo elogio paulorvojr, prentendo continuar escrevendo artigos que agradem os leitores!!

Abraço

[3] Comentário enviado por qxada07 em 29/03/2011 - 19:27h

Parabéns pelo artigo...


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts