
Tengo un servidor en OVH que de repente se desconectó alrededor de las 12:10 p.m.
Según mis registros, el hacker entró con el usuario root. Lo que significa que probablemente tenía mi contraseña. Ya cambié esta contraseña pero todavía me pregunto cómo entró.
En sshd_config dice PermitRootLogin no
que normalmente no podían ingresar a través de SSH. Entonces, la única forma de ingresar directamente como root es a través de KVM y soy el único que tiene acceso a eso.
Este es el registro en el momento en que cayó. Podría resolverlo con un simple reinicio. Pero como veo los registros anteriores a este, alguien entró varias veces en la raíz. Y estoy bastante seguro de que no fui yo. Además, los mismos registros dicen que alguien ingresa como root.
Jun 11 12:10:01 vps115965 systemd: Starting Session c3450 of user root.
Jun 11 12:10:01 vps115965 systemd: Started Session c3450 of user root.
Jun 11 21:31:02 vps115965 xinetd[2703]: START: gopher pid=22775 from=::ffff:46.182.107.117
Mi pregunta. ¿Cómo puedo desactivar completamente el inicio de sesión de root? Con esto me refiero únicamente a un inicio de sesión físico. Los cronjobs que se ejecutan como root y sudo (así como sudo -i) aún deberían funcionar.
Mi servidor ejecuta CentOS 7 (las actualizaciones se instalan mediante cronjobs)
Gracias de antemano
Jeroen
EDITAR:
Descubrí que el inicio de sesión de root es cada 10 minutos y pensé que debería programarse. Entonces miré el crontab y parece que spamassassin está haciendo esto. Como ya no uso esto (uso mi Norton IS para filtrar spam), decidí eliminarlo.
Como ya no tengo ninguna evidencia de que haya sido pirateado, estoy pensando simplemente en la mala suerte (Kernel Panic, tal vez).
Sin embargo, todavía quiero saber mi pregunta sobre cómo deshabilitar el inicio de sesión físico.
Respuesta1
puedes usarlo passwd -l root
desde man passwd
puedes ver la descripción de esto.
-l This option is used to lock the specified account and it is available to root only. The locking is performed by rendering the encrypted pass-
word into an invalid string (by prefixing the encrypted string with an !).
Respuesta2
Tienes 2 opciones:
Abordar con el archivo /etc/securetty, como se menciona en la respuesta anterior.
Elimine la contraseña de root de /etc/shadow; de esta manera nadie podrá iniciar sesión como root, mientras que los trabajos cron y sudo funcionarán.
La segunda opción se usa en la configuración predeterminada de Ubuntu, ya que no rompe la compatibilidad con el software antiguo de KDE 1/2, que usaba cuadros de diálogo auxiliares para obtener la contraseña de root y obtener privilegios de root.
Respuesta3
El inicio de sesión en la consola física se controla mediante el /etc/securetty
archivo. Para evitar que el usuario root inicie sesión usando cualquier consola, use algo como echo > /etc/securetty
vaciar el archivo (es posible que desee crear una copia de seguridad primero).
Si solo desea cerrar rutas específicas como, por ejemplo, inicios de sesión utilizando la consola serie, simplemente elimínelas del /etc/securetty
archivo.
Después de haber hecho esto, aún puedes iniciar sesión usandosshy una cuenta de usuario normal y luego usarsudopara convertirse en raíz.