Implementar a autenticação de dois fatores é adicionar uma segunda camada de proteção e aumentar o nível de proteção da sua conta.
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.
Mas com a implementação do recurso você deixa a sua intalação duplamente protegida.
Visão geral sobre a camada de autenticação de dois fatores
Para se autenticar ao 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:
- Quem é você;
- O que você tem;
- O que você sabe.
Quem é você
Cada ser humano é único e algumas propriedades ajudam nessa identificação, como o 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 problemáticas por que 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, são coisas que temos e podem ser utilizados no processo de identificação.
As autenticações de dois fatores modernas fazem uso desses aparelhos, onde um código único é enviado ao usuário após digitar sua senha, provando assim que ele tem o telefone.
Os códigos comumente são 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. Para se dar bem com ela é preciso que você faça sua parte criando senhas fortes e 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 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 considerado o WordPress multisite e possibilidade de uso gratuito dos plugins.
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 | 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 aplicativoe 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.
Conclusão
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 ideal para assim proteger sua aplicação ainda mais.