Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podobnie jak w przypadku innych powiązań WinFX, NetPeerTcpBinding ma domyślnie włączone zabezpieczenia i oferuje zarówno zabezpieczenia transportowe, jak i oparte na komunikatach. W tym temacie omówiono te dwa typy zabezpieczeń. Typ zabezpieczeń jest określany przez tag trybu zabezpieczeń w specyfikacji powiązania (SecurityMode).
Transport-Based Zabezpieczenie
Kanał równorzędny obsługuje dwa typy poświadczeń uwierzytelniania do zabezpieczania transportu; oba wymagają ustawienia właściwości ClientCredentialSettings.Peer na związanym obiekcie ChannelFactory.
Hasło. Klienci używają wiedzy o tajnym haśle do uwierzytelniania połączeń. Jeśli ten typ poświadczeń jest używany,
ClientCredentialSettings.Peer.MeshPasswordmusi mieć prawidłowe hasło i opcjonalnie instancjęX509Certificate2.Certyfikat. Używane jest określone uwierzytelnianie aplikacji. Gdy ten typ poświadczeń jest używany, należy użyć konkretnej implementacji X509CertificateValidator w programie
ClientCredentialSettings.Peer.PeerAuthentication.
Bezpieczeństwo Message-Based
Korzystając z zabezpieczeń komunikatów, aplikacja może podpisać komunikaty wychodzące, aby wszystkie osoby odbierające mogły zweryfikować, czy wiadomość jest wysyłana przez zaufaną firmę i że wiadomość nie została naruszona. Obecnie Kanał równorzędny obsługuje tylko podpisywanie komunikatów poświadczeniami X.509.
Najlepsze praktyki
- W tej sekcji omówiono najlepsze praktyki dotyczące zabezpieczenia aplikacji kanału współpracującego.
Włączanie zabezpieczeń za pomocą aplikacji kanału równorzędnego
Ze względu na rozproszony charakter protokołów kanału peer-to-peer, trudne jest egzekwowanie członkostwa w sieci, zapewnienie poufności i prywatności w niezabezpieczonej sieci. Należy również pamiętać, aby zabezpieczyć komunikację między klientami i usługą rozpoznawania nazw. W obszarze Peer Name Resolution Protocol (PNRP) użyj bezpiecznych nazw, aby uniknąć fałszowania i innych typowych ataków. Zabezpiecz niestandardową usługę rozpoznawania nazw poprzez włączenie zabezpieczeń na klientach połączeń, które służą do kontaktu z usługą rozpoznawania nazw, w tym zabezpieczeń opartych na komunikatach i warstwie transportowej.
Korzystanie z najmocniejszego możliwego modelu zabezpieczeń
Jeśli na przykład każdy element członkowski siatki musi być zidentyfikowany indywidualnie, użyj modelu uwierzytelniania opartego na certyfikatach. Jeśli to nie jest możliwe, użyj uwierzytelniania opartego na hasłach zgodnie z bieżącymi zaleceniami, aby zapewnić ich bezpieczeństwo. Obejmuje to udostępnianie haseł tylko zaufanym stronom, przesyłanie haseł przy użyciu bezpiecznego nośnika, częste zmienianie haseł i zapewnienie, że hasła są silne (co najmniej osiem znaków, zawiera co najmniej jedną literę z obu przypadków, cyfrę i znak specjalny).
Nigdy nie akceptuj certyfikatów Self-Signed
Nigdy nie akceptuj poświadczenia certyfikatu na podstawie nazw podmiotów. Należy pamiętać, że każda osoba może utworzyć certyfikat, a każda osoba może wybrać nazwę, którą potwierdzasz. Aby uniknąć możliwości fałszowania, zweryfikuj certyfikaty na podstawie poświadczeń urzędu wystawiającego (zaufanego wystawcy lub głównego urzędu certyfikacji).
Korzystanie z uwierzytelniania komunikatów
Użyj uwierzytelniania komunikatów, aby sprawdzić, czy komunikat pochodzi z zaufanego źródła i czy nikt nie manipulował komunikatem podczas transmisji. Bez uwierzytelniania komunikatów złośliwy klient może fałszować lub manipulować wiadomościami w sieci.
Przykłady kodu Peer Channel
Scenariusze kanału peer-to-peer