Seleccionar página

Para tener seguridad en el servidor uno debe:

1. Inhabilitar root login
2. Sólo permitir el ingreso con certificados

¿Cómo se hace? En este caso, los comandos son en una máquina con Ubuntu. Pero en la mayoría de los linux los comandos son parecidos.

Primero debemos agregar un usuario con permiso para transformarse en root, o sino perderíamos el control de la máquina.

¿Cómo lo hacemos? Simple:

adduser nombre

Ahora tenemos que darle permiso para ser root, para ello ejecutamos

visudo

Buscamos la línea:

root ALL=(ALL:ALL) ALL

Y debajo agregamos la que permitirá al nuevo usuario ser root:

nombre ALL=(ALL:ALL) ALL

Salimos guardamos y listo. Ahora vamos a generar los certificados para el usuario, y entonces nos transformamos en el

su nombre

mkdir ~/.ssh

chmod 700 ~/.ssh

ssh-keygen -t rsa -b 4096

En este caso pongale un passphrase, por si alguien llegara a tener acceso a la llave privada, tendría que saber la passphrase para que le sea util la llave.

Y copiamos la clave pública a authorized_keys

cp ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

En el archivo ~/.ssh/id_rsa está nuestra clave privada, la que necesitamos para entrar desde otra máquina. Haz una copia en tu computadora y elimina esta. Si lo quieres después podrás ocupar esa clave pública en otras máquinas copiándola en ~/.ssh/authorized_keys de la nueva máquina y manteniendo la misma clave privada en tu computadora.

Si Ud. ocupa PuTTY, deberá primero transformar la clave utilizando PuTTYgen

Y luego agregarla en Connection->SSH->Auth

Ahora que tenemos el certificado, y podemos acceder desde el exterior, entonces nos encargamos del SSH server de la máquina, para ello debemos editar el archivo: /etc/ssh/sshd_config

Buscamos donde dice PermitRootLogin y debe quedar de la siguiente forma

PermitRootLogin no

También en nuestro caso dejamos el LoginGraceTime en 10, es decir el usuario tendrá 10 segundos para ingresar su contraseña. Permite reducir los ataque de fuerza bruta, que en todo caso los impediremos al ocupar solamente certificados.

Para permitir el ingreso sólo mediante certificados debemos buscar PasswordAuthentication e impedirlo, es decir:

PasswordAuthentication no

También dejamos:

PermitEmptyPasswords no

Ahora que cambiamos la configuración la actualizamos, para ello reiniciamos el servicio:

service ssh restart

Y por si se nos fue algo, sin salir abrimos otra conexión para probar que podemos logearnos y transformarmos en root.