Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves.
(18053 lectures)
Por LauraCeldranS
LauraCS
(http://laura.celdran.name)
Creado el 21/05/2005 11:54 modificado el 23/05/2005 00:01
|
Introducir en cada conexión remota a un sistema el password, que normalmente suele tener privilegios de root-administrador, es más bien poco seguro; además de incómodo.
Es evidente que dejar un sistema sin clave de acceso es más inseguro aún, pero la pregunta es ¿con los esfuerzos en criptología que se están llevando a cavo estos últimos años, es seguro enviar la clave de root aunque esta vaya cifrada?, ¿se puede asegurar que un protocolo que hoy es seguro mañana lo seguirá siendo?
Pues bien, os expongo como crear enlaces de confianza SSH, mediante clave privada y pública, entre sistemas Unix para teclear la clave una única vez.
Espero que esto os sea útil |
Pagina1/1 |
Para esas personas a las que le inquieta la seguridad, una buena forma de securizar, aún más, el acceso a servidores Unix de forma remota...
El proceso es muy sencillo: ya es bien conocido que ssh v1 ha sido atacada (pero aún así todavía se considera seguro), así que para esas personas que buscan jugar más a ponérselo difíciles a los atacantes, a continuación se describe en 6 breves pasos como hacer que se establezcan enlaces de confianza entre nuestros servidores Unix, con las ventajas que esto reporta.
Pasos:
- Entrar en el "equipo X" y teclear ssh-keygen -t rsa.

- Se recomienda dejar todos los campos en blancos, símplemente pulsa enter. Esto nos habrá creado un subdirectorio ".ssh" en el "home del usuarioX" (/home/usarioX/.ssh/), que contendrá nuestras claves públicas y privadas.

- Darle a este directorio los permisos apropiados, para que nuestro equipo no desconfie del host remoto.

- Repetir estos pasos en el "equipo Y".
- Copiar el contenido del fichero "id_rsa.pub" del "equipoX" (/home/usuarioX/.ssh/id_rsa.pub), al fichero "authorized_keys" (/home/usuarioY/.ssh/authorized_keys) del "equipoY" y viceversa.
Nota: Como apunta nuestro amigo "Anónimo": Para copiar las llaves publicas a maquinas remotas basta con poner ssh-copy-id -i key.pub usuario@HOST_DESTINO De esa forma va añade directamente al fichero authorized_keys del usuario
- Intente conectar desde el equipoX como usuarioX, al equipoY como usuarioY. La primera vez, el sistema, pide que se introduzca la contraseña y ya no la volverá a pedir mientras no se hagan cambios en la versión de SSH.
Esto permite crear niveles de segurida muy altos, puesto que por la red únicamente viaja la clave pública del equipo y que además viaja cifrada (SSH).
Espero que os haya sido útil esta pequeña recopilación de conceptos. |
|
|
|
|
|
Comentarios Es posible que se hayan omitido algunos comentarios considerados poco constructivos
|
1. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (21/05/2005 14:48, #26729) Por: Kiko |
Un par de apuntes,
si el equipoX es nuestro portàtil/escritorio y el equipoY es un servidor que administramos remotamente via ssh, no necesitamos para nada crear un par de claves pública/privada en el servidor.
Cuando dices que por la red únicamente viaja la clave pública, te refieres a la fase de autentificación al establecer la sesión ssh? Porque si te refieres a eso, la clave pública no viaja para nada (de hecho no necesita viajar ya que "reside" en el ~/.ssh/authorized_keys2 del servidor); la clave privada tampoco "viaja".
Lo que "viaja" es un "challenge" cifrado con la clave pública que el cliente ha de descifrar con la privada y devolverlo al servidor que comprobará si es correcto antes de "dejar pasar" al cliente.
Bueno, es algo de este estilo; Lo que si es seguro es que las claves privadas nunca viajan a través de la conexión ssh (y eso es una seguridad añadida a la simple autentificación por contraseña). |
No es pot respondre |
2. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (21/05/2005 17:40, #26732) Por: bruli |
Pues haciendo lo que dices en el artículo no funciona.
Sigue pidiendo la contraseña de igual modo cada vez que se hace la conexión.
Yo había leído en otros artículos que había que poner las claves creadas en un archivo llamado authorized_keys. |
No es pot respondre |
3. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (21/05/2005 20:16, #26735) Por: Anònim |
| Un artículo un poco más extendido aquí, en Bulma mismo :-) | No es pot respondre |
4. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (22/05/2005 00:38, #26741) Por: kiko |
La "moderación" de comentarios está para evitar insultos, spam, mensajes ofensivos y cosas de este estilo.
El comentario anterior (este al que estoy respondiendo) no es ni una cosa ni otra, es un apunte muy interesante y más que recomendable para completar/complementar este artículo.
Por favor, no oculteis comentarios constructivos como este. | No es pot respondre |
|
5. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (21/05/2005 22:37, #26737) Por: LauraCS (http://laura.celdran.name) |
| Perdona el erreta. Saludos ;), ya lo he modificado.
Muchas gracias | No es pot respondre |
|
6. Archivo incorrecto (21/05/2005 18:55, #26733) Por: Anònim (http://www.ivanyvienen.com) |
| Lo que nos dice Bruli es cierto, el archivo donde hay que copiar "id_rsa.pub" es "authorized_keys". Una vez copiado ahí en el servidor SSH ya no nos pedirá más el passwd :)
Saludos y gracias a Bruli, esperemos que el autor se anime a confirmarlo ;) |
No es pot respondre |
7. A mi me aparace known_hosts (21/05/2005 23:12, #26739) Por: Anònim |
| Debe de depender de los sistemas porque mi archivo donde se almacenan las claves es "known_hosts". Bueno, es solo cuestión de saber que se encuentra en la carpeta /.ssh/ | No es pot respondre |
8. Re: A mi me aparace known_hosts (22/05/2005 00:47, #26743) Por: Kiko |
En el known_hosts se almacenan las claves públicas de los servidores ssh (las "host keys") a los que normalmente nos conectamos desde nuestra máquina (el cliente ssh).
Estas claves sirven para autentificar el host de cara al cliente. Su función es evitar que algun "listo" se ponga en lugar del servidor remoto al que queremos conectarnos haciendose pasar por él y interceptando (por ejemplo) nuestra contraseña (algo conocido como ataque "man-in-the-middle").
Las claves publicas de los usuarios autorizados se han de poner en el servidor en ~/.ssh/authorized_keys o ~/.ssh/authorized_keys2 si sólo permitimos la versión 2 del protocolo ssh (cosa más que recomendable, recordad a Trinity en Matrix Reloaded ;). | No es pot respondre |
|
|
9. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (21/05/2005 22:52, #26738) Por: Anónimo |
| ;) con este cambio todo Oki. Salu2 |
No es pot respondre |
10. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (22/05/2005 19:50, #26752) Por: Anónimo |
| Me parce bastante practico siempre que entrañe toda la seguridad de la que presume. Pero lo mejor sin duda es la foto de esta chica de su pagina personal (arriba enlace)
;) |
No es pot respondre |
11. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (22/05/2005 21:21, #26754) Por: Anónimo |
| Esta muy bien la simplicidad de la explicacion. Saludos ;) |
No es pot respondre |
12. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (22/05/2005 21:58, #26756) Por: Skarabeus |
| Cuidadin con que te conquisten la máquina que tiene accesos sin contraseña y sin passphrase a otras, pues si esto sucede un atacante solo tiene que probar los hosts que tienes en .know_hosts y mata unos cuantos pájaros de un tiro ;) |
No es pot respondre |
13. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (22/05/2005 23:04, #26757) Por: Anónimo |
| Para copiar las llaves publicas a maquinas remotas
ssh-copy-id -i key.pub usuario@HOST_DESTINO
De esa forma va añade directamente al fichero authorized_keys del usuario |
No es pot respondre |
14. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (22/05/2005 23:58, #26759) Por: LauraCS (http://laura.celdran.name) |
| Oki. Mil asias ahora mismo lo añado como nota a los pasillos descritos.
Saludos | No es pot respondre |
|
15. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (23/05/2005 08:03, #26761) Por: Anónimo |
Interesante artículo, pero... (y sin ánimo de crear polémica).
Supuesto un grupo de 20 ordenadores con relaciones de confianza, ¿atacado uno, atacados todos? O mejor dicho, ¿comprometido uno, comprometidos todos?
Pues casi, como mejor que no. ¿O me dejo algo?
Un saludo |
No es pot respondre |
16. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (23/05/2005 10:03, #26762) Por: LauraCS (http://laura.celdran.name) |
La verdad es que tienes razón: si se hacen con una máquina se hacen con todas, pero creo que a lo mejor abría que cuestionarse que este método es algo así como lo que se desea buscar con un sistema del tipo Single Sing On al que tantas empresas intentan migrar; esto es, una llave (clave) para aplicaciones (puertas) en un directorio centralizado, y una vez abierta la primera, abiertas todas.
Bueno, para ser sincera yo no creo en el concepto de clave única que te abre todas las puertas con solo abrir la primera, y por lo tanto en la organización en la que trabajo lucho por no llegar a SSO; aunque si que creo que el hecho de tener una clave única, teniendo que picarla en cada acceso a cada aplicación, y centralizada en lo que se conoce como Metadirectorio, ayuda a poder exigir/controlar una política de claves que mantenga ciertos niveles de seguridad... bueno no se, mi experiencia es que la gente tienen mil claves una para cada aplicación y al final colapsan el Call center porque siempre olvidan las claves o lo que es peor, para no olvidarlas las ponen en post-it o las ponen muy muy muy fáciles.
En este articulillo solo pretendía dejar ver otra posibilidad más de configuración en los accesos, aunque para ser más sincera aún yo esto lo probé, escribí este artículillo y lo desactivé, así que en parte tb estoy de acuerdo contigo.
Gracias por tu tiempo y Saludos. ;) | No es pot respondre |
|
17. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (24/05/2005 08:31, #26781) Por: LauraCS (http://laura.celdran.name) |
Se me ha ocurrido una idea... Puesto que a raiz de este artículo he mantenido muchas conversaciones vái mail con distintas personas bastante conocedoras de esta materia se me ha ocurrido escribir los temas en unos post en http://laura.celdran.name
Espero que esto os sea útil |
No es pot respondre |
18. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (11/07/2005 16:24, #27440) Por: Anónimo |
| Windows-->Linux
http://www.pasky.org/index.php/2005/02/02/42-autenticacion-auto matica-ssh-con-putty-y-claves-publicaprivada |
No es pot respondre |
19. Re: Confianza SSH entre Sistemas Unix: evitar el tecleo continuo de claves. (30/07/2005 18:46, #27698) Por: Anónimo (http://serhost.com/) |
| Una cosilla relacionada estrechamente con el tema, he creado un script llamado banfromlog que lee el auth de debian en busca de ips que te intentan probar usuarios genericos y les aplica un iptables -p tcp -i ethX --dport 22 -s DireccionIP -j DROP a su ip, lo cual es util si algun sistema creeis que tiene usuarios predecibles o contraseñas faciles y no podeis activar solo el método de clave publica. |
No es pot respondre |