Skip to main content

PAM Authentication

PAM integration validates proxy users against the system's Pluggable Authentication Modules (PAM) stack. This allows you to use a single set of credentials for both OS-level access (SSH, Login) and proxy access.

When to use PAM Authentication

Use PAM Authentication WhenUse Directory Services Instead
SafeSquid is running on Linux/UnixPrimary identity is in Active Directory
You want to use local OS usersYou need Single Sign-On (SSO)
System already uses PAM for LDAP/RadiusBest user experience for domain PCs
Prerequisites
  • SafeSquid running on a PAM-capable operating system (typically Linux).
  • OS users and passwords already configured.
  • Admin access to the SafeSquid Configuration Portal.

Enable PAM in Access Rules

  1. Access Configuration: Open the Configuration Portal and click Configure.
  2. Navigate to Allow List: Application SetupAccess RestrictionsAllow List.
  3. Configure Rule:
    • Edit the entry that matches your client segment.
    • PAM Authentication: Set to TRUE.
    • Username/Password: Leave these empty (we are using OS PAM, not local SafeSquid credentials).
  4. Save and Apply: Click the checkmark to save.
Note on Local Users

If you create a user via useradd on the Linux host, SafeSquid will be able to authenticate them once PAM is set to TRUE.

Verification

ActionMethodExpected Result
Test LoginAccess a website from a client.A browser login prompt appears; enter Linux OS credentials.
Check Logstail -f /var/log/safesquid/identity.logShows the OS username for each authenticated request.
Verify RuleCheck Access RestrictionsAllow List.The rule shows PAM Authentication is TRUE.

Troubleshooting

SymptomLikely CauseFix
Authentication prompt does not appearRule mismatchEnsure the rule matches the client IP and is placed high enough in the Allow List.
OS credentials rejectedPAM stack mismatchVerify the system PAM configuration (e.g., /etc/pam.d/safesquid) if it exists, or ensure the global PAM service is working.
Login prompt repeatsIncorrect credentialsVerify the user exists on the Linux host and the password is correct.

Next steps