lunes, 23 de junio de 2008

HOW-TO SSH


Existen herramientas que utilizan ssh para entrar en otros equipos, la que voy a utilizar en este how-to es la aplicacion libre Putty.


Colocamos en la parte de " hostname " el nombre del equipo o la direccion ip, al darle clic en open ingresamos y nos pedira login y password.

Configuracion de ssh en Linux:

1.Instalar SSH

-apt-get install ssh


2
.Editamos el archivo de configuracion de ssh que es sshd_config.

- pico /etc/ssh/sshd_config


3.En el archivo de configuracion especificaremos en la linea:
-port 22
este es el puerto que viene por defecto y por el trabaja ssh pero si deseamos que trabaje por otro puerto lo podemos cambiar por otro puerto que este por encima de 1024. 4.Despues modificamos la linea
permitRootLogin que es para permitir el acceso directo al usuario root es recomendable que esta opcion este en no esto es por seguridad y mas si se va a permitir el acceso de redes publicas.

-PermitRootLogin no

5.La linea x11Forwarding nos da la opcion de permitir o denegar la ejecucion remota de una interface grafica.

-x11Forwarding yes

6.Para que nuestro servidor pida una llave al ingresar el ususario debemos descomentar la linea:

-AuthorizedKeysFile /root/.ssh/authorized_keys

esa ruta es donde van a ir almacenadas las llaves publicas de los usuarios .

7.Despues debemos descomentar la linea PasswordAuthentication y cambiar de yes a no esto se hace para que no pida clave sino la llave del usuario

-PasswordAuthentication yes

8.
Despues debemos copiar la llave del usuario que va a ingresar al servidor ssh en la ruta que le dimos en la linea AuthorizedKeysFile (la ruta es /root/.ssh/authorized_keys)

-cp /root/.ssh/id_dsa.pub /root/.ssh/authorized_keys

id_dsa.pub es la llave publica del usuario.


9.por ultimo reiniciaremos el servicio
-/etc/init.d/ssh restart


configuracion del cliente ssh


1.
instalaremos el cliente ssh

-apt-get install ssh-client

2.
Luego crearemos un par
de llaves dsa del usuario

-ssh-keygen -t dsa


la llave privada se llama id_rsa y la publica id_rsa.pub

3.Despues copiamos la llave publica al archivo donde se alojan las llaves que es /root/.ssh/authorized_keys

--cp /root/.ssh/id_dsa.pub /root/.ssh/authorized_keys

4.
Provaremos si la configuracion esta buena accediendo al servidor ssh
-ssh 10.3.8.154 (es la ip del servidor ssh)


en esta imagen nos muestra que ya ingresamos al servidor.


Analisis del trafico ssh

Acontinuacion veremos como es la conexion ssh cliente servidor


- El cliente hace una peticion ssh con un SYN al servidor
- El servidor le da respuesta con un SYN,ACK
- Vuelve a responder el cliente con un ACK
- El servidor responde arrojando datos del protocolo y del equipo.
- El cliente hace lo mismo, arroja informacion de su equipo y demas.
- Luego el cliente inicia el intercambio de llaves del servidor.
- El servidor responde con un ACK, y inicia en intercamo de llaves del servidor.
- Luego establecen un algoritmo de encriptacion, crean unas nuevas llaves para crear el tunel ssh y luego inicia una comunicacion encriptada


Para finalizar la conexion ssh el cliente le manda una peticion de FIN, ACK al servidor, el servidor le responde con otro FIN, ACK y el cliente le confirma con un ACK.


Imagenes tomadas del blog http://modseguridad.blogspot.com