11.07.2015 Views

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

Improving Web Application Security: Threats and - CGISecurity

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 12: Building Secure <strong>Web</strong> Services 325Design ConsiderationsBefore you start to develop <strong>Web</strong> services, there are a number of issues to consider atdesign time. The key security considerations are:● Authentication requirements● Privacy <strong>and</strong> integrity requirements● Resource access identities● Code access securityAuthentication RequirementsIf your <strong>Web</strong> service provides sensitive or restrictive information, it needs toauthenticate callers to support authorization. In Windows environments, you can useWindows authentication. However, where you are not in control of both endpoints,WSE provides authentication solutions that conform to the emerging WS-<strong>Security</strong>st<strong>and</strong>ard. WSE provides a st<strong>and</strong>ard framework for using SOAP headers to passauthentication details in the form of user names <strong>and</strong> passwords, Kerberos tickets,X.509 certificates, or custom tokens. For more information, see the “Authentication”section later in this chapter.Privacy <strong>and</strong> Integrity RequirementsIf you pass sensitive application data in <strong>Web</strong> service requests or response messages,consider how you can ensure that they remain private <strong>and</strong> unaltered while in transit.WSE provides integrity checking through digital signatures, <strong>and</strong> it also supportsXML encryption to encrypt sensitive elements of the entire message payload. Theadvantage of this approach is that it is based on the emerging WS-<strong>Security</strong> st<strong>and</strong>ard<strong>and</strong> that it provides a solution for messages that pass through multiple intermediatenodes.The alternative is to use transport level encryption through SSL or IPSec channels.These solutions are only appropriate where you are in control of both endpoints.Resource Access IdentitiesBy default, ASP.NET <strong>Web</strong> services do not impersonate, <strong>and</strong> the least privilegedASPNET process account is used for local <strong>and</strong> remote resource access. You can usethis ASPNET process account to access remote network resources such as SQLServers that require Windows authentication, by creating a mirrored local account onthe database server.Note On Windows Server 2003, the Network Service account is used by default to run <strong>Web</strong>services.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!