Manage Learn to apply best practices and optimize your operations.

Web services security best practices: Presentation and application architectures

Splitting the presentation and application architecture layers allows for checking each SOAP packet request and is a necessary Web service security best practice.

Web services fundamentally change our perimeter architecture. Vendors developing solutions in this space typically provide no segmentation between presentation and application tiers. If they do, it's typically by providing a simple proxy server for the presentation layer. However, a Web services proxy doesn't resolve the disappearing presentation layer, since traffic from an untrusted zone -- the Internet -- is still being processed in your application layer, on the same server that talks to your core databases.

Fortunately, Web services vendors are starting to listen to their customers. At least two security vendors are planning releases in the next several months that will support a logically split presentation and application architecture.

The best approach to achieve this logical split is to ensure that the presentation-layer Web services proxy provides authentication. Let's call this an Authenticating Web Services Proxy (AWSP) to differentiate it from the existing proxies, which typically just perform packet pass-through. An AWSP provides transport-layer authentication (e.g., SSL mutual authentication), as well as ensuring that each SOAP request is well formed and complies to standards. If the SOAP packet contains message-based authentication, such as signed SOAP (XML-DSig), then the AWSP would also validate the SOAP signature.

The SOAP packet provides the critical link, communicating the transport-layer authentication to the application layer.

The proxy would add a SOAP packet to the envelope providing the authentication information to the application layer, possibly using SAML, and then tosses the packet to the application-layer server. The SOAP packet provides the critical link, communicating the transport-layer authentication to the application layer. The application layer then strips the SOAP packet and queries the database to perform authentication validation and authorization. Architecture purists may frown on processing in both the presentation and application layers, but splitting the layers -- while keeping them in tight communication -- makes a compromise far less likely.

This was last published in August 2003

Dig Deeper on Web Server Threats and Countermeasures