Балансировка нагрузки WCF STS и сертификаты - PullRequest
4 голосов
/ 04 марта 2011

Интересно, что является лучшим способом развертывания пользовательской службы WCF - Security Token Service (STS) в среде балансировки нагрузки, которая использует знаки и шифрует токен?

Мы используем Cirtix NetScaler для обработки нагрузкибалансировка и SSL-завершение (т. е. сертификат установлен только на сервере NetScaler).Было указано, что служба STS подписывает и шифрует токен с помощью параметров приложения SigningCertificateName и EncryptionCertificateName.Однако текущая конфигурация веб-сервера не имеет локального сертификата, установленного в его хранилище сертификации.

Итак, мои вопросы: -

  • Нужно ли нам беспокоиться о подписании и шифровании токена?если он передается по SSL?
  • Должны ли мы установить сертификат на каждом веб-сервере или мы можем использовать балансировщик нагрузки?
  • Можем ли мы использовать один и тот же сертификат на каждом веб-сервере или нам нужнокупить сертификат для каждого веб-сервера?

1 Ответ

4 голосов
/ 04 марта 2011

Служба STS, которая не подписывает свои токены, используется не очень часто: без подписи ни одна проверяющая сторона не сможет отличить действительный токен, выданный службой STS, от токена, подделанного кем-то со злым умыслом.

Сертификат, который вы устанавливаете для поддержки SSL, обычно отличается от сертификата подписи службы STS. Последний идентифицирует Сервис, а не веб-сервер. Итак, обязательно продолжайте установку SSL-сертификата только на балансировщик нагрузки. Но вам понадобится еще один сертификат, представляющий идентификатор Службы, установленный (с его закрытым ключом) на каждом компьютере, на котором размещается служба, для использования в качестве SigningCertificate. Это должен быть один и тот же сертификат на каждом сервере (это один и тот же Сервис).

Однако обычно вам не нужно покупать такой сертификат: вы можете выдать свой собственный - вам просто нужно убедиться, что каждая потенциальная проверяющая сторона настроена на распознавание сертификата в качестве доверенного STS, а также доверяет корневому издателю сертификата (который будет либо самим сертификатом, если это самозаверяющий сертификат, либо вашим корневым сертификатом, если вы использовали сервер сертификатов для его выдачи).

...