GNU/Linux >> Tutoriales Linux >  >> Linux

4 formas de deshabilitar la cuenta raíz en Linux

La raíz account es la cuenta definitiva en Linux y otros sistemas operativos similares a Unix. Esta cuenta tiene acceso a todos los comandos y archivos en un sistema con permisos completos de lectura, escritura y ejecución. Se utiliza para realizar cualquier tipo de tarea en un sistema; para crear/actualizar/acceder/eliminar cuentas de otros usuarios, instalar/eliminar/actualizar paquetes de software y mucho más.

Porque la raíz usuario tiene poderes absolutos, cualquier acción que realice es crítica en un sistema. En este sentido, cualquier error del raíz usuario puede tener enormes implicaciones en el funcionamiento normal de un sistema. Además, también se puede abusar de esta cuenta al usarla de manera incorrecta o inapropiada, ya sea accidentalmente, maliciosamente o por ignorancia artificial de las políticas.

Por lo tanto, es aconsejable deshabilitar el acceso raíz en su servidor Linux, en su lugar, cree una cuenta administrativa que debe configurarse para obtener privilegios de usuario raíz usando el comando sudo, para realizar tareas críticas en el servidor.

En este artículo, explicaremos cuatro formas de deshabilitar el inicio de sesión de la cuenta de usuario raíz en Linux.

Atención :Antes de bloquear el acceso a la raíz cuenta, asegúrese de haber creado una cuenta administrativa, capaz de usar el comando sudo para obtener privilegios de usuario raíz, con el comando useradd y proporcione a esta cuenta de usuario una contraseña segura. La bandera -m significa crear el directorio de inicio del usuario y -c permite especificar un comentario:

# useradd -m -c "Admin User" admin
# passwd admin

Luego, agregue este usuario al grupo apropiado de administradores del sistema usando el comando usermod, donde el interruptor -a significa añadir cuenta de usuario y -G especifica un grupo para agregar al usuario (wheel o sudo dependiendo de su distribución de Linux):

# usermod -aG wheel admin    #CentOS/RHEL
# usermod -aG sudo admin     #Debian/Ubuntu 

Una vez que haya creado un usuario con privilegios administrativos, cambie a esa cuenta para bloquear el acceso de root.

# su admin

1. Cambiar Shell del usuario raíz

El método más simple para deshabilitar el inicio de sesión del usuario raíz es cambiar su shell de /bin/bash o /bin/bash (o cualquier otro shell que permita el inicio de sesión del usuario) a /sbin/nologin , en el /etc/passwd archivo, que puede abrir para editar usando cualquiera de sus editores de línea de comandos favoritos, como se muestra.

  
$ sudo vim /etc/passwd

Cambiar la línea:

root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin

Guarde el archivo y ciérrelo.

De ahora en adelante, cuando root usuario inicia sesión, recibirá el mensaje "Esta cuenta no está disponible actualmente. Este es el mensaje predeterminado, pero puede cambiarlo y configurar un mensaje personalizado en el archivo /etc/nologin.txt .

Este método solo es efectivo con programas que requieren un shell para el inicio de sesión del usuario; de lo contrario, sudo , ftp y correo electrónico los clientes pueden acceder a la cuenta raíz.

2. Deshabilite el inicio de sesión raíz a través del dispositivo de consola (TTY)

El segundo método utiliza un PAM módulo llamado pam_securetty , que permite el acceso raíz solo si el usuario inicia sesión en un TTY "seguro" , tal como se define en la lista de /etc/securetty .

El archivo anterior le permite especificar qué TTY dispositivos en los que el usuario raíz puede iniciar sesión, vaciar este archivo impide el inicio de sesión raíz en cualquier dispositivo conectado al sistema informático.

Para crear un archivo vacío, ejecute.

$ sudo mv /etc/securetty /etc/securetty.orig
$ sudo touch /etc/securetty
$ sudo chmod 600 /etc/securetty

Este método tiene algunas limitaciones, solo afecta a programas como inicio de sesión, administradores de visualización (es decir, gdm , kdm y xdm ) y otros servicios de red que lanzan un TTY. Programas como su, sudo, ssh y otras herramientas de openssh relacionadas tendrán acceso a la cuenta raíz.

3. Deshabilitar inicio de sesión raíz SSH

La forma más común de acceder a servidores remotos o VPS es a través de SSH y para bloquear el inicio de sesión del usuario raíz, debe editar /etc/ssh/sshd_config archivo.

$ sudo vim /etc/ssh/sshd_config

Luego descomente (si está comentado) la directiva PermitRootLogin y establezca su valor en no como se muestra en la captura de pantalla.

Una vez que haya terminado, guarde y cierre el archivo. Luego reinicie el sshd servicio para aplicar el cambio reciente en las configuraciones.

$ sudo systemctl restart sshd 
OR
$ sudo service sshd restart 

Como ya sabrá, este método solo afecta al conjunto de herramientas de openssh, programas como ssh, scp, sftp no podrán acceder a la cuenta raíz.

4. Restrinja el acceso raíz a los servicios a través de PAM

Módulos de autenticación conectables (PAM en resumen) es un método de autenticación centralizado, conectable, modular y flexible en sistemas Linux. PAM, a través de /lib/security/pam_listfile.so módulo, permite una gran flexibilidad en la limitación de los privilegios de cuentas específicas.

El módulo anterior se puede usar para hacer referencia a una lista de usuarios que no pueden iniciar sesión a través de algunos servicios de destino, como inicio de sesión, ssh y cualquier programa compatible con PAM.

En este caso, queremos deshabilitar el acceso del usuario raíz a un sistema, restringiendo el acceso a los servicios de inicio de sesión y sshd. Primero abra y edite el archivo para el servicio de destino en /etc/pam.d/ directorio como se muestra.

$ sudo vim /etc/pam.d/login
OR
sudo vim /etc/pam.d/sshd

A continuación, agregue la configuración a continuación en ambos archivos.

auth    required       pam_listfile.so \
        onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers

Cuando haya terminado, guarde y cierre cada archivo. A continuación, cree el archivo sin formato /etc/ssh/deniedusers que debe contener un elemento por línea y no legible en todo el mundo.

Agregue el nombre raíz en él, luego guárdelo y ciérrelo.

$ sudo vim /etc/ssh/deniedusers

También establezca los permisos requeridos en esto.

$ sudo chmod 600 /etc/ssh/deniedusers

Este método solo afecta a los programas y servicios que son conscientes de PAM. Puede bloquear el acceso raíz al sistema a través de ftp y clientes de correo electrónico y más.

Para obtener más información, consulte las páginas man correspondientes.

$ man pam_securetty
$ man sshd_config
$ man pam

¡Eso es todo! En este artículo, hemos explicado cuatro formas de deshabilitar el inicio de sesión (o cuenta) de usuario raíz en Linux. Si tiene algún comentario, sugerencia o pregunta, no dude en comunicarse con nosotros a través del formulario de comentarios a continuación.


Linux
  1. Cómo cambiar, eliminar o deshabilitar la contraseña de usuario en Linux

  2. Una introducción a la supervisión de cuentas de usuario de Linux

  3. Cómo personalizar los entornos de usuario de Linux

  4. Cómo deshabilitar el inicio de sesión remoto para el usuario raíz en una máquina Linux

  5. UNIX/Linux:Cómo bloquear o deshabilitar una cuenta de usuario

Cómo habilitar y deshabilitar la cuenta de usuario raíz en Ubuntu

Cómo enumerar todos los usuarios en Linux

Métodos para deshabilitar la cuenta raíz en Linux

Linux – Agregar usuario a la lista de Sudoers

¿Cómo deshabilitar el inicio de sesión SSH para el usuario raíz en Linux?

Cómo crear un usuario en Ubuntu Linux de varias maneras