25 mar 2011

Configuración Servidor SSH en GNU/Linux (Parte II)

 

En el presente artículo se explicarán algunos detalles importantes para la configuración del servidor SSH bajo GNU/Linux. En el primer artículo de la serie se hablaba del concepto de SSH y de como conectar por primera vez con el servidor. A continuación se explicará lo que ocurre por debajo en las conexiones SSH y dónde se encuentran los ficheros de configuración del servidor SSH.

 

Funcionamiento conexiones SSH

En la imagen se puede observar como en primer lugar se realiza la conexión mediante TCP, realizando el típico triple apretón de manos o three-way handshake [SYN, SYN+ACK, ACK]. Después, cliente y servidor se envían la versión disponible del protocolo. Después, se envían una lista de algoritmos de cifrado que tienen disponible, deberían coincidir en alguno para poder utilizarlo mediante la comunicación. Aquí surge la idea de realizar un ataque MiTM, recordemos que en este punto la conexión no va cifrada, y modificar lo que el cliente le dice al servidor respecto su lista de algoritmos de cifrado. Es decir, si un atacante modifica la lista de algoritmos y sustituye la lista del cliente, por una lista donde solo aparezca el texto plano como algoritmo de cifrado estaríamos ante un problema serio. Otra manera de hacer Downgrade es que el atacante le diga al servidor que quiere conexión por la versión 1 del protocolo. Sería importante que el servidor SSH no de esa opción y solo acepte conexiones por la versión 2 del protocolo, que es más segura.

Tras este inciso en los posibles ataques, el servidor envía su clave pública de host al cliente. El cliente genera una clave de sesión de 256 bits que cifra con la clave pública del servidor y luego la envía al servidor adjuntado con el algoritmo utilizado. El servidor descifra la clave de sesión con su clave privada y envía al cliente un mensaje de confirmación cifrado con la clave se sesión. Después de esto, las comunicaciones restantes se cifran gracias a un algoritmo de cifrado simétrico, mediante la clave de sesión compartida entre el cliente y el servidor. En este instante la conexión pasa a ser cifrada.

 

¿Dónde encontrar el fichero de configuración del servidor?

Esta parte es bastante sencilla, el fichero de configuración se encuentra en /etc/ssh, en esta ruta se puede encontrar el fichero de configuración, las claves públicas y privadas del servidor. El fichero de configuración es sshd_config. Para modificar la configuración del fichero de configuración, simplemente, se debe utilizar un editor de texto, por ejemplo, vi, nano, gedit, etc.

El fichero de configuración se divide en comentarios, líneas que empiezan por #, y en las directivas aplicadas, líneas que no comienzan con #. Las directivas se forman con el nombre de la directiva, un espacio, y el valor de ésta.

Como recordatorio, decir que siempre que se cambie algo en la configuración, se debe reiniciar el servicio de SSH en Linux. Para distribuciones como Ubuntu, existe el comando service. 'service ssh restart'. Para el global de las distribuciones se puede hacer a través de /etc/init.d, por ejemplo, '/etc/init.d/ssh restart'.

Para la próxima parte dejamos las directivas y los cambios interesantes para fortalecer el servidor. Además, es interesante estudiar a fondo lo que nos proporciona este protocolo y toda su fuerza, muy desconocida por muchos informáticos del sector.

 

=================================================- Configuración Servidor SSH en GNU/Linux (Parte I)Configuración Servidor SSH en GNU/Linux (Parte II)Configuración Servidor SSH en GNU/Linux (Parte III)Configuración Servidor SSH en GNU/Linux (Parte IV)Configuración Servidor SSH en GNU/Linux (Parte V)Configuración Servidor SSH en GNU/Linux (Parte VI)================================================= 

4 comentarios:

  1. [...] - Configuración Servidor SSH en GNU/Linux (Parte II) [...]

    ResponderEliminar
  2. Gran aporte y muy bien explicado.Espero para poder ver la tercera parte ^^Gracias!

    ResponderEliminar
  3. [...] - Configuración Servidor SSH en GNU/Linux (Parte II) [...]

    ResponderEliminar