Pular para o conteúdo

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!
Rafael Henrique da Silva Correia rafaelhenrique
Hits: 40.607 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 3: Mão na massa com .htaccess

* Você terá de usar o root para realizar essas configurações.

1. Abra o arquivo /etc/apache2/apache2.conf com o editor de texto da sua preferência, ou use meu exemplo:

# vim /etc/apache2/apache2.conf

2. Verifique se a linha AccessFileName está desta forma:

AccessFileName .htaccess

3. Agora vamos criar o arquivo .htaccess e jogá-lo dentro do diretório.

Criar o diretório admin:

# mkdir /var/www/admin

Criar o arquivo .htaccess e acrescentar as linhas descritas (não digite o número das linhas, somente o conteúdo):

# vim /var/www/admin/.htaccess

1 AuthType Basic
2 AuthName "Digite usuário e senha"
3 AuthUserFile /etc/apache2/.htpasswd
4 Require valid-user
5 Satisfy Any
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Explicando:

Linha 1: Isso significa que vou usar o tipo Base64 de transferência (que não é criptografado e sim codificado e é facilmente decodificado, explicarei aspectos relacionados a segurança logo mais neste tutorial).

Linha 2: Lembram da mensagem de resposta HTTP?

WWW-Authenticate: Basic realm="Digite seu usuário e senha"

Esta linha adiciona o rótulo da mensagem do Realm.

Linha 3: Digo que ele buscará a senha do arquivo de senhas /etc/apache2/.htpasswd.

Linha 4: Requer que exista um usuário válido a ser autenticado.

Linha 5: Satisfy pode ter dois valores All ou Any:
  • o All diz que o usuário tem que passar na restrição de acesso (Required ou Allow, no nosso caso required) e entrar com um usuário e senha válidos para realizar a autenticação;
  • o Any diz que o usuário tem que passar na restrição de acesso OU entrar com um usuário e senha válidos para realizar a autenticação.

4. Agora como foi visto acima, o arquivo de senhas /etc/apache2/.htpasswd tem que ser criado. Crio este arquivo facilmente com o comando htpasswd da seguinte forma:

# htpasswd -c /etc/apache2/.htpasswd root

Onde:
  • -c = create new archive

Este comando pedirá senha para o usuário especificado, em nosso caso, root.

5. Reinicie o Apache:

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


ou:

# /etc/init.d/apache2 restart

6. Agora a autenticação já tem de estar funcionando! Tente entrar pelo browser no seu servidor apache no diretório admin, em uma máquina "normal", a URL ficaria assim no browser:

http://localhost/admin

Se ele pedir usuário e senha quando esta URL for especificada, parabéns! Senão reveja novamente os passos deste tutorial, ou email-me. :D

Agora vocês vão me perguntar:

"Mas meu, você não falou que quando eu tenho acesso aos arquivos de configuração do Apache eu não devo criar arquivos .htaccess devido ao desempenho e mais a um monte de coisas?"

Eis que lhe responderei:

"SIM!"

Agora explicarei como você faria se tivesse acesso aos arquivos de configuração do Apache.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   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

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

Análise passiva (parte 2)

Mantendo seu Slackware atualizado com o slackcurrent

Não precisamos de antivírus, eles sim

Implementando segurança no SSH

Utilizando hping

#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

Entre na sua conta para comentar.