Как да защитим комуникацията в приложение сървър-сървър?

Имам базирано на микроуслуги уеб приложение. Микроуслугите комуникират помежду си чрез изложен 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