Configurar VPS: Primeros pasos. Impedir acceso con contraseña vía SSH.

Cuando comenzamos a configurar un VPS o cualquier servidor al cual vamos a acceder desde internet. Nos asaltan multitud de dudas respecto a la seguridad. Vamos a explicar cómo se comienza a asegurar nuestro VPS.

Es cierto que el único sistema a salvo de ataques desde la red, es el sistema que está desconectado, pero aún así, siguiendo estos sencillos pasos podemos partir de una configuración medianamente sólida que nos permita trabajar seguros.

Los pasos que seguimos en este post son llevados a cabo desde una máquina Linux, pero en Windows también es posible realizarlo con Putty.

Acceder al servidor y crear usuario

Para empezar accederemos vía SSH al servidor. Es habitual que nuestra primera conexión sea al usuario root. Esto no constituye una buena práctica por lo que tendremos que tomar medidas.

$ ssh root@aaa.bbb.ccc.ddd

Una vez estamos dentro del servidor como super usuario, vamos a crear un grupo (si no existe) de administrador y un nuevo usuario, de modo que no usemos más el usuario root desde una conexión remota.

# groupadd admin
# adduser vpsuser --ingroup admin

Ahora disponemos de un usuario con el que evitaremos usar el usuario root.

Generar claves ssh y configurar autologin

Primero necesitaremos generar en nuestra máquina cliente las claves ssh que nos harán falta en el futuro.

Esto lo utilizaremos para configurar el autologin. Cuando usemos el comando SSH accederemos directamente sin que se nos solicite la contraseña de nuestro VPS.

Para ello, teniendo en cuenta que nuestro usuario remoto es vpsuser y la ip es la del servidor VPS en cuestión, seguiremos los pasos indicados en nuestro artículo donde configuramos un Acceso SSH sin contraseña.

No permitir acceso remoto a root ni mediante contraseña

Partimos de la base de que disponemos de acceso con autologin al VPS. Ahora vamos a configurar el acceso a SSH para que no sea posible acceder como root ni utilizando contraseña. De este modo conseguimos que sólo sea posible acceder desde nuestro PC con las claves ssh nuestras.

Para conseguir esto accederemos a nuestro vps y editaremos el fichero de configuración siguiente:

$ ssh vpsuser@aaa.bbb.ccc.ddd
$ sudo nano /etc/ssh/sshd_config

En este fichero de configuración buscaremos los siguientes parámetros y los pondremos con el valor no.

PermitRootLogin no
PasswordAuthentication no

Ahora sólo nos faltaría reiniciar el servicio sshd para activar esta configuración, por lo que procederemos de la siguiente forma:

sudo service ssh restart

Una vez reiniciado el servicio sólo será posible acceder a través de las claves publicas/privadas que generamos al principio de éste artículo.

Espero que os haya gustado este artículo, si tenéis dudas o algo que a portar no dudéis en contactar vía Twitter!