info@goblinsoft.org 54-11-51992787
SSH Security
October 20, 2015
0

SSH es uno de los servicios más utilizados por su versatilidad y facilidad de uso. Por este motivo es importante tener en cuenta todos los detalles que abarcan la seguridad sobre dicho servicio. En este caso vamos a estar trabajando sobre como dejar la seguridad al máximo.

Todos los cambios mencionados deben hacerse en el archivo “/etc/ssh/sshd_config”.

Puerto:

Para evitar que en los escaneos salga el tipo de servicio por asociación de puertos, vamos a cambiar el puerto que viene por default en 22 por cualquiera que nos guste del 1023 para arriba. Esto lo logramos editando la linea que dice “Port”.

Tipo de Cifrado:

Configurar los tipos de cifrado a utilizar también es importante para poder trabajar con los más seguros. Para esto en el caso de no tener, deberemos agregar una linea como se ejemplifica abajo:

# Secure Ciphers and MACs
Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,arcfour
MACs hmac-sha1,umac-64@openssh.com,hmac-ripemd160
Opciones generales:

Estas opciones es complicado describirlas en sectores con lo cual vamos a cargar todas en una sola y comento cada una en cada linea.

AllowTcpForwarding no #No muestra la versión de SSH
UseDNS no #No permite Hostname lookup
ClientAliveInterval 300 #Esto indica cada cuanto se debe recibir un mensaje de KeepAlive.
ClientAliveCountMax 0 #Cuantos mensajes deben ser enviados antes de cerrar la sesión.
X11Forwarding no # Deshabilita el uso remoto de aplicaciones gráficas.
MaxStartups 5 #Máximo de sesiones activas al mismo tiempo.
AllowUsers nventre support@192.168.1.47 #Usuarios que podrán acceder por SSH

Interface configuration:

Podemos en el caso de tener varias IPs configuradas, especificar en cual vamos a tener el servicio escuchando, por default escucha en todas con lo cual que deberemos descomentar la linea y agregar la IP:

#ListenAddress 0.0.0.0
ListenAddress 192.168.1.50 (debe quedar así)
Authentication:

En la sección “Authentication” podrá encontrar las siguientes opciones:

LoginGraceTime 30 #Dejar en 30 segundos ya que es el tiempo que posee el usuario para hacer login
PermitRootLogin no #Dejar en no ya que de lo contrario root puede hacer login por SSH y no es recomendable.

Banner config:

Banner /etc/issue.net #Mostrar un mensaje de bienvenida antes de conectarse al servidor.

Llave SSH

Esta llave la crearemos de la PC cliente. Para crear la llave seguiremos estos pasos:

# ssh-keygen -t dsa -b 1024
# cat id_dsa.pub | ssh sergio@servidor “cat – >> ~/.ssh/authorized_keys”
Con esto al ingresar al server podremos establecer la conexión sin colocar la clave.

NOTA: Hacer esto en la PC cliente con el usuario autorizado en el archivo de config.