Dicas para um WordPress mais seguro: senhas fortes e dupla autenticação

Iniciamos hoje uma parceria com a Apiki, a maior referência em WordPress no Brasil, e destacaremos, aqui no Blog da Umbler, alguns dos principais posts sobre a ferramenta. Para começar, falaremos sobre um assunto importantíssimo para o CMS mais utilizado no mundo: segurança. A Apiki lançou uma iniciativa focada em Segurança para WordPress chamada #WordPressSeguro, com informações para garantir a segurança de sites nesta plataforma. São diversos pontos abordados, desde pequenos comportamentos a serem adotados em usos diários, até implementações mais complexas.

O primeiro passo que você deve dar rumo a uma instalação segura é usar usuários e senhas fortes, que dificultem ataques de força bruta. Confira as recomendações da Apiki:

Você deveria dar mais atenção às suas senhas. Sim, no plural. O recomendado é uma específica para cada serviço, nada de compartilhar. Adote aplicativos para ajudar com isso.

Uma senha forte protege sua conta, privacidade e previne ataques direcionados ou automatizados. Uma senha fraca é a maneira mais fácil de comprometer sistemas, dentre eles o WordPress.

Em situações direcionadas, o atacante usará engenharia social para tentar descobrir sua senha. Azar o seu se fizer uso de coisas óbvias como data de nascimento, CPF e etc. Em casos automatizados é feito o uso de dicionários de senhas para combinação com usuários e validar cada possibilidade. A cada ano assistimos senhas superfracas serem as mais utilizadas.

Ingredientes para os ataques de força bruta

O acesso à administração do WordPress, assim como todo sistema restrito, requer uma combinação de nome de usuário e senha. Um ataque de força bruta é uma prática muito comum que visa tentar adivinhar os dados de acesso através de tentativa e erro. Há várias técnicas para coibir as tentativas, mas no contexto deste artigo a melhor delas é não fazer uso do usuário “admin” e principalmente ter uma senha forte.

Tudo é automatizado com o uso de ferramentas, dicionários de senhas comumente utilizadas e nomes de usuários comuns ou desvendados. E, quando encontram sites com a combinação de usuário “admin” e outros descobertos, além de senhas fracas que constam em seus dicionários, os resultados são o ganho do acesso à administração do seu site e liberdade para fazer a festa.

Não faça uso do usuário “admin”

Não utilizar o usuário “admin”, muito usado em ataques de força bruta, é uma boa prática de segurança e sua remoção pode ser feita via interface administrativa do WP, plugins ou alterando o banco de dados.

Via interface administrativa é o caminho mais simples. Crie um novo usuário com a função Administrador. Faça logout e acesse novamente com o novo usuário criado. Delete o usuário “admin”. Transfira os conteúdos para o novo usuário e pronto.

Recursos nativos da plataforma para o auxílio de segurança

Exemplo de uso de senha forte e do medidor de nível de senha do WordPress

Exemplo de uso de senha forte e do medidor de nível de senha do WordPress

A cada versão disponibilizada novos recursos têm sido lançados para aumentar a segurança do usuário e ajudá-lo na gestão de sua senha. Acredita-se, ainda, que novas melhorias precisam ser implementadas.

Na imagem acima é exibido um exemplo do medidor de nível de senha do WP e o uso de uma senha forte. Os níveis são fraco, médio e forte. Para Leandro, o ideal seria “que a plataforma de forma nativa não permitisse o uso de senha se não de nível forte”.

Abaixo a imagem ilustra a opção de logout remoto. Um recurso que permite fechar uma sessão iniciada em outros lugares. É muito útil para quem perdeu o computador, celular ou fez uso de um público.

Exemplo da opção de Logout remoto do WordPress

Exemplo da opção de Logout remoto do WordPress

Todas as senhas são criptografadas e o padrão pode ser único para cada instalação. No arquivo wp-config.php há constantes PHP que armazenam hashes que são utilizados pela aplicação nas tratativas de senha e criptografia. O WordPress.org disponibiliza uma API que geram esses códigos através do serviço secret-key.

Exemplo de retorno do serviço secret-key do WordPress.org

Exemplo de retorno do serviço secret-key do WordPress.org

Além de usuários e senhas seguras, outra medida de segurança que deve ser implementada em sites em WordPress é autenticação em dois passos, uma medida fácil de ser instalada. O Leandro Vieira, da Apiki, fez um relato muito bom sobre a implementação desta medida de segurança:

Para se autenticar no WordPress, você faz uso de senha. Sua senha é algo que podemos afirmar que você sabe. Implementando a camada de autenticação de dois fatores, além de usar o que você sabe, a sua senha, será feito o uso também de algo que você tenha – nesse contexto, um dispositivo móvel ou algum outro.

As possibilidades de identificação de usuário

Como usuário de sistema, você pode ser identificado através de três fatores:

  1. Quem é você?
  2. O que você tem?
  3. O que você sabe?

Quem é você?

Cada ser humano é único e algumas propriedades ajudam nessa identificação, como DNA, retinas, impressões digitais e qualquer outra coisa específica de um indivíduo – as chamadas informações biométricas.

O TouchID lançado pela Apple é um exemplo de autenticação que faz uso de impressões digitais se baseando no “Quem é você”. Informações biométricas não são perdidas ou esquecidas pelos usuários, mas são problemáticas porque não podemos resetá-las. O TouchID armazena suas impressões digitais localmente em seu aparelho, ao contrário de um banco de dados nas nuvens evitando um possível ganho dessas informações por hackers.

O que você tem?

Dispositivos como celulares e smartphones, por exemplo, são algo que temos e que podem ser utilizados no processo de identificação. Autenticações de dois fatores modernas fazem uso desses aparelhos, nos quais um código único é enviado ao usuário após digitar sua senha, provando assim que ele tem o telefone.

Os códigos são comumente enviados via SMS, mas, por não ser um canal de comunicação segura, aplicativos e plugins têm sido desenvolvidos para trabalharem de forma segura e moderna no processo de autenticação.

O que você sabe?

Sua senha ou o fator de conhecimento é o método de autenticação mais conhecido. E para se dar bem com ela é preciso que você faça sua parte criando senhas fortes e que o provedor da aplicação adote boas práticas de segurança para o armazenamento delas.

Armazenar as senhas de forma criptografada é preciso para não deixá-las expostas a hackers e gestores de banco de dados. O WordPress codifica as senhas baseado nas chaves secretas armazenadas no wp-config.php.

Além disso, é possível, e desejado, realizar a comunicação de uso das senhas dos usuários e do uso da administração do WordPress em ambiente seguro. Basta fazer uso das constantes abaixo no arquivo wp-config.php para orientar a aplicação de seu uso e, claro, ter um certificado disponível para seu domínio.

define( ‘FORCE_SSL_LOGIN’, true );

Força o uso somente do login em ambiente

segurodefine( ‘FORCE_SSL_ADMIN’, true );

Força o uso do login e administração em ambiente seguro.

Plugins para autenticação

Para implementar a dupla autenticação no WordPress é possível utilizar uma série de plugins. Para compreender os benefícios e casos onde cada um pode ser melhor, a Apiki fez uma série de testes em 2015, que você pode conferir na tabela abaixo:

Gratuito Suporte a Multisite Configuração de funções (roles) de usuários Métodos de autenticação
Authy Sim. Mas requer um cartão de crédito válido após o trial. Sim. Mas não possui configuração global na rede. Sim SMS e Aplicativos (iOS, Android, BlackBerry, OSX, Windows, Linux)
Clef Sim Sim. Possui configuração global na rede. Sim Aplicativos (iOS e Android)
Duo Não oferece suporte multisite, testes não realizados.
Google Authenticator Não oferece suporte multisite, testes não realizados.
Rublon Sim Sim. Mas não possui configuração global na rede. Sim E-mail e aplicativo (iOS, Android e Windows Phone)
WordFence Oferece versão gratuita para o recurso de autenticação de dois fatores, testes não realizados.

Implementar plugins de dupla autenticação é como criar uma camada extra de proteção. Utilizar senhas fortes e não utilizar o usuário “admin”, por exemplo, são comportamentos simples que podem evitar ataques. Entre diversas possibilidades de proteção para seu site em WordPress, é importante analisar o cenário em que ele se encontra (quantidade de acessos, volume de informações, banco de dados, etc.) e quais são suas necessidades (proteção de informação de usuários, riscos de ataques específicos, entre outros). Só assim é possível garantir seguranças mais efetivas.

Para saber mais

Confira na íntegra os artigos sobre senhas fortes e dupla autenticação produzidos pela Apiki: