Bloqueando lista de sub-diretórios e arquivos

Aqui no laboratório sempre estou com demandas diferentes, tem que se aperfeiçoar constantamente, vida de SysAdmin.

Estou estudando bastante segurança de WordPress e uma ferramenta que ajuda bastante é o wpscan e observando um site de um parceiro apareceu que um diretório sensível estava público.  No caso o diretório uploads fica aberto acessando por http://localhost/wordpress/wp-content/uploads e usando programas como httrack ou wget é possível baixar todos arquivos recursivamente e montando a mesma estrutura no ambiente local.

ruby ./wpscan.rb --url http://localhost/wordpress
httrack http://localhost/wordpress/wp-content/uploads/iphorm/ -b1 +*

Então fiz um estudo rápido de como proteger essa falha aberta e achei duas soluções, uma consistia em criar um arquivo index.html em todos os diretórios e sub-diretórios recursivos, para tal a melhor solução que achei foi com uma junção do comando find com touch e ficou assim:

find . -type d -exec touch {}/index.html \;

Outra solução é criar um arquivo .htaccess com o conteúdo
Options -Indexes

Acrescentando assim uma nova instrução ao apache, sem necessidade de ter autorização do administrador do servidor.

De cara não funcionou aqui no meu ambiente de desenvolvimento, que roda um openSUSE e tive que fazer alguns ajustes no apache, acrescentando no arquivo /etc/apache2/httpd.conf

<Directory “/srv/www/htdocs”>
AllowOverride All
</Directory>

Aí sim funcionou!

Os comandos utilizados foram para conhecer melhor as vulnerabilidades foram

Padrão