Деловой партнер попросил настроить VPN типа "сеть-сеть", чтобы несколько серверов могли связываться друг с другом по протоколу HTTPS. Я убежден, что в этом нет необходимости и даже нежелательно. Чтобы быть справедливым, это должно быть частью более широкой политики, возможно, даже юридическим требованием. Однако я хотел бы убедить их просто предложить нам (и только нам) IP-адрес и выбранный ими порт для HTTPS.
У кого-нибудь был подобный опыт или приходилось выдвигать чугунный аргумент против VPN?
Позвольте мне немного расшириться - у нас есть веб-сервис, который инициирует соединение с соответствующей службой партнера, используя зашифрованное HTTP-соединение. Соединение использует сертификат клиента для аутентификации. Соединение защищено брандмауэром, поэтому только наши IP-адреса могут связываться со службой. Так зачем нужен VPN?
Я бы сказал, что VPN можно считать глубокой защитой. Посмотрите на все недавние атаки на SSL и HTTPS, которые нарушают связь. Если у вас есть VPN между сайтами, которая не основана на SSL, вы просто добавляете еще один уровень защиты.
Кроме того, если они захотят в будущем расширить прошлый HTTPS (а они, скорее всего, так и сделают), то VPN может это приспособить.
Я бы поддержал предложение Альнитака о взаимной аутентификации с помощью SSL, поэтому для этого потребуются сертификаты с обеих сторон.
Ну, наложение HTTPS поверх VPN кажется немного чрезмерным, учитывая, что он шифрует все дважды, но это всего лишь слегка чрезмерно.
Если вы обоюдно согласны использовать HTTPS без VPN, то, по крайней мере, используйте сертификаты на стороне клиента, а не только пароли. Это было бы более безопасно, чем разрешение подключения любой машины с любого сайта, и предотвратило бы доступ к системе тому, кто случайно узнает пароль.
IMO, VPN является обязательным, когда вы хотите разговаривать между двумя сетями, а HTTPS - «необязательным» (но все же может быть желательным, хотя бы для аргумента «глубокая защита»).
После того, как вы запустите VPN, легко запустить на нем любую службу, которую вы хотите, и вся работа, связанная с безопасностью, уже сделана, включая любые проблемы с NAT, а также скрытие ваших портов извне.
Подумайте о будущем, а что, если вы позже захотите добавить больше услуг? не могли бы вы использовать свой веб-сервис HTTPS? или использовать другой порт и повторить все необходимые проверки безопасности? При наличии VPN сделать это действительно просто.
VPN должен / могу быть намного более безопасным, чем HTTPS, но действительно не должно возникнуть проблем с использованием обоих вместе, если только вы не используете очень медленное соединение. Я бы просто согласился со сложностью, зная, что вы будете водонепроницаемы.
ЕСЛИ это повод выделить для этой цели отдельное устройство VPN, выберите его и используйте его (мне нравится Juniper). Новые требования платные. Не забудьте обзавестись отказоустойчивой парой.
Я бы выбрал VPN - просто убедитесь, что добавленные капитальные / эксплуатационные затраты компании из-за требований не поглощаются незаметно - убедитесь, что это ясно.
На большинство вопросов здесь вы не можете ответить для себя - технически HTTPS должен быть достаточно безопасным, если они все делают правильно, но могут иметь место и другие вещи в отношении администрирования, и кто знает, что делает VPN привлекательной. Возможно, они просто хотят работать в частном IP-пространстве, а не в публичном.
Это вполне может быть нормативным, и в этом случае от них, возможно, потребуют делать все, чего вы не ожидаете.
Либо используйте HTTP через TLS, либо HTTP через IPsec, но не оба одновременно, поскольку это накладные расходы. Ни TLS, ни IPsec pipe не защищают полностью. Канал IPsec разрывается на межсетевом экране пограничной маршрутизации, а канал TLS разрывается где-то внутри зоны DMZ. Чтобы повысить безопасность вызова веб-службы, вам необходимо добавить шифрование и аутентификацию на уровне полезной нагрузки (приложения). Проблема с HTTPS заключается в том, что пользователь должен доверять HTTPS-соединению с веб-сайтом тогда и только тогда, когда выполняются все следующие условия: пользователь верит, что программное обеспечение браузера правильно реализует HTTPS с правильно предварительно установленными центрами сертификации. Пользователь доверяет центру сертификации ручаться только за легитимные веб-сайты. Веб-сайт предоставляет действующий сертификат, что означает, что он был подписан доверенным центром. Сертификат правильно идентифицирует веб-сайт. Либо промежуточные переходы в Интернете заслуживают доверия, либо пользователь верит, что уровень шифрования протокола (TLS / SSL) достаточно защищен от перехватчиков.