No mundo da cibersegurança, existe o conceito de “Reconhecimento”. Antes de um hacker atacar, ele faz um scan. Se o seu site anuncia orgulhosamente: “Olá! Estou a correr o WordPress 5.8.1!”, está a estender o tapete vermelho.
Neste guia abrangente, vamos implementar segurança real ao nível do servidor.
Parte 1: O problema do “generator”
Por padrão, o WordPress injeta:
<meta name="generator" content="WordPress 6.7.1" />
A correção (snippet PHP)
Adicione isto ao functions.php:
remove_action('wp_head', 'wp_generator');
remove_action('rss2_head', 'the_generator');
function wppoland_remove_version_scripts_styles($src) {
if (strpos($src, 'ver=')) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
add_filter('style_loader_src', 'wppoland_remove_version_scripts_styles', 9999);
add_filter('script_loader_src', 'wppoland_remove_version_scripts_styles', 9999);
Parte 2: Security headers
Os cabeçalhos são as trancas da sua porta.
1. X-Frame-Options
Impede que o seu site seja carregado num <iframe>.
<IfModule mod_headers.c>
Header always append X-Frame-Options SAMEORIGIN
</IfModule>
2. Strict-Transport-Security (hsts)
Força os browsers a usar SEMPRE HTTPS.
<IfModule mod_headers.c>
Header set Strict-Transport-Security "max-age=31536000; includeSubDomains"
</IfModule>
Parte 3: Desativar XML-RPC
O xmlrpc.php é obsoleto e o alvo n.º 1 para ataques de Força Bruta.
No .htaccess:
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
Parte 4: Permissões de ficheiros
- Diretorias:
755 - Ficheiros:
644 - wp-config.php:
400ou440.
Resumo
- Esconder info (Remover versão).
- Proteger ligação (HSTS).
- Fechar portas (XML-RPC).
- Trancar janelas (Permissões).


