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