Na FikreSekhel, a gente respira pentesting. Todo dia, analisamos sistemas dos mais variados – de startups promissoras até empresas gigantes do varejo online. E, mesmo em 2025, ainda encontramos erros de configuração no Apache dignos dos anos 2000. Sério. 😬

Hoje queremos falar de um ponto que parece simples, mas que ainda dá muita dor de cabeça: erros de permissões e controle de acesso mal configurado no Apache, seja via .htaccess, seja no apache2.conf.

O básico que muita gente ainda erra

O Apache permite controlar o acesso a diretórios e arquivos sensíveis através de dois mecanismos principais:

  • Arquivos .htaccess, colocados em diretórios específicos.
  • Arquivo global de configuração: apache2.conf (ou httpd.conf, dependendo da distro).

E aí, começa o festival de erros:

  • .htaccess liberando o diretório /admin/ para o mundo inteiro.
  • Falta de diretivas como Require all denied em pastas que deveriam estar inacessíveis.
  • Diretórios de backup de desenvolvimento expostos (tipo /old_site, /v2, /dev, etc.). Sim, chegamos a conseguir realizar o download do site INTEIRO!
  • DirectoryIndex apontando para scripts vulneráveis ou expostos.

Case: Loja virtual “TopTenStore”

Durante um pentest recente numa loja virtual que chamaremos de TopTenStore, encontramos o seguinte cenário:

  1. A loja usava .htaccess para controle de diretórios administrativos.
  2. Mas esqueceram de negar o acesso a um diretório chamado /backups/, que continha backups completos do banco de dados, salvos em .sql.gz. 😱
  3. Um simples Google dork revelou a URL direta para o arquivo.
  4. Fizemos o download, extraímos o conteúdo… e pronto: usuários, senhas (algumas sem hash!), e todos os pedidos da loja nos últimos 2 anos.

Outro erro comum: AllowOverride None

Outro clássico é o uso do AllowOverride None no apache2.conf, que basicamente ignora completamente os .htaccess. Ou seja: o admin coloca um .htaccess bonitinho com restrições, mas o Apache ignora tudo porque não foi configurado para “respeitar” o arquivo.

Tudo isso por causa de um .htaccess ausente e uma configuração de diretório permissiva demais no apache2.conf.

🔥 Erros comuns no .htaccess

  1. Falta de Deny from all ou Require all denied
    Diretórios sensíveis ficam acessíveis publicamente por padrão.
  2. Permitir acesso ao diretório /admin/ sem autenticação
    Qualquer pessoa pode acessar o painel administrativo.
  3. Expor diretórios de backup ou dev (/backup/, /old/, /dev/)
    Muitas vezes contêm códigos antigos, senhas ou bancos de dados.
  4. Não desabilitar listagem de diretórios (Options Indexes)
    Isso permite que o atacante veja todos os arquivos do diretório.
  5. Falta de restrição por IP para diretórios críticos
    Especialmente em /admin, /phpmyadmin, /painel, etc.
  6. Permitir execução de scripts em diretórios de upload
    Usuário envia um .php malicioso e executa direto no servidor.
  7. Header de segurança ausentes (como X-Frame-Options, Content-Security-Policy, etc.)
    Facilita ataques de clickjacking, XSS e outros.

🔥 Erros comuns no apache2.conf (ou httpd.conf)

  1. AllowOverride None em diretórios onde .htaccess é necessário
    Faz o Apache ignorar completamente as regras do .htaccess.
  2. Options +Indexes ativado globalmente
    Permite listagem de todos os diretórios não protegidos.
  3. Permissões globais excessivas (Require all granted)
    Pode abrir demais o acesso ao site inteiro.
  4. Diretórios sensíveis mal configurados (<Directory /var/www/html/secret> sem restrições)
    Facilita a descoberta de recursos internos.
  5. Falta de configuração de logs de erro e acesso
    Dificulta a detecção de invasões e tentativas de exploração.
  6. Má configuração do DirectoryIndex
    Pode fazer com que arquivos sensíveis (ex: index_old.php) sejam carregados por padrão.
  7. Não limitar métodos HTTP (LimitExcept GET POST)
    Permitir métodos como PUT, DELETE ou TRACE pode ser um desastre.

Baixe nosso checklist enviando um email para: contato@fikresekhel.com, dizendo: Eu quero o checklist do Apache!

Tá na hora de revisar isso aí, né?

Se você tem um site, uma aplicação, ou mesmo um painel administrativo rodando em Apache, vale a pena fazer uma checagem completa nas permissões, nos arquivos .htaccess e nas diretivas do apache2.conf. A maioria dos ataques de exploração que vemos nesse cenário são automatizados, e os bots não perdoam.

Quer saber se seu sistema também tem esses vacilos?

Na FikreSekhel, oferecemos uma avaliação gratuita de segurança básica. Em poucas horas, conseguimos detectar se há riscos evidentes na sua configuração Apache (e em outras partes críticas do seu sistema).

📬 Entre em contato agora mesmo e descubra o que os invasores já podem estar vendo no seu sistema sem você saber.

👉 contato@fikresekhel.com
🔍 Ou, se preferir, fale conosco pelo nosso whatsapp (11) 991375342

Leave a Reply

Your email address will not be published. Required fields are marked *