Каковы последствия безопасности для InstallSecurityContext = "False" иgotiateServiceCredential = "False" - PullRequest
0 голосов
/ 25 октября 2018

Мы установили establishSecurityContext="False" и negotiateServiceCredential="False" на wsHttpBinding.В настройке, где каждый вызов веб-службы включает в себя подключение и отключение, это уменьшает количество запросов на вызов веб-службы с 5 до 1, обеспечивая значительное повышение производительности.

Клиент настроен на получение информации о сервереидентификация через узел идентификации:

<endpoint address="..." behaviorConfiguration="..." binding="wsHttpBinding" bindingConfiguration="..." contract="..." name="...">
  <identity>
    <certificate encodedValue="..." />
  </identity>
</endpoint>

Каковы последствия безопасности этих настроек?Они как-нибудь снижают безопасность?

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Описанный сценарий фактически не меняет безопасность соединения, установленного между клиентом и сервером.Он просто меняет способ определения безопасности и учетные данные.

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

negotiateServiceCredential указывает, можно ли согласовывать учетные данные, которые будут использоваться, в отличие от указанных явно.

Общая документация по фреймворку для этого: здесь .

В условиях, когда клиент устанавливает и удаляет соединения для каждого вызова и где известно, что клиент и сервер могутудовлетворяют указанным требованиям (т. е. нет необходимости в согласовании), параметры, описанные в OP, являются разумным способом уменьшить накладные расходы на установление соединения без изменения политик безопасности, которые фактически применяются к соединениям.

0 голосов
/ 01 ноября 2018

NegotiateServiceCredential, true, если учетные данные службы получены в процессе согласования;иначе ложно.Значение по умолчанию - true.
https://docs.microsoft.com/en-us/dotnet/api/system.servicemodel.messagesecurityoverhttp.negotiateservicecredential?redirectedfrom=MSDN&view=netframework-4.7.2#System_ServiceModel_MessageSecurityOverHttp_NegotiateServiceCredential
EstablishSecurityContext.True: если безопасный разговор установлен с использованием SecurityContextToken.в противном случае - false, по умолчанию - false.
https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-2.0/aa715023(v=msdn.10)

...