“Conocimiento Problema>contraseñas

¿Cómo segura su sistema de contraseña?

2012/8/28
Asegurar un sistema de contraseña es un proceso de varias capas, que requiere una atención cuidadosa a varias áreas clave. Aquí hay un desglose de las mejores prácticas:

1. Almacenamiento de contraseña (más crítico):

* Hashing: ¡Nunca almacene contraseñas en texto plano! Use un algoritmo de hash criptográfico fuerte. Este algoritmo transforma irreversiblemente la contraseña en un valor hash. Incluso si la base de datos se ve comprometida, las contraseñas reales no se revelan. Las buenas opciones incluyen:

* argon2: Generalmente se considera la opción más segura actualmente.

* bcrypt: Una opción fuerte y bien volcada. Configurarlo con un "factor de trabajo" suficiente (costo) para hacer que el forzo bruto sea computacionalmente costoso.

* Scrypt: Otra buena opción, pero generalmente se prefiere argon2.

* Salting: Siempre use una sal única generada al azar para cada contraseña. La sal es una cadena aleatoria que se concatena con la contraseña * antes de * hashing. Esto evita que los atacantes usen tablas de arcoiris precomputadas para descifrar las contraseñas comunes. Almacene la sal * junto con * la contraseña de hash en la base de datos.

* estiramiento clave (factor de costo/trabajo): Los algoritmos de hash pueden ser rápidos. El estiramiento clave ralentiza artificialmente el proceso de hashing, lo que hace que los ataques de fuerza bruta requieran más tiempo y caro. Bcrypt y Argon2 incluyen estiramiento de llave incorporado. Configurarlos correctamente.

* Seguridad de la base de datos: Proteja la base de datos que contiene las contraseñas de hash. Esto incluye:

* Controles de acceso fuertes: Limite el acceso a la base de datos solo a las aplicaciones y usuarios necesarios.

* Cifrado de la base de datos: Cifrar toda la base de datos en reposo y en tránsito.

* copias de seguridad regulares: Cree copias de seguridad regulares de la base de datos y guárdelas de forma segura (¡cifrado!).

* Escaneo y parches de vulnerabilidad: Mantenga el software de la base de datos actualizado con los últimos parches de seguridad.

* firewall: Proteja el servidor de la base de datos con un firewall.

* RECOBAR REGISTRO CONTRASUNTAS: Vuelva a actualizar periódicamente las contraseñas utilizando un algoritmo más robusto o configuración actualizada. Esto ayuda a mitigar los riesgos de métodos de hashing más antiguos o más débiles.

2. Creación y restablecimiento de contraseña:

* Requisitos de complejidad de contraseña: Hacer cumplir las políticas de contraseña segura:

* Longitud mínima: Generalmente se recomienda una longitud mínima de 12 caracteres; 16+ es aún mejor.

* Variedad de personajes: Requiere una combinación de letras mayúsculas, letras minúsculas, números y símbolos. Sin embargo, * forzar * las contraseñas demasiado complejas pueden llevar a los usuarios a crear patrones predecibles o escribir contraseñas. Considere centrarse más en la longitud que la variedad de personajes.

* Prevención de reutilización de contraseña: Evitar que los usuarios reutilicen contraseñas anteriores.

* Evite las contraseñas comunes: Verifique nuevas contraseñas en una lista de contraseñas comúnmente utilizadas y fácilmente descifradas.

* Medidor de fuerza de contraseña: Proporcione un medidor de fuerza de contraseña visual para guiar a los usuarios en la creación de contraseñas más seguras.

* Proceso de restablecimiento de contraseña: Implementar un proceso de reinicio de contraseña segura:

* Verificación de correo electrónico: Envíe un enlace de restablecimiento de contraseña a la dirección de correo electrónico verificada del usuario. El enlace debe ser válido por tiempo limitado.

* Preguntas secretas (evitar): Las preguntas secretas a menudo son inseguras, ya que las respuestas a menudo están disponibles públicamente o se adivinan fácilmente. Evite usarlos.

* Autenticación de dos factores (2fa) / autenticación multifactor (MFA): La mejor opción. Requiere un segundo factor de autenticación (por ejemplo, un código de una aplicación móvil, un token de hardware) además de la contraseña. Esto mejora drásticamente la seguridad.

* bloqueo de cuenta: Implemente una política de bloqueo de cuenta después de un cierto número de intentos de inicio de sesión fallidos para evitar ataques de fuerza bruta.

* Limitando la velocidad: Limite el número de solicitudes de restablecimiento de contraseña e intentos de inicio de sesión de una dirección IP específica dentro de un período de tiempo determinado.

3. Autenticación:

* Transporte seguro (https): Siempre use HTTPS para cifrar toda la comunicación entre el navegador del usuario y el servidor. Esto protege la contraseña de ser interceptada en tránsito.

* Gestión de la sesión: Implementar la gestión segura de sesiones:

* IDS de sesión: Use ID de sesión fuertes y generados aleatoriamente.

* Vestimato de sesión: Establezca un tiempo de vencimiento de la sesión razonable.

* Regeneración de la sesión: Regenere la ID de sesión después de un inicio de sesión exitoso y otras operaciones sensibles.

* Cookies seguras: Use cookies seguras (solo https) y cookies httponly (evite el acceso de JavaScript).

* Protección de secuencias de comandos de sitios cruzados (XSS): Proteja contra los ataques XSS, que se pueden usar para robar cookies o contraseñas de sesión. Esto implica desinfectar cuidadosamente la entrada y la salida de codificación del usuario.

* Protección de falsificación de solicitudes de sitios cruzados (CSRF): Proteja contra los ataques CSRF, que pueden usarse para engañar a los usuarios para que realicen acciones que no tenían la intención de realizar. Esto implica el uso de tokens anti-CSRF.

* Autenticación de dos factores (2fa) / autenticación multifactor (MFA): Como se mencionó anteriormente, esto es crítico.

4. Monitoreo y auditoría:

* Registro: Registre todos los intentos de inicio de sesión, restos de contraseña y otros eventos relacionados con la seguridad.

* Monitoreo: Monitoree los registros para actividades sospechosas, como intentos de inicio de sesión fallidos repetidos, direcciones IP inusuales o intentos de acceder a cuentas privilegiadas.

* Auditoría: Audite regularmente el sistema de contraseña para asegurarse de que sea seguro y que se sigan las políticas de seguridad.

* Escaneo de vulnerabilidad: Escanee regularmente el sistema en busca de vulnerabilidades.

5. Educación del usuario:

* Conciencia de seguridad de contraseña: Educar a los usuarios sobre la importancia de las contraseñas seguras y cómo crearlas.

* Conciencia de phishing: Educar a los usuarios sobre los ataques de phishing y cómo evitarlos.

* Las mejores prácticas de seguridad: Informe a los usuarios sobre otras mejores prácticas de seguridad, como mantener su software actualizado y evitar enlaces sospechosos.

Ejemplo de código (conceptual - python con bcrypt):

`` `Python

importar bcrypt

importar secretos

def hash_password (contraseña:str) -> tuple [str, str]:

"" "Hashes una contraseña usando bcrypt con una sal única". ""

sal =secrets.token_hex (16) # generar una sal aleatoria

contraseña_with_salt =Password.Encode ('UTF-8') + Salt.EnDODE ('UTF-8')

Hashed_password =bcrypt.hashpw (contraseña_with_salt, bcrypt.gensalt ())

return hashed_password.decode ('utf-8'), sal

Def verify_password (contraseña:str, stored_hash:str, sal:str) -> bool:

"" "Verifica una contraseña contra un hash y sal almacenado". ""

contraseña_with_salt =Password.Encode ('UTF-8') + Salt.EnDODE ('UTF-8')

return bcrypt.checkpw (contraseña_with_salt, stored_hash.encode ('utf-8')))

Ejemplo de uso

contraseña ="MySupersecretPassword123!"

hashed_password, sal =hash_password (contraseña)

imprime (f "contraseña hash:{hashed_password}")

imprimir (f "sal:{sal}")

Almacenamiento de hashed_password y sal en su base de datos

verificación

user_input ="MySupersecretPassword123!"

Si verify_password (user_input, hashed_password, sal):

Imprimir ("¡Contraseña verificada!")

demás:

Imprimir ("Contraseña incorrecta")

`` `` ``

Consideraciones importantes:

* Mantenga actualizado: Las amenazas de seguridad evolucionan constantemente. Manténgase informado sobre las últimas vulnerabilidades y mejores prácticas.

* Defensa en profundidad: Implementar múltiples capas de seguridad. Si una capa falla, otras están en su lugar para proteger el sistema.

* marcos y bibliotecas: Use bibliotecas y marcos de seguridad bien establecidos y examinados (por ejemplo, pautas de OWASP) para ayudar a implementar las características de seguridad correctamente. Evite rodar su propia criptografía.

* Evaluaciones de seguridad regulares: Realizar evaluaciones de seguridad regulares, incluidas las pruebas de penetración, para identificar vulnerabilidades.

* Cumplimiento: Considere los estándares de cumplimiento relevantes, como GDPR, HIPAA o PCI DSS, que pueden tener requisitos específicos para la seguridad de la contraseña.

Al implementar estas prácticas, puede mejorar significativamente la seguridad de su sistema de contraseña y proteger las cuentas de sus usuarios del acceso no autorizado. Recuerde que la seguridad de la contraseña es un proceso continuo, no una solución única. Revise y actualice regularmente sus medidas de seguridad para mantenerse a la vanguardia de las últimas amenazas.

contraseñas
Cómo cambiar tu contraseña de Xfinity Wi-Fi
¿Cómo se asigna una contraseña numérica por la empresa o el usuario seleccionado?
¿Qué tecnología se utiliza para los usuarios de autenticación?
¿Cómo se desbloquea un Kindle si se olvida su contraseña y desea restablecerla?
¿Cómo puede restablecer la contraseña del BIOS en una computadora portátil HP NX9010? He intentado eliminar el sistema de batería que funcione para mí. ¿Alguien ayuda?
¿Cómo desbloqueas tu Razer Suncom sin contraseña?
¿Hay algún comando de contraseña en MS-DOS?
Cómo cambiar tu contraseña en HBO Max
Conocimiento de la computadora © http://www.ordenador.online