Está en la página 1de 35

SERVICIOS EN RED

ACCESO REMOTO
SSH
.
Acceso remoto
2

◻ El acceso remoto permite que un ordenador se


utilice desde otro a través de una red local o
internet mediante el uso de distintos protocolos.
◻ Es necesario tener instalado en los dos ordenadores
Cliente/Servidor una aplicación que permita el
control remoto.
◻ El cliente consigue el control del servidor, de la
misma manera que si estuviera ubicado frente a él.
◻ ¿Para que es útil?
◻ Es necesario cuando se accede a equipos que no
tiene teclado ni pantalla. «CPD».
Acceso remoto
3

◻ La herramientas más usadas son:


◻ En modo texto telnet, rlogin, putty, SSH.
◻ En modo gráfico: VNC en entorno UNIX/LINUX, NX
y los servicios de Terminal Server en Windows.
Telnet Introducción
4

◻ Aparecio a finales de la década de 1960 «1969


el grupo Network Working Group en Salt Lake City
(USA)”
◻ Es una herramienta y a la vez un protocolo.
◻ Consta de:
◻ Un equipo remoto «servidor» recibe peticiones y

las ejecuta.
◻ Un equipo cliente que realiza las peticiones y
recibe las respuestas.
◻ Este servicio necesita un demonio que se denomina
telnetd.
◻ Generalmente usa el puerto 23 para comunicarse.
¿Qué queremos?
5

◻ Vamos a comunicar estas dos máquinas por telnet


Telnet Sintaxis Linux
6

◻ telnet IPóNombre [Puerto]


Podemos conectarnos

O darnos un error porque el puerto este cerrado


conectarnos
Telnet Conexión en linux
7
Estamos en Ubuntu escritorio

Hacemos telnet

Usuario/Contraseña

Estamos en Ubuntu servidor


Telnet Wireshark
8

A
D
M
I
N
I
S
SSH-2
9

◻ Cifra las conversación.


◻ Utiliza el algoritmo RSA «Rivest, Shamir, Adleman,
firma y encriptación» aunque también puede usar
DSA «Digital Signature Algorithm, solo firma,
porque es irreversible»
◻ Utiliza el puerto 22.
◻ Permite al cliente autenticar al servidor.
◻ RFC 4651 SSH-2 «es el actual».
SSH Características
10

◻ Autenticación: Se autentica al cliente mediante


usuario y contraseña.
◻ Confidencialidad: Se cifran las conexiones.
◻ Integridad: Si el paquete es alterado, se puede
detectar o incluso reparar.
◻ No repudio.
◻ En origen

◻ En destino
SSH Ventajas
11

◻ Los esnifer capturan una información encriptada.


◻ Se evita la suplantación del host «Man in the middle>
◻ Existen versiones para todos los sistemas operativos.
◻ Permite tunelización para FTP, SMTP Messenger etc
◻ Permite la compresión de los paquetes.
◻ Puede redirigir tráfico X para poder usar programas
gráficos, si tenemos un servidor X corriendo.
SSH Funcionamiento -Híbrido
12
SSH Funcionamiento -Hibrido
13

◻ Empieza cuando el cliente abre una conexión TCP


en el puesto 22.
◻ El servidor y el cliente negocian la versión de SSH, el
tipo de cifrado (RSA/DSA).
◻ El servidor envía su clave pública al cliente.
◻ El cliente la compara con la lista de claves que tiene.
◻ El cliente genera una clave de sesión aleatoria, con el
algoritmo seleccionado y la clave pública.
◻ A partir de este momento usa un sistema de cifrado
simétrico.
SSH Conceptos
14
SSH Instalación en el servidor
15

◻ Actualizamos el repositorio del servidor


sudo apt-get install update / upgrade

◻ Instalamos el demonio para el servidor.


◻ NOTA: AWS ya tiene este paso incorporado,
sudo apt-get install openssh-server
SSH Instalación en el servidor
16

◻ Al acabar la instalación …

◻ Por defecto queda arrancado

/etc/init.d/ssh restart systemctl restart ssh


/etc/init.d/ssh stop systemctl restart stop
/etc/init.d/ssh start systemctl restart start
SSH Archivos
17

◻ sshd_config Describe la configuración del servidor


SSH.
◻ ssh_config Describe la configuración del cliente SSH.
◻ ssh_host_rsa_key Clave RSA privada.
◻ ssh_host_rsa_key.pub Clave RSA pública.
◻ known_hots Clave pública de otras máquinas.
◻ ssh_host_dsa_key Clave DSA privada.
◻ ssh_host_dsa_key.pub Clave DSA pública.
SSH Autenticación 1-Contraseña
18

◻ 1- Autenticación por contraseña.


La contraseña introducida no se envía como texto plano.
El servidor utiliza el fichero /etc/shadow para validar la
contraseña.
Hay que introducir la contraseña cada vez que se quiera
iniciar sesión.
SSH Autenticación 2-Cla. Pública
19

◻ 2- Autenticación por clave pública.(clave asimétrica)


1. Una vez establecida la conexión el servidor genera un
número aleatorio “desafío” (challenge) que es cifrado con
la clave pública del cliente y se le envía al cliente.
2. El cliente descifra con su clave privada y devuelve
respuesta al servidor. De esta forma el cliente es quien
dice ser.
3. El servidor compara el número devuelto con el texto
original enviado de forma encriptada. Si coincide, el
servidor acepta al usuario como correctamente
autenticado.
SSH Autenticación 2-Cla. Pública
20

◻ Este segundo método es:


Proceso transparente al usuario. Solo tendrá que teclear
la frase de paso cuando el programa lo pida.
Se puede utilizar un agente de autentificación para tener
que teclear la frase de paso en cada conexión.
SSH Autenticación 3-Agente
21

◻ 3- Agente de autenticación
Permite simplificar el proceso de conexión a una máquina
remota, ya que es él que proporciona las contraseñas «es
como recordar contraseña en navegador».
◻ El agente ssh-agent actúa como almacén de claves
privadas y se las suministra al cliente SSH cuando las
necesite.
◻ Esto hace que solo se requiera la introducción de la
contraseña la primera vez. En este caso, el problema
es dejar la sesión desatendida.
SSH Servidor y sus claves
22

◻ ¿Dónde guarda el servidor las claves?


SSH Huella digital
23

◻ Algo muy importante es conocer la huella digital del


servidor.
ssh-keygen –l -f ruta/fichero
SSH Cliente
24

◻ Desde el cliente
SSH Cliente
25

◻ RESUMEN Comprobación del fingerprint.


◻ A la izquierda la conexión desde el ubuntu escritorio
◻ A la derecha la solicitud del finger print de la clave
ECDSA
SSH Cliente Explicación conexión
26

◻ La primera vez que entramos nos da la huella digital


para cerciorarnos que nos conectamos al servidor que
queremos

◻ Eso significa que previamente se ha publicado o nos


han enviado la fingerprint del servidor para que
nosotros la podamos comprobar, y podamos decidir si
acceptamos o no.
◻ Vemos que coincide con la que teníamos. Podemos
confiar en que nos conectamos al servidor deseado.
SSH Cliente Explicación conexión
27

◻ Una vez dentro


SSH Cliente
28

◻ Opciones de conexión
Conexión normal
ssh [usuario@]host_remoto
Lanza una aplicación X11 a una máquina remota
ssh –n usuario@máquina xterm
Se indica a la máquina que se trata de un reenvío local
ssh –l usuario máquina
Se indica a la máquina que se trata de un reenvío local
ssh –i fichero.pem usuario@máquina
SSH Cliente Configuración
29

◻ Fichero configuración en el lado del cliente


ssh_config
Archivo de configuración para el cliente ssh en la máquina
host que está ejecutando.
SSH Servidor Configuración
30

◻ Fichero configuración en el lado del servidor


sshd_config: Archivo de configuración para el daemon sshd
(el programa que escucha cualquier solicitud de conexión
entrante al puerto ssh) en la máquina host.
Es decir, si alguien quiere conectarse a su equipo host a
través de SSH, su configuración de cliente SSH debe
coincidir con su configuración sshd_config para poder
comunicarse con usted, como el número de puerto, la
versión, etc.
SSH Servidor sshd-config
31

◻ Si editamos el fichero /etc/ssh/sshd_config), podemos


ver sus configuración
PermitRootLogin «no»: El usuario root no puede conectarse
a la máquina remota

RSAAuthentication «yes»: está permitida la autenticación


por clave RSA
PubkeyAuthentication «yes»: está permitida la
autenticación por clave pública
SSH Servidor sshd-config
32

RhostRSAuthentication «no»: no permitido crear archivo


para acceder sin contraseña
HostbasedAuthentication «no»: autenticación por usuario.
SSH Servidor sshd-config
33

X11Forwarding “yes”: Permite aplicaciones X Windows


MaxAuthTries «nn»: nº máximo de intentos de conexión

AllowUsers indíca usuarios permitidos


AllowTcpForwarding «yes»: Permite el reenvío de puertos
Protocol «2»: indica que versión del SSH se utiliza
ssh1-ssh2
SSH Servidor
34

◻ Una vez aceptada la primera conexión ya no nos


mostrará el fingerprint.
◻ Podemos comprobar el finger print del servidor, para
comprobarlo con el que nos da en la primera conexión
SSH Wireshark
35

◻ Vemos el protocolo de ocultación de las claves

También podría gustarte