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.

Checklist: Securing ASP.NET 697Authentication (continued)Check DescriptionThe forms authentication cookie is restricted to HTTPS connections by using the requireSSLattribute or the Secure cookie property.The authentication cookie is encrypted <strong>and</strong> integrity checked (protection=“All”).Authentication cookies are not persisted.<strong>Application</strong> cookies have unique path/name combinations.Personalization cookies are separate from authentication cookies.Passwords are not stored directly in the user store; password digests with salt are storedinstead.The impersonation credentials (if using a fixed identity) are encrypted in the configuration fileby using Aspnet_setreg.exe.Strong password policies are implemented for authentication.The element is not used inside element for Forms authentication(use it for testing only).AuthorizationCheck DescriptionURL authorization is used for page <strong>and</strong> directory access control.File authorization is used with Windows authentication.Principal permission dem<strong>and</strong>s are used to secure access to classes <strong>and</strong> members.Explicit role checks are used if fine-grained authorization is required.Configuration ManagementCheck DescriptionConfiguration file retrieval is blocked by using HttpForbiddenH<strong>and</strong>ler.A least-privileged account is used to run ASP.NET.Custom account credentials (if used) are encrypted on the element byusing Aspnet_setreg.exe.To enforce machine-wide policy, <strong>Web</strong>.config settings are locked by usingallowOveride=“false” in Machine.config.

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

Saved successfully!

Ooh no, something went wrong!