<localServiceSettings> , element
Określa ustawienia zabezpieczeń usługi lokalnej dla tego powiązania.
<Konfiguracji>
<System.servicemodel>
<Powiązania>
<Custombinding>
<Wiązania>
<Zabezpieczeń>
<localServiceSettings>
Składnia
<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>
Atrybuty i elementy
W poniższych sekcjach opisano atrybuty, elementy podrzędne i elementy nadrzędne.
Atrybuty
Atrybut | Opis |
---|---|
detectReplays |
Wartość logiczna określająca, czy ataki na kanał są wykrywane i rozwiązywane automatycznie. Wartość domyślna to false . |
inactivityTimeout |
Wynik dodatni TimeSpan określający czas trwania braku aktywności kanału przed upływem limitu czasu. Wartość domyślna to "01:00:00". |
issuedCookieLifeTime |
Element TimeSpan określający okres istnienia wystawiony dla wszystkich nowych plików cookie zabezpieczeń. Pliki cookie, które przekraczają ich okres istnienia, są poddawane recyklingu i muszą zostać wynegocjowane ponownie. Wartość domyślna to "10:00:00". |
maxCachedCookies |
Dodatnia liczba całkowita określająca maksymalną liczbę plików cookie, które mogą być buforowane. Wartość domyślna to 1000. |
maxClockSkew |
Element TimeSpan określający maksymalną różnicę czasu między zegarami systemowymi dwóch komunikujących się stron. Wartość domyślna to "00:05:00". Gdy ta wartość jest ustawiona na wartość domyślną, odbiorca akceptuje komunikaty z sygnaturami czasowymi wysyłania do 5 minut później lub starszych niż czas odebrania komunikatu. Komunikaty, które nie przechodzą testu czasu wysyłania, są odrzucane. To ustawienie jest używane w połączeniu z atrybutem replayWindow . |
maxPendingSessions |
Dodatnia liczba całkowita określająca maksymalną liczbę oczekujących sesji zabezpieczeń, które obsługuje usługa. Po osiągnięciu tego limitu wszyscy nowi klienci otrzymują błędy protokołu SOAP. Wartość domyślna to 1000. |
maxStatefulNegotiations |
Dodatnia liczba całkowita określająca liczbę negocjacji dotyczących zabezpieczeń, które mogą być aktywne jednocześnie. Sesje negocjacji przekraczające limit są kolejkowane i można je wykonać tylko wtedy, gdy miejsce poniżej limitu stanie się dostępne. Wartość domyślna to 1024. |
negotiationTimeout |
Element TimeSpan określający okres istnienia zasad zabezpieczeń używanych przez kanał. Po upływie czasu kanał renegocjatuje z klientem nowe zasady zabezpieczeń. Wartość domyślna to "00:02:00". |
reconnectTransportOnFailure |
Wartość logiczna określająca, czy połączenia korzystające z komunikatów WS-Reliable spróbują ponownie nawiązać połączenie po awariach transportu. Wartość domyślna to true , co oznacza, że podejmowana jest nieskończona próba ponownego nawiązania połączenia. Cykl jest przerywany przez limit czasu braku aktywności, co powoduje, że kanał zgłasza wyjątek, gdy nie można go ponownie połączyć. |
replayCacheSize |
Dodatnia liczba całkowita określająca liczbę buforowanych nieces używanych do wykrywania powtórzeń. Jeśli ten limit zostanie przekroczony, najstarszy nonce zostanie usunięty, a dla nowego komunikatu zostanie utworzony nowy element nonce. Wartość domyślna to 500000. |
replayWindow |
Element TimeSpan określający czas trwania, w którym poszczególne komunikaty nie są prawidłowe. Po upływie tego czasu zostanie wysłana wiadomość z tą samą wartością inną niż ta, która została wysłana wcześniej, nie zostanie zaakceptowana. Ten atrybut jest używany w połączeniu z atrybutem maxClockSkew , aby zapobiec atakom powtarzania. Osoba atakująca może odtworzyć komunikat po wygaśnięciu okna odtwarzania. Jednak ten komunikat zakończy się niepowodzeniem maxClockSkew testu, który odrzuca komunikaty ze znacznikami czasu wysyłania do określonego czasu później lub wcześniej niż czas odebrania wiadomości. |
sessionKeyRenewalInterval |
Element TimeSpan określający czas trwania, po którym inicjator odnowi klucz sesji zabezpieczeń. Wartość domyślna to "10:00:00". |
sessionKeyRolloverInterval |
Element TimeSpan określający interwał czasu, przez który poprzedni klucz sesji jest prawidłowy dla komunikatów przychodzących podczas odnawiania klucza. Wartość domyślna to "00:05:00". Podczas odnawiania klucza klient i serwer muszą zawsze wysyłać komunikaty przy użyciu najnowszego dostępnego klucza. Obie strony będą akceptować komunikaty przychodzące zabezpieczone przy użyciu poprzedniego klucza sesji do momentu wygaśnięcia czasu przerzucania. |
timestampValidityDuration |
Wynik dodatni TimeSpan określający czas trwania, w którym jest prawidłowa sygnatura czasowa. Wartość domyślna to "00:15:00". |
Elementy podrzędne
Brak.
Elementy nadrzędne
Element | Opis |
---|---|
<Zabezpieczeń> | Określa opcje zabezpieczeń dla powiązania niestandardowego. |
<secureConversationBootstrap> | Określa wartości domyślne używane do inicjowania bezpiecznej usługi konwersacji. |
Uwagi
Ustawienia są lokalne, ponieważ nie są publikowane w ramach zasad zabezpieczeń usługi i nie mają wpływu na powiązanie klienta.
Następujące atrybuty localServiceSecuritySettings
elementu mogą pomóc w ograniczeniu ataku zabezpieczeń typu "odmowa usługi" (DOS):
maxCachedCookies
: steruje maksymalną liczbą ograniczonych czasowo zabezpieczeńContextTokens, które są buforowane przez serwer po wykonaniu negocjacji SPNEGO lub SSL.issuedCookieLifetime
: steruje okresem istnienia securityContextTokens wystawionych przez serwer po negocjacji SPNEGO lub SSL. Serwer buforuje zabezpieczeniaContextTokens przez ten okres czasu.maxPendingSessions
: steruje maksymalną liczbą bezpiecznych konwersacji ustanowionych na serwerze, ale dla których żadne komunikaty aplikacji nie zostały przetworzone. Ten limit przydziału uniemożliwia klientom ustanawianie bezpiecznych konwersacji w usłudze, co powoduje zachowanie stanu usługi dla każdego klienta, ale nigdy z nich nie korzysta.inactivityTimeout
: określa maksymalny czas, przez który usługa utrzymuje bezpieczną konwersację bez odbierania w niej komunikatu aplikacji. Ten limit przydziału uniemożliwia klientom ustanawianie bezpiecznych konwersacji w usłudze, co powoduje zachowanie stanu usługi dla każdego klienta, ale nigdy z nich nie korzysta.
W bezpiecznej sesji konwersacji należy pamiętać, że zarówno inactivityTimeout
receiveTimeout
atrybuty powiązania wpływają na limit czasu sesji. Krótsza z tych dwóch wartości określa, kiedy występują przekroczenia limitu czasu.
Zobacz też
- LocalServiceSecuritySettingsElement
- LocalServiceSettings
- LocalServiceSettings
- LocalServiceSecuritySettings
- CustomBinding
- Powiązania
- Rozszerzanie powiązań
- Powiązania niestandardowe
- <Custombinding>
- Instrukcje: tworzenie niestandardowego wiązania za pomocą elementu SecurityBindingElement
- Zabezpieczenia wiązania niestandardowego