Dela via


<localServiceSettings-element>

Anger säkerhetsinställningarna för en lokal tjänst för den här bindningen.

<Konfiguration>
  <system.serviceModel>
    <Bindningar>
      <customBinding>
        <Bindande>
          <Säkerhet>
            <localServiceSettings>

Syntax

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

Attribut och element

I följande avsnitt beskrivs attribut, underordnade element och överordnade element.

Attribut

Attribut Beskrivning
detectReplays Ett booleskt värde som anger om reprisattacker mot kanalen identifieras och hanteras automatiskt. Standardvärdet är false.
inactivityTimeout En positiv TimeSpan som anger varaktigheten för inaktivitet som kanalen väntar innan tidsgränsen uppnås. Standardvärdet är "01:00:00".
issuedCookieLifeTime En TimeSpan som anger livslängden som utfärdas till alla nya säkerhetscookies. Cookies som överskrider livslängden återvinns och måste förhandlas igen. Standardvärdet är "10:00:00".
maxCachedCookies Ett positivt heltal som anger det maximala antalet cookies som kan cachelagras. Standardvärdet är 1000.
maxClockSkew En TimeSpan som anger den maximala tidsskillnaden mellan systemklockorna för de två kommunicerande parterna. Standardvärdet är "00:05:00".

När det här värdet är inställt på standardinställningen accepterar mottagaren meddelanden med tidsstämplar för sändningstid upp till 5 minuter senare eller tidigare än när meddelandet togs emot. Meddelanden som inte klarar sändningstidstestet avvisas. Den här inställningen används tillsammans med attributet replayWindow .
maxPendingSessions Ett positivt heltal som anger det maximala antalet väntande säkerhetssessioner som tjänsten stöder. När den här gränsen nås får alla nya klienter SOAP-fel. Standardvärdet är 1 000.
maxStatefulNegotiations Ett positivt heltal som anger antalet säkerhetsförhandlingar som kan vara aktiva samtidigt. Förhandlingssessioner som överskrider gränsen placeras i kö och kan bara slutföras när ett utrymme under gränsen blir tillgängligt. Standardvärdet är 1024.
negotiationTimeout En TimeSpan som anger livslängden för den säkerhetsprincip som används av kanalen. När tiden går ut omförhandlar kanalen med klienten för en ny säkerhetsprincip. Standardvärdet är "00:02:00".
reconnectTransportOnFailure Ett booleskt värde som anger om anslutningar som använder WS-Reliable meddelanden försöker återansluta efter transportfel. Standardvärdet är true, vilket innebär att oändliga försök att återansluta görs. Cykeln bryts av tidsgränsen för inaktivitet, vilket gör att kanalen genererar ett undantag när den inte kan återanslutas.
replayCacheSize Ett positivt heltal som anger antalet cachelagrade nonces som används för uppspelningsidentifiering. Om den här gränsen överskrids tas den äldsta nonce bort och en ny nonce skapas för det nya meddelandet. Standardvärdet är 5000000.
replayWindow En TimeSpan som anger hur länge enskilda meddelandenas nonces är giltiga.

Efter den här varaktigheten godkänns inte ett meddelande som skickats med samma nonce som det som skickades tidigare. Det här attributet används tillsammans med maxClockSkew attributet för att förhindra reprisattacker. En angripare kan spela upp ett meddelande när reprisfönstret har upphört att gälla. Det här meddelandet misslyckas dock med maxClockSkew testet som avvisar meddelanden med tidsstämplar för sändningstid upp till en angiven tid senare eller tidigare än när meddelandet togs emot.
sessionKeyRenewalInterval A TimeSpan som anger varefter initieraren förnyar nyckeln för säkerhetssessionen. Standardvärdet är "10:00:00".
sessionKeyRolloverInterval En TimeSpan som anger tidsintervallet som en tidigare sessionsnyckel är giltig för inkommande meddelanden under en nyckelförnyelse. Standardvärdet är "00:05:00".

Under nyckelförnyelse måste klienten och servern alltid skicka meddelanden med den senaste tillgängliga nyckeln. Båda parter accepterar inkommande meddelanden som skyddas med den tidigare sessionsnyckeln tills återställningstiden upphör att gälla.
timestampValidityDuration En positiv TimeSpan som anger hur länge en tidsstämpel är giltig. Standardvärdet är "00:15:00".

Underordnade element

Inga.

Överordnade element

Element Beskrivning
<Säkerhet> Anger säkerhetsalternativen för en anpassad bindning.
<secureConversationBootstrap> Anger de standardvärden som används för att initiera en säker konversationstjänst.

Kommentarer

Inställningarna är lokala eftersom de inte publiceras som en del av tjänstens säkerhetsprincip och inte påverkar klientens bindning.

Följande attribut för -elementet localServiceSecuritySettings kan hjälpa till att minimera en DOS-säkerhetsattack (Denial-of-Service):

  • maxCachedCookies: styr det maximala antalet tidsbegränsade SecurityContextTokens som cachelagras av servern efter SPNEGO- eller SSL-förhandling.

  • issuedCookieLifetime: styr livslängden för SecurityContextTokens som utfärdas av servern efter SPNEGO- eller SSL-förhandling. Servern cachelagrar SecurityContextTokens under den här tidsperioden.

  • maxPendingSessions: styr det maximala antalet säkra konversationer som upprättas på servern men för vilka inga programmeddelanden har bearbetats. Den här kvoten hindrar klienter från att upprätta säkra konversationer i tjänsten, vilket gör att tjänsten underhåller tillståndet för varje klient, men aldrig använder dem.

  • inactivityTimeout: styr den maximala tid som tjänsten håller en säker konversation vid liv utan att någonsin få ett programmeddelande på den. Den här kvoten hindrar klienter från att upprätta säkra konversationer i tjänsten, vilket gör att tjänsten underhåller tillståndet för varje klient, men aldrig använder dem.

Observera att både inactivityTimeout attributen och attributen för bindningen påverkar sessionstimeouten receiveTimeout i en säker konversationssession. Den kortare av de två avgör när tidsgränser inträffar.

Se även