terça-feira, 22 de dezembro de 2015

Protegendo diretórios do Apache com senha pelo .htaccess


Neste pequeno post irei abordar a configuração de um diretório protegido por senha no apache, onde iremos fazer algumas parametrizações no .htaccess do diretório e nas configurações do apache. É bem simples.

Vamos conhecer mais sobre o ambiente:

  • Estarei utilizando apache2 das distribuições Debian, mas o tutorial pode ser adaptado para versões httpd de distribuições Red Hat, Slackware, OpenSUSE e etc. 
  • O diretório a ser protegido será /var/www/html/documentos 
  • A proteção será efetuada através do .htacess
Considerando esses pontos, vamos criar um diretório seguro para armazenar os arquivos de senhas do .htacees

Criando o htpasswd para proteção do diretório:

Vamos criar uma pasta no diretório /home para armazenas os arquivos com as senhas. 
 # mkdir /home/chaves/ 
Agora vamos usar o htpasswd para criar um ficheiro de um usuário com uma senha válida.
 htpasswd -c /home/chaves/htpasswd matheus  

Onde:
  • /home/chaves/htpasswd : é o caminho para o arquivo de autenticação 
  • matheus : é o usuário válido para o mesmo 
Agora edite as configurações do Apache:

Debian Distros:
 # vim /etc/apache2/apache2.conf   

CentOS/RHEL 7:
 # vim /etc/httpd/conf/httpd.conf  

E adicione as linhas, alterando as partes que lhe convém:
 <Directory /var/www/html/documentos>  
     Options Indexes Includes FollowSymLinks MultiViews  
     AllowOverride AuthConfig  
     Order allow,deny  
     Allow from all  
 </Directory>  




Criando/Modificando o arquivo .htaccess

Caso não exista, vamos criar o arquivo .htaccess dentro do diretório documentos, no qual queremos proteger.
 # vim /var/www/html/documentos/.htaccess  
Dentro dele, vamos pontar nosso arquivo de configurações que acabados de criar.
 AuthType Basic  
 AuthName "Acesso Proibido"  
 AuthUserFile  /home/chaves/htpasswd  
 Require user matheus  


Agora é só dar reload no apache

Debian Distros:
 # systemctl reload apache2  

CentOS/RHEL 7:
 # systemctl reload httpd



Agora vamos testar nossas configurações :)

Acesse o diretório pela URL e veja se o formulário de autenticação será exibido. Entre com o usuário e senha que criamos e veja se está tudo Ok.




Espero ter ajudado"

SOBRE O AUTOR

Matheus Fidelis

http://msfidelis.github.io/

Power Ranger, Piloto de Helicópteros e Astronauta da NASA. Desenvolvedor Web PHP com foco em Backend e POO, Linux SysAdmin DevOps e Entusiasta Python. Criou esse site pra contribuir com a comunidade com coisas que aprende dentro de um setor maluco de TI :)

1 comentários:

 
Nanoshots | Open Source Security, Linux e Tutoriais © 2015 - Designed by Templateism.com