Какая разница между ssh, stunnel,ipsec и openvpn?

Добрый день!
Пытаюсь понять разницу между ssh, stunnel, ipsec и openvpn.
Задача - сделать зашифрованное соединение между клиентским и серверным приложениями.
Почитал про stunnel и ipsec, но так и не понял зачем они нужны когда есть ssh и openvpn.
Прошу поделиться реальным опытом.

Поправьте если не прав:
1) SSH:
Основное назначение:
Предназначен для интерактивной работы.
Недостатки:
не имеет встроенных средств восстановления соединения в случает обрыва.
Передача данных только на уровне L3
Достоинства:
Уже установлен на любой Linux машине
Большой выбор алгоритмов шифрования
2) OpenVPN:
Основное назначение:
Обеспечение работы шифрованного канала
Недостатки:
Требует больше усилий чем ssh в настройке и установке:
Шифрование только с помощью SSL
Достоинства:
Имеет встроенные средства восстановления соединения в случае обрыва.
Позволяет передавать траффик уровня L2
3) Stunnel
Назначение:
?
Достоинства
?
Недостатки
?
3) IPSec
Назначение:
?
Достоинства
?
Недостатки
?

Заранее спасибо за ценные советы
  • Вопрос задан
  • 5155 просмотров
Решения вопроса 1
vvpoloskin
@vvpoloskin Куратор тега Сетевое администрирование
Инженер связи
В общем случае разница во всех этих сервисах в том, на каком уровне TCP/IP они работают. Отсюда вытекает, что они могут и что позволяют.

  1. Openvpn - работает на уровне L2 и L3, создает новое сетевое соединение, влияет на всю систему, можно пропустить весь трафик, нужны рутовые права.
  2. Stunnel - работает на L4, L5. Это SSL, только для вполне указанных сервисов. Рутовых прав не требует, работает с конкретными портами и протоколами, можно подключаться через проксю.
  3. IPSec - в принципе, как openvpn, только на L3. Чуть тяжелее в конфигурировании, зато более универсален. Можно подключаться с сетевых железок. А вообще, IPSec - целый фрейворк для конфигурирования различных шифрованных соединений
  4. SSH в режиме туннеля - тот же самый openvpn, который не надо настраивать. Он использует те же самые алгоритмы, библиотеки и функции, что и openvpn. Рутовые права, создание новых интерфейсов при этом никто не отменял. Я бы сказал - разовое мероприятие.
  5. SSH в режиме прокси - в принципе, аналог Stunnel. Также прикладной уровень, также SSL, также не нужно рутовых прав, также работает через проксю. Ну и нужно каждый раз заново запускать, тоже разовое мероприятие


В общем одни решения - SSL, другие - VPN. Через SSL общается конкретное приложение с другим конкретным. Через VPN могут общаться целые сети по любым протоколам.

Если интересно, вот здесь более детальное описание, правда на буржуйском.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
IPSec - набор протоколов сетевого уровня, используется при организации VPN соединений.
OpenVPN - реализация технологии VPN.
SSH вообще протокол L7.
все они (и stunnel в том числе) умеют строить туннели - но не приложение-приложение, а ПК-ПК.

Исходя из вопроса "Задача - сделать зашифрованное соединение между клиентским и серверным приложениями."
я бы посоветовал обратить внимание на SSL(must die)/TLS.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы