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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Chapter 12: Building Secure <strong>Web</strong> Services 343Deployment ConsiderationsThe range of security options available to you depends greatly on the specificdeployment scenarios your <strong>Web</strong> services attempt to cover. If you build applicationsthat consume <strong>Web</strong> services in an intranet, then you have the widest range of securityoptions <strong>and</strong> techniques at your disposal. If, however, your <strong>Web</strong> service is publiclyaccessible over the Internet, your options are far more lijmited. This section describesthe implications of different deployment scenarios on the applicability of theapproaches to securing <strong>Web</strong> services discussed previously in this chapter.Intranet DeploymentBecause you control the consumer application, the service, <strong>and</strong> the platform, intranetsusually provide the widest range of available options for securing <strong>Web</strong> services.With an intranet scenario, you can usually choose from the full range ofauthentication <strong>and</strong> secure communication options. For example, you mgiht decide touse Windows authentication if the consumer <strong>and</strong> service are in the same or trustingdomains. You can specify that client application developers set the credentialsproperty on the client proxy to flow the user’s Windows credentials to the <strong>Web</strong>service.Intranet communication is often over a private network, with some degree ofsecurity. If this is insufficient, you might decide to encrypt traffic by using SSL. Youcan also use message level security <strong>and</strong> install WSE on both the client <strong>and</strong> server toh<strong>and</strong>le security at both ends transparently to the application. WSE supportsauthentication, digital signatures, <strong>and</strong> encryption.Extranet DeploymentIn an extranet scenario, you may need to expose your <strong>Web</strong> service over the Internet toa limited number of partners. The user community is still known, predictable, <strong>and</strong>possibly uses managed client applications, although they come from separate,independent environments. In this situation, you need an authentication mechanismthat is suitable for both parties <strong>and</strong> does not rely on trusted domains.You can use Basic authentication if you make account information available to bothparties. If you use Basic authentication, make sure that you secure the credentials byusing SSL.Note SSL only protects credentials over the network. It does not protect them in situations wherea malicious user successfully installs a proxy tool (such as sslproxy) local to the client machine tointercept the call before forwarding it to the <strong>Web</strong> service over SSL.

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

Saved successfully!

Ooh no, something went wrong!