У меня есть 3 приложения ASP.NET-Web.Api, которые обмениваются данными по https:
Мастер общается с Slave1 и Slave2.
Slave1 и Slave2 связываются с Master.
У меня уже есть сертификаты для SSL.
Однако я хочу убедиться, что только Slave1 и Slave2 могут разговаривать с Master и наоборот. Какие сертификаты мне нужны для обеспечения этого доверия?
Правильно ли я полагаю, что мне нужно 3 сертификата для каждого приложения?
И последнее, но не менее важное: обрабатывает ли IIS доверительные отношения или мне нужно что-то реализовать в моем коде?
Вы хотите Проверка подлинности сертификата клиента, при этом используется SSL для аутентификации подчиненных по отношению к мастеру и наоборот. Я знаю, что это можно делать между браузерами и веб-серверами, но я не уверен, как это можно сделать между серверами. Но это больше вопрос Serverfault чем Security.SE, поэтому я хотел бы спросить этих ребят.
Другой вариант - использовать VPN между вашими серверами вместо использования SSL-аутентификации через Интернет.
Если сообщение уже зашифровано, вы можете использовать Ограничения по IP-адресу и домену модуль в IIS 7.x
Просто установите компонент из диспетчера сервера, если он еще не присутствует.
Чтобы добавить ограничения IP на веб-сайт:
Вуаля. Теперь будут обслуживаться только запросы с разрешенных IP-адресов, все остальные получат HTTP 403 «Запрещено».