[opensuse-es] Sobre host ssh
Hola Lista. Una consulta, tengo un host al cual me conecto por ssh el cual tiene ip dinámica (supongamos que fuera 200.200.200.200). Ahora, como confirmo yo que cuando hago ssh user@200.200.200.200 realmente me conecto a ese host y no a algún otro que el ISP maneje? Digo, como puedo confirmar que cuando ingreso mis credenciales realmente lo hago al host mio y no a algun otro host? Muchas Gracias. --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
2008/3/9, ciracusa:
Una consulta, tengo un host al cual me conecto por ssh el cual tiene ip dinámica (supongamos que fuera 200.200.200.200).
¿IP remota (externa, accesible desde Internet) o local (intranet)?
Ahora, como confirmo yo que cuando hago ssh user@200.200.200.200 realmente me conecto a ese host y no a algún otro que el ISP maneje?
Digo, como puedo confirmar que cuando ingreso mis credenciales realmente lo hago al host mio y no a algun otro host?
Si es accesible desde Internet, no hay forma de saber a quién intentas conectar, pues la ip estará asignada a un cliente distinto. En este caso, y si el cliente tiene abierto el puerto 22, pues seguramente te deniegue la conexión y pensará que alguien le está atacando... lo cual no es nada probable... y que el usuario / contraseña coincida y accedas, menos aún :-). Lo que podrías hacer en este caso es configurar un servicio de esos tipo "noip" o "dyndns" para conectar por nombre, así sabes siempre que eres tú a quien llamas :-). Además, algunos routers ya lo llevan integrado. Y si es para una red local, también puedes conectar vía ssh también por el nombre, configurando el archivo /etc/hosts del equipo cliente o teniendo montado un servidor dns local que resuelva los nombres. Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-03-09 a las 14:54 -0200, ciracusa escribió:
Hola Lista.
Una consulta, tengo un host al cual me conecto por ssh el cual tiene ip dinámica (supongamos que fuera 200.200.200.200).
Ahora, como confirmo yo que cuando hago ssh user@200.200.200.200 realmente me conecto a ese host y no a algún otro que el ISP maneje?
Digo, como puedo confirmar que cuando ingreso mis credenciales realmente lo hago al host mio y no a algun otro host?
El ssh lo sabe. ¿No te has fijado que al entrar la primera vez te dice que el host tiene tal firma, y que si es correcta? La segunda vez compara la firma, y si no coincide, aborta. Si quieres más seguridad, en vez de password entra por pareja de llaves: se generan una llave cifrada pública y otra privada (en el cliente), y se copia la pública en el servidor. Viene en el manual por algún sitio: me tengo que ir y no puedo contartelo ahora mismo. Pero da extensas explicaciones sobre el tema. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) iD8DBQFH1DZHtTMYHG2NR9URAvzYAJ9hJLFn4IagQcJc9+ztc/DkzLJpVACfdpEo xnVrTAc68pLCO6JyvmxIr80= =ZHbp -----END PGP SIGNATURE-----
Digo, como puedo confirmar que cuando ingreso mis credenciales realmente lo hago al host mio y no a algun otro host?
El ssh lo sabe.
¿No te has fijado que al entrar la primera vez te dice que el host tiene tal firma, y que si es correcta? La segunda vez compara la firma, y si no coincide, aborta.
No se qué cliente usa ciracusa para conectarse. Pero en Suse, hay un fichero $HOME/.ssh/known_host que guarda una lista de ip's y ¿el finger print? de la máquina remota. Si una ip cambia, entonces el cliente ssh detecta que el fingerprint no es el mismo y da un aviso. (habría que ver cómo es, por ejemplo, en putty). En el peor de los casos, toca borrar esa entrada en el fichero known_hosts. No sé si el utilizar una pareja de claves eliminará ese problema... creo que no. -- Saludos, miguel Los agujeros negros son lugares donde dios dividió por cero. Black holes are places where god divided by zero. --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El 10/03/08, miguel gmail escribió:
No se qué cliente usa ciracusa para conectarse.
Pero en Suse, hay un fichero $HOME/.ssh/known_host que guarda una lista de ip's y ¿el finger print? de la máquina remota. Si una ip cambia, entonces el cliente ssh detecta que el fingerprint no es el mismo y da un aviso. (habría que ver cómo es, por ejemplo, en putty). En el peor de los casos, toca borrar esa entrada en el fichero known_hosts.
No sé si el utilizar una pareja de claves eliminará ese problema... creo que no.
La ip tendrá que cambiar, porque es un acceso remoto con ips dinámicas :-?... y sí, desde putty ves el aviso si se accede desde una distinta. Pero lo que dice Carlos del uso de certificados (como en los servidores seguros con SSL) es lo suyo para asegurase de que el equipo al que accede es el suyo y no otro. No sé hasta qué punto ésto se podría vulnerar... ¿copiar el certificado e instalarlo en el otro equipo "trampa"? :-? Saludos, -- Camaleón --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-03-10 a las 12:08 +0100, Camaleón escribió:
El 10/03/08, miguel gmail escribió:
No se qué cliente usa ciracusa para conectarse.
Pero en Suse, hay un fichero $HOME/.ssh/known_host que guarda una lista de ip's y ¿el finger print? de la máquina remota. Si una ip cambia, entonces el cliente ssh detecta que el fingerprint no es el mismo y da un aviso. (habría que ver cómo es, por ejemplo, en putty). En el peor de los casos, toca borrar esa entrada en el fichero known_hosts.
No sé si el utilizar una pareja de claves eliminará ese problema... creo que no.
La ip tendrá que cambiar, porque es un acceso remoto con ips dinámicas :-?... y sí, desde putty ves el aviso si se accede desde una distinta.
Pero lo que dice Carlos del uso de certificados (como en los servidores seguros con SSL) es lo suyo para asegurase de que el equipo al que accede es el suyo y no otro. No sé hasta qué punto ésto se podría vulnerar... ¿copiar el certificado e instalarlo en el otro equipo "trampa"? :-?
Es que hay dos certificados: uno en el cliente, otro en el servidor. El del servidor está en /etc/ssh, y su llave pública es la que se copia en el known_hosts delhome de cada usuario. De esta manera, a partir de la primera conexión, el cliente comprueba automáticamente que el servidor sigue siendo el mismo de la vez anterior. Si cambia, el ssh por defecto aborta la conexión. Por otro lado hay un certificado en el cliente, cuya llave pública se guarda en el servidor, pero en el directorio home de cada usuario, que sirve para autentificar el usario al servidor. Ahora bien, efectivamente, si alguien copia la llave privada del servidor en el honeypot, evidentemente te engañan. Pero para eso necesitan primero acceso no restringido (root) al servidor en cuestión (las llaves privadas del sistema sólo son legibles por root). - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) iD8DBQFH1RxNtTMYHG2NR9URAoWeAKCF/gy4UZUOJftgX1ZqgN/6bABmBwCfRTjs QVrILz4cHZ6oM+tEW38U3VE= =v+Wd -----END PGP SIGNATURE-----
miguel gmail wrote:
Digo, como puedo confirmar que cuando ingreso mis credenciales realmente lo hago al host mio y no a algun otro host?
El ssh lo sabe.
¿No te has fijado que al entrar la primera vez te dice que el host tiene tal firma, y que si es correcta? La segunda vez compara la firma, y si no coincide, aborta.
No se qué cliente usa ciracusa para conectarse.
Pero en Suse, hay un fichero $HOME/.ssh/known_host que guarda una lista de ip's y ¿el finger print? de la máquina remota. Si una ip cambia, entonces el cliente ssh detecta que el fingerprint no es el mismo y da un aviso. (habría que ver cómo es, por ejemplo, en putty). En el peor de los casos, toca borrar esa entrada en el fichero known_hosts.
No sé si el utilizar una pareja de claves eliminará ese problema... creo que no.
Miguel, mi error fue no haber generdo el fingerprint cuando estuve frente al servidor. Muchas Gracias. Salu2. --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-03-10 a las 09:25 -0200, ciracusa escribió:
Miguel, mi error fue no haber generdo el fingerprint cuando estuve frente al servidor.
También lo puedes hacer teniendo copia de la llave pública del servidor y copiandola en el known_hosts. Pero si no la tienes, no puedes hacer nada. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) iD8DBQFH1RyqtTMYHG2NR9URAmRsAJ95aPiXJZBKkD7VCDrJcV5f1sk4qQCZAVLX Vv+MHyR9/YpyElH0bX2WmGg= =X18w -----END PGP SIGNATURE-----
Miguel, mi error fue no haber generdo el fingerprint cuando estuve frente al servidor.
También lo puedes hacer teniendo copia de la llave pública del servidor y copiandola en el known_hosts.
Pero si no la tienes, no puedes hacer nada.
Creo que no. El fichero known_hosts se genera y se actualiza (al conectarse a un nuevo servidor) automáticamente al conectarse remotamente con ssh a una maquina remota. Y la gracia de ssh es precisamente intercambiar las claves publicas entre cliente y servidor. Cada una de las partes usa la clave publica del otro para encriptar la información que envía al otro. Por eso, si para una IP determinada, cambia la clave publica, el cliente ssh 'pita'. -- Saludos, miguel Los agujeros negros son lugares donde dios dividió por cero. Black holes are places where god divided by zero. --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org
El Domingo, 9 de Marzo de 2008, ciracusa escribió:
Hola Lista.
Una consulta, tengo un host al cual me conecto por ssh el cual tiene ip dinámica (supongamos que fuera 200.200.200.200).
Ahora, como confirmo yo que cuando hago ssh user@200.200.200.200 realmente me conecto a ese host y no a algún otro que el ISP maneje?
Digo, como puedo confirmar que cuando ingreso mis credenciales realmente lo hago al host mio y no a algun otro host?
Muchas Gracias.
* Es absurdo intentar conectar por ip a una ip dinamica, solucionalo con dyndns o similar y conectate a un FQDN, la forma mas segura es la conexion con laves RSA/DSA hay de varios tipos utiliza el que mas te convenga host,user, etc.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-03-10 a las 18:29 +0100, jose maria escribió:
* Es absurdo intentar conectar por ip a una ip dinamica, solucionalo con dyndns o similar y conectate a un FQDN, la forma mas segura es la conexion con laves RSA/DSA hay de varios tipos utiliza el que mas te convenga host,user, etc.
Pero la IP seguirá siendo dinámica. Desde el segundo que el dyndns te dice que el host que buscas tiene tal IP hasta el instante en que fisicamente se hace la conexión, la IP puede haber cambiado: sobre todo teniendo en cuenta que en muchos sitios se actualiza la info del dyndns por una tarea del cron cada diez minutos. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) iD8DBQFH1YRntTMYHG2NR9URAngWAJ4ik8KzEN/V8qYexesYDuvhDgPokgCglBin GxZHDk11hZ1uc+bXAOq5Wgs= =7zgo -----END PGP SIGNATURE-----
El Lunes, 10 de Marzo de 2008, Carlos E. R. escribió:
El 2008-03-10 a las 18:29 +0100, jose maria escribió:
* Es absurdo intentar conectar por ip a una ip dinamica, solucionalo con dyndns o similar y conectate a un FQDN, la forma mas segura es la conexion con laves RSA/DSA hay de varios tipos utiliza el que mas te convenga host,user, etc.
Pero la IP seguirá siendo dinámica.
* Evidente, pero no tendra que saberla ni averiguarla antes.
Desde el segundo que el dyndns te dice que el host que buscas tiene tal IP hasta el instante en que fisicamente se hace la conexión, la IP puede haber cambiado: sobre todo teniendo en cuenta que en muchos sitios se actualiza la info del dyndns por una tarea del cron cada diez minutos.
* Es que una autentificacion basada en know_hosts (cliente) no pinta nada contra un servidor con ip dinamica (de todas maneras dado que no tengo ip's dinamicas no sabria decir si know_hosts se quejaria, NO deberia la firma almacenada en el cliente pertenece al sistema no a la ip, creo que se puede editar y añadir opciones igual que a los ficheros de llaves) , ya se le dice que utilice par de llaves si quiere aumentar la seguridad, el robo de la clave privada que se ha comentado, solo procede al establecimiento del tunel cifrado y es poco relevante a menos que de contraseña, en la generacion del par, le ponga su fecha de nacimiento o nada, existiendo otras tecnicas de necesitar este ultimo caso, en cualquier caso se esta hablando de una conexion interactiva, no ubico el problema por que cuando se ha conectado, o le han clonado el sistema (con lo cual ssh y todo lo demas es el menor de los problemas) o con una leve mirada sabre si me he conectado a un sistema mio o no.
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2008-03-11 a las 21:48 +0100, jose maria escribió:
Pero la IP seguirá siendo dinámica.
* Evidente, pero no tendra que saberla ni averiguarla antes.
Que mas da, lo averigua el sistema.
Desde el segundo que el dyndns te dice que el host que buscas tiene tal IP hasta el instante en que fisicamente se hace la conexión, la IP puede haber cambiado: sobre todo teniendo en cuenta que en muchos sitios se actualiza la info del dyndns por una tarea del cron cada diez minutos.
* Es que una autentificacion basada en know_hosts (cliente) no pinta nada contra un servidor con ip dinamica (de todas maneras dado que no tengo ip's dinamicas no sabria decir si know_hosts se quejaria,
Ah, vale. El known_hosts lo que almacena es lo que escribas al llamar al ssh: si llamas por nombre guarda el nombre, si ip, la ip, si nombre abreviado nombre abreviado. Una linea para cada manera de llamarlo que uses, aunque sea la misma llave. Entonces ya veo por donde vas: si escribe la IP tendrá que cambiar la linea del known_hosts cada vez. - -- Saludos Carlos E.R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4-svn0 (GNU/Linux) iD8DBQFH1ysutTMYHG2NR9URAhNwAJwPQUtx0ACKi/VzIGynLc8vgHNyqwCgjC1W 2/lZnTKkr/S4q9NTiS/hg/o= =RulX -----END PGP SIGNATURE-----
participants (5)
-
Camaleón
-
Carlos E. R.
-
ciracusa
-
jose maria
-
miguel gmail