Как мне защитить SOA с помощью межсервисной связи между центрами обработки данных? - PullRequest
2 голосов
/ 12 февраля 2010

Для своего любимого проекта я выбрал архитектуру на основе сервисов (да, умное слово SOA), потому что я могу масштабировать каждый сервис независимо от других, распределять их географически, где они будут использоваться больше, чем другие сервисы и т. Д.

Хитрость в том, что некоторые сервисы должны общаться в частном порядке друг с другом (и публично с конечными пользователями). Эти сервисы будут расположены в отдельных центрах обработки данных без какой-либо встроенной частной трубы между ними (я думаю, что SoftLayer имеет такие).

Меня не волнует, если связь немного медленная из-за шифрования. В основном меня волнуют атаки MITM и подслушивание. То есть я хочу, чтобы службы были уверены, что они общаются с друзьями, а не с каким-то самозванцем.

Варианты такой межсервисной связи, какой я их вижу:

  • HTTP с TLS
  • TCP / IP (некоторый пользовательский протокол) с TLS
  • Spread Toolkit (не уверен насчет шифрования здесь)
  • HTTP или пользовательский TCP / IP через SSH туннель
  • создать VPN между датацентрами
  • клиентские сертификаты? взаимная проверка сертификатов?

Понятно, что у меня в голове много мумбо-гиганта. Помогите! * * 1023

Что ты думаешь? Вы сделали это ранее? Каковы ваши переживания? Что "хорошо работает"?

Если вы выбираете VPN, какую VPN-систему вы порекомендуете? OpenVPN? Как временные сетевые разделы обрабатываются с такими системами VPN? Они автоматически заживают / воссоединяются?

Я полагаю, что решение VPN будет шифровать все соединения, но я просто хочу, чтобы некоторые соединения были зашифрованы. Возможно, SSH-туннель в порядке.

Спасибо за ваш совет.

1 Ответ

2 голосов
/ 17 февраля 2010

Если у вас гораздо больше трафика между вашими дата-центрами, чем просто ваши сервисы, общающиеся друг с другом, то на самом деле не нужно настраивать и поддерживать безопасные транспортные инфраструктуры, такие как VPN или SSH-туннели, которые могут стоить дороже и фактически вызывают больше головной боли ,

Я бы порекомендовал использовать SSL-сокеты , чтобы вам не приходилось беспокоиться об активности защищенных туннелей нижнего уровня. Если вы будете связываться с другим центром обработки данных через службу, это произойдет через безопасное соединение. Возможно, стоит также добавить VPN между дата-центрами, используя что-то вроде туннельного режима IPsec между интернет-шлюзами (маршрутизаторами) в каждом центре обработки данных, чтобы добавить дополнительную безопасность, а также больший контроль над трафиком и адресацией.

...