Symfony: Advertir a los desarrolladores cuando utilicen codificadores / hashers no seguros

Creado en 28 sept. 2016  ·  3Comentarios  ·  Fuente: symfony/symfony

Algo relacionado con la discusión # 20045, podríamos advertir a los desarrolladores cuando usan tipos de codificadores inseguros. Estoy pensando en algo como esto:

if (null !== $this->logger && 'plaintext' === $encoderType) {
    $this->logger->warning('Storing user passwords in plain text is considered a critical security error. Consider configuring a password encoder for the "%s" entity.');
}

if (null !== $this->logger && in_array($encoderType, array('sha512', 'sha384', 'sha256', 'sha1', 'md5'))) {
    $this->logger->warning('Encoding user passwords with "%s" algorithm is considered a bad security practice. Consider using "bcrypt" as the password encoder for the "%s" entity.');
}

Si le gusta esta idea, ¿cómo y dónde podríamos registrar esos mensajes de advertencia? ¡Gracias!

Feature Security SecurityBundle

Comentario más útil

Honestamente, no me gustaría ver una advertencia como esa en todos mis registros en producción cuando decidí explícitamente usar un codificador de este tipo. Si está vinculado al indicador de depuración del entorno, ¿por qué no? Pero no se puede habilitar todo el tiempo.

Para ser más precisos, una característica de este tipo en producción me impediría usar el nivel de registro de advertencia en absoluto (o al menos sin una configuración de registro dedicada). Tendré que silenciarlo porque no debería ocurrir una advertencia y todas las advertencias deben investigarse (no a diferencia de un error o una crítica, pero aún así debe hacerlo)

Todos 3 comentarios

Honestamente, no me gustaría ver una advertencia como esa en todos mis registros en producción cuando decidí explícitamente usar un codificador de este tipo. Si está vinculado al indicador de depuración del entorno, ¿por qué no? Pero no se puede habilitar todo el tiempo.

Para ser más precisos, una característica de este tipo en producción me impediría usar el nivel de registro de advertencia en absoluto (o al menos sin una configuración de registro dedicada). Tendré que silenciarlo porque no debería ocurrir una advertencia y todas las advertencias deben investigarse (no a diferencia de un error o una crítica, pero aún así debe hacerlo)

Sí, solo sería para el entorno dev .

Cerrarlo porque ya no lo considero una buena idea. Nuestros desarrolladores no son idiotas (por lo que nunca usarán texto sin formato para usuarios reales) y si usan hashers incorrectos (sha *) probablemente sea por una buena razón (aplicaciones heredadas, etc.) y de todos modos, explicamos bien las cosas en los documentos. .

¿Fue útil esta página
0 / 5 - 0 calificaciones