¿Deshabilitar el inicio de sesión raíz mejora la seguridad?

13

Recientemente encontré un argumento en contra de deshabilitar el inicio de sesión de un usuario root en Linux en http://archives.neohapsis.com/archives/openbsd/2005-03/2878.html

Supongo que, si todos usan una autenticación de clave pública, no hay riesgo de perder la contraseña de root.

¿Siempre es mejor deshabilitar el inicio de sesión raíz a través de ssh?

PJ.
fuente
1
Lo que realmente debe preguntarse es "¿Deshabilitar el inicio de sesión raíz cumple con mi política de seguridad?" La política de cada persona es diferente por varias razones.
Alex Holst

Respuestas:

10

La respuesta corta es que cuanto más pequeño sea su perfil de ataque, mejor. Siempre. Si no lo necesita o puede usar una alternativa como sudo o su, no habilite el inicio de sesión raíz.

Un gran argumento a favor de deshabilitar root y usar sudo / su es que puedes rastrear quién está haciendo qué. Un usuario: un inicio de sesión. Nunca comparta cuentas.

El argumento en ese enlace parece ser específico para el inicio de sesión local, en lugar de ssh.

Pausado hasta nuevo aviso.
fuente
3
El punto de seguimiento es discutible: sudo -iy sus acciones aparecen como raíz, no como suyas
Fahad Sadah
2
Pero tienes el registro de su inicio de sesión original. Es posible que no tenga pruebas, pero tiene pruebas. Además, puede controlar a qué tiene acceso y qué puede hacer el usuario.
Pausado hasta nuevo aviso.
¿Qué pasa con un usuario por situación? Solo hay una persona que administra el sistema, puedo rastrear quién está haciendo qué. Utilice sudo para hacer que la cadena de escape escape muy compleja ... por ejemplo: unix.stackexchange.com/questions/551899/…
hombre de bronce
8

Secundo el punto de Dennis, más:

Permitir el inicio de sesión de root a través de SSH también significa que se puede atacar a root mediante conjeturas de contraseña de fuerza bruta.

Debido a que la raíz siempre está ahí, y la recompensa es tan alta, es un objetivo prioritario. El nombre de usuario tendría que adivinarse primero, lo que agrega algunos órdenes de magnitud a la dificultad del problema.

Posipiet
fuente
Además, debido a que es root, como con la mayoría de las cuentas de administrador, incluso si configura su sistema para bloquear cuentas después de fallas (x), no lo hará. En su lugar, debe configurar algo para bloquear IP después de fallas, pero incluso eso no ayudará contra una fuerza bruta distribuida.
Joe H.
1
Puede cambiar el nombre de la cuenta raíz, como cualquier otra.
Fahad Sadah
@fahadsadah Algunos programas asumen UID 0 == root. Una vez intenté renombrar root en un enrutador OpenWRT y su interfaz web se rompió.
Gerald Combs el
3
Rootear a través de ssh NO significa automáticamente que el sistema sea susceptible a la fuerza bruta. Considere un sistema con la PermitRootLogin without-passwordopción establecida.
Zoredache
4

Nunca deshabilite la cuenta raíz si no tiene acceso a la consola. Si su sistema de archivos se llena y el arranque falla mientras se crea / etc / nologin, solo la cuenta raíz podrá iniciar sesión en la máquina.

Dicho esto, si tiene acceso a la consola para hacer frente a estas situaciones, cerrar la cuenta raíz puede ahorrarle algunos dolores de cabeza, ya que nadie podrá acceder a la cuenta raíz mediante un ataque de diccionario (mi experiencia es que estos son constantes en estos días: alguien siempre lo intenta). Otras cosas que podrías pensar hacer:

  • Instale un programa como fail2ban que cierre automáticamente el acceso a una dirección IP si falla la autenticación varias veces (para proteger activamente contra ataques de diccionario).
  • Solo use las teclas ssh.
  • Si administra muchas máquinas, use cfengine u otro para administrar las claves públicas que autoriza a ingresar a una máquina (o de lo contrario las obtendrá desactualizadas con bastante rapidez).

Saludos cordiales,
João Miguel Neves

jneves
fuente
1

Siempre es mejor deshabilitar el inicio de sesión raíz a través de SSH.

Hay sistemas PKI (por ejemplo, claves públicas con SSH) que se han visto comprometidos. SSH ya ha tenido fallas de autenticación remota anteriormente que permitieron que ocurriera un compromiso de raíz. Las PKI de software son notoriamente más débiles que las PKI basadas en hardware ... si su computadora host se ve comprometida, el servidor de destino también podría caerse fácilmente. O podría haber nuevos defectos encontrados en SSH. Al limitar el inicio de sesión raíz, también puede extender el período de tiempo que necesita un atacante para realizar la escalada de privilegios.

Históricamente, muchos administradores usaban hosts de bastión (básicamente puertas de enlace) para ingresar a una red y luego saltar a los cuadros. El uso de una distribución de alta seguridad (por ejemplo, OpenBSD) como host de bastión, junto con diferentes sistemas operativos, proporciona defensa en profundidad y defensa en diversidad (una vulnerabilidad menos probable que comprometa toda la red).

Considere también tener una conexión fuera de banda a su red, como un concentrador en serie, un conmutador en serie u otro. Esto proporcionará disponibilidad de respaldo de su interfaz administrativa si es necesario.

Debido a que estoy paranoico y en seguridad, sería más probable que use una VPN IPSEC o una VPN Tipo 1, y luego ejecute SSH además de eso, sin exposición a Internet de SSH en absoluto. Poner la VPN en su hardware de red puede simplificar dramáticamente esto en la implementación.

Brennan
fuente
0

Deberíamos examinar esta pregunta desde diferentes puntos.

Ubuntu deshabilita la cuenta raíz de forma predeterminada, lo que significa que no puede iniciar sesión a través de SSH con root. Pero permite que cualquier persona con un CD de Ubuntu pueda arrancar y obtener acceso de root.

Creo que el mejor compromiso es habilitar la cuenta raíz con acceso SSH deshabilitado. Si necesita acceso root con SSH, inicie sesión con un usuario normal y use sudo. De esta manera, asegura el acceso a la caja, sin comprometer la seguridad remota.

Natalie Adams
fuente
2
Cuando alguien inicia su máquina con un CD, ya es demasiado tarde, ya ha empezado su máquina. Lo mejor que puede esperar es una partición de datos cifrados.
Kamil Kisiel
1
Si tiene acceso al "portavasos", no necesita ssh.
Pausado hasta nuevo aviso.
@Kamil Kisiel, eso no significa que no puedas poner bloqueos de carreteras para disuadirlos. Cual es la frase Si pueden tocar tu caja, pueden ser dueños de ella. Pero, tenemos que poner las cosas en perspectiva. @ Dennis Williamson, ¿puedes explicar tu comentario más?
Natalie Adams
¿Qué bloqueos de carreteras? Si está arrancando desde su propio CD, no necesita contraseñas. Acabas de leer el sistema de archivos.
Kamil Kisiel
0

Yo diría que sí, el inicio de sesión como root debería estar deshabilitado para auditabilidad. Si usted es el único administrador del sistema en esta máquina, es trivial determinar quién hizo qué a quién, pero si diez personas están autorizadas para administrar la caja y todas conocen la contraseña de root, tenemos un problema.

Independientemente de si la raíz está habilitada o no, ni a la raíz ni a ningún otro usuario se les debe permitir iniciar sesión de forma remota con una contraseña. fail2ban no hará nada contra una botnet lenta de fuerza bruta, y no funciona en absoluto con IPv6. (La versión 1 del protocolo ssh y las implementaciones anteriores de la versión 2 eran vulnerables a los ataques de adivinación de contraseñas contra las solicitudes de contraseña interactivas dentro de la sesión ssh, pero parece que ya no es el caso con una implementación ssh lo suficientemente reciente).

Brad Ackerman
fuente