¿Se podría considerar la "mejor práctica" para verificar las contraseñas débiles que utilizan herramientas como John o tablas arco iris?
Absolutamente, de hecho, muchas distribuciones de Linux hacen algún nivel de esto de forma inmediata. Debe consultar pam_cracklib, que aplica una serie de pruebas a una nueva contraseña antes de aceptar un cambio. ¿Es lo mismo que el anterior? ¿El viejo invertido? ¿Casi todos los mismos personajes que el anterior? ¿Existe la contraseña en el diccionario que ha especificado para verificar?
Encuentro que La revisión de pam_cracklib por parte de Hal Pomeranz es un excelente lugar para comenzar. Señala con razón que no está bien documentado, lo que dificulta que los administradores lo utilicen para proteger sus sitios, y presenta una guía sencilla para que tenga sentido.
Esto cubre el mantenimiento preventivo de buenas contraseñas, lo que definitivamente es una "mejor práctica". Otro procedimiento que algunos siguen es el cracking activo, donde los administradores ejecutarán John the Ripper en sus propios sistemas y, cuando la contraseña de un usuario es agrietados, obligan al usuario a cambiar su contraseña. Esto se puede hacer de forma continua o de forma programada (trimestral / semestral / anual). Hay algunas cuestiones que deben considerarse antes de elegir hacer esto; ¿Quieres que tus administradores conozcan las contraseñas de los usuarios a medida que se descifran? ¿Tiene un lugar seguro para descifrar que un atacante no pueda acceder? Si haces que los usuarios actualicen las contraseñas tan rápido como se descifran, ¿será demasiado intensivo? ("Todos los usuarios deben cambiar sus contraseñas en los días que terminan en 'Y' ...)
Finalmente, su pregunta se enfoca en la fortaleza de la contraseña. Para fines defensivos, le insto a que también preste atención a la codificación de hash de contraseña. Las contraseñas de Unix / Linux se pueden hashear con DES, MD5 o Blowfish; Es configurable a nivel de sistema. Muchos sistemas utilizan el algoritmo más antiguo y más común, DES, que está trivialmente roto. Si puede cambiar la configuración de su sistema y sus contraseñas a MD5 o Blowfish, será más difícil para los atacantes descifrar sus contraseñas, incluso si el usuario elige "Pa $$ w0rd" como su contraseña.