Permitir que los administradores siempre puedan editar correos electrónicos cuando 'Editar correo electrónico después del registro' esté deshabilitado

Sí, discrepo muy fuertemente aquí. Aunque tu caso de uso específico pueda parecerte lo suficientemente sencillo, implementar un anulación simple en la interfaz de usuario para esto introduciría un riesgo de seguridad significativo por una ganancia de comodidad muy menor.

¡La fricción es una característica de seguridad!

La incomodidad de tener que usar la consola de Rails o activar una configuración a nivel de sitio es, de hecho, una característica de seguridad crítica, ya que actúa como un «freno de seguridad» y obliga al administrador a realizar un proceso deliberado y de alta fricción para una operación muy sensible.

Cambiar la dirección de correo electrónico de un usuario equivale a entregar las llaves de su cuenta, ya que la nueva dirección de correo electrónico puede utilizarse para activar un restablecimiento de contraseña, lo que efectivamente bloquea al usuario original y otorga al nuevo propietario del correo electrónico el control total.

Algunos vectores de ataque principales que esta fricción previene:

  • ¡Comprometer cuentas de administrador! Este es el riesgo más significativo. Si un atacante obtiene acceso a la cuenta de un administrador (mediante phishing, reutilización de contraseñas, etc.), un simple botón o interruptor en la interfaz de usuario les permitiría tomar silenciosa y fácilmente el control de cualquier otra cuenta de usuario, incluidas las de otros empleados; el requisito de acceso a la terminal mediante la consola de Rails proporciona una sólida capa de seguridad.

  • Ingeniería social. Esto abre la puerta a la ingeniería social. Un usuario malintencionado podría hacerse pasar por un usuario legítimo y persuadir a un administrador para que le cambie la dirección de correo electrónico; nuevamente, el proceso actual de alta fricción hace que sea mucho más probable que el administrador verifique o considere la autenticidad de la solicitud.

  • Amenaza interna. Un administrador malintencionado podría abusar de esta función para tomar el control de cuentas.

Para este tipo de acciones administrativas infrecuentes y de alto riesgo, la consola de Rails es apropiada porque asegura que la persona que realiza la acción tenga acceso al servidor y no una sesión comprometida. Además, la acción es deliberada y requiere conocimientos técnicos específicos (y se registra en el historial de la terminal).

1 me gusta