SSL/TLS vs Password-Only Authentication on pfSense: Why Certificate-Based OpenVPN is the Secure Best Practice

SSL/TLS certificate-based authentication versus password-only authentication for OpenVPN on pfSense.

PFSENSE

2/19/20253 min read

SSL/TLS vs Password-Only Authentication on pfSense: Why Certificate-Based OpenVPN is the Secure Best Practice

Below is a technical explanation comparing SSL/TLS certificate-based authentication versus password-only authentication for OpenVPN on pfSense. In short, using certificates is generally far more secure and is the recommended best practice for most VPN deployments.

1. How OpenVPN Handles Authentication

  • SSL/TLS Mode:

    • The server has its own certificate/key pair, signed by a Certificate Authority (CA).

    • Each client (user) also has a unique certificate/key pair, signed by the same CA.

    • When a client connects, the server validates the client’s certificate against the CA.

    • Optionally, the user can also be required to enter a username/password (two-factor: something you have—a certificate—and something you know—a password).

  • Username/Password Only (Shared TLS Key):

    • The server and client share a pre-shared TLS key (or the server uses a single server certificate).

    • Each user logs in with a username and password without a unique client certificate.

2. Benefits of Certificate-Based Authentication

  1. Stronger Security

    • Each client is uniquely identified by its certificate/private key pair.

    • If a certificate is compromised, you can revoke just that certificate rather than changing global credentials.

  2. Granular Access Control

    • You can map certain certificates (users) to specific firewall rules or subnets.

    • This makes it easier to enforce user-based or role-based permissions.

  3. Simplified User Revocation

    • If an employee leaves or a device is lost, you can revoke that single certificate to instantly block access.

    • With password-only authentication, you must change the global password or trust that the user is the only one who knows it.

  4. Resistance to Password Attacks

    • Even if an attacker guesses or steals the password, they also need the user’s private key file to establish a valid VPN session.

    • This two-factor approach (something you have = certificate, something you know = password) drastically improves security.

  5. Meets Compliance Requirements

    • Many security standards (e.g., PCI-DSS, HIPAA) prefer or require multi-factor or certificate-based VPN authentication to protect sensitive data.

3. Drawbacks of Password-Only Authentication

  1. Single Factor Weakness

    • A static password is more easily brute-forced, phished, or leaked.

    • Anyone obtaining the correct password can impersonate the user.

  2. No Certificate Revocation

    • If you suspect a password has been compromised, you must reset it—and possibly for every user if passwords are not unique per user or if the account is shared.

  3. Less Visibility and Auditing

    • You cannot tie a user to a specific certificate if everyone only uses a password.

    • More difficult to maintain detailed access logs linking each unique connection to a specific user identity.

4. Hybrid Approach: Username/Password + Certificate

Many organizations choose to combine the two methods:

  • Each user has a unique certificate (for cryptographic identity).

  • Each user must also enter a username/password (for additional verification).

This approach effectively provides two-factor authentication (the user’s certificate acts like a “hard token,” and the password is a second factor).

5. Best Practice Recommendations

  1. Always Use SSL/TLS Certificates

    • Create a dedicated internal Certificate Authority (CA) on pfSense.

    • Generate a unique client certificate for each employee or user.

    • Ensure the server’s certificate is signed by the same CA.

  2. Enable User/Pass Authentication

    • For an additional layer of protection, require a username and password on top of the certificate.

    • This significantly reduces the risk if a certificate is somehow stolen but the password is unknown.

  3. Implement Certificate Revocation

    • If a user’s certificate is compromised or the user leaves the organization, revoke it in pfSense’s certificate manager.

    • The VPN server will reject any future connection attempts from that certificate.

  4. Enforce Strong Password Policies

    • Use random, complex passwords if you add user/pass authentication.

    • Consider integrating Multi-Factor Authentication (MFA) solutions (e.g., TOTP, RADIUS with MFA) if feasible.

  5. Regularly Rotate Certificates

    • Set an expiration date for user certificates (e.g., 1 year).

    • This forces a periodic renewal and can help maintain an up-to-date inventory of active users.

Conclusion

Using SSL/TLS certificate-based authentication in OpenVPN on pfSense is superior to password-only authentication in almost every aspect: security, manageability, and compliance. The best method is typically a hybrid—requiring both unique certificates per user and username/password—to achieve the highest level of security. This ensures that an attacker must steal both the private key and credentials to break in, providing robust protection for your remote access infrastructure.