2010-09-06 14 views
24

Próbuję dowiedzieć się, jak zaimplementować mechanizm wykrywania ataków powtarzania z użyciem WCF w scenariuszu farmy sieciowej.Używanie współużytkowanej pamięci podręcznej w środowisku farmy sieci Web do wykrywania ataków powtórki w WCF

WCF zapewnia taki mechanizm wykrywania za pomocą pamięci podręcznej nonce. Popraw mnie, jeśli się mylę, ale jedynym sposobem, aby zapobiec temu atakowi w scenariuszu bezpieczeństwa wiadomości i farmy internetowej, jest użycie pamięci podręcznej numerów udostępnianych na serwerach.

W WSE3.0, kiedyś możliwe dostarczenie nonce cache niestandardowe implementacje

http://msdn.microsoft.com/en-us/library/ff647945.aspx

ale nie wydaje się być jakiś sposób, aby to zrobić w WCF (bez opcji konfiguracyjnych, oprócz Z Reflectorem stwierdziłem, że klasa NonceCache jest oznaczona jako zamknięta i wewnętrzna ..)

Jakieś myśli?

+0

Dla tych, którzy są zainteresowani tym, mam odpowiedź od kogoś z Microsoft tutaj http://social.msdn.microsoft.com/Forums/en-US/netfxnetcom/thread/09fe4fb3-425c-4726- 9959-b8c7131cbe8b? Prof = wymagany – Javi

Odpowiedz

1

Po pierwsze nie ma na to srebrnych kul. Każda opcja ma swoje wady. Microsoft zaleca one of two options:

  • używają zabezpieczeń trybu wiadomość z stanowych tokenów kontekście zabezpieczeń (z lub bez bezpiecznego rozmowie włączona)
  • skonfigurować usługę korzystać z zabezpieczeń na poziomie transportu

Podczas zabezpieczania usługi przy użyciu zabezpieczenia na poziomie transportu będą chronić przed człowiekiem w scenariuszu środkowym, który nie ochroni przed zagrożonym klientem. W efekcie nie jest to solidne rozwiązanie, a używanie go lepiej jest lepszym rozwiązaniem. Wymaga to pewnych rozważań przy opracowywaniu i wdrażaniu.

Jak już napisałem w mojej wcześniejszej odpowiedzi, nie ma na to srebrnych kul. Oto kolejna opcja (która być może już brałeś pod uwagę) przy użyciu detekcji detekcji, maxClockSkew, powtórzeniaWindow i replayCacheSize. Chociaż nie jestem pewien co do jego solidności w scenariuszu WebFarm, powinien on działać, biorąc pod uwagę podstawową operację WCF. Oto krótki article that demonstrates it. Wadą tej opcji jest sytuacja, w której klient ma inną strefę czasową niż serwer, a wtedy otrzymasz niepowodzenie, jeśli Twój maxClockSkew nie jest ustawiony na zezwalanie na różnice w strefie czasowej.

+0

Fakt, że token STS znajduje się w kopercie, nie uniemożliwia napastnikowi odtwarzania wiadomości na różnych serwerach w farmie internetowej, prawda? – Javi

Powiązane problemy