No existe recuperación basada en la identidad
Empieza aquí, porque cambia para qué sirve el resto de este artículo. Nunca preguntamos quién eres. No hay ningún documento, número de teléfono ni dirección de facturación registrados, por lo que no existe ningún procedimiento mediante el que puedas demostrar que una cuenta es tuya después de perder el acceso a ella. Ese es el intercambio que hace la política sin KYC, y no se dobla en ninguna dirección.
Los códigos de recuperación son el procedimiento de recuperación. Trátalos como si fueran la cuenta, porque operativamente lo son.
Habilitarlo
Dos mecanismos, utilizables juntos:
- TOTP: los familiares seis dígitos en un paso de treinta segundos. Cualquier autenticador sirve.
- WebAuthn: una clave de seguridad de hardware o un autenticador de plataforma. Registra dos.
Una vez activado, el segundo factor es obligatorio al iniciar sesión, antes de una sesión de consola fuera de banda y antes de que se pueda cambiar el correo de la cuenta. No es obligatorio para los tokens de API, que son una credencial separada con sus propios ámbitos.
Verificar tú mismo un secreto TOTP
apt install -y oathtool
oathtool --totp -b JBSWY3DPEHPK3PXPEl código mostrado debe coincidir con el de tu teléfono en el mismo segundo. Cuando no coincida, la causa casi siempre es el reloj, no el secreto.
Desviación del reloj
TOTP es una función del tiempo. Aceptamos un paso a cada lado, por lo que hay treinta segundos de margen: suficiente para un teléfono, no suficiente para un servidor que ha estado encendido durante un año sin un cliente de tiempo funcional.
timedatectl status
systemctl status systemd-timesyncd # Debian
chronyc tracking # AlmaLinuxSystem clock synchronized: yes es la línea que importa. Arregla el reloj antes de concluir que cualquier otra cosa está rota.
Códigos de recuperación
Diez códigos, de un solo uso, generados cuando habilitas el segundo factor. Cada uno te permite iniciar sesión una vez y luego muere.
- Imprímelos. El papel no tiene batería, ni actualización de firmware, ni pantalla de bloqueo.
- Guarda una copia en un edificio diferente al de la máquina desde la que inicias sesión.
- No los guardes en el gestor de contraseñas que contiene la contraseña de la cuenta. Eso convierte dos factores en uno.
- Regenera el conjunto después de usar uno, o siempre que no estés seguro de que una copia siga siendo privada. Regenerar elimina todos los códigos del antiguo conjunto.
Si pierdes el factor pero aún tienes códigos
Inicia sesión con un código, elimina el factor antiguo, inscribe el nuevo y regenera el conjunto. Cuatro minutos, sin ticket, sin esperar a nadie.
Si pierdes ambos
La cuenta ha desaparecido. No está bloqueada a la espera de un formulario, ni suspendida mientras alguien la revisa: desaparecida, junto con todo lo que se ejecuta bajo ella. Preferimos escribir esto claramente que insinuar una escapatoria que no existe, y el soporte no puede hacer que aparezca; no hay nada de nuestro lado contra lo que verificarte.
La mitigación es aburrida y funciona. Dos claves de hardware, o una clave y un conjunto de códigos impresos en un cajón en otro lugar. Y una copia de cualquier cosa realmente irreemplazable guardada en algún lugar que no seamos nosotros, lo cual es una buena práctica independientemente de quién sea tu proveedor.