¿Por qué sshd permitiría inicios de sesión raíz de forma predeterminada?

7

Actualmente estoy trabajando para fortalecer mis servidores contra la piratería, entre otras cosas, estoy recibiendo muchos intentos de iniciar sesión como root sobre ssh. Mientras he implementado fail2ban, me pregunto, ¿por qué se permitirían los inicios de sesión raíz de forma predeterminada? Incluso con distribuciones no basadas en sudo, siempre puedo iniciar sesión como usuario normal y cambiar, por lo que me pregunto si hay alguna ventaja clara de permitir los inicios de sesión raíz en ssh, o simplemente algo que nadie se molesta en cambiar.

Journeyman Geek
fuente

Respuestas:

8

Existe una clara ventaja de permitir el inicio de sesión raíz en ssh

Hay algunos sistemas de respaldo que necesitan root en el sistema remoto para realizar una copia de respaldo. No es raro ver las cosas configuradas con autenticación basada en claves para realizar tareas de mantenimiento en sistemas remotos.

Desearía que el valor predeterminado cambiara de PermitRootLogin yesal menos PermitRootLogin without-password, esto permitiría solo la autenticación basada en claves. La autenticación remota de contraseña para la cuenta raíz casi nunca es necesaria.

Cada vez es más común en los sistemas (como Ubuntu) que el sistema se configure con una cuenta raíz con una contraseña deshabilitada. No hay mucho riesgo en la configuración predeterminada ya que no hay forma de autenticarse directamente en una cuenta con una contraseña deshabilitada.

También considere que un intento de fuerza bruta para iniciar sesión remotamente en la raíz a través de ssh tiene una probabilidad muy baja de tener éxito si tiene una cuenta raíz con una contraseña suficientemente compleja. Deshabilitar la cuenta raíz proporciona una capa adicional de seguridad, pero puede no ser necesario si tiene una contraseña segura. Si combina una contraseña segura con herramientas reactivas como denyhosts y fail2ban, generalmente no hay riesgo de que un intento de fuerza bruta funcione con la contraseña raíz.

Siempre es una buena práctica fortalecer el sistema después de que se realiza la instalación en función del riesgo y los requisitos de su red. Un sistema que no es crítico y no tiene datos de usuario realmente no necesita el mismo nivel de endurecimiento que el sistema que almacena registros médicos o bancarios.

Zoredache
fuente
2

No estoy seguro, pero supongo que querían asegurarse de que las personas que realizan instalaciones en el extranjero puedan iniciar sesión. Es posible que el primer inicio de sesión deba ser root ya que todavía no hay otros usuarios.

Sin embargo, debe asegurarse de deshabilitar el inicio de sesión como opción raíz en la configuración sshd después de haber creado su usuario y haberle otorgado permisos sudo.

También le recomiendo que cambie el puerto SSH a otro que no sea 22. Si bien no hace que su máquina sea más segura, detiene todas esas solicitudes inútiles y molestas.

Xeoncross
fuente
Realmente no estoy de acuerdo con cambiar de puertos estándar. Utilice el filtrado de paquetes.
Warner
De Verdad? ¿Qué tiene de malo? Acabo de empezar a hacerlo porque vi administradores respetados haciéndolo ...
Xeoncross
Es algo que la gente adoptó al ejecutar servidores compartidos sin filtrado ni segregación de red.
Warner
@Advertencia pero, no entiendo, cambiar de puertos estándar no sería una forma bastante simple para la mayoría de las personas de rechazar la mayoría de los intentos.
Camilo Martin
2

Considere la prevención de inicios de sesión como protección adicional. Hace algunos años, la fuerza bruta estaba en su apogeo, hoy en día, tienden a buscar vulnerabilidades a través de lo que pueden ver por los demonios (apache, pureftpd, ...). La prevención de inicios de sesión raíz se convierte en una excelente idea si mañana se encuentra un exploit con SSHD. Si bien SSHD es maduro y seguro, nunca se sabe. Últimamente, los exploits han estado más orientados a la escalada de privilegios con el kernel o al uso de una aplicación de terceros con el kernel, por lo que evitar los inicios de sesión raíz no habría cambiado nada.

La distribución basada en Debian ya hizo el cambio, mientras que la distribución basada en RedHat lo sugiere (si lee sus documentos de mejores prácticas)

Embreau
fuente
1

Bueno, porque root es un usuario válido y sshd hace su trabajo permitiéndolo. En OpenBSD (los mismos tipos de OpenSSH), por ejemplo, no se le pide que cree un usuario durante la instalación, por lo que debe usar root para acceder a su caja.

Algunas distribuciones basadas en escritorio te obligan a crear usuarios adicionales, pero para los servidores en realidad no necesitas uno.

Además, estos argumentos de que sudo o su son más seguros que iniciar sesión como root es un gran mito. En Ubuntu, por ejemplo, el usuario puede ejecutar CUALQUIER comando usando sudo de forma predeterminada, por lo que cualquier atacante que ingrese también puede ejecutar CUALQUIER comando como root. Bastante inútil desde una perspectiva de seguridad.

sucursales
fuente
Por otro lado, un atacante necesitaría adivinar tanto el nombre de usuario como la contraseña, en lugar de simplemente forzar la contraseña. También señalaría que sudo está restringido a las personas en el archivo de sudoers, por lo que es solo el primer usuario en la mayoría de los casos
Journeyman Geek el
0

Es más o menos específica de la distribución. Algunos lo permiten, otros no.

Si administrara una distribución, configuraría el sistema para que esté lo más resistente posible en la instalación. Es mejor olvidar habilitar alguna característica que olvidar desactivar alguna característica.

Joe Internet
fuente
Endurecer el sistema tanto como sea posible se convierte en un desafío si también está intentando que su sistema sea utilizado en el escritorio por muchos usuarios finales. Debe comprometer y fortalecer el sistema lo suficiente para proteger a los usuarios en el caso predeterminado, pero permitir que los usuarios avanzados modifiquen el sistema para satisfacer sus necesidades.
Zoredache