PDA

Ver la versión completa : Seguridad SSH



eduk15
09-10-2012, 18:27
Sres de Hackhispano, agradeciendo las repuestas anteriores, esta vez vengo con una nueva consulta.
En un post anterior pregunte acerca de monitorizacion y control de servidores por internet (gracias a hystd por las respuestas). Sucede que levatante un servidor FTP con autenticacion SSL/TLS, el cual dejó el puerto 22 abierto, cuando intente entrar con mi IP pública con el PuTTy por SSH, me dejó entrar al servidor. Entiendo que existe un riesgo de seguridad, por lo que mi pregunta es, ¿como se podria explotar una vulnerabilidad de ese tipo? y adicionalmente, ¿cambiando el puerto a SSH puedo asegurarme que nadie desencripte la conexión?

Gracias de antemano por las respuestas.

Cypress
09-10-2012, 23:26
Hola eduk15,

Intento responderte, y te hago algunos comentarios:


Sucede que levatante un servidor FTP con autenticacion SSL/TLS, el cual dejó el puerto 22 abierto, cuando intente entrar con mi IP pública con el PuTTy por SSH

No es lo mismo un servidor FTPS (SSL/TLS) que un SFTP (SSH)

SSL/TLS funcionan en capas superiores a la de aplicación y utiliza FTP. Es decir, el protocolo de aplicación es FTP, solo que se le suma SSL/TLS.

Mientras que SSH es un protocolo de capa de aplicación, él mismo se encarga de la integridad, y criptografía.

Ya que el puerto que estás usando es el 22, asumo que estas utilizando SFTP, y no FTPS (puerto 990)


Entiendo que existe un riesgo de seguridad,

Al publicar algo en internet siempre existe un riesgo (al menos uno jeje), y si es un servidor SSH, el riesgo mayor es que alguien acierte a tu contraseña y acceda al completo control de tu equipo.


por lo que mi pregunta es, ¿como se podria explotar una vulnerabilidad de ese tipo?

Ataques de fuerza bruta.



y adicionalmente, ¿cambiando el puerto a SSH puedo asegurarme que nadie desencripte la conexión?


La conexión difícilmente logre ser desencriptada.

Cambiando el puerto lo único que vas a lograr es que cualquier lammer con un scanner de puertos apuntando al 22 no te detecte.

Pero basta un nmap a tu server para ver qué puertos están escuchando y qué servicios.
---

Para aumentar la seguridad de tu servidor FTP, hay unas opciones que debes setear en el sshd_config.

Y después por ahí te podes montar tu propia jaula chroot para hacerlo aún más seguro.

Te dejo una guía: Restricting Users To SFTP Plus Setting Up Chrooted SSH/SFTP (Debian Squeeze) | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/restricting-users-to-sftp-plus-setting-up-chrooted-ssh-sftp-debian-squeeze)

Saludos,
Cypress

eduk15
10-10-2012, 17:38
Cypress, gracias por tu oportuna respuesta, aun hay algunos conceptos que creo que me confunden un poco. Me comentaste que SSL/TLS funciona en capas superiores a la de aplicacion, estamos hablando de una capa 8 entonces? no sabia que existiera jaja. Y si, tienes razon, estoy usando SFTP porque sale por el puerto 22.

Entonces, podria decir que mi FTP usa certificado SSL para poder conectarse? no entiendo bien esto, imagino que es algo asi como que la conexion, antes de salir o entrar al servidor, se encripta con SSL, ¿esto es correcto?

Gracias por el enlace, lo revisare ahora mismo.

Salu2

Cypress
10-10-2012, 19:21
Me comentaste que SSL/TLS funciona en capas superiores a la de aplicacion, estamos hablando de una capa 8 entonces? no sabia que existiera jaja

jaja si la capa 8 existe, el usuario :P

Tengo un compañero que si no mal recuerdo describe varias capas más:

Capa 9 la empresa
Capa 10 el gobierno

Con capas superiores, me refería a capa 5, capa de sesión (si, sería capas inferiores no superiores) depende como mires la pila jeje

---


Entonces, podria decir que mi FTP usa certificado SSL para poder conectarse? no entiendo bien esto, imagino que es algo asi como que la conexion, antes de salir o entrar al servidor, se encripta con SSL, ¿esto es correcto?

No, como te decía, estas usando SSH, no usas SSL (Al menos es lo que aparenta por el puerto)

Cuando inicias una conexión con ese servidor lo que te pide no es un certificado, sino aprobar la firma pública del equipo.

Son protocolos diferentes SSL y SSH.

Secure Shell - Wikipedia, the free encyclopedia (http://en.wikipedia.org/wiki/Secure_Shell)
Transport Layer Security - Wikipedia, the free encyclopedia (http://en.wikipedia.org/wiki/Transport_Layer_Security)

Saludos,

hystd
10-10-2012, 21:56
Entiendo que existe un riesgo de seguridad, por lo que mi pregunta es, ¿como se podria explotar una vulnerabilidad de ese tipo?

Básicamente explotando una vulnerabilidad debida al software que utilizas como servidor. Echa un vistazo al CVE y busca si existe algo para ese software que alguien pueda explotar. Para protegerte intenta mantener actualizado ese software. Si el software que utilizas como servidor es de código cerrado y tiene bugs (aún no solucionados) que pueden ser un alto riesgo, tienes dos opciones, o cambias de software, o intentas parchear el problema tú mediante un filtro en capas superiores. La ingeniería inversa está prohibida... por si lo habías pensado... Si el software que utilizas como servidor es de código abierto y aún no ha sido solucionado el bug, pues puedes animarte y corregirlo tú, o esperar que alguien de la comunidad lo haga en tu lugar.


y adicionalmente, ¿cambiando el puerto a SSH puedo asegurarme que nadie desencripte la conexión?

Cualquier protocolo que cifre la información evitará un ataque del tipo MITM (Man In The Middle), y este tipo de ataques es indiferente de la seguridad de una aplicación que no utilice cifrado, ya sea mediante un protocolo a cualquier nivel del modelo OSI, o mediante un cifrado que utilice el propio software... a modo de ejemplo, una aplicación puede cifrar los datos que viajan de cliente al servidor y viceversa sin necesidad de utilizar un protocolo seguro (tipo FTPS), y si el cifrado es bueno, estará igualmente protegida ante ataques MITM.

Hace poco salió un artículo que hablaba sobre que alguien habia conseguido romper la seguridad en SSL, aunque no estaba muy claro aún... mi recomendación es que no puedes delegar la tarea de la seguridad simplemente a utilizar un protocolo "seguro"... ya que como te he comentado, un protocolo de este tipo sólo te evitará ataques MITM, pero no que tu inicio de sesión o la seguridad en general de tu sismtema sea "segura".

Un saludo.

eduk15
12-10-2012, 19:34
Uhm...ya veo, me pareció interesante lo de las capas 8-10 jaja.

Respecto a lo que menciono hystd, yo solo administro el servidor, esta levantado en Debian, el desarrollador esta poniendo mucho énfasis en esto de la seguridad dentro de su mismo programa, yo nada más quiero asegurarme que nadie entre al servidor o me secuestre los datos. Si SSH es seguro y no se puede vulnerar, entonces puedo administrar mi servidor desde mi trabajo o universidad con el PuTTy (instalar programas, configurar archivos, ustedes saben) sin miedo a que alguien intente vulnerar mi conexión por algún motivo.

Revisaré el CVE, había olvidado verlo en estos días, gracias por el recordatorio jaja.

Salud2