Saltar para o conteúdo
BeoHosting
BeoHosting
Segurança

Como Proteger o Painel de Administração do WordPress

BeoHosting Team··9 min de leitura de leitura
Como Proteger o Painel de Administração do WordPress

Porque é que proteger o painel de administração é fundamental

O painel de administração do WordPress é o alvo mais comum dos hackers, porque o acesso ao painel de administração dá-lhes controlo total do site. Todos os sites WordPress têm uma página de início de sessão predefinida em /wp-admin ou /wp-login.php, o que é do conhecimento geral. Bots automatizados tentam aceder a estes URL 24 horas por dia, recorrendo a ataques de força bruta, dicionários de palavras-passe e credenciais roubadas em fugas de dados. Segundo as estatísticas, o site WordPress médio recebe mais de 10 000 tentativas de início de sessão não autorizadas por mês.

Um painel de administração comprometido permite que um atacante instale malware, roube dados de utilizadores, use o servidor para enviar e-mails de spam, coloque páginas de phishing ou elimine totalmente o site. As consequências podem ser catastróficas, incluindo perda de receita, danos à reputação, problemas legais decorrentes de fugas de dados e inclusão na lista negra do Google. A proteção do painel de administração não é opcional, mas sim uma medida de segurança obrigatória para qualquer site WordPress.

Mudar o URL de início de sessão

Porquê mudar o URL

Mudar o URL de início de sessão predefinido é a primeira linha de defesa, conhecida como segurança pela obscuridade. Embora isto, por si só, não seja suficiente para garantir proteção, reduz significativamente o número de ataques automatizados, porque os bots procuram os endereços /wp-admin e /wp-login.php. Um URL alterado elimina a grande maioria dos ataques de força bruta automatizados, que representam 95 por cento de todos os ataques às páginas de início de sessão do WordPress.

Plugin WPS Hide Login

O WPS Hide Login é um plugin leve com mais de um milhão de instalações ativas que simplesmente muda o URL da página de início de sessão. Após a instalação, vá a Definições, depois a WPS Hide Login, e introduza um novo URL como /meu-acesso ou /entrada-secreta. O plugin não altera ficheiros nem adiciona regras de reescrita — limita-se a intercetar pedidos. Memorize o novo URL ou guarde-o num local seguro, porque sem ele ficará bloqueado fora do painel de administração. Se se esquecer do URL, pode desativar o plugin via FTP ou phpMyAdmin, eliminando-o do diretório wp-content/plugins.

Métodos alternativos

Se não quiser usar um plugin, pode ocultar a página de início de sessão recorrendo a regras htaccess no Apache ou a um bloco location no Nginx. Por exemplo, pode bloquear o acesso a wp-login.php para todos exceto endereços IP específicos, ou usar a Autenticação HTTP Básica como camada de proteção adicional à frente do formulário de início de sessão do WordPress. Isto acrescenta uma caixa de diálogo para nome de utilizador e palavra-passe antes mesmo de o formulário de início de sessão do WordPress ser apresentado, criando uma dupla barreira para o atacante.

Limitação de tentativas de início de sessão

Proteção contra força bruta

Um ataque de força bruta tenta diferentes combinações de nomes de utilizador e palavras-passe até acertar. Por predefinição, o WordPress não limita o número de tentativas de início de sessão, o que significa que um atacante pode tentar milhões de combinações. Limitar as tentativas de início de sessão é uma medida absolutamente essencial que bloqueia um endereço IP após um determinado número de tentativas falhadas. Isto torna os ataques de força bruta impraticáveis, porque o atacante só consegue tentar algumas palavras-passe antes de ser bloqueado.

Limit Login Attempts Reloaded

O Limit Login Attempts Reloaded é o plugin mais popular para este fim, com mais de 2 milhões de instalações ativas. O plugin bloqueia um endereço IP após um número definido de tentativas falhadas, com tempos de bloqueio progressivamente mais longos. A configuração recomendada são 3 tentativas permitidas antes de um bloqueio de 20 minutos, e depois 3 bloqueios antes de um bloqueio prolongado de 24 horas. O plugin envia notificações por e-mail ao administrador sobre os endereços IP bloqueados e fornece estatísticas sobre o número de ataques bloqueados.

Fail2ban ao nível do servidor

Para uma proteção mais séria, o Fail2ban ao nível do servidor é uma solução superior, porque bloqueia os endereços IP ao nível da firewall antes de o pedido sequer chegar ao WordPress. O Fail2ban lê os registos de autenticação do WordPress e adiciona automaticamente regras de firewall para endereços IP com demasiadas tentativas de início de sessão falhadas. Isto é mais eficiente do que as soluções por plugin, porque são gastos menos recursos do servidor a rejeitar ataques. A configuração envolve a criação de uma jail do Fail2ban para o WordPress e de um filtro que reconhece as tentativas de início de sessão falhadas no registo de acessos.

Autenticação de dois fatores (2FA)

O que é a 2FA e porque é essencial

A autenticação de dois fatores acrescenta uma segunda camada de proteção, para além da palavra-passe, ao exigir algo que o utilizador sabe (a palavra-passe) e algo que o utilizador tem (o telemóvel com o autenticador). Mesmo que um atacante descubra a sua palavra-passe através de phishing, de uma fuga de dados ou de força bruta, não consegue aceder ao painel de administração sem o segundo fator. A investigação da Google mostra que a 2FA bloqueia 99,9 por cento dos ataques automatizados e 96 por cento dos ataques de phishing direcionados.

Implementação da 2FA

O WP 2FA é um excelente plugin gratuito que suporta palavras-passe de utilização única baseadas no tempo (TOTP), que funcionam com o Google Authenticator, o Authy, o Microsoft Authenticator e outras aplicações autenticadoras. Após a instalação, cada utilizador lê um código QR com a aplicação autenticadora e introduz um código de seis dígitos que muda a cada 30 segundos em cada início de sessão. O plugin também suporta códigos de recuperação para situações em que o utilizador não tem acesso ao telemóvel, bem como a possibilidade de impor a 2FA a funções de utilizador específicas.

Chaves de segurança físicas

Para o mais elevado nível de segurança, o standard WebAuthn permite usar chaves de segurança físicas, como a YubiKey, para iniciar sessão no WordPress. As chaves físicas são resistentes a phishing, porque estão associadas a um domínio específico e não podem ser intercetadas. O WordPress 5.6 e versões mais recentes têm suporte integrado para Palavras-passe de Aplicação, e plugins como o WP-WebAuthn acrescentam suporte completo para chaves físicas FIDO2. Isto é recomendado para administradores de sites com dados sensíveis.

Lista branca de IP

Restringir o acesso por endereço IP

Se aceder ao painel de administração a partir de um endereço IP fixo ou de um pequeno número de endereços IP conhecidos, pode restringir o acesso apenas a esses endereços. Esta é a forma de proteção mais rigorosa, porque bloqueia completamente o acesso ao painel de administração a partir de todas as localizações desconhecidas. No ficheiro htaccess do diretório wp-admin, use a diretiva Order Deny Allow para permitir apenas endereços IP específicos. No Nginx, use as diretivas allow e deny no bloco location de wp-admin.

Problemas com IP dinâmico

A maioria dos utilizadores tem um endereço IP dinâmico que muda periodicamente, o que torna uma lista branca de IP estática impraticável. As soluções incluem usar um serviço de VPN com um IP fixo, que fornece um IP consistente independentemente da localização. Em alternativa, pode usar soluções como o CloudFlare Access ou Zero Trust, que autenticam o utilizador antes de permitir o acesso ao URL de administração. Alguns plugins, como o iThemes Security, oferecem a opção de enviar uma ligação mágica por e-mail para adicionar temporariamente um endereço IP à lista branca.

Plugins de segurança

Wordfence Security

O Wordfence é o plugin de segurança para WordPress mais conhecido, com mais de 4 milhões de instalações ativas. Oferece uma firewall de aplicações web que bloqueia ataques conhecidos antes de chegarem ao WordPress, um scanner de malware que analisa todos os ficheiros do WordPress e os compara com os originais do repositório, inteligência de ameaças em tempo real com informação sobre as ameaças mais recentes, segurança de início de sessão com 2FA e proteção contra força bruta, e monitorização de tráfego ao vivo que mostra todos os pedidos em tempo real. A versão gratuita cobre a maioria das necessidades, enquanto a versão premium acrescenta regras de firewall em tempo real e suporte prioritário.

Sucuri Security

O Sucuri oferece uma WAF baseada na cloud, que é uma firewall ao nível do DNS, o que significa que os pedidos maliciosos nunca chegam ao seu servidor. Isto é particularmente eficaz contra ataques DDoS e exploits de dia zero, porque a equipa do Sucuri atualiza constantemente as regras. O plugin para WordPress oferece monitorização da integridade de ficheiros, registo de segurança, monitorização de listas negras e ações pós-ataque para limpar um site comprometido. O Sucuri é um serviço premium, mas um excelente investimento para sites empresariais e plataformas de comércio eletrónico.

iThemes Security

O iThemes Security, anteriormente conhecido como Better WP Security, oferece mais de 30 medidas de segurança num único plugin. As funcionalidades principais incluem a mudança do URL de administração, a proteção contra força bruta, a deteção de alterações em ficheiros, a imposição de palavras-passe fortes, o bloqueio de agentes de utilizador problemáticos, a ocultação da versão do WordPress e atualizações automáticas. O painel apresenta a pontuação de segurança do site, com recomendações de melhoria. A versão Pro acrescenta 2FA, análise de malware agendada e integração com reCAPTCHA.

Medidas de proteção adicionais

Palavra-passe e nome de utilizador fortes

Nunca use admin como nome de utilizador, porque é a primeira coisa que os bots tentam. Use um nome de utilizador único que não esteja publicamente visível no site. A palavra-passe deve ter, no mínimo, 16 caracteres, com uma combinação de letras maiúsculas e minúsculas, números e caracteres especiais. Use um gestor de palavras-passe, como o Bitwarden ou o 1Password, para gerar e guardar palavras-passe fortes. Não use a mesma palavra-passe para a administração do WordPress e para outros serviços, porque uma fuga de dados num serviço compromete todas as contas com a mesma palavra-passe.

Certificado SSL

Um certificado SSL encripta a comunicação entre o navegador e o servidor, incluindo o nome de utilizador e a palavra-passe no início de sessão. Sem SSL, os dados de início de sessão circulam em texto simples e podem ser intercetados em redes WiFi públicas ou em redes comprometidas. Na BeoHosting, todos os planos incluem um certificado SSL gratuito Let's Encrypt com renovação automática. Após a instalação do SSL, adicione a constante FORCE_SSL_ADMIN com o valor true ao wp-config.php para forçar o HTTPS em todo o painel de administração.

Atualizações regulares

A maioria dos ataques bem-sucedidos ao WordPress explora vulnerabilidades conhecidas em versões desatualizadas. Consulte o guia detalhado de proteção de sites, temas ou plugins. Atualize o WordPress, os temas e os plugins assim que uma nova versão estiver disponível. Ative as atualizações automáticas para versões menores do WordPress e para correções de segurança. Antes de atualizações importantes, faça uma cópia de segurança completa do site. Elimine os temas e plugins não utilizados, porque mesmo plugins desativados podem conter vulnerabilidades que os atacantes podem explorar.

Conclusão

Proteger o painel de administração do WordPress exige uma abordagem em várias camadas, porque nenhuma medida isolada é suficiente por si só. Combine a mudança do URL de início de sessão para eliminar os ataques automatizados, a limitação das tentativas de início de sessão para proteção contra força bruta, a 2FA para proteção contra palavras-passe comprometidas, a lista branca de IP para o acesso mais rigoroso, e um plugin de segurança para uma monitorização e proteção abrangentes. Nos planos de WP hosting da BeoHosting, a proteção ao nível do servidor está incluída com Fail2ban, WAF ModSecurity e cópia de segurança automática para uma segurança máxima do site.

BeoHosting Team

10+ anos de experiência — Especialistas em alojamento web e infraestrutura

  • Web Hosting
  • WordPress Hosting
  • VPS
  • Dedicated Serveri
  • Domeni
  • SSL
  • cPanel
  • LiteSpeed
  • Linux administracija
  • DNS

Última atualização: