SlideShare una empresa de Scribd logo
TELNET y SSH
Preparado por:
José Moreno
Tópicos Especiales 1
Agenda
Protocolo TELNET
● Caracteristicas.
● Uso.
● Seguridad.
● Funcionamiento.
● Estructura de comandos interno.
Protocolo SSH
● Características.
● Uso.
● Seguridad y funcionamiento.
● Autenticación de usuarios.
● Configuración de OpenSSH.
TELNET
Características
● Viene de la frase TELetype NETwork, y fue producto de los RFC (request for comment) de Jon
Postel y Joyce Reynolds.
● El RFC 15 extendido en el RFC 854 describe la especificación del protocolo mientras que el RFC
855 describe las especificaciones opcionales.
● Es un protocolo del tipo TCP/IP.
● El puerto por defecto es el 23 y envía datos en formatos ASCII codificados en 8 bits.
● Sigue el modelo Cliente / Servidor.
Uso
● Permite conectarse a otra máquina o terminal para manejarla remotamente como si se estuviera
sentado frente a ella. Además permite la conexión con aplicaciones de Internet.
● Para que se de la conexión la computadora a la que se quiere conectar debe contar con una
aplicación que reciba y gestione las conexiones, ya que permite abrir simultáneamente y trabajar
en el mismo ordenador desde diferentes usuarios.
● Esta disponible en todos los sistemas operativos y permite la interoperabilidad en redes.
● Tiene un fuerte uso en los sistemas UNIX – LINUX y equipos de comunicaciones (configuración
de routers).
TELNET
Seguridad
● Telnet, por defecto, no cifra ninguno de los datos enviados sobre la conexión (contraseñas
inclusive). Todo viaja por la red como texto plano sin cifrar.
● Cualquiera que espíe el tráfico de la red mediante un sniffer, puede obtener los nombres de
usuario y contraseñas, y así acceder él también a las máquinas.
Funcionamiento
● Protocolo basado en las siguientes ideas:
1. El concepto de NVT(Network Virtual Terminal). Una NVT es un dispositivo imaginario que posee
una estructura básica común a una amplia gama de terminales reales. Cada host mapea las
características de su propia terminal sobre las de su correspondiente NVT, y asume todos los
demás hosts harán lo mismo.
2. Una perspectiva simétrica de las terminales y los procesos.
3. Negociación de las opciones de la terminal. El protocolo TELNET usa el principio de opciones
negociadas, ya que muchos host pueden desear suministrar servicios adicionales, más allá de
los disponibles en la NVT. Se pueden negociar diversas opciones.
TELNET
Estructura de comandos internos
El cliente y el servidor utilizan una serie de convenciones para establecer las características
operacionales de su conexión TELNET a través de los mecanismos "DO, DON'T, WILL, WON'T"
("hazlo, no lo hagas, lo harás, no lo harás").
La comunicación entre cliente y servidor es manejada por comandos internos, que no son
accesibles a los usuarios. Todos los comandos internos de TELNET consisten en secuencias de 2
o 3 bytes, dependiendo del tipo de comando.
El carácter IAC("Interpret As Command"; Interpretar Como Comando) es seguido de un código de
comando. Si este comando trata con opciones de negociación, el comando tendrá un tercer byte
para mostrar el código asociado a la opción indicada.
SSH
Características
● En 1995, Tatu Ylönen fundó la SSH Communications Security Corporation, la cual
desarrolló el protocolo.
● Elimina la transmisión de información comos contraseñas en texto plano que era
regularmente víctimas de ataques de análisis de paquetes.
● Es un protocolo del tipo TCP/IP (IPv4 ó Ipv6).
● Sigue el modelo cliente/servidor.
● Utiliza técnicas de cifrado que hacen que la información que viaja por el medio de
comunicación vaya de manera no legible.
● El puerto por defecto es el 22.
Uso
● Se suele utilizar para iniciar sesión en una máquina remota y ejecutar comandos.
● Es compatible con un tunneling, el reenvío de puertos TCP y conexiones X11.
● Se puede transferir archivos mediante la transferencia de archivos asociado SSH (SFTP) o
protocolos de copia segura (SCP).
● Está presente en la mayoría de los sistemas operativos modernos. Incluyendo Mac OS X,
la mayoría de las distribuciones de GNU / Linux, OpenBSD, FreeBSD, NetBSD, Solaris y
OpenVMS. Cabe destacar que Windows es uno de los pocos sistemas operativos modernos
escritorio / servidor que no incluye SSH por defecto.
● Sin embargo, en Windows se puede usar SSH como cliente con aplicaciones como WinSCP
para transferencia, copia, borrado de archivos. Para usar Windows como servidor SSH se
usan aplicaciones como Cygwin.
SSH
Seguridad y funcionamiento
● El cliente abre una conexión TCP al puerto 22 del host servidor.
● El cliente y el servidor acuerdan la versión del protocolo a utilizar, de acuerdo a su
configuración y capacidades.
● El servidor posee un par de claves pública/privada de RSA (llamadas “claves de host”). El
servidor envía al cliente su clave pública.
● El cliente compara la clave pública de host recibida con la que tiene almacenada, para
verificar su autenticidad. Si no la conociera previamente, pide confirmación al usuario para
aceptarla como válida.
● El cliente genera una clave de sesión aleatoria y selecciona un algoritmo de cifrado
asimétrico.
● El cliente envía un mensaje conteniendo la clave de sesión y el algoritmo seleccionado,
cifrado con la clave pública de host del servidor usando el algoritmos RSA.
● En adelante, para el resto de la comunicación se utilizará el algoritmo de cifrado asimétrico
seleccionado y clave compartida de sesión.
● Luego se realiza la autenticación del usuario. Aquí pueden usarse distintos mecanismos.
● Finalmente se inicia la sesión, por lo general, interactiva.
En este momento la sesión se mantiene cifrada por lo que provee un canal seguro de paso
de la información.
SSH
Autenticación de usuarios
1 - Autenticación con contraseña
Es el método más simple (y común) de autenticación. El cliente solicita al usuario el ingreso
de una contraseña (password) y la misma es enviada al servidor, el cuál validará la misma
utilizando los mecanismos configurados en el sistema (generalmente, utilizará la
autenticación del sistema Unix para validar la contraseña contra el contenido del archivo
“/etc/shadow”, de la misma manera que lo hace el login).
Las desventajas de este sistema son varias:
El usuario debe tipear su contraseña cada vez que se conecta al servidor.
La contraseña del usuario es enviada hacia el servidor.
2 - Autenticación con clave pública
Para poder llevarse a cabo, el usuario debe tener un par de claves pública/privada, y la clave
pública debe estar almacenada en el servidor.
Luego de 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.
Las ventajas de este método respecto del anterior son:
El usuario no debe tipear (ni recordar) ninguna contraseña.
Ninguna contraseña secreta (en este caso, la clave privada del usuario) es enviada al servidor.
SSH
Configuración de OpenSSH
Se trata de la configuración de archivos que se encuentran alojados normalmente en el
directorio “/etc/ssh/”.
Archivo sshd_config
En este archivo se describe la configuración del servidor SSH. Las opciones más relevantes:
Port: Esta opción permite especificar el puerto TCP que utilizará el servidor. El valor usual es 22.
Protocol: Versión del protocolo a utilizar. Regularmente se usa el valor 2.
HostKey: Clave privada de RSA o DSA del host. Normalmente las claves de host son generadas en
el momento de la instalación de OpenSSH, y el valor de esta opción es /etc/ssh/ssh_host_rsa_key.
PubkeyAuthentication: Si el valor de esta opción es yes, entonces se permite la autenticación
de usuarios mediante clave pública.
AuthorizedKeysFile: Mediante esta opción se indica al servidor en donde están almacenadas
las claves públicas de los usuarios. El valor por defecto es %h/.ssh/authorized_keys, e indica
que deben buscarse en el archivo authorized_keys, del directorio .ssh dentro del directorio
home de cada usuario.
PasswordAuthentication: Si el valor de esta opción es yes, se permite la autenticación de
usuarios mediante contraseñas.
X11Forwarding: Si el valor de esta opción es yes, se habilita el reenvío de X11 a través de la
conexión SSH.
SSH
Archivo ssh_config
En este archivo se describe la configuración del cliente SSH. Las opciones más importantes
son:
Host: Esta opción actúa como un divisor de sección. Puede repetirse varias veces en el archivo de
configuración. Su valor, que puede ser una lista de patrones, determina que las opciones
subsiguientes sean aplicadas a las conexiones realizadas a los hosts en cuestión. El valor * significa
“todos los hosts”.
Port: Es el puerto de TCP que utiliza el servidor (normalmente, 22).
Protocol: Es la versión del protocolo utilizada (normalmente 2,1, pero se recomienda solamente 2) .
PubkeyAuthentication: Autenticación mediante clave pública (se recomienda yes).
IdentityFile: Archivo que contiene la clave pública (en caso de usar RSA, lo usual es ~/.ssh/id_rsa).
PasswordAuthentication: Autenticación mediante contraseñas (yes o no).
StrictHostKeyChecking: Define que hará el cliente al conectarse a un host del cual no se dispone
de su clave pública. El valor no hace que sea rechazara la clave del servidor (y por lo tanto,
se aborte la conexión), el valor yes hace que se acepte automáticamente la clave recibida, y el valor
ask hace que se pida confirmación al usuario.
Ciphers: Algoritmos de cifrado simétrico soportados para su uso durante la sesión.
ForwardX11: Reenvío de aplicaciones X11 (los posibles valores son yes o no).
SSH
En la Ruta “/etc/ssh” vemos todos los archivos de configuración
SSH
Archivo de configuración “sshd_config” encontramos la configuración del server
SSH
Archivo de configuración “ssh_config” encontramos la configuración del server
SSH Keys
Generación de Llave Públia SSH
Claves SSH son una manera de identificar las computadoras de confianza, sin la
participación de las contraseñas. Los pasos a continuación le guiará a través de la
generación de una clave SSH y añadir la clave pública
El comando ssh-keygen se utiliza para generar la llave pública
-b: Significa la cantidad de bytes de longitud de la llave
-t rsa indica el tipo de cifrado a utilizar
SSH Keys
Generación de Llave Públia SSH
Damos Enter para generar la llave pública, se nos preguntará el archivo donde se
guardará la llave pr defecto es la ruta:
“/root/.ssh/id_rsa”
SSH Keys
Generación de Llave Públia SSH
Podemos ver la llave generada en la siguiente imagen:
SSH Keys
Generación de Llave Públia SSH
La llave pública la podemos ver abriendo el archivo donde lo generamos
Vi /root/.ssh/id_rsa
SSH Keys
Generación de Llave Públia SSH
Por ultimo copiamos la llave pública de nuestro cliente al servidor con el siguiente
comando:
ssh-copy-id root@192.168.1.100
El ip es el ip del servidor y se nos pedirá la contraseña de acceso por ultima vez
SSH Keys
Generación de Llave Públia SSH
En la siguiente conexión al servidor nos pedirá la frase clave que intoducimos con
anterioridad evitando el estar introduciendo la contraseña del servidor
Bibliografía
● Telnet, Consultado el 20 de Junio de 2015. Disponible en: www.ecured.cu
● Capa de Aplicación, Consultado el 20 de Junio de 2015. Disponible en: http://fundamentos-
redes.wikispaces.com
● Security Hardening, Consultado el 20 de Junio de 2015. Disponible en: http://blog.mattbrock.co.uk
● Protect SSH Logins with SSH & MOTD Banner Messages, Consultado el 20 de Junio de 2015.
Disponible en: http://www.tecmint.com
● Top 20 OpenSSH Server Best Security Practices, Consultado el 20 de Junio de 2015. Disponible
en: http://www.cyberciti.biz
● Para qué se utiliza Telnet, Consultado el 20 de Junio de 2015. Disponible en:
http://culturacion.com
● Configura conexiones SSH sin password en solo 3 pasos, Consultado el 20 de Junio de 2015.
Disponible en: http://blog.desdelinux.net
● Protocolo TELNET, consultado el 24 de junio de 2015. Disponible en:
http://infohistoriamorato.blogspot.com/2014/10/protocolo-telnet.html
● Introducción a SSH, consultado el 24 de junio de 2015. Disponible en:
http://es.tldp.org/Tutoriales/doc-ssh-intro/introduccion_ssh-0.2.pdf (Escrito porÑ JavierSmaldone
(http://www.smaldone.com.ar)Versión 0.2-20 de enero de 2004).
¡Gracias!

Más contenido relacionado

PPTX
Sql injection
PDF
CentOS Linux Server Hardening
PDF
Think Like a Hacker - Database Attack Vectors
PDF
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
PPTX
Interrupciones y llamadas del sistema
PPTX
Unidad III procedimientos
PPTX
Concepts de sauvegarde et de récupération
PPTX
Sql injection
Sql injection
CentOS Linux Server Hardening
Think Like a Hacker - Database Attack Vectors
Metasploit et Metasploitable2 : exploiter VSFTPD v2.3.4
Interrupciones y llamadas del sistema
Unidad III procedimientos
Concepts de sauvegarde et de récupération
Sql injection

La actualidad más candente (20)

PDF
Creación de Procesos en Android
PPTX
Command injection
PPTX
Domain Name System
PDF
Cours design pattern m youssfi partie 3 decorateur
PPT
Sql injection
PDF
Seguridad en Asterisk: Un acercamiento detallado
PDF
Zed Attack Proxy (ZAP)
PPTX
Ssh tunnel
PPT
Sql injection attack
PDF
Support NodeJS avec TypeScript Express MongoDB
PPTX
Componentes y Librerías - Tópicos avanzados de programación.
PPT
Cours Visual Basic.NET
PPTX
Planificador SSTF (shortest seek time first)
PDF
Systèmes d'Exploitation - chp5-gestion fichiers
KEY
Configuration Auditing
PPTX
Windows firewall
PDF
Rapport atelier Web App Security 2015
PPTX
Sauvegardes de base de données
PPTX
Architectures 3-tiers (Web)
PDF
Applications Android - cours 7 : Ressources et adaptation au matériel
Creación de Procesos en Android
Command injection
Domain Name System
Cours design pattern m youssfi partie 3 decorateur
Sql injection
Seguridad en Asterisk: Un acercamiento detallado
Zed Attack Proxy (ZAP)
Ssh tunnel
Sql injection attack
Support NodeJS avec TypeScript Express MongoDB
Componentes y Librerías - Tópicos avanzados de programación.
Cours Visual Basic.NET
Planificador SSTF (shortest seek time first)
Systèmes d'Exploitation - chp5-gestion fichiers
Configuration Auditing
Windows firewall
Rapport atelier Web App Security 2015
Sauvegardes de base de données
Architectures 3-tiers (Web)
Applications Android - cours 7 : Ressources et adaptation au matériel
Publicidad

Similar a Hardening Telnet ssh final (20)

PPT
Sshmarta
PDF
VC4NM73 EQ#4-SSH
PDF
Vc4 nm73 eq#4-ssh
PPTX
Redes
PPTX
PDF
VC4NM73 EQ4-SSH
DOCX
Vc4 nm73 eq4-ssh
ODT
2.6 implementacion de ssh
PDF
18 open ssh
PDF
OpenSSH
PDF
El servidor ssh (cap32)
PPT
Ssh telnet
PPTX
Ssh
PPTX
SSH & SCP
PDF
Practica 15 21 qde cota
PPTX
Funcionamiento, instalación, ventajas y desventajas de SSH contra otros servi...
PPTX
Expocicion seguridad en redes villanira chocue, grupo 2 semestre V
Sshmarta
VC4NM73 EQ#4-SSH
Vc4 nm73 eq#4-ssh
Redes
VC4NM73 EQ4-SSH
Vc4 nm73 eq4-ssh
2.6 implementacion de ssh
18 open ssh
OpenSSH
El servidor ssh (cap32)
Ssh telnet
Ssh
SSH & SCP
Practica 15 21 qde cota
Funcionamiento, instalación, ventajas y desventajas de SSH contra otros servi...
Expocicion seguridad en redes villanira chocue, grupo 2 semestre V
Publicidad

Más de José Moreno (20)

PDF
THINKPHP-ciberseguridad4-Profesor-Elzere.pdf
PDF
APMAX_Server_Installation_Checklist2.pdf
PDF
Android reversing 101.pdf
DOCX
Ransomware Hidden Tear
DOCX
Bash Ransomware
PDF
Seguridad Móvil
PDF
Seguridad en SIstemas Operativos *Nix
ODP
Honey Pots
PDF
Seguridad Perimetral
PDF
Correlacionador de Eventos OSSIM
PPTX
Forensia en movil
PPT
Artefactos linux
PPTX
MEAN Stack
PPTX
Backbox Distribución deriva de Ubuntu
ODP
Seguridad Base de Datos sql injection v1.0
PPTX
Presentacion #2 github Aplicaciones Seguras
PDF
Protección de Sitios Web con WAF Lógico
PDF
Laboratorio 7 mod security - evasive - qos
PDF
Lab 3 cifrado criptografia
PDF
Hardening en-nix-asegurar-un-ftp-server
THINKPHP-ciberseguridad4-Profesor-Elzere.pdf
APMAX_Server_Installation_Checklist2.pdf
Android reversing 101.pdf
Ransomware Hidden Tear
Bash Ransomware
Seguridad Móvil
Seguridad en SIstemas Operativos *Nix
Honey Pots
Seguridad Perimetral
Correlacionador de Eventos OSSIM
Forensia en movil
Artefactos linux
MEAN Stack
Backbox Distribución deriva de Ubuntu
Seguridad Base de Datos sql injection v1.0
Presentacion #2 github Aplicaciones Seguras
Protección de Sitios Web con WAF Lógico
Laboratorio 7 mod security - evasive - qos
Lab 3 cifrado criptografia
Hardening en-nix-asegurar-un-ftp-server

Último (20)

PPTX
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
PDF
Maste clas de estructura metálica y arquitectura
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PPTX
Presentación PASANTIAS AuditorioOO..pptx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PPTX
Sesion 1 de microsoft power point - Clase 1
PPT
Que son las redes de computadores y sus partes
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPT
introduccion a las_web en el 2025_mejoras.ppt
PDF
Calidad desde el Docente y la mejora continua .pdf
PPTX
Propuesta BKP servidores con Acronis1.pptx
PDF
Diapositiva proyecto de vida, materia catedra
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PDF
Estrategia de apoyo tecnología miguel angel solis
PPTX
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
RAP01 - TECNICO SISTEMAS TELEINFORMATICOS.pptx
Maste clas de estructura metálica y arquitectura
Power Point Nicolás Carrasco (disertación Roblox).pptx
Presentación PASANTIAS AuditorioOO..pptx
historia_web de la creacion de un navegador_presentacion.pptx
Influencia-del-uso-de-redes-sociales.pdf
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Sesion 1 de microsoft power point - Clase 1
Que son las redes de computadores y sus partes
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
Zarate Quispe Alex aldayir aplicaciones de internet .docx
introduccion a las_web en el 2025_mejoras.ppt
Calidad desde el Docente y la mejora continua .pdf
Propuesta BKP servidores con Acronis1.pptx
Diapositiva proyecto de vida, materia catedra
Estrategia de apoyo tecnología grado 9-3
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
Estrategia de apoyo tecnología miguel angel solis
RAP02 - TECNICO SISTEMAS TELEINFORMATICOS.pptx

Hardening Telnet ssh final

  • 1. TELNET y SSH Preparado por: José Moreno Tópicos Especiales 1
  • 2. Agenda Protocolo TELNET ● Caracteristicas. ● Uso. ● Seguridad. ● Funcionamiento. ● Estructura de comandos interno. Protocolo SSH ● Características. ● Uso. ● Seguridad y funcionamiento. ● Autenticación de usuarios. ● Configuración de OpenSSH.
  • 3. TELNET Características ● Viene de la frase TELetype NETwork, y fue producto de los RFC (request for comment) de Jon Postel y Joyce Reynolds. ● El RFC 15 extendido en el RFC 854 describe la especificación del protocolo mientras que el RFC 855 describe las especificaciones opcionales. ● Es un protocolo del tipo TCP/IP. ● El puerto por defecto es el 23 y envía datos en formatos ASCII codificados en 8 bits. ● Sigue el modelo Cliente / Servidor. Uso ● Permite conectarse a otra máquina o terminal para manejarla remotamente como si se estuviera sentado frente a ella. Además permite la conexión con aplicaciones de Internet. ● Para que se de la conexión la computadora a la que se quiere conectar debe contar con una aplicación que reciba y gestione las conexiones, ya que permite abrir simultáneamente y trabajar en el mismo ordenador desde diferentes usuarios. ● Esta disponible en todos los sistemas operativos y permite la interoperabilidad en redes. ● Tiene un fuerte uso en los sistemas UNIX – LINUX y equipos de comunicaciones (configuración de routers).
  • 4. TELNET Seguridad ● Telnet, por defecto, no cifra ninguno de los datos enviados sobre la conexión (contraseñas inclusive). Todo viaja por la red como texto plano sin cifrar. ● Cualquiera que espíe el tráfico de la red mediante un sniffer, puede obtener los nombres de usuario y contraseñas, y así acceder él también a las máquinas. Funcionamiento ● Protocolo basado en las siguientes ideas: 1. El concepto de NVT(Network Virtual Terminal). Una NVT es un dispositivo imaginario que posee una estructura básica común a una amplia gama de terminales reales. Cada host mapea las características de su propia terminal sobre las de su correspondiente NVT, y asume todos los demás hosts harán lo mismo. 2. Una perspectiva simétrica de las terminales y los procesos. 3. Negociación de las opciones de la terminal. El protocolo TELNET usa el principio de opciones negociadas, ya que muchos host pueden desear suministrar servicios adicionales, más allá de los disponibles en la NVT. Se pueden negociar diversas opciones.
  • 5. TELNET Estructura de comandos internos El cliente y el servidor utilizan una serie de convenciones para establecer las características operacionales de su conexión TELNET a través de los mecanismos "DO, DON'T, WILL, WON'T" ("hazlo, no lo hagas, lo harás, no lo harás"). La comunicación entre cliente y servidor es manejada por comandos internos, que no son accesibles a los usuarios. Todos los comandos internos de TELNET consisten en secuencias de 2 o 3 bytes, dependiendo del tipo de comando. El carácter IAC("Interpret As Command"; Interpretar Como Comando) es seguido de un código de comando. Si este comando trata con opciones de negociación, el comando tendrá un tercer byte para mostrar el código asociado a la opción indicada.
  • 6. SSH Características ● En 1995, Tatu Ylönen fundó la SSH Communications Security Corporation, la cual desarrolló el protocolo. ● Elimina la transmisión de información comos contraseñas en texto plano que era regularmente víctimas de ataques de análisis de paquetes. ● Es un protocolo del tipo TCP/IP (IPv4 ó Ipv6). ● Sigue el modelo cliente/servidor. ● Utiliza técnicas de cifrado que hacen que la información que viaja por el medio de comunicación vaya de manera no legible. ● El puerto por defecto es el 22. Uso ● Se suele utilizar para iniciar sesión en una máquina remota y ejecutar comandos. ● Es compatible con un tunneling, el reenvío de puertos TCP y conexiones X11. ● Se puede transferir archivos mediante la transferencia de archivos asociado SSH (SFTP) o protocolos de copia segura (SCP). ● Está presente en la mayoría de los sistemas operativos modernos. Incluyendo Mac OS X, la mayoría de las distribuciones de GNU / Linux, OpenBSD, FreeBSD, NetBSD, Solaris y OpenVMS. Cabe destacar que Windows es uno de los pocos sistemas operativos modernos escritorio / servidor que no incluye SSH por defecto. ● Sin embargo, en Windows se puede usar SSH como cliente con aplicaciones como WinSCP para transferencia, copia, borrado de archivos. Para usar Windows como servidor SSH se usan aplicaciones como Cygwin.
  • 7. SSH Seguridad y funcionamiento ● El cliente abre una conexión TCP al puerto 22 del host servidor. ● El cliente y el servidor acuerdan la versión del protocolo a utilizar, de acuerdo a su configuración y capacidades. ● El servidor posee un par de claves pública/privada de RSA (llamadas “claves de host”). El servidor envía al cliente su clave pública. ● El cliente compara la clave pública de host recibida con la que tiene almacenada, para verificar su autenticidad. Si no la conociera previamente, pide confirmación al usuario para aceptarla como válida. ● El cliente genera una clave de sesión aleatoria y selecciona un algoritmo de cifrado asimétrico. ● El cliente envía un mensaje conteniendo la clave de sesión y el algoritmo seleccionado, cifrado con la clave pública de host del servidor usando el algoritmos RSA. ● En adelante, para el resto de la comunicación se utilizará el algoritmo de cifrado asimétrico seleccionado y clave compartida de sesión. ● Luego se realiza la autenticación del usuario. Aquí pueden usarse distintos mecanismos. ● Finalmente se inicia la sesión, por lo general, interactiva. En este momento la sesión se mantiene cifrada por lo que provee un canal seguro de paso de la información.
  • 8. SSH Autenticación de usuarios 1 - Autenticación con contraseña Es el método más simple (y común) de autenticación. El cliente solicita al usuario el ingreso de una contraseña (password) y la misma es enviada al servidor, el cuál validará la misma utilizando los mecanismos configurados en el sistema (generalmente, utilizará la autenticación del sistema Unix para validar la contraseña contra el contenido del archivo “/etc/shadow”, de la misma manera que lo hace el login). Las desventajas de este sistema son varias: El usuario debe tipear su contraseña cada vez que se conecta al servidor. La contraseña del usuario es enviada hacia el servidor. 2 - Autenticación con clave pública Para poder llevarse a cabo, el usuario debe tener un par de claves pública/privada, y la clave pública debe estar almacenada en el servidor. Luego de 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. Las ventajas de este método respecto del anterior son: El usuario no debe tipear (ni recordar) ninguna contraseña. Ninguna contraseña secreta (en este caso, la clave privada del usuario) es enviada al servidor.
  • 9. SSH Configuración de OpenSSH Se trata de la configuración de archivos que se encuentran alojados normalmente en el directorio “/etc/ssh/”. Archivo sshd_config En este archivo se describe la configuración del servidor SSH. Las opciones más relevantes: Port: Esta opción permite especificar el puerto TCP que utilizará el servidor. El valor usual es 22. Protocol: Versión del protocolo a utilizar. Regularmente se usa el valor 2. HostKey: Clave privada de RSA o DSA del host. Normalmente las claves de host son generadas en el momento de la instalación de OpenSSH, y el valor de esta opción es /etc/ssh/ssh_host_rsa_key. PubkeyAuthentication: Si el valor de esta opción es yes, entonces se permite la autenticación de usuarios mediante clave pública. AuthorizedKeysFile: Mediante esta opción se indica al servidor en donde están almacenadas las claves públicas de los usuarios. El valor por defecto es %h/.ssh/authorized_keys, e indica que deben buscarse en el archivo authorized_keys, del directorio .ssh dentro del directorio home de cada usuario. PasswordAuthentication: Si el valor de esta opción es yes, se permite la autenticación de usuarios mediante contraseñas. X11Forwarding: Si el valor de esta opción es yes, se habilita el reenvío de X11 a través de la conexión SSH.
  • 10. SSH Archivo ssh_config En este archivo se describe la configuración del cliente SSH. Las opciones más importantes son: Host: Esta opción actúa como un divisor de sección. Puede repetirse varias veces en el archivo de configuración. Su valor, que puede ser una lista de patrones, determina que las opciones subsiguientes sean aplicadas a las conexiones realizadas a los hosts en cuestión. El valor * significa “todos los hosts”. Port: Es el puerto de TCP que utiliza el servidor (normalmente, 22). Protocol: Es la versión del protocolo utilizada (normalmente 2,1, pero se recomienda solamente 2) . PubkeyAuthentication: Autenticación mediante clave pública (se recomienda yes). IdentityFile: Archivo que contiene la clave pública (en caso de usar RSA, lo usual es ~/.ssh/id_rsa). PasswordAuthentication: Autenticación mediante contraseñas (yes o no). StrictHostKeyChecking: Define que hará el cliente al conectarse a un host del cual no se dispone de su clave pública. El valor no hace que sea rechazara la clave del servidor (y por lo tanto, se aborte la conexión), el valor yes hace que se acepte automáticamente la clave recibida, y el valor ask hace que se pida confirmación al usuario. Ciphers: Algoritmos de cifrado simétrico soportados para su uso durante la sesión. ForwardX11: Reenvío de aplicaciones X11 (los posibles valores son yes o no).
  • 11. SSH En la Ruta “/etc/ssh” vemos todos los archivos de configuración
  • 12. SSH Archivo de configuración “sshd_config” encontramos la configuración del server
  • 13. SSH Archivo de configuración “ssh_config” encontramos la configuración del server
  • 14. SSH Keys Generación de Llave Públia SSH Claves SSH son una manera de identificar las computadoras de confianza, sin la participación de las contraseñas. Los pasos a continuación le guiará a través de la generación de una clave SSH y añadir la clave pública El comando ssh-keygen se utiliza para generar la llave pública -b: Significa la cantidad de bytes de longitud de la llave -t rsa indica el tipo de cifrado a utilizar
  • 15. SSH Keys Generación de Llave Públia SSH Damos Enter para generar la llave pública, se nos preguntará el archivo donde se guardará la llave pr defecto es la ruta: “/root/.ssh/id_rsa”
  • 16. SSH Keys Generación de Llave Públia SSH Podemos ver la llave generada en la siguiente imagen:
  • 17. SSH Keys Generación de Llave Públia SSH La llave pública la podemos ver abriendo el archivo donde lo generamos Vi /root/.ssh/id_rsa
  • 18. SSH Keys Generación de Llave Públia SSH Por ultimo copiamos la llave pública de nuestro cliente al servidor con el siguiente comando: ssh-copy-id root@192.168.1.100 El ip es el ip del servidor y se nos pedirá la contraseña de acceso por ultima vez
  • 19. SSH Keys Generación de Llave Públia SSH En la siguiente conexión al servidor nos pedirá la frase clave que intoducimos con anterioridad evitando el estar introduciendo la contraseña del servidor
  • 20. Bibliografía ● Telnet, Consultado el 20 de Junio de 2015. Disponible en: www.ecured.cu ● Capa de Aplicación, Consultado el 20 de Junio de 2015. Disponible en: http://fundamentos- redes.wikispaces.com ● Security Hardening, Consultado el 20 de Junio de 2015. Disponible en: http://blog.mattbrock.co.uk ● Protect SSH Logins with SSH & MOTD Banner Messages, Consultado el 20 de Junio de 2015. Disponible en: http://www.tecmint.com ● Top 20 OpenSSH Server Best Security Practices, Consultado el 20 de Junio de 2015. Disponible en: http://www.cyberciti.biz ● Para qué se utiliza Telnet, Consultado el 20 de Junio de 2015. Disponible en: http://culturacion.com ● Configura conexiones SSH sin password en solo 3 pasos, Consultado el 20 de Junio de 2015. Disponible en: http://blog.desdelinux.net ● Protocolo TELNET, consultado el 24 de junio de 2015. Disponible en: http://infohistoriamorato.blogspot.com/2014/10/protocolo-telnet.html ● Introducción a SSH, consultado el 24 de junio de 2015. Disponible en: http://es.tldp.org/Tutoriales/doc-ssh-intro/introduccion_ssh-0.2.pdf (Escrito porÑ JavierSmaldone (http://www.smaldone.com.ar)Versión 0.2-20 de enero de 2004).