2009-01-28 11 views
5

Estoy trabajando en un servicio WCF que se comunicará a través de net.tcp a n instancias de una aplicación cliente (que está siendo desarrollada por otro programador en mi oficina).Lógica primero, seguridad WCF después?

Por el momento estoy usando net.tcp sin ningún tipo de seguridad ya que sentí que configurar esto en esta etapa no era necesario, al menos no hasta que estuviéramos más cerca de lanzarlo.

Durante el desarrollo de una aplicación WCF, ¿hay algún daño al utilizar un enlace estándar (net.tcp en mi caso) sin seguridad, y una vez que se ha completado la lógica de negocio, implementar todos los requisitos de seguridad? ¿Hay alguna cosa que deba tener en cuenta que puede no funcionar después de la implementación de la seguridad?

Respuesta

5

Mientras que su diseño general debe tener en cuenta la seguridad desde el principio , No creo que sea una buena idea acoplar sus componentes a cualquier estrategia de seguridad en particular. Es posible que desee utilizar algunos de sus componentes de una manera no segura o en un protocolo diferente que ofrece diferentes opciones de seguridad.

Así que mi respuesta es sí y no. Sí, debe pensarlo desde el principio, pero no, no debe unir sus componentes a sus necesidades de seguridad.

Dicho esto, como sabe que va a utilizar net.tcp, debe tener en cuenta que la seguridad de transporte está activada por defecto para este enlace.

Para obtener más información, consulte el fantástico Programming WCF Services de Juval Lowy, capítulo 10. Lowy, en su biblioteca ServiceModelEx (tratada extensamente en el libro) proporciona un marco realmente agradable que puede conectar después de crear sus componentes. Incluso si no es exactamente lo que está buscando, puede personalizarlo para adaptarlo a sus necesidades.

+0

En realidad he estado leyendo a través de la programación de WCF Services, pero no había llegado tan lejos. Definitivamente le daré a ese capítulo una lectura :) –

+2

Sí, no temas simplemente sumergirte en el Capítulo 10. Me salteé 7, 8 y 9 para acertar con las cuestiones de Seguridad. Está muy bien escrito. –

3

La seguridad se debe considerar desde el principio y no se debe agregar al final.

Desarrolle un plan para su seguridad y ejecútelo sobre la marcha, en lugar de hacerlo al final.

Referencia: Microsoft .NET: Arquitectura de Aplicaciones para la Empresa

http://www.amazon.com/Microsoft ®-NET-Architecting-Applications-PRO-desarrollador/dp/073562609X

+0

Gracias por su respuesta. Si pudiera actualizar su respuesta con algunas referencias que serían geniales. –

+0

Haré, tengo que ir a casa primero. –

2

Tiene dos opciones, hornear desde el principio o darle una bofetada al final. Con la seguridad en general, diría que realmente no funciona en la formación de hielo, así que tienes que hacer un desastre con tu pastel para conseguirlo.

Sin embargo, la forma en que veo su pregunta es que ya sabe que debe hacer algo para resolver un problema de seguridad, simplemente no ha decidido qué hacer. En ese caso, estaría de acuerdo con Terry en que debería diseñar una abstracción que le permita agregar la solución final.

Si yo fuera usted, probablemente haría un modelo de amenaza y lo usaría para considerar las entradas y los riesgos presentados por su servicio. Esto te ayudará a decidir qué debes hacer eventualmente y si tu abstracción cubre todas las bases.

Cuestiones relacionadas