Web Services Security Questions

- J.D. Meier, Prashant Bansode, Paul Enfield.

These questions will ultimately be factored into the Q&A sections of the guide.

Hot Spots

  • Auditing and logging
  • Authentication
  • Authorization
  • Communication
  • Message and Data Validation
  • Deployment Considerations
  • Exception Management
  • Message Protection
  • Message Replay Detection
  • Sensitive Data
  • Session Management

Auditing and logging

  • What Hosted WCF Service security events should be logged?
  • How do I enable logging and auditing in Hosted WCF Service?
  • How do I enable auditing in Hosted WCF Service?
  • How do I log important business events in Hosted WCF Service?
  • How do I protect my log files?
  • How do I retrieve my log files?
  • How do I archive my log files?
  • How do I handle log failures?
  • How to I pass user identity information in a message for auditing purpose?
*

Authentication

  • How do I decide on an authentication strategy in Hosted WCF Service?
  • What authentication options are available for Hosted WCF service?
  • When should I use brokered authentication?
  • How do I authenticate against Active Directory?
  • How do I authenticate against Azure Tables?
  • How do I authenticate against a custom store?
  • How do I protect passwords in my user store?
  • How do I use certificate authentication with X.509 certificates?
  • How do I support authentication for multiple client types?
  • What is federated security?
  • How do I send credentials in the message when I am using transport security?
  • How do I use WS security with SOAP messages?
  • How do I use secure sessions?

Authorization

  • How do I decide on an authorization strategy in Hosted WCF Service?
  • What’s the difference between resource-based, roles-based and claims-based authorization?
  • How do I use Windows groups for role authorization in Hosted WCF Service?
  • How do I use the Azure Tables Role store for role authorization in Hosted WCF Service?
  • What’s the difference between declarative and imperative roles authorization?
  • How do I restrict access to WCF operations to specific users?
  • How do I associate roles / claims with a certificate?

Communication

  • How do I decide communication protocol for the hosted WCF web service?
  • How do I reliably handle unreliable or intermittent communication?
  • How do I use dynamic URL behavior with configured endpoints for maximum flexibility?
  • How do I validate endpoint addresses in messages etc?
  • How do I handle asynchronous calls etc?
  • How do I decide message communication patterns like one-way or two-way etc?

Message and Data Validation

  • How do I implement input and data validation in hosted WCF service?
  • What is schema validation?
  • What is parameter validation?
  • Should I validate before or after message serialization?
  • How do I protect my service from denial of service attacks?
  • How do I protect my service from malicious input attacks?
  • How do I protect my service from malformed messages?
*

Deployment Considerations

  • How do I use least privilege account for running the service?
  • How do I configure for running hosted WCF service in partial trust?
  • How do I configure for running hosted WCF service in full trust?
  • How do I use certificates to enable secure communication using SSL?
  • How do I handle encryption keys securely in production?
  • How do I secure configuration sections containing sensitive data?
  • How do I keep clients from referencing my hosted WCF service?
  • How do I avoid proxy spoofing?

Exception Management

  • How do I choose exception management strategy?
  • How do I implement a global exception handler?
  • What is a fault contract?
  • How do I define a fault contract?
  • How do I avoid sending exception details to the client?
  • How do I scrub exception message for secure exception handling?
  • How do I deal with sensitive information when handling the exception?
  • How do I deal with unhandled exceptions?
  • How do I use SOAP Fault elements or custom extensions to return exception details to the caller?

Message Protection

  • When should I use message security?
  • When should I use transport security?
  • How do I protect my message when there are intermediaries routing my message?
  • How do I protect my message when there are multiple protocols used during message transit?
  • How do I implement partial message encryption?

Message Replay Detection

  • How do I detect message replay?
  • How do I handle message replay?

Sensitive Data

  • How do I protect sensitive data in configuration files?
  • How do I protect sensitive data in memory?
  • How do I protect my metadata?
  • How do I protect sensitive data from being read on the wire?
  • How do I protect sensitive data from being tampered on the wire?
  • How do I authenticate a message was sent by the expected sender?
  • How do I encrypt data within my message?

Session Management

*
  • How do I design services per session mode?
  • How do I configure service for reliable messaging with reliable session and ordering of messages?
  • How do I implement state management to avoid state corruption?










Last edited Aug 22, 2009 at 12:00 AM by paulenfield, version 2

Comments

No comments yet.