11 dicas e hacks vitais para proteger a área administrativa do WordPress

A Automattic está sempre atenta a falhas e vulnerabilidades no WordPress. Evidência dessa preocupação são as várias atualizações liberadas recentemente, que embora chateiem usuários, são necessárias para manter blogs que rodam sob a plataforma seguros. Mas, além desses problemas de código, existem algumas vulnerabilidades by design, ou seja, que são vulnerabilidades não por erro ou descuido, mas por serem como são.

Ficou complicado? Imagine um ataque de força bruta à área administrativa, considerando “admin” como sendo o username padrão dessa instalação. O WordPress não tem como lidar com esse tipo de situação, e caso algo assim aconteça ao seu blog, as chances do ataque furar o bloqueio por senha é real. Não chega a ser uma falha do WordPress; no entanto, também está longe de ser algo a que devemos aceitar e deixar de lado, correr riscos.

Como tudo que envolve WordPress, a comunidade, através de hacks, dicas e plugins, criou e mantém uma série de defesas que incrementam a segurança do sistema. O blog wpbeginners compilou uma listinha com 11 delas essenciais a qualquer blog que se preze. Com a autorização dos autores do wpbeginners, trazemos a vocês, com exclusividade, esse texto traduzido para o português.

1. Crie links de login personalizados

O primeiro passo para quebrar uma senha do WordPress é buscar a URL de acesso à área administrativa. Sim, o famoso /wp-login.php. O plugin Stealth Login dificulta o acesso ao formulário de login, “mascarando-o” para algo que só o(s) autor(es) conheça(m). Além de permitir a personalização da URL de login, também permite alterar a URL de logout e registro, determinar para onde o usuário deve ser redirecionado após o login, e ativar o modo stealth, que impede o acesso de usuários ao /wp-login.php.

Stealth Login.

Stealth Login.

2. Escolha uma senha forte

Dica óbvia, mas vale a pena a lembrança, já que muitas vezes a deixamos de lado por preguiça, comodismo mesmo. Escolher uma senha forte é algo básico em termos de segurança. Crie uma senha relativamente longa, com caracteres diversos (letras, números e símbolos), que fuja à lógica (nada de colocar data de aniversário aqui). Aproveite-se do indicador de força de senhas embutido no WordPress, para medir a qualidade de sua senha. Não use a mesma senha em vários locais, e, por fim, troque-a regularmente.

Senha forte: dica básica.

Senha forte: dica básica.

3. Limite as tentativas de login

Lembra-se do exemplo citado na introdução deste post, o do ataque de força bruta? O plugin Login LockDown visa impedir justamente esse tipo de ataque. Com ele instalado e ativado, é possível determinar, na área administrativa do WordPress, a quantidade de tentativas de login permitidas. Estourado esse limite, o usuário será impedido de realizar novas tentativas. Solução simples e extremamente eficaz.

Login LockDown.

Login LockDown.

4. Use páginas de login seguras com SSL

SSL é um protocolo de segurança que criptografa a comunicação entre cliente e servidor, impedindo o vazamento de dados no durante seu transporte. Caso seu servidor tenha certificado SSL compartilhado, ou você tenha o seu próprio, pode usar esse tipo de criptografia para gerenciar as sessões na área administrativa do WordPress. Basta adicionar a seguinte linha no wp-login.php:

define(’FORCE_SSL_ADMIN’, true);

Existe outra alternativa, o plugin SSL Admin, que estende a criptografia a todas as páginas da área administrativa. Esse plugin só é compatível com o WordPress 2.7 e mais recentes.

5. Proteja o diretório /wp-admin com senha

Não há nada errado em ter duas senhas para acessar a área administrativa do WordPress. É uma proteção a mais contra acessos não autorizados. O plugin AskApache Password Protect faz algo do tipo. Ele criptografa sua senha e criar o arquivo .htpasswd, dando as devidas e corretas permissões em ambos.

AskApache Password Protect.

AskApache Password Protect.

Se sua hospedagem oferece o cPanel, é possível implementar essa proteção atribuindo senha ao diretório /wp-admin.

6. Limite o acesso para endereços IP

Se sua conexão não usa IP dinâmico, uma boa medida de segurança é limitar o acesso à área administrativa para seu IP, ou, no caso de blogs colaborativos, aos IPs dos colaboradores. Basta criar um arquivo .htaccess dentro da pasta /wp-admin, e acrescentar o seguinte código nele:

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName “WordPress Admin Access Control”
AuthType Basic

order deny,allow
deny from all
# whitelist Syed’s IP address
allow from xx.xx.xx.xxx
# whitelist David’s IP address
allow from xx.xx.xx.xxx
# whitelist Amanda’s IP address
allow from xx.xx.xx.xxx
# whitelist Muhammad’s IP address
allow from xx.xx.xx.xxx
# whitelist Work IP address
allow from xx.xx.xx.xxx

Substitua os “x” pelos endereços IPs permitidos. O único ponto fraco dessa dica é que, caso você precise acessar a área administrativa do blog a partir de um IP que não esteja listado no .htaccess, não conseguirá, a menos que inclua mais esse IP ao arquivo.

7. Nunca use o usuário “admin”

Ataques de força bruta só são possíveis porque o usuário “admin” existe. Ele é padrão, criado automaticamente pelo WordPress no momento da instalação. A dica é criar outro usuário com poderes administrativos, e em seguida, eliminar o “admin”. O nome do outro usuário deve ser, preferencialmente, algo que fuja do óbvio, o que dificulta ainda mais as tentativas de acesso não autorizado à área administrativa. Dessa maneira, o username funciona mais ou menos como uma segunda senha.

8. Remova mensagens de erro na página de login

Quando se entra com senha e/ou username errados, o WordPress exibe uma mensagem indicando aonde está o erro. Isso ajuda uma pessoa má intencionada a “depurar” as tentativas de burlar o WordPress, afinal, se apenas a mensagem de erro de senha aparece, significa que o username está correto – e vice-versa.

Cadê a mensagem de erro que estava aqui!?

Cadê a mensagem de erro que estava aqui!?

Para ocultar a mensagem de erro na página de login, abra (ou crie, caso não exista) o arquivo functions.php, na pasta do seu tema, e acrescente a seguinte linha:

add_filter('login_errors',create_function('$a', "return null;"));

O plugin Secure WordPress também faz isso, e outras coisinhas. Caso se interesse, dê uma olhada nele.

9. Use senhas criptografadas para fazer login

Se você não tem acesso a criptografia SSL, esse método serve também. Através do plugin Semisecure Login Reimagined, o trabalho de criptografia client-side é realizado com a ajuda de uma chave pública RSA. Para que esse método funcione, é necessário ter o JavaScript habilitado no navegador.

10. Proteção antivírus para WordPress

Achou que só o Windows é vulnerável a vírus? Pois é, o WordPress também o é. O AntiVirus, um plugin para o sistema, protege-o contra exploits e ataques de injeção de spam. Pode-se fazer varreduras manuais, com resultados mostrados em tempo real, ou configurar o plugin para realizá-las diariamente, com envio de resultados por e-mail.

11. Atualize seu WordPress

Não menos importante que as demais (pelo contrário!), manter seu WordPress atualizado é uma das dicas mais eficientes e simples de se seguir. A cada atualização, além de novos recursos, são corrigidos bugs e falhas que abrem brechas para ataques contra a área administrativa do WordPress. Algumas atualizações, inclusive, são lançadas única e exclusivamente para corrigir esse tipo de erro, caso das duas últimas (2.8.3 e 2.8.4). Com o sistema de atualização automática do WordPress, simplesmente não há desculpa para não atualizar seu sistema.

12 (dica bônus). Senhas válidas por uma sessão

Dica excelente para quando precisar acessar a área administrativa do WordPress em ambientes estranhos e/ou pouco confiáveis. O One-Time Password cria senhas que funcionam uma única vez, assim, caso algum keylogger registre sua senha, não há problemas; ela torna-se inútil a partir do momento em que é usada. Esse plugin é de uso um pouco complicado, e só é garantido seu funcionamento nos navegadores Internet Explorer 8 e Firefox 3.0/3.5, com WordPress 2.8. De qualquer maneira, a proposta é interessante, especialmente para quem depende de computadores públicos para atualizar seu blog.

Alguma dica extra? Compartilhe-a nos comentários. Mais uma vez, agradecemos o pessoal do site wpbeginners, que gentilmente autorizou a tradução e publicação do texto 11 Vital Tips and Hacks to Protect Your WordPress Admin Area no pBlog. Thank you!

30 thoughts on “11 dicas e hacks vitais para proteger a área administrativa do WordPress

  1. @ Rodrigo Henrik

    Rapaz, a dica é tão boa, mas tão boa, que impede até o admin de acessar a área administrativa :mrgreen: .

    Falando sério, podem ser dois erros:

    1) Por padrão, a nova URL que o Stealth Login gera é http://www.seublog.com/login, assim mesmo, só “login” no final; ou

    2) Faltou as instruções no .htaccess. Sem elas, vai dar erro mesmo.

    Em último caso, se não conseguir acessar, acesse o servidor via FTP, e apague os arquivos do blog. Ao fazer isso, o plugin é automaticamente desativado.

    Qualquer coisa, é só chamar.

    []‘s!

  2. Pingback: marcelo_torres

  3. Pingback: Guilherme Gomes Almeida

  4. Pingback: Athos

  5. Pingback: 11 dicas e hacks vitais para proteger a área administrativa do WordPress | pBlog | WpMash - WordPress News

  6. Pingback: WordPress Brasil

  7. Pingback: Janaina Oliveira

  8. Precisei acessar host via ftp, configurar para exibir arquivos ocultos, fazer o download do arquivo .htacess e deletar as linhas escritas pelo Stealth Login, depois upei o .htacess e tudo voltou ao normal, só que sem o Stealth Login que foi configurado corretamente mas que no momento do login usando o link correto, sempre redirecionava para a página principal do blog e não para a área de login que dá acesso ao painel de controle do wordpress! Recomendo cuidado para os mais desavisados afim de que não façam a instalação sem o mínimo de conhecimento….

  9. Pingback: 11 dicas e hacks vitais para proteger a área administrativa do … | Rede Banner

  10. Pingback: links for 2009-08-21 | Rotativo - Blog

  11. Pingback: Bruno Souza

  12. Pingback: ericooliveira

  13. Algumas destas dicas não funcionam no WordPress MU, como trocar o usuário admin por um outro. Seria interessante te umas dicas de seguranças voltadas para o MU.

  14. Pingback: Links 23-08-09. | WebVicio.com

  15. Pingback: Wellington Rocha

  16. Sobre a dica 7. Nunca use o usuário “admin”, se eu apagar o admin, que já tem centenas de posts, para quem irá a autoria? Como aparecerá no site o nome do autor daquele post? Será passada a autoria para o novo usuário administrador que eu tiver criado?

  17. Uma dica pra quem está usando o theme P2 o antigo prologue.

    A Automattic esqueceu de fechar as tags php no final das páginas, o que deixa brecha para um SQL Injection ;D
    Feche as tags e tudo estará bem!

    Espero que tenha sido de ajuda =]

  18. Pingback: Dicas para manter o seu WordPress seguro » Wellington Rocha

  19. Pingback: Luiz Gadetto

  20. Pingback: Diego Toledo

  21. Pingback: Mario Nery

  22. Pingback: HostBits

  23. Pingback: Francisco Prado

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>