Pam module to authenticate users using HOTP token.
Project description
libpam-hotp is a PAM (Pluggable Authentication Modules) module written in Python to authenticate users using an OTP (One Time Password) generated with the HOTP algorithm.
1. Installation
libpam-hotp depend of libpam-python which is packaged into all major distro. The module have been tested with Python 2.6, maybe it also work with 2.5, and certainly with 2.7 version.
After installing the dependencies, you can drop pam_hotp.py into /lib/security directory.
Next step is to setup PAM, and create a file with all your token seeds.
2. Configuration of PAM
libpam-hotp use libpam-python, the latter is actually the called module for PAM, thereby, your rule line will look like this:
auth [POLICY] pam_python.so pam_hotp.py [OPTIONS]
Available options are:
file: path to file that store user login - secret seeds mapping (default to /etc/hotp).
Example:
auth sufficient pam_python.so pam_hotp.py file=/etc/hotp_ssh
NOTE: This module only provide the AUTH mecanism.
3. Seeds file:
Seed file store the mapping between an user login and the secret seed code of user’s token.
Each line of this file is an association, each field is separated by an “:” char. The three first fields are mandatory:
User login
Secret seed code (encoded in hexadecimal form)
The number of seconds for a period (see your token datasheet)
You can add two additionals fields:
The maximum allowed number of drift periods
An hash, used to prompt an additionnal password to the user.
The hash is encoded with it salt with this format: SALT$HASH, hash function is SHA1(CONCAT(PASSWORD, SALT)).
Example:
Here is a complete example for the user stallman, with a token-period of 30 seconds, a maximum drift of 3 periods, and an additionnal password “richard”:
stallman:11223344556677889900AABBCCDDEEFF:30:3:6jsd3$1b6a67161e1cca2b1cd014c59b5bc907435cf8e7
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file libpam_hotp-0.1.tar.gz
.
File metadata
- Download URL: libpam_hotp-0.1.tar.gz
- Upload date:
- Size: 2.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d669c0dab66f0de43abfc64011a0af7559c81960dbbe8a581c1ffdf924ab9f1 |
|
MD5 | 0f161a9895ebea5dd7ac9b0c33f51857 |
|
BLAKE2b-256 | af894ee5b8b6ac26a5fd49bb0f48713014a9eeac8548a49f20d50897dfe8d6ce |
File details
Details for the file libpam_hotp-0.1-py2.6.egg
.
File metadata
- Download URL: libpam_hotp-0.1-py2.6.egg
- Upload date:
- Size: 2.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5d5269c134e5854390fa2f275474cda363910d365eeb6e117887e8099340b66 |
|
MD5 | c79623f5f1319887e50d6e9b79cfc0b0 |
|
BLAKE2b-256 | d2466094a11f19b433612a8c1a61b5aeeff72eaa99955c226acd311bbe45ccf8 |