Ir al contenido principal

Interesante tip para mejorar la seguridad de SSH

Esta vez veremos un corto y sencillo tip que nos ayudará a mejorar la seguridad de nuestras conexiones remotas con SSH.

OpenSSH, que es el paquete que proveen los sistemas GNU/Linux para manejar conexiones SSH, tiene una amplia variedad de opciones. Leyendo el libro SSH The Secure Shell y las páginas del manual encontré la opción -F, la cual le informa al cliente SSH que utilice un archivo de configuración distinto al que encontramos por defecto en el directorio /etc/ssh.

¿Cómo usamos esta opción?

De la siguiente manera:


ssh -F /ruta/a_tu/archivo/de_configuración usuario@ip/host

Por ejemplo si tenemos un archivo de configuración personalizado a nuestro gusto de nombre my_config en el Escritorio, y queremos conectarnos con el usuario carlos a la computadora con la ip 192.168.1.258, entonces usaríamos el comando como sigue:

ssh -F ~/Escritorio/my_config carlos@192.168.1.258

¿Cómo ayuda a la seguridad de la conexión?

Recordemos que un atacante al estar dentro de nuestro sistema intentará inmediatamente obtener privilegios de administrador si es que no los tuviera ya, entonces para él seria bastante fácil ejecutar ssh para conectarse al resto de las máquinas de la red. Para evitar esto, podemos configurar el archivo /etc/ssh/ssh_config con valores incorrectos, y cuando deseemos conectarnos vía SSH usaremos el archivo de configuración que tendremos guardado en una ubicación que sólo nosotros sabemos (incluso en un dispositivo de almacenamiento externo), es decir, tendríamos seguridad por oscuridad. De esta manera el atacante quedaría desconcertado al encontrar que no puede conectarse usando SSH y que intenta hacer las conexiones de acuerdo a lo especificado en el archivo de configuración predeterminado por lo que le resultará algo difícil darse cuenta de lo que pasa, y le complicaremos bastante el trabajo.

Esto añadido a cambiar el puerto de escucha del servidor SSH, deshabilitar SSH1, especificar qué usuarios se pueden conectar al servidor, permitir explicitamente qué IP o rango de IPs pueden conectarse al servidor y otros consejos más que podremos encontrar en http://www.techtear.com/2007/04/08/trucos-y-consejos-para-asegurar-ssh-en-linux nos permitirán incrementar la seguridad de nuestras conexiones SSH.

Todo lo descrito anteriormente puede hacerse en una sola línea. Para mi gusto sería bastante tedioso tener que escribir una gran linea con múltiples opciones cada vez que intentemos logearnos vía SSH a un pc remoto, por ejemplo la siguiente sería una muestra de lo que les digo:

ssh -p 1056 -c blowfish -C -l carlos -q -i myself 192.168.1.258

-p Especifica el puerto para conectarse en el host remoto.
-c Especifica cómo se va a cifrar la sesión.
-C Indica que se deberá comprimir la sesión.
-l Indica el usuario con el que se logueará en el host remoto.
-q Indica que los mensajes de diagnostico sean suprimidos.
-i Indica el archivo con el que se identificará (llave privada)

También debemos recordar que podríamos usar el historial del terminal para no tener que teclear todo el comando cada vez que lo necesitemos, cosa que también un atacante podría aprovechar, por lo que no lo recomendaría, al menos en el uso de conexiones SSH.

Aunque la cuestión de seguridad no es la única ventaja de esta opción, se me ocurren otras, como por ejemplo tener un archivo de configuración para cada servidor al que deseemos conectarnos, así evitaremos escribir las opciones cada vez que deseemos hacer una conexión a un servidor SSH con una configuración especifica.

Usar la opción -F puede ser muy útil en caso de que se tengan varios servidores con diferente configuración. De lo contrario, habrá que recordar todas las configuraciones, lo que resulta prácticamente imposible. La solución sería tener un archivo de configuración perfectamente preparado según los requerimientos de cada servidor facilitando y asegurando los accesos a esos servidores.

En este enlace http://www.openbsd.org/cgi-bin/man.cgi?query=ssh_config podrán encontrar como editar el archivo de configuración del cliente SSH.

Recuerden este es solo un tip más de los cientos que podemos encontrar para asegurar SSH, así que si quieren tener conexiones remotas seguras deberán combinar entre las posibilidades que nos ofrece OpenSSH.

De momento es todo, espero les sirva de algo esta información y esperen la próxima semana otra publicación sobre seguridad en SSH.

Nota: si desean leer el libro "SSH The Secure Shell" no dejen de consultar las páginas del manual de la versión que tengan instalada, pues el libro está bastante atrasado en lo que respecta a las opciones soportadas por OpenSSH.

Entradas populares de este blog

Ultrastar Deluxe

El Karaoke para Linux La llegada de la Navidad significa reuniones con familiares y amigos, lo que nos lleva a buscar formas de entretenimiento. Una de ellas es el karaoke , y como no podría ser de otra manera en GNU/Linux tenemos nuestra opción Open Source, se trata de UltraStar Deluxe (para mí la mejor opción), que está basado en el primer Ultrastar aunque bastante más completo y fácil de usar. Esta aplicación es un clon libre de Singstar con el que podrás cantar cualquier canción e incluso crear la tuya propia. Si estáis interesados en instalarlo puedes añadir el repositorio para Ubuntu o bajarlo desde la página oficial en caso de usar otra distribución. sudo add-apt-repository ppa:tobydox/ultrastardx sudo apt-get update sudo apt-get install ultrastar-deluxe Una vez instalado sólo quedará añadir canciones . Como no podía ser de otra manera, existe una comunidad muy activa que nos proporciona gran cantidad de material listo para ser usado, una de ellas es Ultrastar

Descargar Packet Tracer 5.2 [Windows y Linux]

Packet Tracer 5.2 [Windows y Linux] Packet Tracer es la herramienta de aprendizaje y simulación de redes interactiva para los instructores y alumnos de Cisco CCNA. Esta herramienta les permite a los usuarios crear topologías de red, configurar dispositivos, insertar paquetes y simular una red con múltiples representaciones visuales. Packet Tracer se enfoca en apoyar mejor los protocolos de redes que se enseñan en el currículum de CCNA. Este producto tiene el propósito de ser usado como un producto educativo que brinda exposición a la interfaz comando – línea de los dispositivos de Cisco para practicar y aprender por descubrimiento. Packet Tracer 5.2 es la última versión del simulador de redes de Cisco Systems, herramienta fundamental si el alumno está cursando el CCNA o se dedica al networking. En este programa se crea la topología física de la red simplemente arrastrando los dispositivos a la pantalla. Luego clickando en ellos se puede ingresar

Control PS3 en Debian, Ubuntu

INSTALAR EL CONTROL DE PLAY STATION 3 EN GNU / LINUX. EN LAS DISTRIBUCIONES DEBIAN 6.0 SQUEEZE, DEBIAN WHEEZY (TESTING), LINUX MINT DEBIAN EDITION, LINUX MINT, GUADALINEX, UBUNTU. Les voy a decir como conectar su control de Play Station 3 en Debian por medio de un cable USB, personalmente lo he probado en Debian 6.0 Squeeze (estable) y Debian Wheezy (testing), no lo he probado en Linux Mint Debian Edition (LMDE), pero no tendría porque no funcionar. En el caso de Ubuntu y sus derivadas supongo que también debería funcionar, no lo he probado porque no uso dicha distro, pero los comandos los tome de un tutorial para ella, no es “copy and paste” , solo copie los comandos, el resto es de mi experiencia personal. NOTA PARA USUARIOS DE LINUX MINT, GUADALINEX Y UBUNTU: Los comandos que voy a poner son para Debian y Linux Mint Debian Editon, para el caso de Ubuntu y derivados ya saben que los comandos como root se ejecutan con “sudo”. Además creo q