CSA CCM IAM-02
Strong Password Policy and Procedures

Every organization needs to have a solid password policy these days. Without one, it's like leaving the front door to your house wide open with a "rob me" sign on it. A good password policy keeps the bad guys out and your precious data safe and sound. It's not rocket science, but it does take some thought and effort to do it right.

Where did this come from?

This sage security advice comes straight from the cloud security gurus themselves - the Cloud Security Alliance (CSA). It's part of their Cloud Controls Matrix v4.0.10 released on 2023-09-26. You can download all the juicy details yourself at https://cloudsecurityalliance.org/artifacts/cloud-controls-matrix-v4.

The CSA knows their stuff when it comes to locking down cloud environments. This particular control, IAM-02, falls under the Identity & Access Management domain. It's all about making sure users have strong passwords and following some best practices around password policies and procedures.

Who should care?

This one is relevant for pretty much anyone responsible for managing user access in a cloud environment:

  • IT administrators with responsibility for identity and access management
  • Security engineers with a focus on access control
  • Compliance officers who need to ensure alignment with security standards
  • Application owners who care about protecting their cloud-based apps and data

What is the risk?

Weak, easily-guessed, or reused passwords are one of the easiest ways for attackers to gain unauthorized access to systems and data. With the right (or wrong) password, a malicious actor could log in as a legitimate user and wreak all kinds of havoc - steal sensitive info, deploy malware, change configurations, the list goes on.

The risks of poor password hygiene are numerous:

  • Data breaches leading to reputational damage, financial loss, compliance issues
  • Malware infections that spread and persist
  • insider threats abusing elevated privileges
  • Account takeover and identity theft

A solid password policy is one of the best defenses against these threats. While it's not a complete solution, enforcing strong, unique passwords can make it much harder for attackers to crack them and break in.

What's the care factor?

On a scale of "meh" to "mega critical", password security is definitely on the higher end. Especially for any systems housing sensitive data or with access to production, strong access control is a must.

Consider the potential fallout from a breach - legal issues, customer churn, stock price drop, executives getting fired. Yeah, it can get ugly fast. Investing time and effort into password security is well worth it to avoid those nightmare scenarios.

That said, not every system needs NSA-grade protection. A basic password policy is still good hygiene for any cloud account. But you can dial the controls up or down based on risk. A test/dev environment with dummy data is lower stakes than production with PII and IP.

When is it relevant?

Anytime you're managing user access to cloud systems, a password policy should be in the mix. That could be:

  • SaaS apps like Office 365, Salesforce, Workday
  • PaaS platforms for developers like Azure or Google Cloud
  • IaaS environments built on AWS, Oracle Cloud, etc
  • Hybrid setups with a mix of on-prem and cloud

There are some situations where a password may not be the best fit:

  • Systems with high security needs may use stronger auth methods like biometrics, hardware tokens, or certificates
  • Machine-to-machine communication often uses API keys or tokens instead
  • Some legacy apps may have their own baked-in auth that's harder to standardize

What are the tradeoffs?

tronger password requirements can be a bit of a pain for users. Longer passwords with complexity are harder to remember. Frequent expiration and blocking reuse adds friction. You've probably grumbled at a "password must contain an uppercase letter, a digit, and the blood of a virgin" prompt before.

There's a balance to strike between security and usability. Go overboard and users will be fumbling to access the tools they need. Too lax and you leave doors open to intruders.

Password policies also add overhead for IT. It takes work to define the rules, implement controls, and deal with lockouts and resets. Automating policies and syncing passwords across systems can ease the burden.

And of course, there's always exceptions to account for. You may need to loosen standards for a finicky app or crunch a deployment timeline. Security is important but can't always trump every other priority.

How to make it happen?

Ready to level up your password game? Here's a step-by-step guide:

  1. Define your password policy. At minimum you'll want to specify:
    • Minimum length (10+ characters is good)
    • Complexity (require mix of upper/lower case, numbers, symbols)
    • Expiration (60-90 days is typical)
    • Reuse (block last 5-10 passwords)
    • Lockout (temporarily lock after 5-10 failed attempts)
  2. Document the policy and get sign off from key stakeholders (security, IT, app owners, execs)
  3. Communicate the policy to all users. Make it clear this is mandatory, not optional.
  4. Implement the policy in your identity management systems. Could be on-prem Active Directory, cloud IAM platform, or third-party tools.
  5. Enable enforcement controls like password complexity requirements and expiration
  6. Set up processes to handle exceptions, resets, and other support needs
  7. Monitor and report on password security metrics to track compliance
  8. Review and update the policy at least annually to ensure it still meets your needs

What are some gotchas?

Locking down passwords looks straightforward but there are some nuances to watch for:

  • Directory tools need the right permissions configured to actually enforce policies across integrated apps and infrastructure
  • Tightly coupled apps may break if their passwords get out of sync. Using federated SSO can help keep things consistent.
  • Adding MFA on top of passwords is a big security boost but takes extra setup.
  • Unclear policy language leaves room for misinterpretation. Be specific and give examples.
  • Too much complexity can backfire and make users choose weak passwords. Balance security and memorability.
  • Automatically expiring passwords can lead to more basic patterns just to get by. Consider expiring on suspicious activity instead.

What are the alternatives?

Passwords are a core access control but not the only game in town. To supplement or replace password auth, you can also look at:

  • Multi-factor authentication for a second layer of checks. Common factors are SMS codes, authenticator apps, U2F keys, and biometrics.
  • Single sign-on to centralize auth flows and reduce password sprawl. Can be used with SAML or OIDC protocols.
  • Passwordless solutions using magic links, biometrics, or hardware tokens. Removes the password as an attack surface entirely.
  • Adaptive access policies that dynamically adjust authentication requirements based on user risk profiles. Supported in platforms like Azure AD.

Explore further

Blog

Learn cloud security with our research blog