28.12.2013 Views

Building Secure ASP.NET Applications - People Search Directory

Building Secure ASP.NET Applications - People Search Directory

Building Secure ASP.NET Applications - People Search Directory

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 10: Web Services Security 259<br />

For tightly-coupled Windows domain environments:<br />

●<br />

If you want to flow the original caller’s identity from an <strong>ASP</strong>.<strong>NET</strong> Web application<br />

to a remote Web service, the <strong>ASP</strong>.<strong>NET</strong> Web application should use Kerberos<br />

authentication (with accounts configured for delegation), Basic authentication, or<br />

Forms authentication.<br />

● With Kerberos authentication, enable impersonation with the Web application<br />

and configure the Credentials property of the Web service proxy using<br />

DefaultCredentials.<br />

● With Basic or Forms authentication, capture the caller’s credentials and set<br />

the Credentials property of the Web service proxy by adding a new<br />

CredentialCache object.<br />

For Web-service to Web-service scenarios:<br />

● Use Basic or Kerberos authentication and set credentials in the client proxy.<br />

● Use an out of process Enterprise Services application or a Windows service to<br />

manipulate X.509 certificates from Web applications.<br />

● As far as possible, use system level authorization checks such as File and URL<br />

authorization.<br />

● For granular authorization (for example, at the Web method level) use .<strong>NET</strong> roles<br />

(declaratively and imperatively).<br />

● Authorize non-Windows users by using .<strong>NET</strong> roles (based on a GenericPrincipal<br />

object that contains roles).<br />

● Disable HTTP-GET and HTTP-POST protocols on product servers.<br />

● Use transport level security if you are not worried about passing messages<br />

securely through intermediary systems.<br />

● Use transport level security if SSL performance is acceptable.<br />

● Use WS-Security and the Web Services Development Kit to develop messagelevel<br />

solutions.

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

Saved successfully!

Ooh no, something went wrong!