1. INSTITUTO POLITÉCNICO NACIONAL
Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y
Administrativas
TEMA:
PROTOCOLO SSH
INTEGRANTES:
●
●
●
●
●
Alvarez Garcia Raúl Alexis
Castro Francisco Jocelyn *
Hernández López Luis Jesús
Reyes Figueroa Juan Jorge
Serrano Silva Yosimar Oswaldo
* Coordinador
FECHA: 08/Noviembre/2013
INTRODUCCIÓN
2. Actualmente en la sociedad donde vivimos, las Redes de Computadoras son los medios
digitales más usados en todos los ámbitos para la transferencia de información. Una
generalidad es que estos medios se encuentran en redes públicas, por lo cual están
expuestas a amenazas entre las cuales las más comunes son las intervenciones que se
pueden presentar de una u otra forma.
Un ejemplo de esto es cuando se realiza una conexión a un servidor remoto usando por
ejemplo el comando telnet o ftp, el login(usuario) y password(contraseña) son enviados en la
red de forma clara, lo cual representa un gran riesgo si llega a existir sobre la red un
programa que capture la información, ocasionado que alguien ajeno a la comunicación,
pudiera obtener tanto el login como el password y posteriormente pueda irrumpir en el
servidor con esta información.
Son este tipo de amenazas y vulnerabilidades que tienen los sistemas de información, las
que han llevado al diseño de herramientas que permitan evitar estas situaciones siendo el
caso de Secure Shell (ssh), desarrollado por Tatu Ylonen en la Universidad Tecnológica de
Helsinki en Finlandia y OpenSSH, que nace del proyecto de un sistema operativo orientado
con la filosofía de la seguridad en mente como lo es OpenBSD.
Así que en pocas palabras en el siguiente trabajo hablaremos de los temas principales
referentes a el protocolo SSH.
ÍNDICE
PROTOCOLO SSH
HISTORIA
3. VERSIONES DE SSH
CARACTERÍSTICAS
SECUENCIA DE EVENTOS DE UNA CONEXIÓN SSH
¿POR QUÉ USAR SSH?
COMANDOS DE NAVEGACIÓN
Listado de archivos
Crear, editar o eliminar archivos y directorios
Compresión y descompresión de archivos
Copiar archivos o directorios
Copiar un archivo
Clonar un un directorio
Copiar todo el contenido de un directorio en otro directorio que ya existe
Otros comandos SSH
¿ DE QUE NOS PREVIENE SECURE SHELL?
BIBLIOGRAFÍA
CONCLUSIONES
PROTOCOLO SSH
Es un protocolo que facilita las comunicaciones seguras entre dos sistemas usando una
arquitectura cliente/servidor y que permite a los usuarios conectarse a un host remotamente.
A diferencia de otros protocolos de comunicación remota tales como FTP o Telnet, SSH
encripta la sesión de conexión, haciendo imposible que alguien pueda obtener contraseñas
no encriptadas.
4. SSH está diseñado para reemplazar los métodos más viejos y menos seguros para
registrarse remotamente en otro sistema a través de la shell de comando, tales como telnet o
rsh. Un programa relacionado, el scp, reemplaza otros programas diseñados para copiar
archivos entre hosts como rcp. Ya que estas aplicaciones antiguas no encripta contraseñas
entre el cliente y el servidor, se recomienda evitarlas mientras sea posible.
El uso de métodos seguros para registrarse remotamente a otros sistemas reduce los riesgos
de seguridad tanto para el sistema cliente como para el sistema remoto.
HISTORIA
La primera versión del protocolo y el programa eran libres y los creó un finlandés llamado
Tatu Ylönen, pero su licencia fue cambiando y terminó apareciendo la compañía SSH
Communications Security, que lo ofrecía gratuitamente para uso doméstico y académico,
pero exigía el pago a otras empresas.
En 1999 se empezó a escribir una versión que se convertiría en la implementación libre por
excelencia, la de OpenBSD, llamada OpenSSH. El objetivo de la versión 1 del protocolo
(SSH1), propuesta en 1995, era ofrecer una alternativa a las sesiones interactivas tales como
Telnet, rsh, rlogin y rexec. Sin embargo, este protocolo tenía un punto débil que permitía a
los hackers introducir datos en los flujos cifrados.
Por este motivo, en 1997 se propuso la versión 2 del protocolo (SSH2) como un anteproyecto
del IETF. Una cierta serie de eventos ayuda a proteger la integridad de una comunicación
SSH entre dos hosts.
VERSIONES DE SSH
Existen dos variedades en la actualidad:
1. SSH v.1: vulnerable a un agujero de seguridad que permite, a un intruso, insertar
datos en la corriente de comunicación
2. SSH v.2: carece de dicho agujero de seguridad (OpenSSH)
CARACTERÍSTICAS
5. El protocolo SSH proporciona los siguientes tipos de protección:
● Encripta la sesión de registro imposibilitando que alguien pueda obtener contraseñas
no encriptadas.
● El cliente puede verificar que se está conectando al servidor al que se conectó
inicialmente.
● Todos los datos enviados y recibidos durante la conexión así como la información de
autenticación del cliente se transfieren por medio de encriptación de 128 bits, lo cual
los hacen extremadamente difícil de descifrar y leer.
● El servidor SSH puede convertirse en un conducto para convertir en seguros los
protocolos inseguros mediante el uso de una técnica llamada reenvío por puerto,
como por ejemplo POP, incrementando la seguridad del sistema en general y de los
datos.
● Muchas aplicaciones SSH cliente están disponibles para casi todos los principales
sistemas operativos en uso hoy día.
Ya que el protocolo SSH encripta todo lo que envía y recibe, se puede usar para asegurar
protocolos inseguros. El servidor SSH puede convertirse en un conducto para convertir en
seguros los protocolos inseguros mediante el uso de una técnica llamada reenvío por puerto,
como por ejemplo POP, incrementando la seguridad del sistema en general y de los datos.
SECUENCIA DE EVENTOS DE UNA CONEXIÓN SSH
El funcionamiento de este protocolo se puede resumir en los siguientes pasos que os
dej
:
22 del servicio. Este puerto es el que
utiliza por defecto el protocolo, aunque como veremos en siguientes puntos, se puede
modificar.
2. El cliente y el servidor se ponen de
.
6. .
4. Cuando el cliente recibe la clave enviada por el servidor, la compara con la que tiene
almacenada para verificar su autenticidad. El protocolo SSH exige que el cliente la confirme
la primera vez.
, el cliente ge
or de forma cifrada.
el servidor.
¿POR QUÉ USAR SSH?
Los usuario nefarios tienen a su disposición una variedad de herramientas que les permiten
interceptar y redirigir el tráfico de la red para ganar acceso al sistema. En términos generales,
estas amenazas se pueden catalogar del siguiente modo:
● Intercepción de la comunicación entre dos sistemas — En este escenario, existe un
tercero en algún lugar de la red entre entidades en comunicación que hace una copia
de la información que pasa entre ellas. La parte interceptora puede interceptar y
conservar la información, o puede modificar la información y luego enviarla al
recipiente al cual estaba destinada.
Este ataque se puede montar a través del uso de un paquete sniffer — una utilidad de
red muy común.
● Personificación de un determinado host — Con esta estrategia, un sistema interceptor
finge ser el recipiente a quien está destinado un mensaje. Si funciona la estrategia, el
sistema del usuario no se da cuenta del engaño y continúa la comunicación con el
host incorrectoEsto se produce con técnicas como el envenenamiento del DNS o
spoofing de IP (engaño de direcciones IP).
El envenenamiento del DNS ocurre cuando un intruso entra en el servidor de DNS,
apuntando sistemas hacia hosts intencionalmente duplicados.IP spoofing ocurre
cuando un intruso manda paquetes de red que parecen provenir de hosts de confianza
de la red.
7. Ambas técnicas interceptan información potencialmente confidencial y si esta intercepción se
realiza con propósitos hostiles, el resultado puede ser catastrófico.
Si se utiliza SSH para inicios de sesión de shell remota y para copiar archivos, se pueden
disminuir estas amenazas a la seguridad notablemente. Esto es porque el cliente SSH y el
servidor usan firmas digitales para verificar su identidad. Adicionalmente, toda la
comunicación entre los sistemas cliente y servidor es encriptada. No servirán de nada los
intentos de falsificar la identidad de cualquiera de los dos lados de la comunicación ya que
cada paquete está cifrado por medio de una clave conocida sólo por el sistema local y el
remoto.
COMANDOS DE NAVEGACIÓN
·
·
·
·
·
pwd muestra el path completo del directorio en el que se encuentra
cd cambia de directorio, por ejemplo cd directorio/subdirectorio
cd ~ lleva a su directorio home
cd - lleva al último directorio en el que estuvo
cd .. sube a un directorio superior
Listado de archivos
· ls lista archivos y directorios de un directorio
· ls -al lista archivos y directorios e información sobre los mismos
· ls -aR lista archivos e información incluyendo todos los subdirectorios
· ls -aR | more lista archivos e información incluyendo todos los subdirectorios por pantallas
· ls -alR > resultado.txt lista archivos e información de subdirectorios y lo guarda en un
archivo
· cat resultado.txt mostraría en pantalla el contenido del archivo
· ls *.html lista todos los archivos acabados en .html
· ls -al directorio/subdirectorio/ lista archivos e información de ese subdirectorio
Crear, editar o eliminar archivos y directorios
· pico /home/usuario/public_html/index.html edita el archivo index.html con el editor pico
· touch /home/usuario/public_html/404.html crea el archivo vacio 404.html en ese directorio
· rm archivo.txt elimina archivo.txt
8. · rm -rf directorio/ ¡CUIDADO! elimina el directorio indicado, los subdirectorios y todos sus
archivos
· mkdir descargas Crea un directorio llamado descargas
· rmdir descargas Elimina el directorio llamado descargas
Compresión y descompresión de archivos
· zip archivo.zip /home/usuario/public_html/directorio Comprimir directorio
· unzip archivo.zip Descomprimir archivo.zip
· unzip -v archivo.zip Ver contenido de archivo.zip
Copiar un archivo
cp-a archivo.zip archivocopia.zip
Clonar un un directorio
Supongamos que queremos duplicar el directorio /home/usuario/public_html/img y todo su
contenido.
cd/ home/ usuario/public_html
cp-a img imgcopia
Accedemos al directorio public_html y duplicamos el directorio img y todo su contenido
manteniendo sus respectivos permisos en un nuevo directorio llamado imgcopia. Es
importande destacar que la duplicación funcionará como esperamos si el directorio imgcopia
no existe. Si estuviera creado con anterioridad, se crearía un directorio llamado img dentro
del directorio imgcopia.
Copiar todo el contenido de un directorio en otro directorio que ya existe
Cp-a img/* imgcopia
Partiendo del ejemplo anterior el comando copiará todo el contenido del directorio img en el
directorioimgcopia. Si en el proceso de copia el directorio de origen contiene archivos que ya
existen en el directorio de destino, se solicitará confirmación para sobreescribirlo. Para que el
sistema no pregunte antes de sobreescribir un archivo existente añade la opción -f.
9. cp-af img/*imgcopia
Cabe la posibilidad de que exista un alias para el comando cp para que por defecto se
ejecute con la opción -i (preguntar antes de sobreescribir, alias cp='cp -i') y el comando -f no
surta efecto. En ese caso puedes omitir temporalmente el alias añadiendo una contrabarra o
backslash antes del comando.
cp-af img/* imgcopia
Otros comandos SSH
·
du -sh muestra es espacio total ocupado por el directorio en el que se encuentra
·
du -sh * muestra el espacio ocupado de cada archivo y directorio
¿ DE QUE NOS PREVIENE SECURE SHELL?
Debido a la promiscuidad de la interfaz ethernet, se genera una problemática sobre los
siguientes servicios de red usados en la actualidad, tales como:
● telnet
● ftp
● http
● rsh
● rlogin
● rexec
Ello nos representa un problema importante, ya que, incluso en un entorno de red cerrado,
debe existir como mínimo un medio seguro para poder desplazar archivos, hacer copia de
archivos, establecer permisos, ejecutar archivos, scrips, etc, a través de medios seguros.
Por ello para evitar que determinadas personas capturen el trafico diario de la red, es
conveniente instalar el Secure Shell(SSH).
Entre los ataques más comunes que nos previenen Secure Shell están:
● Sniffering(Captura de trafico)
● IP Spoofing
● MACpoofing
● DNS Spoofing
● Telnet Hickjacking
● ARP Spoofing
● ARP Spoofing
● IP Routing Spoofing
● ICMP Spoofing
10. ¿DONDE OBTENER SECURE SHELL?
5.1.Secure Shell cliente/servidor para sistemas Unix
Sitio FTP de Secure Shell
http://ftp.ssh.com/pub/ssh
Departamento de Seguridad en Cómputo
ftp://ftp.seguridad.unam.mx/Herramientas/Unix/Comunicacion
5.2 OpenSSH Cliente/Servidor para sistemas Unix
Sitio FTP de OpenSSH
http://www.openssh.com/ftp.html
Departamento de Seguridad en Cómputo
ftp://ftp.seguridad.unam.mx/Herramientas/Unix/Comunicacion
5.3 Secure Shell cliente para sistemas Windows
Sitio FTP de Secure Shell (Solo para clientes con protocolo SSH2)
http://ftp.ssh.com/pub/ssh
Departamento de Seguridad en Cómputo
ftp://ftp.seguridad.unam.mx/Herramientas/Windows/Comunicacion
5.4 Secure Shell cliente para sistemas Mac
Departamento de Seguridad en Cómputo
ftp://ftp.seguridad.unam.mx/Herramientas/Mac/Comunicacion/Ssh1
11. BIBLIOGRAFÍA
➔ Red Hat Enterprise Linux 4: Manual de referencia Recuperado
de:http://www.gb.nrao.edu/pubcomputing/redhatELWS4/RH-DOCS/rhel-rg-es-4/chssh.html
➔ Comandos SSH Shell frecuentes Recuperado
de:http://www.aemilius.net/soporte/tutoriales/comandos-ssh-shell-telnetfrecuentes.html
➔ Protocolo SSH Recuperado de:http://sopa.dis.ulpgc.es/iiaso/portal_aso/leclinux/seguridad/ssh/ssh.pdf
➔ Protocolo SSH Recuperado
de:http://ingeniatic.euitt.upm.es/index.php/tecnologias/item/560-protocolo-ssh-secureshell
➔
rarlo para mejorar la seguridad de acceso a
los servidores Linux Recuperado de:http://pressroom.hostalia.com/wpcontent/themes/hostalia_pressroom/images/WP-Hostalia-protocolo-SSH.pdf
CONCLUSIONES
Es claro que en estos tiempos todos manejamos información por medio de internet, es por
eso que en conclusión podemos decir que el protocolo SSH facilita las comunicaciones
seguras entre dos sistemas usando una arquitectura cliente/servidor y que permite a los
usuarios conectarse a un host remotamente, ya que encripta la sesión de conexión haciendo
imposible que alguien pueda obtener contraseñas no encriptadas. Es por todo lo anterior que
debemos utilizar SSh para inicios de sesión de shell remota y para copiar archivos, y con
esto, aunque no eliminaremos en su totalidad a todas las amenazas que nos pueden atacar,
si reduciremos notablemente la probabilidad de ser atacados por estas.