Como posso proteger o meu ficheiro .htaccess?

Introdução

Proteger um site é um desafio, há muitos aspectos diferentes da segurança do site e inúmeras falhas de segurança que precisam ser fechadas. Reunimos algumas dicas úteis de segurança htaccess, ajustes e trechos de código para corrigir problemas comuns de segurança de sites. Todas estas correcções funcionam sem falhas na nossa plataforma de alojamento web. Os scanners de segurança detectam frequentemente estes problemas. Eis como pode corrigi-los para melhorar a segurança geral do seu sítio Web. Pode utilizar estas dicas de segurança e snippets de código htaccess para WordPress e qualquer outro sítio Web.

Como posso proteger o meu ficheiro htaccess?
Como posso proteger o meu ficheiro htaccess?

O que é um ficheiro .htaccess?

O .htaccess é um ficheiro utilizado pelo servidor Web Apache para definir variáveis de ambiente do servidor e definições de configuração apenas para o diretório especificado. Normalmente, está localizado no diretório de raiz do seu sítio Web, por exemplo, /home/username/public_html/.htaccess

Ativar o HTTP Strict Transport Security (HSTS) em .htaccess

O suporte HTTP Strict Transport Security (HSTS) é frequentemente apresentado por SEO e scanners de segurança. O que é que isso faz? Diz simplesmente aos navegadores Web que pretende que o seu sítio Web só seja acessível através de uma ligação https válida. Para o ativar, basta adicionar esta linha ao seu htaccess:

Header set Strict-Transport-Security "max-age=31536000" env=HTTPS

Bloquear a execução de código PHP em determinados diretórios em .htaccess

Este é um rápido ajuste de segurança do site .htaccess que funciona para o WordPress ou qualquer outro site personalizado com diretórios que você deseja proteger da execução do código PHP. Com este truque .htaccess, pode bloquear facilmente a execução de PHP nos seus diretórios centrais do WordPress para impedir ataques comuns. No entanto, verifique cuidadosamente o seu sítio Web para garantir que a funcionalidade dos temas ou plugins existentes não é afetada. Para tal, basta criar um ficheiro .htaccess em cada diretório que pretende proteger e adicionar este código:

Ordem allow,deny
Negar de todos


Requerer todos negado 

Restringir o acesso por endereço IP em .htaccess

Se tiver um endereço IP estático, pode utilizá-lo para controlar o acesso a determinados ficheiros ou diretórios no seu sítio Web, como a página de início de sessão ou a área de administração. Isto é frequentemente utilizado para proteger sítios Web WordPress, restringindo o acesso aos diretórios wp-login.php e /wp-admin/, mas também funciona para outros sistemas de gestão de conteúdos e sítios e aplicações personalizados.

Para restringir o acesso a um ficheiro específico

<Arquivos .php>
Ordem deny,allow
Negar de todos
Permitir de

Para restringir o acesso a um diretório inteiro, crie um ficheiro .htaccess no diretório que pretende proteger e adicione este código:

Ordem Negar,Permitir
Negar de todos
Permitir a partir de

Impedir a navegação de diretórios em .htaccess

Isto é muitas vezes definido por defeito pelo seu fornecedor de alojamento, mas se não for, pode adicionar a seguinte linha ao seu ficheiro .htaccess para impedir a navegação nos seus diretórios através de um navegador Web.

Opções Todos -Índices

Impedir hotlinking de imagens em .htaccess

Isto impede que outros sítios Web apresentem imagens alojadas no seu sítio Web. Isto não é um grande problema, mas se o sítio Web tiver muito tráfego, pode consumir rapidamente a sua largura de banda e fazer com que o seu sítio Web seja bloqueado ou incorra em custos adicionais de largura de banda. Também pode substituir a imagem por uma que mostre o nome e o endereço do seu sítio Web para fazer uma pequena promoção para si próprio, ou substituí-la por algo atrevido, se assim o entender. Basta adicionar este código ao seu ficheiro .htaccess e alterar o seu domínio e o URL da sua imagem sem hotlinks em conformidade:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?yourdomain.com/.*$ [NC]
RewriteRule .(jpeg|JPEG|jpe|JPE|jpg|JPG|gif|GIF|png|PNG)$ https://www.yourdomain.com/no-hotlinking.png [R,L]

Cabeçalho para partilha de recursos entre origens (CORS)

Basicamente, este cabeçalho restringe o acesso a recursos como folhas de estilo CSS, imagens e scripts ao domínio especificado. Recomendamos que você leia mais sobre CORS no site Site dos desenvolvedores do Mozilla para ler. Se quiser ativar o CORS, basta adicionar a seguinte linha ao seu .htaccess:

Header set Access-Control-Allow-Origin https://www.yourdomain.com

Desativar o HTTP Track & Trace

Outro método frequentemente indicado pelas análises de segurança é desativar os métodos HTTP TRACE e HTTP TRACK. Isto pode ser conseguido no Apache adicionando TraceEnable Off ao seu httpd.conf ou adicionando o seguinte código ao seu ficheiro .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK)
RewriteRule .* - [F]
Já conhece este manual?