Securizar SSH en vCenter Server deshabilitando el acceso root

En un artículo anterior vimos el modo de crear nuevos usuarios en la Virtual Appliance de vCenter Server. Usuarios que posteriormente utilizábamos para acceder por vSphere Client a la infraestructura asignándoles los privilegios correspondientes.

En el caso de querer acceder con un nuevo usuario por SSH, es necesario tener en cuenta que hay que aplicarle ciertos privilegios, o más bien, añadirlo al grupo adecuado para que pueda acceder por SSH. La idea de este artículo es deshabilitar el acceso por SSH como root, que está activo por defecto, y crear un usuario normal con el que hacer el «salto».

Lo primero que vemos es, que para poder acceder por SSH es necesario formar parte del grupo wheel o shellaccess según indica lo configuración de OpenSSH:

vcenter:~ # grep AllowGroups /etc/ssh/sshd_config 
AllowGroups shellaccess wheel

Podríamos añadir un nuevo grupo, pero directamente vamos a añadir al nuevo usuario al grupo wheel para que también pueda saltar al usuario root una vez que acceda por ssh. Por defecto a los nuevos usuarios se les asigna el grupo «users», de todos modos lo forzamos, le añadimos como grupo secundario wheel, para el homedir utilizamos el que crea por defecto (/home/foo en este caso) e importante especificar la shell /bin/bash porque por defecto asigna /sbin/rvc_chroot

# useradd -g users -G wheel -m -s /bin/bash foo

Una vez creado el usuario le asignamos una contraseña:

# passwd foo
New password:  *********ad
Retype new password: *********
Password changed.

Y verificamos que podemos acceder por SSH y escalar a root:

$ ssh foo@vcente
 VMware vCenter Server Appliance
 foo@vcenter's password:
foo@vcenter:~> su -
 Password: **********
 Last login: Mon Nov ....
 vcenter:~ #

Una vez que hemos verificado que accedemos bien con el nuevo usuario y que podemos hacer el salto a root podemos deshabilitar el acceso root directo por SSH:

# grep PermitRootLogin /etc/ssh/sshd_config 
#PermitRootLogin yes

Lo modificamos a:

PermitRootLogin no

Y reiniciamos SSH:

# /etc/init.d/sshd restart

ó

# service sshd restart

A partir de aquí, podéis securizar SSH con estos tips, como modificar el puerto de SSH, limitar con TCP WRAPPERS los accesos al servicio, usar firewalls, etc. Esta es la medida básica para evitar acceso directo como root al servidor.