Network Security Passwords and Policies

Passwords are the most widely used authentication method on the planet, and they are also one of the weakest links in network security. Weak passwords, reused passwords, and improperly stored passwords create entry points that attackers exploit every day. Password policies set the minimum standards every user must follow to keep accounts secure.

What Makes a Password Strong

Password strength comes down to how long it would take an attacker's software to guess it. Modern computers test billions of password combinations per second. Length and unpredictability are the two most important factors.

Password Cracking Time Estimates (modern hardware):
┌──────────────────────┬────────────────┐
│ Password             │ Time to Crack  │
├──────────────────────┼────────────────┤
│ cat                  │ Instant        │
│ cat7                 │ Instant        │
│ C@t7!                │ Seconds        │
│ Tr0ub4dor&3          │ Days           │
│ correct-horse-staple │ Centuries      │
│ M$9kL#vQ2!pXr7@      │ Millions of yrs│
└──────────────────────┴────────────────┘

Notice that a random-looking short password (C@t7!) is cracked in seconds, while a longer passphrase (correct-horse-staple) takes centuries. Length beats complexity.

The Anatomy of a Good Password Policy

A password policy is a written set of rules that defines how users and systems must create, store, and manage passwords. Every organization should have one.

Minimum Length

Require at least 12 characters. Longer is better. The NIST (National Institute of Standards and Technology) recommends allowing passwords up to 64 characters to encourage passphrases.

Complexity Requirements

Requiring uppercase letters, lowercase letters, numbers, and special characters has traditionally been considered good practice. However, NIST's latest guidelines suggest that length matters more than complexity. Forcing complex rules often leads users to pick predictable patterns like "P@ssw0rd1!" which are well-known to attackers.

No Reuse

Systems should remember the last 10–24 previous passwords and reject any attempt to reuse them. Reuse defeats the point of changing passwords after a breach.

No Expiration Without Cause

Older policies forced passwords to expire every 30 or 90 days. NIST no longer recommends routine expiration because users who must change passwords frequently pick weaker ones ("January2024!", "February2024!"). Change passwords when there is evidence of compromise, not on a calendar schedule.

Prohibition of Common Passwords

Block the most commonly used passwords. Any system that allows "password", "123456", or "qwerty" is wide open to dictionary attacks. Maintain a blocklist of millions of known compromised passwords and reject them on creation.

How Systems Store Passwords

Storing passwords in plain text is a critical security failure. Any database breach immediately exposes every user's password. Proper storage uses cryptographic hashing.

WRONG (plain text):
  Database: username="alice" password="MyDogRex2023!"

RIGHT (hashed + salted):
  Database: username="alice" hash="$2b$12$Kd8...randomhash..."

Even if attackers steal the database, they get hashes, not passwords.

What Is a Salt

A salt is a random value added to a password before hashing. Two users with the same password get different hashes because each has a unique salt. This prevents attackers from using precomputed hash databases (rainbow tables) to reverse hashes quickly.

Alice's password: "sunshine"
Salt: "xK7q"
Combined: "xK7qsunshine"
Hash: a3b1c9... (unique to Alice)

Bob's password:  "sunshine"  ← same password
Salt: "mP2r"
Combined: "mP2rsunshine"
Hash: f7e4a2... (completely different hash!)

Password Managers — The Practical Solution

Humans cannot reliably remember 50 different strong, unique passwords for every service they use. Password managers solve this by storing all passwords in an encrypted vault, protected by one strong master password and MFA.

WITHOUT a password manager:
  Bank:     sunshine2020
  Email:    sunshine2020  ← reused
  Work:     sunshine2020  ← reused

WITH a password manager:
  Bank:     x#Kp9!mQv7Lr&N2j  ← unique, 16 chars
  Email:    Tr8@vFw!2nYsK7Pd  ← unique, 16 chars
  Work:     Qm5!bXz9Rv#4HkWn  ← unique, 16 chars

Privileged Account Password Controls

Administrator accounts and service accounts need stricter password controls because they have elevated access.

Control                           | Standard User | Admin Account
----------------------------------|---------------|---------------
Minimum password length           | 12 chars      | 20+ chars
MFA required                      | Recommended   | Mandatory
Password change on any compromise | Yes           | Immediate
Shared accounts allowed           | No            | Never
Account monitored for anomalies   | Yes           | Intensive

Common Password Mistakes Users Make

Mistake                          | What Attackers Do With It
---------------------------------|------------------------------------------
Using pet names, birthdays       | Guess from social media
Adding "!" at the end            | All dictionary attacks include this
Replacing o with 0, a with @     | Pre-built into attack rules
Using same base + different year | "Company2023" → try "Company2024"
Writing password on sticky note  | Physical access = instant compromise
Using work email for personal    | One breach exposes both accounts

Password policies only work when they are enforced technically, not just written in a handbook. Systems should automatically reject weak passwords, automatically lock accounts after failed attempts, and automatically alert security teams when login patterns look unusual. Policy without enforcement is a wishlist.

Leave a Comment

Your email address will not be published. Required fields are marked *