Delen via


Peer Channel-toepassingen beveiligen

Net als andere bindingen onder WinFX is NetPeerTcpBinding beveiliging standaard ingeschakeld en biedt zowel transport- als berichtbeveiliging (of beide). In dit onderwerp worden deze twee typen beveiliging besproken. Het type beveiliging wordt opgegeven door de beveiligingsmodustag in de bindingsspecificatie (SecurityMode).

Transport-Based Beveiliging

Peer Channel ondersteunt twee typen authenticatiereferenties voor transportbeveiliging, waarvoor beide de ClientCredentialSettings.Peer-eigenschap op de bijbehorende ChannelFactory moeten instellen.

  • Wachtwoord. Clients gebruiken kennis van een geheim wachtwoord om verbindingen te verifiëren. Wanneer dit referentietype wordt gebruikt, moet ClientCredentialSettings.Peer.MeshPassword een geldig wachtwoord bevatten en eventueel een X509Certificate2 exemplaar.

  • Certificaat. Specifieke toepassingsverificatie wordt gebruikt. Wanneer dit referentietype wordt gebruikt, moet u een concrete implementatie van X509CertificateValidator in ClientCredentialSettings.Peer.PeerAuthentication gebruiken.

Message-Based Beveiliging

Met behulp van berichtbeveiliging kan een toepassing uitgaande berichten ondertekenen, zodat alle ontvangende partijen kunnen controleren of het bericht wordt verzonden door een vertrouwde partij en dat het bericht niet is gemanipuleerd. Peer Channel ondersteunt momenteel alleen X.509-referentieberichtondertekening.

Beste praktijken

  • In deze sectie worden de aanbevolen procedures besproken voor het beveiligen van Peer Channel-toepassingen.

Beveiliging met Peer Channel-toepassingen inschakelen

Vanwege de gedistribueerde aard van de Peer Channel-protocollen is het moeilijk om mesh-lidmaatschap, vertrouwelijkheid en privacy af te dwingen in een onbeveiligde mesh. Het is ook belangrijk om te onthouden dat u de communicatie tussen clients en de resolverservice beveiligt. Gebruik onder Peer Name Resolution Protocol (PNRP) beveiligde namen om adresvervalsing en andere veelvoorkomende aanvallen te voorkomen. Beveilig een aangepaste resolverservice door beveiliging in te schakelen voor de verbinding die clients gebruiken om contact op te maken met de resolverservice, met inbegrip van beveiliging op basis van berichten en transport.

Het sterkste mogelijke beveiligingsmodel gebruiken

Als elk lid van de mesh bijvoorbeeld afzonderlijk moet worden geïdentificeerd, gebruikt u verificatiemodel op basis van certificaten. Als dat niet mogelijk is, gebruikt u verificatie op basis van wachtwoorden volgens de huidige aanbevelingen om ze veilig te houden. Dit omvat het delen van wachtwoorden alleen met vertrouwde partijen, het verzenden van wachtwoorden met behulp van een beveiligd medium, het regelmatig wijzigen van wachtwoorden en ervoor zorgen dat wachtwoorden sterk zijn (ten minste acht tekens lang, minstens één letter uit beide gevallen, een cijfer en een speciaal teken bevatten).

Nooit Self-Signed certificaten accepteren

Accepteer nooit een certificaatreferentie op basis van onderwerpnamen. Iedereen kan een certificaat maken en iedereen kan een naam kiezen die u valideert. Valideer certificaten op basis van uitgevende autoriteitsreferenties (een vertrouwde uitgever of een rootcertificeringsautoriteit) om de mogelijkheid van spoofing te voorkomen.

Berichtauthenticatie gebruiken

Gebruik berichtverificatie om te controleren of een bericht afkomstig is van een vertrouwde bron en dat niemand tijdens de verzending met het bericht heeft geknoeid. Zonder berichtverificatie is het eenvoudig voor een kwaadwillende cliënt om berichten in het mesh-netwerk te vervalsen of ermee te knoeien.

Voorbeelden van peer-kanaalcode

Peer Channel-scenario’s

Zie ook