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.

Chapter 4: Design Guidelines for Secure <strong>Web</strong> <strong>Application</strong>s 87Separate Administration PrivilegesIf the functionality supported by the features of your application’s configurationmanagement varies based on the role of the administrator, consider authorizing eachrole separately by using role-based authorization. For example, the personresponsible for updating a site’s static content should not necessarily be allowed tochange a customer’s credit limit.Use Least Privileged Process <strong>and</strong> Service AccountsAn important aspect of your application’s configuration is the process accounts usedto run the <strong>Web</strong> server process <strong>and</strong> the service accounts used to access downstreamresources <strong>and</strong> systems. Make sure these accounts are set up as least privileged. If anattacker manages to take control of a process, the process identity should have veryrestricted access to the file system <strong>and</strong> other system resources to limit the damagethat can be done.Sensitive Data<strong>Application</strong>s that deal with private user information such as credit card numbers,addresses, medical records, <strong>and</strong> so on should take special steps to make sure that thedata remains private <strong>and</strong> unaltered. In addition, secrets used by the application’simplementation, such as passwords <strong>and</strong> database connection strings, must besecured. The security of sensitive data is an issue while the data is stored in persistentstorage <strong>and</strong> while it is passed across the network.SecretsSecrets include passwords, database connection strings, <strong>and</strong> credit card numbers. Thefollowing practices improve the security of your <strong>Web</strong> application’s h<strong>and</strong>ling ofsecrets:● Do not store secrets if you can avoid it.●●●●Do not store secrets in code.Do not store database connections, passwords, or keys in plaintext.Avoid storing secrets in the Local <strong>Security</strong> Authority (LSA).Use Data Protection API (DPAPI) for encrypting secrets.

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

Saved successfully!

Ooh no, something went wrong!