2FA - Doble autenticación
=============================
La autenticación en dos pasos o "Two-Factor Authentication" (2FA) es un mecanismo de protección
del acceso al panel de control. **La activación de 2FA es obligatoria**: al acceder por primera
vez al panel de control tras activar la cuenta, el sistema solicitará configurarlo antes de
continuar.
Existen dos métodos disponibles:
- **Aplicación OTP**: se genera un código temporal en una aplicación móvil vinculada.
- **Correo electrónico**: el código se envía por correo en cada inicio de sesión.
Activación
----------
Al acceder por primera vez, el sistema redirigirá automáticamente a la página de configuración
de 2FA (**Sistema** > **2FA**), donde habrá que elegir el método y completar la vinculación.
Mediante aplicación OTP
~~~~~~~~~~~~~~~~~~~~~~~
Para usar este método se necesita una aplicación de autenticación instalada en el móvil,
por ejemplo:
- `FreeOTP `__: descarga en `F-droid `__; descarga en `Google Play `__; descarga en `App Store (iOS) `__.
- `andOTP `__: descarga en `F-droid `__; descarga en `Google Play `__.
- `Aegis Authenticator `__: descarga en `F-droid `__; descarga en `Google Play `__.
- `Tofu Authenticator `__: descarga en `App Store (iOS) `__.
Al activar este método se mostrará un código QR que hay que escanear con la aplicación. Una vez
vinculada, introduce el código que genera la app para completar la activación.
.. figure:: img/2fa/qr.png
:alt:
Activación de 2FA mediante aplicación OTP.
Mediante correo electrónico
~~~~~~~~~~~~~~~~~~~~~~~~~~~
El código de verificación se envía por correo electrónico en cada inicio de sesión. Por defecto
se utiliza la dirección asociada a la cuenta de administración del panel de control, aunque es
posible establecer otra dirección diferente durante la activación.
Uso
-----
Una vez activado el 2FA, cada inicio de sesión requerirá dos pasos:
1. Introducir las credenciales de acceso al panel de control.
2. Introducir el código de verificación, ya sea el generado por la aplicación OTP o el recibido
por correo electrónico.
.. figure:: img/2fa/login.png
:alt:
Inicio de sesión con 2FA.
Si no hay acceso a la aplicación OTP ni al correo, es posible usar un código de respaldo. Para
obtenerlos, accede a **Sistema** > **2FA**, sección "Códigos de respaldo", y haz clic en
**Mostrar códigos**. Si aún no se han generado, haz clic en **Generar códigos de respaldo**.
Cada código es de un solo uso; antes de agotarlos, genera un nuevo conjunto.
.. figure:: img/2fa/bk.png
:alt:
Códigos de respaldo.
Cambiar de método
-----------------
Para cambiar el método de 2FA (por ejemplo, pasar de correo electrónico a aplicación OTP, o
cambiar la dirección de correo que recibe el código) es necesario desactivar el 2FA activo y
volver a activarlo eligiendo la nueva configuración.
Desactivación
-------------------
Desde el panel de control
~~~~~~~~~~~~~~~~~~~~~~~~~~
Para deshabilitar el 2FA, accede a **Sistema** > **2FA** y haz clic en **Deshabilitar la
Autenticación de Dos Pasos**. El sistema pedirá confirmación antes de proceder.
.. figure:: img/2fa/disable_2fa.png
:alt:
Desactivación de 2FA desde el panel de control.
Por línea de comandos
~~~~~~~~~~~~~~~~~~~~~~~~~~
Si no hay acceso al panel de control, es posible desactivar el 2FA por SSH accediendo con la
cuenta Superusuarix:
1. Acceder por SSH: ``ssh superusuarix@miservidor.maadix.org``
2. Obtener permisos de Superusuarix: ``sudo su``
3. Loguearse con la cuenta mxcp (propietaria de la aplicación): ``sudo -u mxcp -s``
4. Ir al directorio del panel de control: ``cd /usr/share/mxcp/``
5. Activar el entorno virtual: ``source venv3/bin/activate``
6. Ir al directorio de la aplicación: ``cd maadix-cpanel``
7. Ejecutar el comando para la desactivación (sustituir USER_CPANEL por la cuenta del panel
de control): ``./manage.py two_factor_disable USER_CPANEL``
8. Desactivar el entorno virtual: ``deactivate``
9. Desloguearse: ``exit``