У нас есть несколько служб WCF, размещенных в приложении asp.net на IIS. Мы получаем все больше и больше услуг, используемых для внутренней связи (между нашими собственными системами, где клиент может находиться на том же сервере или на других серверах). Теперь нам нужно каким-то образом обезопасить эти сервисы.
Короче говоря: цель состоит в том, чтобы не дать другим людям звонить на наши услуги. Только приложения под нашим контролем должны иметь возможность общаться с этими службами
Наша текущая мысль:
У нас уже включен SSL, и у нас есть публичный сертификат для сервера. Наш текущий план состоит в том, чтобы включить защиту с помощью: clientCredentialType = "UserName", где у нас есть пользовательский валидатор, который просто проверяет имя пользователя / пароль, которые мы определили (очень похоже на ключ API).
Вопрос № 1: Есть ли лучший способ? Сценарий звучит просто, и я чувствую, что нам не хватает очевидного решения
Вопрос № 2: Если мы сделаем это таким образом, будет ли у нас достаточно SSL-сертификата или мы должны создать какие-либо другие сертификаты?
Некоторый контекст: .net 4, IIS 7, у нас есть доступ к серверу. Клиенты / сервисы могут быть расположены на разных серверах.
Обновление 1: Клиент может находиться в совершенно другой сети. У нас есть другие системы, размещенные в других местах, которые также должны иметь возможность вызывать эти службы.