Por qué rootear sobre SSH es malo
Hay muchos bots que intentan iniciar sesión en su computadora a través de SSH. Estos bots funcionan de la siguiente manera.
Ejecutan algo como ssh root@$IP
y luego prueban contraseñas estándar como "root" o "password123". Lo hacen todo el tiempo que pueden, hasta que encuentran la contraseña correcta. En un servidor accesible en todo el mundo, puede ver muchas entradas de registro en sus archivos de registro. Puedo subir hasta 20 por minuto o más.
Cuando los atacantes tienen suerte (o tiempo suficiente) y encuentran una contraseña, tendrían acceso de root y eso significaría que está en problemas.
Pero cuando no permite que root inicie sesión a través de SSH, el bot primero debe adivinar un nombre de usuario y luego la contraseña correspondiente. Entonces, digamos que la lista de contraseñas plausibles tiene N
entradas y la lista de usuarios plausibles es M
entradas grandes. El bot tiene un conjunto de N*M
entradas para probar, por lo que esto lo hace un poco más difícil para el bot en comparación con el caso raíz donde solo es un conjunto de tamaño N
.
Algunas personas dirán que este adicional M
no es una ganancia real en seguridad y estoy de acuerdo en que es solo una pequeña mejora de seguridad. Pero pienso en esto más como estos pequeños candados que en sí mismos no son seguros, pero que impiden el acceso fácil a muchas personas. Por supuesto, esto solo es válido si su máquina no tiene otros nombres de usuario estándar, como tor o apache.
La mejor razón para no permitir root es que root puede causar mucho más daño en la máquina que un usuario estándar. Entonces, si por suerte encuentran su contraseña, todo el sistema se pierde, mientras que con una cuenta de usuario estándar solo puede manipular los archivos de ese usuario (que todavía es muy malo).
En los comentarios se mencionó que un usuario normal podría tener el derecho de usar sudo
y si se adivina la contraseña de este usuario, el sistema también se pierde por completo.
En resumen, diría que no importa qué contraseña de usuario obtenga un atacante. Cuando adivinan una contraseña, ya no puede confiar en el sistema. Un atacante podría usar los derechos de ese usuario para ejecutar comandos sudo
, también podría explotar una debilidad en su sistema y obtener privilegios de root. Si un atacante tenía acceso a su sistema, ya no puede confiar en él.
Lo que hay que recordar aquí es que cada usuario en su sistema que puede iniciar sesión a través de SSH es una debilidad adicional. Al deshabilitar la raíz, eliminas una debilidad obvia.
¿Por qué las contraseñas sobre SSH son malas?
La razón para deshabilitar las contraseñas es realmente simple.
- ¡Los usuarios eligen contraseñas malas!
La idea de probar las contraseñas solo funciona cuando las contraseñas son adivinables. Entonces, cuando un usuario tiene la contraseña "pw123", su sistema se vuelve inseguro. Otro problema con las contraseñas elegidas por las personas es que sus contraseñas nunca son realmente aleatorias porque eso sería difícil de recordar.
También es el caso de que los usuarios tienden a reutilizar sus contraseñas, usándolas para iniciar sesión en Facebook o sus cuentas de Gmail y para su servidor. Entonces, cuando un hacker obtiene la contraseña de la cuenta de Facebook de este usuario, puede ingresar a su servidor. El usuario podría perderlo fácilmente mediante phishing o el servidor de Facebook podría ser pirateado.
Pero cuando usa un certificado para iniciar sesión, el usuario no elige su contraseña. El certificado se basa en una cadena aleatoria que es muy larga desde 1024 Bits hasta 4096 Bits (~ 128 - 512 caracteres de contraseña). Además, este certificado solo está allí para iniciar sesión en su servidor y no se utiliza con ningún servicio externo.
Enlaces
http://bsdly.blogspot.de/2013/10/the-hail-mary-cloud-and-lessons-learned.html
Este artículo proviene de los comentarios y quería darle una posición un poco más prominente, ya que profundiza un poco más en el tema de las botnets que intentan iniciar sesión a través de SSH, cómo lo hacen, cómo se ven los archivos de registro y qué se puede hacer para detenerlos. Ha sido escrito por Peter Hansteen.