Compartir a través de


Protección de las aplicaciones de canal del mismo nivel

Al igual que otros enlaces en WinFX, NetPeerTcpBinding tiene la seguridad habilitada de forma predeterminada y ofrece seguridad basada en transporte y mensaje (o ambas). En este tema se describen estos dos tipos de seguridad. La etiqueta de modo de seguridad especifica el tipo de seguridad en la especificación de enlace (SecurityMode).

Transport-Based Seguridad

El canal del mismo nivel admite dos tipos de credenciales de autenticación para proteger el transporte, y ambos requieren que se establezca la propiedad ClientCredentialSettings.Peer en el ChannelFactory asociado:

  • Contraseña. Los clientes usan el conocimiento de una contraseña secreta para autenticar las conexiones. Cuando se usa este tipo de credencial, ClientCredentialSettings.Peer.MeshPassword debe llevar una contraseña válida y, opcionalmente, una X509Certificate2 instancia.

  • Certificado. Se usa la autenticación de aplicación específica. Cuando se usa este tipo de credencial, debe usar una implementación concreta de X509CertificateValidator en ClientCredentialSettings.Peer.PeerAuthentication.

Message-Based Seguridad

Con la seguridad de los mensajes, una aplicación puede firmar mensajes salientes para que todas las partes receptoras puedan comprobar que un usuario de confianza envía el mensaje y que el mensaje no se ha alterado. Actualmente, Peer Channel solo admite la firma de mensajes de credenciales X.509.

Procedimientos recomendados

  • En esta sección se describen las mejores prácticas para proteger las aplicaciones de Peer Channel.

Habilitación de la seguridad con aplicaciones de canal del mismo nivel

Debido a la naturaleza distribuida de los protocolos del canal de pares, es difícil aplicar la pertenencia a la malla, la confidencialidad y la privacidad en una malla no segura. También es importante recordar proteger la comunicación entre los clientes y el servicio de resolución. En el Protocolo de resolución de nombres entre pares (PNRP), utilice nombres seguros para evitar la suplantación de identidad y otros ataques comunes. Proteja un servicio de resolución personalizado mediante el permiso de seguridad en las conexiones que el cliente usa para ponerse en contacto con el servicio de resolución, incluida la seguridad tanto basada en transporte como en mensaje.

Uso del modelo de seguridad más seguro posible

Por ejemplo, si cada miembro de la malla debe identificarse individualmente, use el modelo de autenticación basada en certificados. Si no es posible, use la autenticación basada en contraseña siguiendo las recomendaciones actuales para mantenerlos seguros. Esto incluye compartir contraseñas solo con partes de confianza, transmitir contraseñas mediante un medio seguro, cambiar las contraseñas con frecuencia y asegurarse de que las contraseñas sean seguras (al menos ocho caracteres de longitud, incluya al menos una letra de ambos casos, un dígito y un carácter especial).

No aceptar nunca certificados de Self-Signed

Nunca acepte una credencial de certificado basada en nombres de sujetos. Note que cualquier persona puede crear un certificado y cualquiera puede elegir un nombre que usted está validando. Para evitar la posibilidad de suplantación de identidad, valide los certificados en función de las credenciales de la entidad emisora (ya sea un emisor de confianza o una entidad de certificación raíz).

Uso de la autenticación de mensajes

Use la autenticación de mensajes para comprobar que un mensaje se originó en un origen de confianza y que nadie ha alterado el mensaje durante la transmisión. Sin autenticación de mensajes, es fácil que un cliente malintencionado suplantar o manipule mensajes en la malla.

Ejemplos de código del canal del mismo nivel

Escenarios de canal del modo del mismo nivel

Consulte también