Вы находитесь на странице: 1из 23

OpenSSH

OpenSSH (Open Secure Shell) alternativa de código fuente


abierto, con licencia BSD,creada por Tatu Ylönen.
Protocolo SSH
•Permite a los usuarios registrarse en sistemas de host remotamente a
través de la shell.

•Encripta la sesión de registro no permite que alguien pueda obtener


contraseñas no encriptadas
•Reemplaza a métodos menos seguros como telnet, rsh y rcp
Versiones del protocolo SSH
SSH
SSH v.1:
v.1: vulnerable
vulnerable aa un un agujero
agujero de de
seguridad
seguridad que
que permite,
permite, aa un
un intruso,
intruso, insertar
insertar
datos
datos en
en la
la corriente
corriente de
de comunicación
comunicación

SSH v.2: carece de dicho agujero de


seguridad (OpenSSH)
Secuencia de eventos
de una conexión SSH

1.
1. Handshake
Handshake encriptado
encriptado para
para que
que el
el cliente
cliente pueda
pueda
verificar
verificar la
la comunicación
comunicación con
con el
el servidor
servidor correcto
correcto

2.
2. Encriptación
Encriptación de
de la
la capa
capa de
de transporte
transporte entre
entre cliente
cliente
yy servidor
servidor mediante
mediante código
código simétrico
simétrico

3.
3. Autenticación
Autenticación del
del cliente
cliente ante
ante el
el servidor
servidor

4.
4. Interactuación
Interactuación del
del cliente
cliente con
con la
la máquina
máquina
remota
remota sobre
sobre la
la conexión
conexión encriptada
encriptada
Capa de transporte
Facilita una comunicación segura entre los dos hosts en el
momento y después de la autenticación.

Maneja la encriptación y decodificación de datos y proporciona


protección de integridad de l o s paquetes de dat os mientras
son enviad o s y recibid o s.

Comprime los datos, acelerando la transmisión de información


Capa de transporte
Al contactar un cliente a un servidor se producen los
siguientes pasos:

– Intercambio de claves

– Determinación del algoritmo de encriptación de clave


pública

– Determinación del algoritmo de encriptación simétrica

– Determinación del algoritmo de autenticación de mensajes

– Determinación del algoritmo de hash.


Canales
Múltiples canales son abiertos mediante multiplexación

Cada canal maneja la conexión para diferentes sesiones de


terminal y de X11

Tanto clientes como servidores pueden crear canales nuevos

Los datos no se envían a través del canal sino hasta que el host
haya recibido un mensaje avisando que el canal está abierto y
puede recibirlos
Archivos de configuración de OpenSSH
Tiene dos conjuntos diferentes de archivos de configuración:
– Archivos para programas cliente (ssh, scp y sftp) – Archivos
para el demonio del servidor (sshd)
Directorio /etc/ssh/:

•moduli: Contiene grupos Diffie-Hellman usados para el


intercambio de la clave.

•ssh_config: Archivo de configuración del sistema cliente SSH.


Archivos de configuración de OpenSSH
•sshd_config: Archivo de configuración.

•ssh_host_dsa_key: Clave privada DSA.

•ssh_host_dsa_key.pub: Clave pública DSA

•ssh_host_key: Clave privada RSA para SSH v1

•ssh_host_key.pub: Clave pública RSA para SSH v1

•ssh_host_rsa_key: Clave privada RSA para SSH v2

•ssh_host_rsa_key.pub: Clave pública RSA para SSH v2


Archivos de configuración de OpenSSH

•Directorio principal del usuario ~/.ssh/:

•authorized_keys: Lista de claves públicas "autorizadas".


Cuando un cliente se conecta al servidor, el servidor
valida al cliente chequeando su clave pública firmada
almacenada dentro de este archivo
Archivos de configuración de OpenSSH

Directorio principal del usuario ~/.ssh/:

•id_dsa: Clave privada DSA del usuario


•id_dsa.pub: Clave pública DSA del usuario
•id_rsa: Clave RSA privada para SSH v2
•id_rsa.pub: La clave pública RSA usada para SSH v2
identity: La clave privada RSA usada por ssh para SSH v1 identity.pub: Clave
pública RSA para SSH v1.

•known_hosts: Claves de host DSA de los servidores SSH accedidos por el


usuario. Este archivo es muy importante para asegurarse de que el cliente SHH
está conectado al servidor SSH correcto
SSH PARA REENVIO DE PUERTOS

Con reenvío TCP/IP se pueden asignar conexiones de puerto entre


sistemas que previamente eran inseguras a canales SSH específicos

Cuando use esta técnica, el servidor SSH se convierte en un


conducto encriptado para el cliente SSH.
Funciona mediante el mapeado de un puerto local en
el cliente a un puerto remoto del servidor
Laboratorio
Realizar el ejercicio propuesto en:
http://www.redeszone.net/redes/ssh-tunneling/

Concluir y presentar informe.


Realizar un pequeño video.

https://www.youtube.com/watch?v=x1R5muob3xA&nohtml5=False

https://www.youtube.com/watch?v=VRhq_5MedZY&nohtml5=False
Instalación
#yum
#yum-y
-yinstall
installopenssh
opensshopenssh-server
openssh-serveropenssh-clients
openssh-clients

Habilitar el servicio:
#service
#servicesshd
sshdstart
start

Habilitar su inicio con el arranque del sistema

#chkconfig
#chkconfig--levels
--levels235
235sshd
sshdon
on

Ver el estado del servicio:

#/sbin/service
#/sbin/servicesshd
sshdstatus
status
Prerrequisito

Apertura
Aperturade
depuerto
puerto(22-nn)
(22-nn)
Trabajo
Documente
Documenteelelproceso
procesode
deapertura
aperturayyvalidación
validaciónde
de puerto.
puerto.

Habilitar su inicio con el arranque del sistema

#chkconfig
#chkconfig--levels
--levels235
235sshd
sshdon
on

Ver el estado del servicio:

#/sbin/service
#/sbin/servicesshd
sshdstatus
status
Archivos de configuración.

/etc/ssh/sshd_config
Archivo principal de configuración del servidor SSH

/etc/ssh/ssh_config
Archivo principal de configuración de los clientes SSH
utilizados desde el anfitrión local.
~/.ssh/config
Archivo personal de usuario. Permite al usuario local utilizar
una configuración distinta a la definida en el archivo
/etc/ssh/ssh_config
Archivos de configuración.

~/.ssh/known_hosts
Archivo personal que almacena las firmas digitales de los
servidores SSH a los que se conectan los clientes.

~/.ssh/authorized_keys
Archivo personalel cual almacena los certificados de los
clientes SSH, para permitir autenticación hacia servidores SSH
sin requerir contraseña.

Ing. Msc. Jaider Ospina Navas Técnicas Seguridad de la Información


CONFIGURACIÓN
#vi /etc/ssh/sshd_config
Seguridad por Oscuridad. --> Cambio de Puerto
SSH trabaja a través del puerto 22 por TCP.
Puede elegirse cualquier otro puerto entre el 1025 y 65535.
Opción AllowUsers.
Restringue el acceso a usuarios nombrados.

AllowUsers fulano mengano

AllowUsers fulano@10.1.1.1 mengano@10.1.1.1


fulano@10.2.2.1 mengano@10.2.2.1

Opción UseDNS.

Evita suplantación!!!.

UseDNS yes ---> NO!!!


:-(
Opción ListenAddress.
Opción “abierta” de modo predeterminado.

ListenAddress 192.168.1.254

Opción PermitRootLogin.
Obligar autenticación de usuario “Personal”
PermitRootLogin no

Opción X11Forwarding.
Opción para habilitar el lanzamiento gráfico .

X11Forwarding yes
Autenticación con clave pública:
Requisitos:
Claves pública/privada.
Clave pública almacenada en servidor
Establecida la conexión, el servidor genera un número aleatorio llamado “desafío”
(challenge) que es cifrado con la clave pública del usuario usando RSA o DSA .

El texto cifrado es enviado al cliente, que debe descifrarlo con la clave privada
correspondiente y devolverlo al servidor, demostrando de esta manera que el
usuario es quien dice ser.
Fuentes

http://www.alcancelibre.org/staticpages/index.php/10-como-openssh

http://es.slideshare.net/AprendeViendoMexico/18-open-ssh

http://www.redeszone.net/redes/ssh-tunneling/

Вам также может понравиться