Autenticação de dois fatores (2FA) adiciona uma camada extra de segurança ao servidor de Tibia, protegendo contas mesmo se senhas forem comprometidas. Este guia mostra como implementar 2FA completo.
Entendendo 2FA #
2FA requer duas formas de autenticação: algo que você sabe (senha) e algo que você tem (código do aplicativo autenticador ou SMS). Para servidores de Tibia, a implementação mais comum usa aplicativos autenticadores como Google Authenticator, Authy ou Microsoft Authenticator, que geram códigos de 6 dígitos que mudam a cada 30 segundos. Esta abordagem é mais segura que SMS e não depende de serviço de telefonia.
Implementação no banco de dados #
Adicione uma nova coluna na tabela accounts do banco de dados para armazenar a chave secreta do 2FA (criptografada) e um campo booleano indicando se o 2FA está ativado. Crie também uma tabela para códigos de backup (códigos de recuperação de uso único) caso o jogador perca acesso ao aplicativo autenticador. Esses códigos devem ser gerados quando o 2FA é ativado e exibidos apenas uma vez ao jogador, que deve guardá-los em local seguro.
Integração no sistema de login #
Modifique o sistema de login do servidor de Tibia para, após validar usuário e senha, verificar se o 2FA está ativado. Se estiver, exiba uma tela solicitando o código de 6 dígitos. Use bibliotecas como php-otp (PHP) ou equivalentes em outras linguagens para validar o código inserido. O código deve ser válido dentro de uma janela de tempo (geralmente ±1 período de 30 segundos para compensar diferenças de relógio).
Ativação do 2FA #
Crie uma interface no site ou CMS onde jogadores podem ativar o 2FA. O processo deve gerar um QR code contendo a chave secreta que o jogador escaneia com o aplicativo autenticador. Após escanear, o jogador deve inserir um código de verificação para confirmar que configurou corretamente. Durante a ativação, gere e exiba os códigos de backup, alertando o jogador para guardá-los em local seguro.
Recuperação de acesso #
Implemente sistema de recuperação para casos onde o jogador perde acesso ao aplicativo autenticador. Opções incluem: códigos de backup (mais seguro), e-mail de recuperação (menos seguro mas mais conveniente), ou processo manual onde o staff verifica a identidade do jogador antes de desativar o 2FA. Documente claramente o processo de recuperação para evitar frustrações.
Segurança adicional #
Considere adicionar opção de “lembrar dispositivo” que permite pular o 2FA por um período (ex.: 30 dias) em dispositivos confiáveis. Implemente rate limiting para evitar ataques de força bruta nos códigos 2FA. Registre tentativas de login falhadas com 2FA para monitoramento de segurança. Considere notificar jogadores por e-mail quando 2FA for usado em novo dispositivo ou localização.
FAQ #
2FA é obrigatório? #
Recomendamos tornar opcional inicialmente, mas oferecer incentivos (como itens exclusivos ou benefícios) para jogadores que ativarem. Servidores grandes podem considerar tornar obrigatório para contas VIP ou com muitos recursos.
E se o jogador perder o celular? #
É por isso que códigos de backup são essenciais. Sem eles, o jogador precisará passar pelo processo de recuperação manual com verificação de identidade.
2FA afeta performance do login? #
Minimamente. A validação do código é muito rápida (milissegundos). O único impacto é o tempo adicional que o jogador leva para inserir o código.
Com 2FA implementado, você oferece segurança profissional que protege as contas dos jogadores no servidor de Tibia.