Поделиться через


<Элемент localServiceSettings>

Задает параметры безопасности локальной службы для этой привязки.

<Конфигурации>
  <system.serviceModel>
    <Привязки>
      <Custombinding>
        <Привязки>
          <Безопасности>
            <localServiceSettings>

Синтаксис

<security>
  <localServiceSettings detectReplays="Boolean"
                        inactivityTimeout="TimeSpan"
                        issuedCookieLifeTime="TimeSpan"
                        maxCachedCookies="Integer"
                        maxClockSkew="TimeSpan"
                        maxPendingSessions="Integer"
                        maxStatefulNegotiations="Integer"
                        negotiationTimeout="TimeSpan"
                        reconnectTransportOnFailure="Boolean"
                        replayCacheSize="Integer"
                        replayWindow="TimeSpan"
                        sessionKeyRenewalInterval="TimeSpan"
                        sessionKeyRolloverInterval="TimeSpan"
                        timestampValidityDuration="TimeSpan" />
</security>

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут Описание
detectReplays Логическое значение, показывающее, будут ли атаки с повторением обнаружены и ликвидированы на канале автоматически. Значение по умолчанию — false.
inactivityTimeout Положительный результат TimeSpan , указывающий продолжительность бездействия, которую ожидает канал, прежде чем истечет время ожидания. Значение по умолчанию — "01:00:00".
issuedCookieLifeTime Значение типа TimeSpan, которое задает время существования для всех новых файлов безопасности cookie. Файлы cookie, время существования который превышает заданное время, используются повторно и снова должны быть согласованы. Значение по умолчанию - 10:00:00.
maxCachedCookies Положительное целое число, указывающее максимальное количество файлов cookie, которые могут быть кэшированы. Значение по умолчанию — 1000.
maxClockSkew Значение типа TimeSpan, указывающее максимальный разброс времени между системными часами взаимодействующих сторон. Значение по умолчанию - 00:05:00.

Если задано значение по умолчанию, получатель принимает сообщения с отметками времени отправки, которое на пять минут раньше или позже времени получения сообщения. Сообщения, которые не прошли проверку времени отправки, отклоняются. Данная настройка используется в сочетании с атрибутом replayWindow.
maxPendingSessions Положительное целое число, указывающее максимальное число отложенных сеансов безопасности, поддерживаемых службой. При достижении указанного предела все новые клиенты получают сообщения об ошибках SOAP. Значение по умолчанию ― 1000.
maxStatefulNegotiations Положительное целое число, указывающее количество одновременно выполняемых согласований режима безопасности. Сеансы согласования сверх заданного предела помещаются в очередь и могут быть завершены, только когда число выполняемых согласований опускается ниже заданного предела. Значение по умолчанию — 1024.
negotiationTimeout Значение типа TimeSpan, которое указывает время существования политики безопасности, используемой каналом. По истечении заданного времени канал согласовывает с клиентом новую политику безопасности. Значение по умолчанию - 00:02:00.
reconnectTransportOnFailure Логическое значение, указывающее, будет ли после транспортных сбоев выполняться попытка восстановления подключений, использующих режим обмена сообщениями WS-Reliable. По умолчанию используется значение true, что означает бесконечное число попыток повторного подключения. Цикл нарушается при возникновении тайм-аута бездействия, в результате чего канал вызывает исключение при невозможности повторного подключения.
replayCacheSize Положительное целое число, указывающее количество кэшированных параметров nonce, используемых для определения ответов. При превышении лимита самые старые параметры nonce удаляются, и создаются новые параметры nonce для новых сообщений. Значение по умолчанию — 500000.
replayWindow Значение типа TimeSpan, которое указывает срок действия параметров nonce отдельного сообщения.

По истечении данного срока сообщение с тем же параметром nonce, что и у сообщения, отправленного ранее, приниматься не будет. Данный атрибут используется вместе с атрибутом maxClockSkew в целях предотвращения атак с повторением передачи пакетов. Злоумышленник может повторно отправить сообщение после закрытия окна повторной отправки сообщения. Данное сообщение, тем не менее, не пройдет проверку maxClockSkew, в результате которой отклоняются сообщения с отметками времени отправки, превышающими указанный период до или после времени получения сообщения.
sessionKeyRenewalInterval Значение TimeSpan, которое задает интервал времени, по истечении которого инициатор будет обновлять ключ сеанса безопасности. Значение по умолчанию - 10:00:00.
sessionKeyRolloverInterval Значение TimeSpan, которое задает интервал времени, в течение которого предыдущий сеансовый ключ остается действительным для входящих сообщений, пока выполняется обновление ключа. Значение по умолчанию - 00:05:00.

Во время обновления ключа отправка сообщения клиентом и сервером всегда должна выполняться с помощью самого последнего доступного ключа. Обе стороны принимают входящие сообщения, защищенные с помощью предыдущего сеансового ключа, вплоть до истечения времени смены ключа.
timestampValidityDuration Положительное значение типа TimeSpan, указывающее срок действия отметки времени. Значение по умолчанию - 00:15:00.

Дочерние элементы

Отсутствует.

Родительские элементы

Элемент Описание
<Безопасности> Задает параметры безопасности для пользовательской привязки.
<secureConversationBootstrap> Задает значения по умолчанию, используемые для инициализации службы безопасного обмена данными.

Комментарии

Данные настройки являются локальными, поскольку они не публикуются как часть политики безопасности службы и не влияют на привязку клиента.

Описанные ниже атрибуты элемента localServiceSecuritySettings могут способствовать снижению риска атак типа «отказ в обслуживании».

  • maxCachedCookies управляет максимальным числом ограниченных по времени маркеров SecurityContextTokens, кэшируемых сервером после согласования протокола SPNEGO или SSL.

  • issuedCookieLifetime управляет временем существования маркеров SecurityContextTokens, выпускаемых сервером после согласования протокола SPNEGO или SSL. Сервер кэширует маркеры SecurityContextTokens на данный период времени.

  • maxPendingSessions управляет максимальным числом безопасных диалогов, установленных на сервере, но для которых ни одно сообщение приложения не было обработано. Данная квота препятствует установлению клиентами безопасных диалогов в службе; таким образом, служба должна отслеживать состояние каждого из клиентов, но не использовать их.

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

В процессе сеанса безопасного диалога следует учесть, что атрибуты inactivityTimeout и receiveTimeout в привязке влияют на тайм-аут сеанса. Наименьшая из этих величин определяет момент, когда истекает время ожидания.

См. также раздел