Sie sind auf Seite 1von 7

Configurar y securizar ssh en CentOS 6.

Haremos los siguientes procesos: 1. 2. 3. 4. 5. Edicin fichero /etc/ssh/sshd_config. Abrimos puerto en el firewall. Generacin de clave pblica-privada. Importar clave pblica en el servidor. Arrancamos servicio ssh y hacemos que se inice con el sistema.

1. Edicin fichero /etc/ssh/sshd_config. Primeros editaremos el fichero /etc/ssh/sshd_config y modificaremos los siguientes parmetros para a la vez que configuramos el servidor, securizarlo lo mximo posible. Todos los cambios los haremos con el usuario que creamos al instalar CentOS sysadmin, dicho usuario debe contar con privilegios para utilizar el comando sudo. Si nos los tuviera se los aadimos de la siguiente forma (como root).

Una vez con permisos para ejecutar comandos como root empezamos editando el fichero de configuracin de ssh, situado en /etc/ssh/sshd_config.

Cambiamos el puerto por defecto, descomentando la lnea y usando un puerto aleatorio. sta tcnica de seguridad se conoce como ocultacin y aunque no detendra a un hacker experimentado en su intento de acceder al sistema, si que dificultar o ralentizar su tarea; aparte de que nos quitaremos un segmento de atacantes con pocos conocimientos.

Despus quitamos el acceso root mediante ssh, limitamos el nmero de intentos de conexin y el nmero mximo de sesiones abiertas por usuario.

Para acceder a ssh utilizaremos clave pblica, que generaremos ms adelante, para ello nos aseguramos de tener sta opcin.

El servidor buscar automticamente las claves pblicas en el fichero authorized_keys que en ste caso estar en el home del usuario en la carpeta .ssh /home/sysadmin/.ssh/authorized_keys. Modificaremos el fichero ms adelante. Ahora nos aseguramos de que no permitimos el acceso mediante usuario y contrasea, que junto con la opcin que vimos anteriormente MaxAuthTries nos protegen ante ataques de fuerza bruta.

Con sto tenemos modificado correctamente el fichero /etc/ssh/shd_config, a continuacin abriremos el puerto en el firewall. 2. Abrimos puerto en el firewall. El servicio de firewall en Linux se llama iptables y su utilizacin da para una entrada completa, para simplificar utilizaremos una herramienta que tenemos disponible en CentOS y que facilita enormemente sta tarea system-configfirewall, hay que tener en cuenta que ste tipo de herramientas las tenemos disponibles si hemos instalado desde LiveCD o LiveUSB con el entorno grfico.

Pantalla de inicio de system-config-firewall-tui Para aadir el puerto 9529, lo haremos desde la opcin Personalizar usando para movernos los cursores del teclado (flechas).

Listado de puertos por defecto de system-config-firewall Como el puerto 9529 no se corresponde con el puerto por defecto de ningn servicio conocido lo aadimos desde la opcin Reenvo.

Listado de puertos personalizados en system-config-firewall Pulsamos sobre la opcin Agregar e indicamos los datos tal como aparecen a continuacin.

Personalizacin de puerto en system-config-firewall Pulsamos el botn Aceptar y nos aparecer el puerto tal como lo hemos aadido.

Puerto personalizado configurado en system-config-firewall Ahora pulsamos el botn atrs hasta que lleguemos a la siguiente pantalla, que pulsamos en el botn Aceptar.

Aceptamos y escribimos las reglas en system-config-firewall Al pulsar Aceptar nos aparece la siguiente pantalla avisndonos de que se van a sobreescribir las reglas de iptables. Pulsamos en S.

Pantalla de confirmacin de system-config-firewall En CentOS, por defecto, el servicio iptables est arrancado pero no est de ms comprobar que realmente lo sta y que se inicia con el sistema. stas dos comprobaciones las hacemos mediante los comandos:

En ste caso como podemos ver el puerto est configurado (lnea 9) y el servicio se ejecuta al inicio como indican los valores 2:activo 3:activo 4:activo 5:activo de la ltima lnea, si stos ltimos valores estuvieran a desactivado lo activaramos simplemente con el siguiente comando.

3. Generacin de clave pblica-privada El par de claves se ha de generar en todos los ordenadores que deseen conectarse al servidor. Es recomendable usar una passphrase y dejar el archivo que nos genera por defecto /home/vbueno/.ssh/id_rsa. Desde Windows tambin se pueden crear claves usando la herramienta PuTTY, en ste caso utilizamos un sistema linux para la creacin de las claves, el uso de PuTTY se ver en otra entrada. Para generar las claves introducimos lo siguiente.

4. Importar clave pblica en el servidor. Para importar la clave recien creada mostraremos la entrada del fichero /home/usuario/.ssh/id_rsa mediante la siguiente lnea de comandos y copiaremos el contenido en el servidor, en el fichero /home/sysadmin/.ssh/authorized_keys. ste proceso se puede hacer manualmente o con la herramienta ssh-copy-id. Como no siempre se puede usar sta herramienta, lo haremos manualmente.

Ahora copiamos la clave al servidor mediante el mtodo que queris, yo he usado una memoria usb. Y editamos el contenido de /home/sysadmin/.ssh/authorized_keys donde copiamos la clave pblica, quedando como sigue.

Y ya tenemos la clave importada, puede ser que el directorio .ssh no est creado por lo que tendremos que crearlo mediante mkdir. OJO!! Es muy importante que los permisos de la carpeta .ssh y del fichero estn seteados correctamente. Para la carpeta .ssh los permisos deben ser 700 o drwx y para el fichero authorized_keys sern 600 o -rw-. Si no estuvieran los permisos seteados correctamente lo haramos mediante los siguientes comandos.

5. Arrancamos servicio ssh y hacemos que se inicie con el sistema. De la misma manera que comprobamos si el servicio iptables estaba arrancado, lo haremos con el servicio ssh, que por defecto en CentOS no se ejecuta al inicio del sistema. Para ello usamos los siguientes comandos para comprobar el estado (lneas 1 y 2) y para ponerlo al inicio (lnea 3).

Y voil ya tenemos el servicio ssh configurado y arriba para conectarnos desde la mquina en la que generamos el par de claves. Durante el proceso nos pedir la passphrase que generamos en el punto 3, en mi caso la ip del servidor es la 192.168.1.100, para saber la ip del servidor, que debe ser fija y configurada manualmente podemos usar el comando ifconfig. Probamos la conexin.