
⚙️ All in one WP security: configuração de segurança WordPress passo a passo em 16 passos
Todos os dias, um site WordPress médio recebe entre 200 e 500 pedidos ilegítimos ao wp-login.php. Não são hackers de capuz, são scripts. Vasculham a internet, encontram a página de login padrão e começam o ataque de força bruta: admin/123456, admin/qwerty, admin/password_de_base_de_dados_vazada. Mais cedo ou mais tarde, conseguem entrar.
O alojamento não protege contra isto. A firewall do servidor vê um pedido POST legítimo para o wp-login.php e deixa-o passar, não consegue distinguir se é você a introduzir uma palavra-passe ou se é um bot. A proteção do WordPress e a proteção do servidor são duas camadas diferentes, e você é responsável pela primeira.
O All-In-One Security (AIOS) da equipa UpdraftPlus cobre esta camada por completo. Um plugin em vez de um pacote: firewall, proteção de login, auditoria de ficheiros, bloqueio de bots e backups. Um milhão de instalações, classificação de 4,7 no WordPress.org. A versão gratuita é suficiente para proteger um site comum. Abaixo encontra uma configuração passo a passo, do básico à exportação da configuração.
💡 Visão geral rápida:
- Vamos ocultar a página de login atrás de um URL personalizado e ativar a autenticação de dois fatores. Os ataques de força bruta falharão de imediato.
- Vamos configurar três camadas de firewall: regras htaccess, regras PHP e lista negra 6G. Filtragem de pedidos em camadas.
- Vamos bloquear o acesso a ficheiros de serviço, desativar o editor de PHP do painel de administração e verificar as permissões das pastas.
- Vamos ativar a deteção de honeypot e de erros 404. Os bots serão filtrados antes de chegarem, sem captcha para os utilizadores.
- Vamos guardar a configuração pronta num ficheiro para transferir entre sites num minuto.
Passo 1. Remover os metadados do gerador WP
A primeira coisa que revela a sua versão do WordPress é a etiqueta <meta name="generator" content="WordPress X.X.X"> no <head> de cada página. Um atacante obtém o número exato da versão e seleciona exploits para ela em segundos. O AIOS remove esta etiqueta com um simples interruptor.
Caminho: WP Security → Settings → General Settings. Ative Remove WP Generator Meta Info e guarde. Verifique o código fonte da sua página inicial (Ctrl+U), a linha com generator deve desaparecer. Também nesta mesma secção, desative Enable Info Comments, o AIOS adiciona por defeito comentários HTML com informações de serviço, é melhor removê-los também.

Passo 2. Bloquear tentativas de login
O ataque de força bruta ao wp-login.php é o ataque número um em frequência. Os bots tentam centenas de palavras-passe por minuto, criando carga no servidor e na base de dados. Mais cedo ou mais tarde, uma palavra-passe fraca é descoberta, especialmente se um utilizador administrador ou editor usar qwerty123.
Caminho: WP Security → User Login → Login Lockdown. Ative Enable Login Lockdown e defina: máximo de 5 tentativas, bloqueio de IP durante 60 minutos, reinicialização do contador após 24 horas. Para sites com vários administradores, ative Notify by Email, a notificação de bloqueio chega instantaneamente. Se vir notificações frequentes, altere o slug da página de login (passo 14).

Passo 3. Aprovação manual para novos registos
Se o registo estiver aberto no seu site, sem esta configuração qualquer bot criará uma conta em segundos. As contas de spam acumulam-se aos milhares, entupindo a base de dados e criando superfície de ataque através da escalada de privilégios.
Caminho: WP Security → User Registration → Manual Approval. Ative Enable Manual Approval. Agora, cada nova conta aguarda a confirmação do administrador antes da ativação. Nesta mesma secção, configure o captcha para os formulários de registo, uma barreira adicional que os bots não conseguem ultrapassar.

Passo 4. Alterar o prefixo das tabelas da base de dados
O prefixo wp_ é padrão para todas as instalações WordPress. As injeções de SQL e os scripts de comprometimento em massa visam-no especificamente: quando um exploit conhece os nomes das tabelas (wp_users, wp_options), o ataque torna-se direcionado em vez de cego.
Caminho: WP Security → Database → DB Prefix. Vê o prefixo atual. Se for wp_, clique em Change DB Table Prefix. O plugin irá sugerir uma string aleatória ou permitir-lhe-á introduzir uma sua (4 a 6 caracteres, apenas letras latinas e underscores). Antes de executar, faça obrigatoriamente uma cópia de segurança da base de dados (passo 5). O processo demora 5 a 10 segundos num site comum, mas a reversão sem cópia de segurança é impossível.

Passo 5. Cópia de segurança da base de dados
Antes de qualquer alteração estrutural, mudança de prefixo, limpeza de revisões, atualização do núcleo, a cópia de segurança é obrigatória. O AIOS está integrado com o UpdraftPlus, o backup é lançado a partir da mesma interface.
Caminho: WP Security → Database → Database Backup. Clique em Create Database Backup, o ficheiro é guardado localmente. Configure o envio automático para a nuvem através do UpdraftPlus (Google Drive, Dropbox, S3) e o agendamento diário. Restaurar um site após um comprometimento sem cópia de segurança é praticamente impossível, e com o AIOS + UpdraftPlus é um botão.

Passo 6. Verificar permissões de diretórios e ficheiros
Permissões de acesso incorretas, 777 no wp-config.php, 666 na pasta uploads, acesso de escrita aberto ao wp-content, abrem um caminho direto para a escrita de código malicioso. Se um atacante obtiver acesso a um tema através de uma vulnerabilidade, as permissões incorretas permitem-lhe modificar ficheiros do sistema.
Caminho: WP Security → Filesystem Security → File Permissions. Execute a verificação. Todas as linhas devem estar a verde. Linha vermelha ou amarela, clique em Set Recommended Permissions ao lado do ficheiro ou pasta problemático. Depois de corrigir, reinicie a verificação, deve ficar limpa.

Passo 7. Desativar a edição de PHP a partir do painel de administração
O editor integrado de temas e plugins, wp-admin/theme-editor.php e wp-admin/plugin-editor.php, é um caminho direto para a execução arbitrária de código. Se um atacante obtiver acesso ao painel de administração, o editor permite adicionar uma shell PHP ao functions.php e ganhar controlo do servidor. Um programador legítimo não precisa deste editor, as edições são feitas via FTP/SFTP ou deployment.
Caminho: WP Security → Segurança do Sistema de Ficheiros → Edição de Ficheiros PHP. Ative Desativar a Edição de Ficheiros PHP. Depois de guardar, os itens «Editor de Temas» e «Editor de Plugins» desaparecerão dos menus «Aparência» e «Plugins». Se precisar de fazer edições, apenas através do gestor de ficheiros do alojamento ou SSH.

Passo 8. Bloquear o acesso aos ficheiros de serviço do WordPress
readme.html, license.txt, wp-config-sample.php e debug.log revelam a versão do CMS, a estrutura de instalação e caminhos internos. O debug.log é especialmente perigoso: no modo WP_DEBUG, escreve caminhos absolutos do servidor e stack traces de erros com nomes de plugins.
Caminho: WP Security → Segurança do Sistema de Ficheiros → Ficheiros de Informação do WP. Marque os quatro itens: readme.html, license.txt, wp-config-sample.php, debug.log. Guarde. Agora, ao solicitar diretamente yoursite.com/readme.html, o servidor devolverá 403 Forbidden. Estas são regras .htaccess, funcionam ao nível do Apache/Nginx antes de o PHP iniciar.

Passo 9. Funções básicas da firewall
A firewall do AIOS tem três níveis de proteção. As regras .htaccess bloqueiam pedidos antes de passarem para o PHP (a camada mais rápida). As regras PHP filtram vetores XSS, desativam XML-RPC e feeds RSS. A terceira camada corta os falsos bots da Google pelo user-agent.
Caminho: WP Security → Firewall → Firewall Básica. Ative:
- Ativar a Proteção Básica da Firewall, ativação geral;
- Bloquear Falsos Googlebots, os bots com
user-agentfalso do Googlebot são filtrados; - Desativar Feeds RSS e Atom, se o site não usar RSS, desative (análise de conteúdo);
- Desativar a Listagem de Diretórios, impede o Apache de mostrar o conteúdo das pastas sem
index.php.
Aqui desative também o XML-RPC se não usar a aplicação móvel do WordPress, o Jetpack ou trackbacks. Para a maioria dos sites de blogues em 2026, o XML-RPC não é necessário.

Passo 10. Regras adicionais de firewall
As regras alargadas do .htaccess fecham vários outros vetores de ataque: acesso direto por navegador ao wp-config.php e .htaccess, limite de tamanho de ficheiros enviados, desativação da assinatura do servidor.
Caminho: WP Security → Firewall → Additional Firewall. Ative:
- Deny Access to wp-config.php, a configuração chave fica indisponível via HTTP;
- Deny Access to.htaccess, o ficheiro de regras do servidor fica protegido contra leitura;
- Disable Server Signature, o Apache deixa de reportar a versão nos cabeçalhos
Server; - Limit File Upload Size, defina 10 MB (suficiente para imagens, insuficiente para enviar um arquivo com shell).
As regras são escritas diretamente no .htaccess. Depois de guardar, abra o site numa janela anónima e certifique-se de que tudo funciona.

Passo 11. Lista negra da firewall 6G
A 6G Firewall da Perishable Press é um conjunto rigoroso de regras .htaccess que bloqueiam padrões maliciosos em URLs e query strings: injeções de SQL, tentativas de inclusão de ficheiros (../../wp-config.php), vetores de XSS e assinaturas de scanners de vulnerabilidades. As regras são estáticas, não requerem atualizações, os padrões de ataque não mudam há anos.
Caminho: WP Security → Firewall → 6G Blacklist. Ative Enable 6G Firewall Protection e guarde. Se após a ativação um plugin legítimo deixar de funcionar (raro, mas acontece com plugins com padrões de URL não standard), adicione-o à lista branca: Firewall → Whitelist.

Passo 12. Prevenir hotlinking de imagens
Hotlinking é quando outro site incorpora a sua imagem através do URL direto (<img src="https://yoursite.com/uploads/photo.jpg">). O seu servidor serve obedientemente a imagem, consumindo tráfego e recursos de CPU, enquanto o visitante vê o conteúdo no site de outra pessoa. Para sites com capturas de ecrã e fotos originais, isto é notório.
Caminho: WP Security → Firewall → Prevent Hotlinks. Ative Prevent Hotlinking. Adicione domínios de exceção (google.com, facebook.com, twitter.com) para que as pré-visualizações nas redes sociais e motores de busca continuem a funcionar. O AIOS escreve regras no .htaccess, proibindo pedidos diretos de imagens com um cabeçalho Referer de outro domínio.

Passo 13. Deteção de erros 404
Erros 404 em massa são um sinal de scan de vulnerabilidades. Um bot tenta /wp-admin/, /admin/, /backup.zip, /phpmyadmin/ e centenas de outros caminhos típicos, verificando a superfície de ataque. O AIOS monitoriza esses pedidos, associa-os a IPs e bloqueia a origem.
Caminho: WP Security → Scanner → 404 Detection. Ative Enable 404 Detection. Limiar: 20 erros em 15 minutos → bloqueio temporário de 30 minutos; 50 erros em 15 minutos → bloqueio permanente. O separador Logged 404 Events mostrará uma lista ao vivo de pedidos suspeitos, útil para perceber o que exatamente está a ser sondado no seu site.

Passo 14. Alterar o endereço da página de login
/wp-admin e /wp-login.php são pontos de entrada padrão, conhecidos por todos os bots. Sem este passo, a proteção de força bruta (passo 2) funciona, mas os ataques continuam a chegar aos milhares, os bots batem a uma porta conhecida. Renomear a página de login remove o próprio alvo.
Caminho: WP Security → Brute Force → Rename Login Page. Introduza um slug personalizado: pelo menos 4 caracteres, não admin, login ou wp-*. Boa opção: manage- mais 6 letras aleatórias, por exemplo manage-xk7qpd. Depois de guardar, verifique imediatamente o novo URL e guarde-o nos favoritos. O wp-login.php padrão será desativado; se se esquecer do slug, terá de o repor via FTP (apagando ou renomeando o plugin).

Passo 15. Armadilha honeypot para bots
O honeypot é um campo oculto no formulário de login. Um humano não o vê (regra CSS display:none ou posicionamento fora do ecrã), mas um bot encontra-o ao analisar a marcação HTML e preenche-o. O AIOS deteta o campo oculto preenchido e bloqueia a tentativa como não humana. Sem captcha, o utilizador nem sequer sabe da verificação.
Caminho: WP Security → Brute Force → Honeypot. Ative Enable Honeypot Protection. O campo é adicionado automaticamente ao formulário wp-login.php e funciona discretamente em segundo plano. De acordo com a Team Updraft, o honeypot filtra a esmagadora maioria dos bots automatizados; eles não precisam especificamente do seu painel de administração, apenas procuram o formulário padrão e preenchem todos os campos em sequência.

Passo 16. Prevenir a incorporação do site em frames
Clickjacking é um ataque em que o seu site carrega num <iframe> transparente sobre o site do atacante. O utilizador pensa que está a clicar na interface, mas na realidade está a interagir com o formulário de outro site. O cabeçalho X-Frame-Options: SAMEORIGIN impede a incorporação.
Caminho: WP Security → Firewall → Prevent Framing. Ative Prevent Your Site From Being Displayed in a Frame. O AIOS adiciona o cabeçalho HTTP X-Frame-Options: SAMEORIGIN a todas as respostas do servidor. Verifique: curl -I https://yoursite.com, o cabeçalho deve estar na resposta. Para sites com formulário de login, carrinho ou painel de administração, este passo é crítico.

Exportar configuração pronta para outros sites
Se gere vários sites, a importação-exportação poupa horas. O AIOS guarda toda a configuração num ficheiro de texto que é carregado noutro site com um clique.
Caminho: WP Security → Settings → Import/Export. Clique em Export Settings, obtém um ficheiro .txt com todas as opções ativadas e os seus valores. O ficheiro pode ser editado antes da importação noutro site: substitua o email para notificações de segurança e o slug da página de login pelos atuais do site de destino.
Importação: WP Security → Settings → Import/Export → Import Settings → selecione o ficheiro. Todos os 16 passos serão aplicados automaticamente em poucos segundos, sem necessidade de percorrer cada ecrã novamente.
⁉️🤔 Perguntas frequentes
O AIOS é necessário se o alojamento prometer «proteção total»?
O alojamento protege o servidor: sistema operativo, firewalls de rede, filtragem de DDoS. O AIOS protege a aplicação WordPress: força bruta no painel de administração, injeções em plugins, vulnerabilidades em temas desatualizados. A firewall do servidor não vê que um bot está a fazer força bruta de palavras-passe no
wp-login.php, vê pedidos POST legítimos. As camadas não se sobrepõem, precisa de ambas. Um site num alojamento «protegido» sem um plugin de segurança continua vulnerável ao nível do CMS.
O AIOS vai entrar em conflito com a Cloudflare ou outra WAF?
Não, funcionam em níveis diferentes. A Cloudflare é de camada 7 (proxy HTTP), filtra o tráfego antes de chegar ao servidor. O AIOS é de nível de aplicação (PHP,
.htaccess), depois de o pedido chegar ao WordPress. A única nuance: ao usar a Cloudflare, ative Ativar deteção de IP no AIOS, para que o plugin veja o IP real do visitante a partir do cabeçalhoX-Forwarded-For, e não o IP do proxy.
Posso remover o AIOS após a configuração? As regras ficam no.htaccess de qualquer forma.
Não. As regras do
.htaccesspermanecem fisicamente no ficheiro, mas sem monitorização e atualizações ficarão desatualizadas. Pior: o honeypot, a renomeação da página de login, o bloqueio do editor PHP e a autenticação de dois fatores só funcionam com o plugin ativo, isto é lógica PHP, não regras estáticas. Remova o plugin e abre owp-login.phppadrão, desativando toda a proteção de login.
O site vai quebrar se eu ativar todos os 16 passos de uma vez?
Na grande maioria dos sites, não. Mas a recomendação para produção: ative em blocos de três a quatro passos, verificando o funcionamento do site após cada bloco. Tenha especial cuidado com a Firewall 6G (passo 11) e a alteração do prefixo da tabela (passo 4, o backup é obrigatório). Ao longo dos anos do plugin em um milhão de instalações, não foram registados conflitos críticos com temas e plugins populares.
O que oferece a versão premium do AIOS em relação à gratuita?
Três adições principais: autenticação de dois fatores com políticas flexíveis (TFA obrigatório para administradores após N dias, configuração da frequência de re-solicitação), scanner de malware com alertas da lista negra do Google e bloqueador de países (proibição de acesso por geo-IP). A versão gratuita é suficiente para proteger um blog ou site corporativo. Uma loja online com dados confidenciais de clientes deve optar pelo Premium.
O que fazer se me esquecer do URL da página de login personalizada?
Ligue-se ao servidor via FTP/SFTP, vá a
/wp-content/plugins/all-in-one-wp-security-and-firewall/e renomeie temporariamente a pasta do plugin. Isto irá desativar o AIOS e repor owp-login.phppadrão. Inicie sessão no painel de administração, renomeie a pasta de volta, ative o plugin e defina um novo slug. Para evitar esquecimentos, guarde o URL no seu gestor de palavras-passe imediatamente ao criá-lo.
Vale a pena configurar o AIOS em 2026 ou existem alternativas melhores?
Anos depois, o AIOS continua a ser o plugin de segurança gratuito para WordPress mais equilibrado: um milhão de instalações, desenvolvimento ativo, atualizações regulares para novas versões do core. Alternativas como o Wordfence ou o Solid Security também são fortes, mas mais pesadas.
Os 16 passos acima demoram 15 a 20 minutos. Resultado: página de login oculta, três camadas de firewall, honeypot invisível e configuração pronta a clonar para o próximo site.
Conjunto mínimo sem o qual a proteção não pode ser considerada completa:
- Base: passos 1, 2, 9, 14, mascaramento de versão, proteção contra força bruta, firewall básica e página de login oculta;
- Nível de servidor: passos 7, 8, 10, 11, proibição do editor PHP, bloqueio de ficheiros de serviço, regras adicionais e 6G;
- Proteção profunda: passos 4, 6, 12, 15, prefixo da tabela, permissões de acesso, anti-hotlink, honeypot;
- Perímetro: passos 3, 5, 13, 16, moderação de registos, backups, deteção 404, proteção contra clickjacking.
Configure um site, exporte a configuração e importe noutros num minuto. Uma vez por trimestre, verifique AIOS → Painel: o contador de segurança mostrará se alguma definição «caiu» após uma atualização do core.



