Access Controls

Are there tests for failed authentication states?

https://martinfowler.com/articles/web-security-basics.html

  • Use existing authentication frameworks whenever possible instead of creating one yourself
  • Support authentication methods that make sense for your needs
  • Limit the ability of an attacker to take control of an account
  • You can take steps to prevent attacks to identify or compromise accounts
  • Never use default or hard-coded credentials

Proper Access Controls

This one is tricky as it is very dependent on the context of your application. Here are some things to consider:

  • How do users authenticate? Are you using a secure library?
  • Should only privileged users have access to certain resources? Where are these roles stored? Could they be manipulated by user input?
  • What systems/services can access your database?

This last point is absolutely critical. App context varies, but an anonymous user/system/service should never be able to access your database. Make sure there is a strong authentication model for your database.

More Resources: