Configurar SSH

Si queremos configurar SSH en el NSLU o a cualquier sistema linux , es conveniente hacer una serie de cambios en la configuración para hacerlo un poco más seguro.

Índice
  1. Localizando sshd_config
  2. Cambios recomendados en la configuración de SSH
  3. Limitar acceso ssh por rangos de ip
  4. Denegar acceso root por ssh

Localizando sshd_config

Lo primero es saber la ruta dónde está el fichero de configuración del demonio SSH (en nuestro caso está en /etc/ssh/sshd_config).

Si en nuestro sistema no está en el mismo directorio, podremos localizarlo mediante el comando:

find / -name "sshd_config"

Una vez que hemos localizado el fichero de configuración de SSH, para poder realizar cambios en el, debemos editarlo como usuario root:

su root

A partir de este momento, podremos editar el sshd_config sin problemas:

nano /etc/ssh/sshd_config

Cambios recomendados en la configuración de SSH

Ahora vamos a ver los parámetros que debemos modificar:

Port:indica el puerto por el que acceder al ssh. Por defecto es el 22, pero podemos cambiarlo a otro para mayor seguridad.
ListenAddress: indica la ip de la interfaz de red en la que se escucharan las peticiones. Por defecto 0.0.0.0, que escucha de todas.
LoginGraceTime: tiempo en segundos disponibles para hacer login. Con 60 segundos es mas que suficiente para teclear el nombre de usuario y la contraseña.
AllowUsers: nos permite indicar que usuarios pueden acceder mediante ssh y desde que rangos de ip.

Limitar acceso ssh por rangos de ip

El parámetro AllowUsers es muy importante, ya que nos permite hacer cosas como:

AllowUsers miusuario@* [email protected].*

Con esta simple línea, conseguimos dos cosas, primero con miusuario@ indicamos que el usuario "miusuario" puede acceder desde cualquier ip al ssh. Y la segunda y más importante, con [email protected].* limitamos que el usuario root solo pueda acceder desde nuestra red local.

Esto es muy útil cuando el servidor se encuentra dentro de nuestra propia red local, como en el caso del nslu, ya que limitamos el acceso root a los usuarios de nuestra propia red.
Evidentemente, si el servidor se encuentra en otro rango de red, no es conveniente hacer este cambio, ya no podremos acceder como root.

Si limitamos el rango de ips donde puede acceder el root, al no acceder desde nuestro rango de ips de la red local, el atacante externo tendrá que averiguar un nombre de usuario y la clave.

Denegar acceso root por ssh

Además, es conveniente desactivar el acceso root mediante ssh. Esto lo podemos hacer fácilmente con el parámetro:

PermitRootLogin no

Con este método, accederemos a ssh con ese usuario "normal" y luego ya cambiaremos al usuario root después de haber accedido al sistema:

su root

La explicación es sencilla, teniendo en cuenta que para acceder se nos pide un usuario/contraseña, si permitimos acceder al root, entonces un posible atacante solo tendrá que investigar la clave para tener un acceso al sistema, teniendo el 50% del trabajo ya hecho.

De esta forma, el atacante, además de la contraseña, deberá conocer también el nombre de usuario, lo que le complica enormemente la labor.

Podemos revisar nuestro fichero /var/log/auth.log y ver si hay cosas como esta:

Aug 14 18:09:49 LKG351F5D sshd[1315]: (pam_unix) check pass; user unknown
Aug 14 18:09:49 LKG351F5D sshd[1315]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=80.201.2$
Aug 14 18:09:51 LKG351F5D sshd[1315]: Failed password for invalid user linux from 80.201.240.41 port 45579 ssh2
Aug 14 18:09:56 LKG351F5D sshd[1317]: User root from 80.201.240.41 not allowed because not listed in AllowUsers
Aug 14 18:09:56 LKG351F5D sshd[1317]: (pam_unix) authentication failure; logname= uid=0 euid=0 tty=ssh ruser= rhost=80.201.2$
Aug 14 18:09:58 LKG351F5D sshd[1317]: Failed password for invalid user root from 80.201.240.41 port 46188 ssh2
Aug 14 18:10:00 LKG351F5D sshd[1319]: Invalid user service from 80.201.240.41

En este log podemos ver como los bots continuamente intentan acceder a nuestro ssh. Evidentemente, siempre intentan acceder con el usuario root entre otros, ya que así solo tendrán que acertar la clave.

Sinceramente, creo que es conveniente realizar algunos cambios, sobretodo limitar los usuarios que se pueden conectar con "AllowUsers", ya que el NSLU normalmente esta 24h conectado.

En caso de que nuestro sistema no este dentro de nuestra red local, sino en otro rango de red (típico de servidor web o ftp), es recomendable desactivar el acceso root por ssh. Así pondremos las cosas más difíciles a los atacantes.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Subir