Alojé un servidor de correo (postfix y dovecot) y deseo configurar una función de cambio de contraseña (especialmente útil cuando se crea una nueva dirección con una contraseña temporal).
¿Mi escenario tiene vulnerabilidades de seguridad?
uso:
desde su dirección de correo electrónico, el usuario envía un correo electrónico con el asunto "contraseña" y contiene en el cuerpo la nueva contraseña en claro a una dirección especial que ejecuta un script.
Este script lee la nueva contraseña en el contenido del correo y cambia la contraseña del usuario.
contexto:
- Solo las direcciones de los dominios administrados por el servidor de correo pueden enviar un correo electrónico a esta dirección especial
- conexión SMTP e IMAP solo mediante TLS
- El correo se entrega localmente al dominio y no pasa a través de un SMTP intermedio
- Después de cambiar la contraseña, el script elimina el correo electrónico enviado en la carpeta de correo enviado de la cuenta de usuario
EDITAR:
- el servidor SMTP acepta solo usuarios autenticados
- mi script comprueba el valor de sasl_username proporcionado por postfix
EDIT 2:
Escuché que esta es una mala práctica. Esta técnica tenía un propósito experimental y una prueba, pero quería comprobar si no había un agujero de seguridad (omitiendo el lado del usuario).
Para la producción, ciertamente usaré una solicitud de cambio de contraseña con un token temporal a un formulario web https que pasa variables en mi script.