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.

Solutions at a Glance lxxi●●●●How to secure a database serverApply a common methodology to evaluate accounts, protocols, ports, services,shares, files <strong>and</strong> directories, <strong>and</strong> the registry. Also evaluate SQL Server securitysettings such as the authentication mode <strong>and</strong> auditing configuration. Evaluateyour authorization approach <strong>and</strong> use of SQL Server logins, users, <strong>and</strong> roles. Makesure you have the latest service pack <strong>and</strong> regular monitor for operating system<strong>and</strong> SQL Server patches <strong>and</strong> updates.For more information, see Chapter 18, “Securing Your Database Server.”How to secure an application serverEvaluate accounts, protocols, ports, services, shares, files <strong>and</strong> directories, <strong>and</strong> theregistry. Use Internet Protocol <strong>Security</strong> (IPSec) or SSL to secure the communicationchannel between the <strong>Web</strong> server <strong>and</strong> the application server, <strong>and</strong> between theapplication server <strong>and</strong> the database server. Review the security of your EnterpriseServices applications, <strong>Web</strong> services, <strong>and</strong> remoting applications. Restrict the rangeof ports with which clients can connect to the application server, <strong>and</strong> considerusing IPSec restrictions to limit the range of clients.For more information, see Chapter 17, “Securing Your <strong>Application</strong> Server.”How to host multiple ASP.NET applications securelyUse separate identities to allow you to configure access control lists (ACLs)on secure resources to control which applications have access to them. On theMicrosoft Windows Server 2003 operating system, use separate process identitieswith IIS 6 application pools. On Windows 2000 Server, use multiple anonymousInternet user accounts <strong>and</strong> enable impersonation. With the .NET Frameworkversion 1.1 on both platforms, you can use partial trust levels <strong>and</strong> use code accesssecurity to provide further application isolation. For example, you can use thesemethods to prevent applications from accessing each other’s virtual directories<strong>and</strong> critical system resources.For more information, see Chapter 20, “Hosting Multiple ASP.NET <strong>Application</strong>s.”How to secure <strong>Web</strong> servicesIn cross-platform scenarios <strong>and</strong> where you do not control both endpoints, use the<strong>Web</strong> Services Enhancements 1.0 for Microsoft .NET (WSE) to implement messagelevel security solutions that conform to the emerging WS-<strong>Security</strong> st<strong>and</strong>ard. Passauthentication tokens in Simple Object Access Protocol (SOAP) headers. Use XMLencryption to ensure that sensitive data remains private. Use digital signatures formessage integrity. Within the enterprise where you control both endpoints, youcan use the authentication, authorization, <strong>and</strong> secure communication featuresprovided by the operating system <strong>and</strong> IIS.For more information, see Chapter 17, “Securing Your <strong>Application</strong> Server,”Chapter 19, “Securing Your ASP.NET <strong>Application</strong> <strong>and</strong> <strong>Web</strong> Services.” Forinformation about developing secure <strong>Web</strong> services, see Chapter 12, “BuildingSecure <strong>Web</strong> Services.”

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

Saved successfully!

Ooh no, something went wrong!