Pesquisa de site

Desative a listagem do diretório da Web Apache usando o arquivo .htaccess


Proteger seu servidor web Apache é uma das tarefas mais importantes, especialmente quando você configura um novo site.

Por exemplo, se você criar um novo diretório de site chamado “tecmint” em seu servidor Apache (/var/www/tecmint ou /var/www/html/ tecmint) e esqueceu de colocar um arquivo “index.html” nele, você pode se surpreender ao saber que todos os visitantes do seu site podem obter uma lista completa de todos os seus arquivos e pastas importantes simplesmente digitando http://www.example.com/tecmint no navegador.

Neste artigo, mostraremos como desabilitar ou impedir a listagem de diretórios do seu servidor web Apache usando o arquivo .htaccess.

É assim que a listagem do diretório será mostrada aos visitantes quando index.html não estiver presente nela.

Para começar, .htaccess (ou acesso por hipertexto) é um arquivo que permite ao proprietário de um site controlar as variáveis de ambiente do servidor, bem como outras opções vitais para aprimorar a funcionalidade de seu site. seu(s) site(s).

Para obter informações adicionais sobre este arquivo importante, leia os seguintes artigos para proteger seu servidor web Apache usando o método .htaccess:

  1. 25 truques do Apache Htaccess para proteger o servidor Web Apache
  2. Proteja com senha os diretórios da Web Apache usando o arquivo .htaccess

Usando este método simples, o arquivo .htaccess é criado em qualquer e/ou todos os diretórios da árvore de diretórios do site e fornece recursos para o diretório principal, subdiretórios e arquivos dentro deles.

Em primeiro lugar, ative o arquivo .htaccess do seu site no arquivo de configuração mestre do Apache.

sudo vi /etc/apache2/apache2.conf    #On Debian/Ubuntu systems
sudo vi /etc/httpd/conf/httpd.conf   #On RHEL/CentOS systems

Em seguida, procure a seção abaixo, onde o valor da diretiva AllowOverride deve ser definido como AllowOverride All.

<Directory /var/www/html/>
       Options Indexes FollowSymLinks
       AllowOverride All
</Directory>

No entanto, se você tiver um arquivo .htaccess existente, faça um backup dele da seguinte maneira; supondo que você o tenha em /var/www/html/tecmint/( e queira desativar a listagem deste diretório):

sudo cp /var/www/html/tecmint/.htaccess /var/www/html/tecmint/.htaccess.orig  

Então você pode abri-lo (ou criá-lo) no diretório específico para modificação usando seu editor favorito e adicionar a linha abaixo para desativar a listagem de diretórios do Apache:

Options -Indexes 

Em seguida, reinicie o servidor web Apache:

-------- On SystemD based systems -------- 
sudo systemctl restart apache2
sudo systemctl restart httpd

-------- On SysVInit based systems -------- 
sudo /etc/init.d/apache2 restart 
sudo /etc/init.d/httpd restart

Agora verifique o resultado digitando http://www.example.com/tecmint no navegador, você deverá receber uma mensagem semelhante à seguinte.

Isso é tudo! Neste artigo, descrevemos como desabilitar a listagem de diretórios no servidor web Apache usando o arquivo .htaccess. Também abordaremos dois outros métodos úteis e fáceis para o mesmo propósito nos próximos artigos, até então, fique conectado.

Como de costume, use o formulário de feedback abaixo para nos enviar sua opinião sobre este tutorial.