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 4: Design Guidelines for Secure <strong>Web</strong> <strong>Application</strong>s 83AuthorizationAuthorization determines what the authenticated identity can do <strong>and</strong> the resourcesthat can be accessed. Improper or weak authorization leads to information disclosure<strong>and</strong> data tampering. Defense in depth is the key security principle to apply to yourapplication’s authorization strategy.The following practices improve your <strong>Web</strong> application’s authorization:● Use multiple gatekeepers.●●Restrict user access to system-level resources.Consider authorization granularity.Use Multiple GatekeepersOn the server side, you can use IP <strong>Security</strong> Protocol (IPSec) policies to provide hostrestrictions to restrict server-to-server communication. For example, an IPSec policymight restrict any host apart from a nominated <strong>Web</strong> server from connecting to adatabase server. IIS provides <strong>Web</strong> permissions <strong>and</strong> Internet Protocol/ Domain NameSystem (IP/DNS) restrictions. IIS <strong>Web</strong> permissions apply to all resources requestedover HTTP regardless of the user. They do not provide protection if an attackermanages to log on to the server. For this, NTFS permissions allow you to specify peruser access control lists. Finally, ASP.NET provides URL authorization <strong>and</strong> Fileauthorization together with principal permission dem<strong>and</strong>s. By combining thesegatekeepers you can develop an effective authorization strategy.Restrict User Access to System Level ResourcesSystem level resources include files, folders, registry keys, Active Directory objects,database objects, event logs, <strong>and</strong> so on. Use Windows Access Control Lists (ACLs) torestrict which users can access what resources <strong>and</strong> the types of operations that theycan perform. Pay particular attention to anonymous Internet user accounts; lock thesedown with ACLs on resources that explicitly deny access to anonymous users.For more information about locking down anonymous Internet user accounts withWindows ACLs, see Chapter 16, “Securing Your <strong>Web</strong> Server.”Consider Authorization GranularityThere are three common authorization models, each with varying degrees ofgranularity <strong>and</strong> scalability.

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

Saved successfully!

Ooh no, something went wrong!