Servidor SSH

En versiones anteriores a Raspbian Jessie, el servidor SSH, viene activado por defecto. A partir de Jessie, hay que activarlo en la configuración inicia.

sudo raspi-config

En opciones avanzadas.

Una vez activado, debemos asegurar el acceso mediante SSH, ya que es muy frecuente los intentos de acceso no autorizado a los servidores SSH

Veamos a continuación algunos parámetros que podemos modificar o añadir para que nuestro servidor SSH esté más seguro.

En el archivo de configuración realizaremos los cambios:

sudo nano /etc/ssh/sshd_config
Cambiar el puerto de acceso:

Si lo cambiamos (poniendo, por ejemplo, el puerto 3426), dificultaremos mucho el trabajo el acceso indebido. Por defecto esta en el puerto 22, lo cambiamos al puerto 3443, modificamos la linea:

Port 22

por

Port 3443

No haremos una redirección, para que evitar una ataque al puerto redireccionado.

Para llamar ahora al SSH, se hará de la siguiente forma:

ssh pi@192.168.1.51 -p 3443
Denegar el acceso al usuario root

Para evitar los ataque por fuerza bruta, denegaremos el acceso mediante el usuario root. Para ello ponemos o modificamos la linea de la siguiente forma:

PermitRootLogin no
Tiempo de pantalla de disponibilidad de login:

El tiempo en segundos que la pantalla de login estará disponible para que el usuario se identifique. Pasado ese tiempo, la pantalla de acceso se cerrará:

LoginGraceTime 60
Denegar los password vacíos:

El servidor no debe aceptar contraseñas vacías o en blanco:

PermitEmptyPasswords no
Numero máximo de errores en login:

Indica el número máximo de errores permitidos al hacer login. Al sobrepasarlo, la pantalla de login se cerrará y habrá que volver a empezar de nuevo.

MaxAuthTries 3
Numero máximo de conexiones simultáneas:

Indica el número máximo de conexiones simultáneas por IP que permite el servidor.

MaxStartups 2
Permitir unos usuarios determinados:

Podemos añadir una directiva para que sólo los usuarios especificados tengan acceso al mismo:

AllowUsers pi pepe

O, por el contrario, a permitir el acceso a todos menos a los que se indican expresamente en ella:

DenyUsers jose juan root
Comprobación de errores de configuración:

Una vez guardados los cambios, para comprobar que la configuración del fichero es correcta, con el comando:

sudo sshd -t

Si no aparece ningún mensaje de error, es que todo está bien.

Reinicio del demonio:

Terminadas las modificaciones, para que tengan efecto los cambios, hay que reiniciar el servicio. Lo haremos con el comando:

sudo /etc/init.d/ssh restart
Revisar lo logs de autentificaron del demonio:

Es aconsejable revisar el fichero /var/log/auth.log para comprobar si tenemos algún intento de entrada ilegal.

Para comprobar que los intentos, lo haremos con el comando:

sudo cat /var/log/auth.log | grep 'invalid user\|Failed'

Para contar cuántas líneas con intentos de intrusión hay:

sudo cat /var/log/auth.log | grep 'invalid user\|Failed' | wc -l