Как защитить связь в приложении сервер-сервер?

У меня есть веб-приложение на основе микросервисов. Микросервисы взаимодействуют друг с другом через предоставленный REST API. Мне нужно простое, но безопасное решение для защиты связи между моими микросервисами. Я уже использовал протокол JWT для защиты связи между пользователями и службами, но я не могу придумать лучший способ защиты связи сервер-сервер.

Обновление: мне нужен простой способ аутентификации API. Это хороший способ жестко запрограммировать ключ и секрет или поместить их в файлы конфигурации, а затем использовать их для аутентификации в другой конечной точке? Я слышал о протоколе OAuth2, но боюсь, что это перебор для моих нужд. Итак, что может быть простым и безопасным способом аутентификации API?


person hamou92    schedule 13.10.2015    source источник
comment
Застраховаться от чего? Связь между серверами, аутентификация, защита от взлома?   -  person Neville Kuyt    schedule 19.10.2015
comment
Вы правы, я не уточнил. На самом деле мне нужна система аутентификации. Пожалуйста, посмотрите мое обновление. Спасибо   -  person hamou92    schedule 24.10.2015
comment
stackoverflow.com/questions/4817643/ - есть ли что-нибудь, что вы можете добавить к своему вопросу, чтобы объяснить, почему Oauth2 является избыточным?   -  person Neville Kuyt    schedule 26.10.2015
comment
Я не эксперт в механизмах аутентификации, но когда я искал OAuth2, я обнаружил, что это не протокол аутентификации, не протокол авторизации, а протокол делегирования. Я подумал, что, возможно, использование OAuth2 предполагает делегирование аутентификации третьей стороне (Facebook, Twitter, ...) или создание моей собственной. PS: Я проверю вашу ссылку и узнаю больше о OAuth2. Спасибо   -  person hamou92    schedule 26.10.2015


Ответы (1)


Вы должны использовать HTTPS, чтобы обеспечить безопасность связи между серверами. Что касается защиты точка-точка (безопасность транспортного уровня), то это правильный путь.

Но имейте в виду, что это еще не означает, что у вас будет безопасность на уровне сообщений (сквозная безопасность). Посредники (то есть агенты служб или другие службы и приложения) на пути сообщения смогут видеть, что находится в содержимом сообщения при его обработке.

REST полагается на единый контракт, предоставляемый HTTP, поэтому вы не можете использовать расширенные функции WS-Security, как это было бы с SOAP. Функции безопасности SOAP предоставляют более широкий спектр возможностей, поэтому, если безопасность является ключевой в вашем случае, вам обязательно стоит проверить веб-службы SOAP.

Также обратите внимание на этот вопрос. Это актуально для вас, и я уверен, что вы найдете это полезным.

Надеюсь это поможет!

person Plamen Petrov    schedule 19.10.2015