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.
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.
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.
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.
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!?
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!


Ok! Ótimas dicas. Instalei o Stealth Login e configurei com sucesso, fiz o logoff e não consigo mais logar pois sou redirecionado para a página principal do blog como configurado! Como fazer para acessar o link de Login!? Huhuahuahua Help me rodrigohenrik@gmail.com
@ Rodrigo Henrik
Rapaz, a dica é tão boa, mas tão boa, que impede até o admin de acessar a área administrativa
.
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!
Pingback: marcelo_torres
Pingback: Guilherme Gomes Almeida
Ótimo saber disso. UAHWUHAUWHAW
Pingback: Athos
Pingback: 11 dicas e hacks vitais para proteger a área administrativa do WordPress | pBlog | WpMash - WordPress News
Já havia lido o artigo em inglês mesmo e até mesmo feito um link em meu blog para o artigo. realmente muito útil e interessante,
um abraço.
Pingback: WordPress Brasil
Pingback: Janaina Oliveira
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….
Pingback: 11 dicas e hacks vitais para proteger a área administrativa do … | Rede Banner
Pingback: links for 2009-08-21 | Rotativo - Blog
Pingback: Bruno Souza
Pingback: ericooliveira
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.
Pingback: Links 23-08-09. | WebVicio.com
Ótimas dicas, vou atualizar meu blog em relação a segurança =D
Pingback: Wellington Rocha
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?
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 =]
Tenho a mesma dúvida que o @Rodrigo
Vou baixar o WP e testar localmente é o jeito !!!
Pingback: Dicas para manter o seu WordPress seguro » Wellington Rocha
Pingback: Luiz Gadetto
Pingback: Diego Toledo
Pingback: Mario Nery
quando você vai deletar um usuário, aparece a opção perguntado se você quer apagar o que esse usuário já fez ou se quer transferir para qual outro usuário cadastrado.
Galera, como eu faço pra trocar o nome do usuário Admin?
Pois na parte Profile esta opção está disable, não pode ser mudada.
Valeu.
abraço
rafaelvergani
Pingback: HostBits
Pingback: Francisco Prado