Share via


<localServiceSettings>-Element

Legt die Sicherheitseinstellungen für einen lokalen Dienst für diese Bindung fest.

<<system.serviceModel>>
  <bindings>
    <customBinding>
      <binding>
        <security> von <customBinding>

<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>

Attribute und Elemente

Attribute

Attribut Beschreibung

detectReplays

Ein boolescher Wert, der angibt, ob Replay-Angriffe auf den Kanal automatisch erkannt und behandelt werden. Der Standardwert ist false.

inactivityTimeout

Eine positive TimeSpan, die die Dauer der Inaktivität angibt, die der Kanal abwartet, bevor ein Timeout auftritt. Der Standardwert ist "01:00:00".

issuedCookieLifeTime

Eine TimeSpan, die die Lebensdauer angibt, die für alle neuen Sicherheitscookies ausgegeben wird. Cookies, die ihre Lebensdauer übersteigen, werden wiederverwendet und müssen erneut ausgehandelt werden. Der Standardwert ist "10:00:00".

maxCachedCookies

Eine positive ganze Zahl, die die maximale Anzahl an Cookies angibt, die zwischengespeichert werden können. Der Standardwert ist 1000.

maxClockSkew

Eine TimeSpan, die den maximal zulässigen Zeitunterschied zwischen den Systemuhren der beiden Kommunikationspartner angibt. Der Standardwert ist "00:05:00".

Wenn dieser Wert auf den Standardwert festgelegt wird, akzeptiert der Empfänger Nachrichten mit Sendezeitstempeln, die bis zu 5 Minuten vor oder nach dem Zeitpunkt liegen, zu dem die Nachricht empfangen wurde. Nachrichten, die den Sendezeittest nicht bestehen, werden verworfen. Diese Einstellung wird in Verbindung mit dem replayWindow-Attribut verwendet.

maxPendingSessions

Eine positive ganze Zahl, die die maximale Anzahl an ausstehenden Sicherheitssitzungen angibt, die der Dienst unterstützt. Wenn diese Grenze erreicht wird, erhalten alle neuen Clients SOAP-Fehler. Der Standardwert ist 1000.

maxStatefulNegotiations

Eine positive ganze Zahl, die die Anzahl von Sicherheitsaushandlungen angibt, die gleichzeitig aktiv sein können. Aushandlungssitzungen, die über dem Grenzwert liegen, werden in die Warteschlange gestellt und können erst dann fertig gestellt werden, wenn wieder Speicherplatz verfügbar wird. Der Standardwert ist 1024.

negotiationTimeout

Eine TimeSpan, die die Lebensdauer der vom Kanal verwendeten Sicherheitsrichtlinie angibt. Wenn die Zeitspanne abgelaufen ist, handelt der Kanal mit dem Client eine neue Sicherheitsrichtlinie aus. Der Standardwert ist "00:02:00".

reconnectTransportOnFailure

Ein boolescher Wert, der angibt, ob Verbindungen, die WS-Reliable-Messaging verwenden, nach Transportfehlern erneut versuchen, eine Verbindung herzustellen. Der Standard ist true, was bedeutet, dass unendlich viele Versuche der Verbindungsherstellung durchgeführt werden. Dieser Kreislauf wird vom Inaktivitätstimeout unterbrochen, das dazu führt, dass der Kanal eine Ausnahme ausgibt, wenn die Verbindung nicht wiederhergestellt werden kann.

replayCacheSize

Eine positive ganze Zahl, die die Anzahl der zwischengespeicherten Nonces für die Replay-Erkennung angibt. Wenn dieser Grenzwert überschritten wird, wird die älteste Nonce entfernt und eine neue Nonce für die neue Nachricht erstellt. Der Standardwert ist 500000.

replayWindow

Eine TimeSpan, die angibt, wie lange einzelne Nachrichtennonces gültig sind.

Nach dieser Zeitspanne wird eine Nachricht mit derselben Nonce wie die zuvor gesendete nicht akzeptiert. Dieses Attribut wird in Verbindung mit dem maxClockSkew-Attribut verwendet, um Replay-Angriffe zu verhindern. Ein Angreifer kann eine Nachricht wiederholen, nachdem das Wiederholungsfenster abgelaufen ist. Die Nachricht besteht jedoch den maxClockSkew-Test nicht, der Nachrichten mit Zeitstempeln bis zu einem bestimmten Zeitpunkt vor oder nach dem Empfang der Nachricht zurückweist.

sessionKeyRenewalInterval

Eine TimeSpan, die angibt, nach welchem Zeitraum der Initiator den Schlüssel für die Sicherheitssitzung erneuert. Der Standardwert ist "10:00:00".

sessionKeyRolloverInterval

Eine TimeSpan, die das Zeitintervall angibt, während dem ein früherer Sitzungsschlüssel während der Schlüsselerneuerung für eingehende Nachrichten gültig ist. Der Standardwert ist "00:05:00".

Während der Erneuerung des Schlüssels müssen Nachrichten vom Client und vom Server mit dem aktuellsten Schlüssel gesendet werden. Eingehende Nachrichten, die mit dem früheren Sitzungsschlüssel gesichert sind, werden von beiden Seiten bis zum Ablauf der Übergangszeit akzeptiert.

timestampValidityDuration

Eine positive TimeSpan, die angibt, wie lange ein Zeitstempel gültig ist. Der Standardwert ist "00:15:00".

Untergeordnete Elemente

Keine.

Übergeordnete Elemente

Element Beschreibung

<security> von <customBinding>

Gibt die Sicherheitsoptionen für eine benutzerdefinierte Bindung an.

<secureConversationBootstrap>

Gibt die Standardwerte an, die zum Initiieren eines sicheren Konversationsdiensts verwendet werden.

Hinweise

Die Einstellungen sind lokal, da sie nicht als Teil der Sicherheitsrichtlinie des Diensts veröffentlicht werden und nicht die Client-Bindung beeinträchtigen.

Die folgenden Attribute des localServiceSecuritySettings-Elements können helfen, einen Denial-of-Service-Sicherheitsangriff (DoS) zu verhindern:

  • maxCachedCookies: Steuert die maximale Anzahl zeitlich begrenzter SecurityContextTokens, die der Server nach einer SPNEGO-Aushandlung oder SSL-Aushandlung zwischenspeichert.
  • issuedCookieLifetime: Steuert die Lebensdauer der SecurityContextTokens, die der Server nach der SPNEGO-Aushandlung oder SSL-Aushandlung ausstellt. Der Server speichert die SecurityContextTokens für diesen Zeitraum zwischen.
  • maxPendingSessions: Steuert die maximale Anzahl sicherer Konversationen, die auf dem Server erstellt werden, für die jedoch keine Anwendungsnachrichten verarbeitet wurden. Dieses Kontingent verhindert, dass Clients sichere Konversationen auf dem Dienst erstellen, sodass der Dienst den Zustand für jeden Client beibehält, sie jedoch nicht verwendet.
  • inactivityTimeout: Steuert die maximale Zeit, die der Dienst eine sichere Konversation aufrechterhält, ohne eine Anwendungsnachricht zu erhalten. Dieses Kontingent verhindert, dass Clients sichere Konversationen auf dem Dienst erstellen, sodass der Dienst den Zustand für jeden Client beibehält, sie jedoch nicht verwendet.

In einer sicheren Konversationssitzung haben sowohl das inactivityTimeout-Attribut als auch das receiveTimeout-Attribut der Bindung Auswirkungen auf das Sitzungstimeout. Der kürzere der beiden Werte bestimmt, wann das Timeout eintritt.

Siehe auch

Referenz

<customBinding>
LocalServiceSecuritySettingsElement
LocalServiceSettings
LocalServiceSettings
LocalServiceSecuritySettings
CustomBinding

Weitere Ressourcen

Windows Communication Foundation Bindings
Extending Bindings
Custom Bindings
How To: Create a Custom Binding Using the SecurityBindingElement
Custom Binding Security