SecSign ID Plugin: SSH PAM

2016-11-28 5 minutes to read

Two-Factor Authentication for SSH PAM

The Pluggable Authentication Modules (PAM) is a software library which offers a general programming interface for authentication services. By using the PAM-API one does no longer need to define the settings for every single authentication application. Instead, individual standarized modules can be used. The modules can be assigned to individual services in the configuration file. There is no need to change the compilation of the corresponding software. PAM is available for AIX, HP-UX, Solaris, Linux, FreeBSD, NetBSD, Mac OS X and DragonFly BSD.

PAM Overview
Integration

Integration of the plugin into your setup

SecSign ID Integration

Please configure your desired integration of the SecSign ID Two Factor Authentication

Choose a system, where you want to add the secure login

Do you need your own ID Server inside your protected network or prefer if we manage and maintain it for you

The location to save the assigned SecSign IDs to a user account or the IDM alltogether

System to protect
?
The System you want to protect - Choose a system, where you want to add the secure login
SecSign ID Server location
?
Do you need your own ID Server inside your protected network or prefer if we manage and maintain it for you
User account location
?
The system to save the assigned SecSign IDs to a user account or the IDM alltogether
edit the settings to change the integration
Authentication
2FA
2FA blind
2FA no AP
2SA
2SA no AP
2SA blind
OTP
Enrollment
Custom ID
Pattern
IDP Custom Website
Enrollment initiated by SP
Enrollment with IDM
Show Network
Hide Network
Fullscreen
Request Solution
x
The authentication was successful
Installation and Configuration

Installation and Configuration

Please read the SecSign ID PAM Tutorial before using the SecSign ID PAM for SSH Authentication. Follow steps 3 to 5 to configure and install PAM correctly.

Overview on the configuration and installation:

  1. libcurl and gcc are required
  2. inquire SecSignID PAM and unpack
  3. Adjust the path to the configuration file in secsign.c
  4. Add all user names and corresponding SecSign IDs in secsignid.config
  5. make
  6. Copy the compiled file pam_secsignid.so in the PAM library (usually /lib/security)

Configuration with SSH

Configuration with SSH

Depending on your system, settings, login preferences and OpenSSH version, these steps might differ:

Public Key with Keyboard interactive 2FA (example in RHEL):
After OpenSSH version 6.2, the AuthenticationMethods configuration parameter can be used. Open the configuration file/etc/ssh/sshd_config and change the following parameters:

Then open the configuration file for the SSHd PAM settings/etc/pam.d/sshd and change it to the following:

Restart the sshd service

Establish a connection to the SSH server and try the SecSign ID Two-Factor Authentication.

Password with 2FA (example in Ubuntu):
Open the configuration file/etc/ssh/sshd_config and activate the utilization of PAM:

Then open the configuration file for the SSHd PAM settings/etc/pam.d/sshd, uncomment the entry at “Standard Un*x authentication” and add the following:

Save the file and reboot the SSH server. Establish a connection to the SSH server, enter your password and try the SecSign ID Two-Factor Authentication.

Troubleshooting

Troubleshooting

Compilation errors

The library libcurl needs to be installed in the standard path, otherwise make fails. If libcurl is not on the standard path the compilation needs to be executed manually.

Authentication errors

If the authentication fails the debug- and logmodus should be activated (see PAM debug- and logmodus) and the output should be written in a file. This is necessary since PAM normally needs to be silent and does not allow for output for security reasons. If no log- or debug-files are generated the paths provided in secsignid.c are incorrect or no read-and-write authorizations are available.

A log-file is produced stating all errors. It is determined if libcurl works accurate, if the SecSign ID server is available, if port 443 is available to communicate with the server, if the configuration file is available and if PAM has reading authorization.

A debug file is created which records the interface communication. It is determined wether errors in the communication persists because no SecSign ID for the specific user was found or if there are errors in a different parameter, for example the service name.

SELinux


With using the PAM, sshd needs access to several files, including the lock file folder and connects to the ID Server on port 443. If you use SELinux, you will have to create policies to allow that access.

To do so, check your system log file and find the lines that are “denied”

Copy it and run the following command:

Then, run:

That will create a permanent rule for it so you shouldn’t need to disable SELinux.

Your own ID-Server

On premise installations of SecSign ID offer the flexibility to connect with your preferred servers, services, and devices. And you can customize the SecSign ID with your own organization’s branding.

Learn More
On Premise 2FA ID

Latest Blog Posts, Updates & Features

Protecting the Home Office VPN with 2FA

In the recent weeks, home office work has increased potentially. And while employees are practicing social distancing from their home computer, attackers are working hard to exploit security issues in this situation that is unfami ...

Mehr Lesen

Two-Factor Authentication (2FA) vs. Two-Step Authentication (2SA)

Two-Factor Authentication and Two-Step Authentication are two options for secure authentication of users. Either one can be a good fit for your setup depending on your requirements and preferences. What is Two-Factor Authenti ...

Mehr Lesen

Options for secure SSO for Atlassian products

Options for securing Atlassian SSO Your users and passwords and services are all over the place? You want to simplify your security and authentication setup but you don’t know where to start? Move beyond your authentication ...

Mehr Lesen
Do NOT follow this link or you will be banned from the site!