Back-End

8 jun, 2015

Como implementar a autenticação de dois fatores no WordPress

Publicidade

Iniciativa WordPress Seguro

A Apiki criou uma iniciativa chamada #WordPressSeguro para divulgar e colaborar com o que diz respeito à segurança para WordPress. Além de informações, disponibilizamos um Guia Prático de Implementações para Segurança em WordPress.

Senha forte e autenticação de dois fatores

Uma senha forte protege sua conta, privacidade e previne ataques direcionados ou automatizados como observamos no artigo Usuários e senhas fortes para um WordPress mais seguro.

Implementar a autenticação de dois fatores é adicionar uma segunda camada de segurança e aumentar o nível de proteção da plataforma e sua conta.

Visão geral sobre a camada de autenticação de dois fatores

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 seguro

define( ‘FORCE_SSL_ADMIN’, true ); // Força o uso do login e administração em ambiente seguro.

Plugins WordPress para implementar a autenticação de dois fatores no WordPress

Abaixo segue uma lista, em ordem alfabética, e visão geral sobre os plugins e sua implementação do recurso no WP. Os testes foram realizados em maio de 2015 e considerando o WordPress multi-site e possibilidade de uso gratuito dos plugins.

Gratuito Suporte para multi-site 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 para multi-site, testes não realizados.
Google Authenticator Não oferece suporte multi-site, 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 Não oferece versão gratuita para o recurso de autenticação de dois fatores, testes não realizados.

O plugin Authy é uma boa alternativa para quem requer o uso de SMS e aplicativo. Isso possibilita atender usuários com ou sem smartphones. A aplicação tem uma dashboard externa ótima e gerencial que permite ao administrador uma visão global do comportamento dos usuários com o recurso.

O Clef, embora não suporte SMS, é moderno e inovador com sua tecnologia de autenticação via “ondas”. Sua dashboard externa é simples e utilizada somente para configuração, não apresentando recursos gerenciais.

O Rublon tem sua abordagem particular com autenticação via e-mail e aplicativo, também não suporta SMS. Durante os testes, a conexão com o web service foi lenta, o que tornou a autenticação com o WP demorada. Ele requer que o e-mail configurado como administrador no WordPress seja a conta Rublon, e não oferece uma dashboard externa.

Implementar a autenticação de dois fatores é adicionar uma camada extra de segurança, e o recurso é suportado pelo WordPress através dos plugins mencionados acima e outros disponíveis no repositório de plugins do WordPress.org. Analise o seu cenário e necessidades e faça a escolha de qual escolher e proteja sua aplicação ainda mais.