¿Cuál es la diferencia entre SSH e IPsec?

14

Parece que hay un cifrado similar en ambos. Ambos usan asimétrico (RSA, curvas elípticas, etc.) para el intercambio de claves inicial, luego pasan a un protocolo simétrico (AES, Blowfish, etc.). Me pregunto si alguien aquí podría tener un momento para explicar la diferencia entre el 2 y cómo se vería diferente al usuario (velocidad, aplicaciones en las que están presentes, etc.).

    
pregunta stackuser 13.11.2013 - 23:02
fuente

3 respuestas

20
La respuesta de

@ graham-hill es correcta en general, pero corta y pediátricamente incorrecta, por lo que me extenderé.

SSH se encuentra en el nivel de la aplicación; puede considerarlo como SSH / TCP / IP o SSH-over-TCP-over-IP. TCP es la capa de transporte en esta mezcla, IP es la capa de Internet. Otros protocolos de "Aplicación" incluyen SMTP, Telnet, FTP, HTTP / HTTPS ...

IPSec se implementa utilizando dos Transportes separados: ESP ( Encapsulating Security Payload para cifrado) y AH ( Authentication Header para autenticación e integridad). Entonces, digamos que se está realizando una conexión Telnet a través de IPSec. En general, puede visualizarlo como Telnet / TCP / ESP / AH / IP.

(Solo para hacer las cosas interesantes, IPSec tiene dos modos: Transporte (descrito arriba) y Túnel. En el modo túnel, la capa IP se encapsula dentro de IPSec y luego se transmite a través de otra capa IP (generalmente). con Telnet / TCP / IP / ESP / AH / IP!)

Entonces, preguntas "explica la diferencia entre los dos" -

SSH es una aplicación e IPSec es un transporte. Por lo tanto, SSH transporta "un" tipo de tráfico, y IPSec puede transportar "cualquier" tipo de tráfico TCP o UDP. * Esto tiene implicaciones que se describen a continuación:

Usted pregunta, "cómo se verían de manera diferente al usuario" -

Debido a que IPSec es la capa de transporte, debería ser invisible para el usuario, al igual que la capa TCP / IP es invisible para el usuario de un navegador web. De hecho, si se usa IPSec, entonces es invisible para el escritor del navegador web y el servidor web; no tienen que preocuparse por configurar o no configurar IPSec; Ese es el trabajo del administrador del sistema. Contraste esto con HTTPS, donde el servidor necesita una clave privada y un certificado debidamente habilitado, bibliotecas SSL compiladas y código escrito; el navegador del cliente tiene bibliotecas SSL compiladas y escritas con código y tiene la clave pública de CA apropiada o grita en voz alta (entrometiéndose en la aplicación) si no está allí.

Cuando se configura IPSec, ya que actúa en la capa de transporte, puede admitir múltiples aplicaciones sin ningún problema. Una vez que haya configurado IPSec entre dos sistemas, es una diferencia muy pequeña entre trabajar con 1 aplicación o 50 aplicaciones. Del mismo modo, IPSec hace un envoltorio fácil para protocolos que usan múltiples conexiones como FTP (control y datos pueden ser conexiones separadas) o H.323 (no solo conexiones múltiples, sino también múltiples Transportes (TCP y UDP)).

Sin embargo, desde el punto de vista del administrador, IPSec es más pesado que SSH o SSL. Requiere más configuración ya que trabaja su magia en el nivel del sistema en lugar del nivel de la aplicación. Cada relación (host-to-host, host-to-net o net-to-net) debe configurarse individualmente. Por otro lado, SSH y SSL son generalmente oportunistas ; al utilizar un modelo PKI (CA) o web de confianza, hacen que sea razonablemente fácil confiar en el otro extremo de la conexión sin mucha configuración antes de hora. IPSec puede ser oportunista, pero generalmente no se usa de esa manera, en parte porque la configuración de una conexión IPSec a menudo requiere prueba y error. La interoperabilidad entre diferentes proveedores (Linux, Checkpoint, Cisco, Juniper, etc.) no es perfecta; la configuración utilizada para hacer que Cisco < - > Checkpoint sea probablemente diferente a la configuración utilizada para hacer Cisco < - > Juniper. Contrasta esto con SSH: al servidor OpenSSH realmente no le importa si está ejecutando Putty, OpenSSH (* nix o Cygwin) SSH, o Tectia SSH.

En lo que respecta a la velocidad, no tengo buenos números para darte, y parte de la respuesta es "depende": si IPSec está involucrado, es probable que el procesamiento real de IPSec se descargue a un firewall. o concentrador VPN con hardware rápido dedicado, lo que lo hace más rápido que SSH, que casi siempre se encripta utilizando la misma CPU de propósito general que también ejecuta el sistema operativo y las aplicaciones del servidor. Así que no es realmente manzanas con manzanas; Apuesto a que podrías encontrar casos de uso donde cualquiera de las dos opciones es más rápida.

* Esto no es estrictamente verdadero. SSH admite una aplicación de terminal, una aplicación de copia de archivos / ftp y una aplicación de tunelización TCP. Pero efectivamente, es solo una aplicación realmente rica , no un transporte, su tunelización no es un reemplazo del transporte IP.

    
respondido por el gowenfawr 14.11.2013 - 06:33
fuente
2

SSH está en el nivel de aplicación de TCP / IP, mientras que IPSEC está en el nivel de transporte.

    
respondido por el Graham Hill 14.11.2013 - 00:22
fuente
0

Puede haber una gran diferencia cuando se ejecutan conexiones TCP a través de un túnel basado en TCP como SSH en comparación con un sistema de entrega de paquetes no garantizado como IPsec donde hay una pérdida significativa de paquetes. Consulte enlace para obtener más detalles y un ejemplo del mundo real.

Nota al margen: he ejecutado TCP a través de SSH durante algunas décadas porque es conveniente y no he experimentado el problema, cambiaré a una solución que maneje mejor la pérdida de paquetes, pero es más difícil de configurar la solución solo si necesita.

    
respondido por el iheggie 29.08.2017 - 12:02
fuente

Lea otras preguntas en las etiquetas