Por qué es una idea terrible:
* Vulnerabilidad de seguridad masiva: Si establece una contraseña predeterminada, cualquiera que lo sepa puede iniciar sesión inmediatamente y tomar el control del sistema. Esto incluye actores maliciosos en su red o en Internet más amplio.
* fácilmente explotable: Los piratas informáticos escanean activamente sistemas con credenciales predeterminadas. A menudo es lo primero que intentan.
* Violación de las políticas de seguridad: La mayoría de las organizaciones tienen reglas estrictas contra contraseñas predeterminadas. Es probable que violes las políticas de seguridad corporativa.
* Datos comprometidos: Una vez que se encuentra un atacante, puede robar, modificar o eliminar datos confidenciales.
* Infección del sistema: Un sistema comprometido se puede utilizar como una plataforma de lanzamiento para ataques a otros sistemas.
Cómo es * técnicamente * posible (pero no haga esto para los sistemas de producción):
1. usando `passwd` con`--stdin` (durante la configuración del sistema):
Esto a menudo se usa en compilaciones automatizadas del sistema o en instalaciones de Kickstart. Puede incluir un script que use `passWD` con la opción`--stdin` para establecer una contraseña.
`` `Bash
echo "default_password" | passwd --stdin user_account
`` `` ``
* Reemplace `default_password` con la contraseña real que (tontamente) quiere usar.
* Reemplace `user_account` con el nombre del usuario al que desea asignar la contraseña (por ejemplo,` root`).
IMPORTANTE:Esto * debe * hacerse durante la configuración inicial del sistema * antes de * el sistema está conectado a cualquier red. Cambie inmediatamente la contraseña a una contraseña fuerte y única * después de * el primer inicio de sesión.
2. modificando `/etc/shadow` (manipulación de hash de contraseña directa):
Este es el método * más * peligroso y complicado. Necesitarías:
* Genere el hash de contraseña (usando `OpenSSL PassWD` o una herramienta similar).
* Edite directamente el archivo `/etc/shadow` (necesitará privilegios raíz). Este archivo contiene los hash de contraseña cifrados y otra información de la cuenta.
* Edición incorrecta de `/etc/shadow` puede bloquearlo por completo del sistema.
Esto no se recomienda bajo ninguna circunstancia a menos que esté tratando con un sistema roto y necesite recuperar el acceso. Incluso entonces, tenga mucho cuidado.
Alternativas mucho mejores (¡uselas en su lugar!):
* Para compilaciones de sistemas automatizados (Kickstart, JumpStart):
* Generar contraseñas aleatorias: Use un script para generar una contraseña fuerte y aleatoria para cada sistema. Almacene las contraseñas de forma segura (encriptada) y distribuyas al personal autorizado.
* Primer script de arranque para forzar el cambio de contraseña: Cree un script que se ejecute en el primer arranque del sistema. Este script debe * forzar * al usuario (especialmente 'root`) para cambiar su contraseña de inmediato. Esta es una práctica común y efectiva.
* Autenticación de clave pública (claves SSH): En lugar de contraseñas, use las teclas SSH. Esto es significativamente más seguro. Puede implementar claves públicas para el archivo 'autorizado_keys' de cuentas de usuario durante la compilación del sistema.
* Para sistemas individuales:
* Contraseñas fuertes y únicas: Elija contraseñas seguras (largas, complejas, aleatorias) que son * únicas * para cada sistema. Use un administrador de contraseñas para ayudarlo a generar y almacenar contraseñas de forma segura.
* Cambios de contraseña regular: Implemente una política de cambios de contraseña regulares (por ejemplo, cada 90 días).
* Autenticación multifactor (MFA): Siempre que sea posible, habilite MFA (por ejemplo, utilizando una aplicación TOTP como Google Authenticator o Authy). Esto agrega una capa adicional de seguridad más allá de las contraseñas.
* Desactivar el inicio de sesión SSH basado en contraseña (si usa las teclas SSH): Una vez que haya configurado las teclas SSH, deshabilite los inicios de sesión basados en contraseña en `/etc/ssh/sshd_config` configurando` contraseña Authentication NO`. Esto evita que los atacantes intenten contraseñas de fuerza bruta.
Ejemplo de generar una contraseña aleatoria en un script:
`` `Bash
#!/bin/bash
Generar una contraseña aleatoria
contraseña =$ (OpenSSL Rand -Base64 16)
Establezca la contraseña de la cuenta 'Newuser'
echo "$ contraseña" | Passwd -Stdin Newuser
Imprima la contraseña (para registro temporal - elimine esto en producción)
echo "contraseña generada para newuser:$ contraseña"
Inmediatamente después de la anterior, elimine la contraseña del archivo o registro de script.
`` `` ``
Takeaways de teclas:
* Nunca, use una contraseña predeterminada en un sistema que se conectará a una red.
* Priorice la seguridad sobre la conveniencia.
* Use contraseñas seguras, claves SSH y MFA siempre que sea posible.
* Automatice la generación y distribución de contraseñas durante las compilaciones del sistema.
* Forzar la contraseña cambia en el primer inicio de sesión.
Si describe * por qué * cree que necesita una contraseña predeterminada, puedo brindarle soluciones más específicas y seguras.