SecSign ID Plugin: FTP PAM

15.12.2016 5 Minuten Lesedauer

Zwei-Faktor Authentifizierung für FTP PAM

Das Pluggable Authentication Module (PAM) ist eine Softwarebibliothek, die eine allgemeine Programmierumgebung für Authentifizierungsservices bietet. Mit der PAM-API müssen Sie die Einstellungen für jede Authentifizierung nicht mehr einzeln einstellen. Stattdessen können einzelne, standardisierte Module verwendet werden. Die Module können einzelnen individuellen Services in der Konfigurationsdatei zugewiesen werden. Die Kompilation der entsprechenden Software muss nicht geändert werden. PAM ist verfügbar für AIX, HP-UX, Solaris, Linux, FreeBSD, NetBSD, Mac OS X und DragonFly BSD.

PAM Überblick
Integration

Integration des Plugins in Ihr 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

Installation und Konfiguration

Bevor Sie damit beginnen das SecSignID PAM als Authentifizierung für ProFTPd zu nutzen, lesen Sie sich bitte das Tutorial für das SecSign ID PAM Tutorial durch und befolgen die Schritte 3-5 um das PAM korrekt zu konfigurieren und installieren.

Hinweis: Die Verwendung des FTP-Protokolls ohne weitere Sicherheitsmaßnahmen wird als sehr kritisch eingestuft, da die Übertragung unverschlüsselt stattfindet. Kennwörter und Daten werden als Klartext übertragen und können mitgelesen werden. FTP über SSL/TLS schafft als FTPS verschlüsselte Übertragungswege und mit der SecSignID Zwei-Faktor Authentifizierung wird die Authentifizierung abgesichert.

Da es verschiedene Wege gibt, die FTP Verbindung zu verschlüsseln, wird im weiteren Verlauf trotzdem nur von FTP gesprochen – eine verschlüsselte Verbindung wird aber vorausgesetzt, auch wenn die Zugriffsdaten dank der SecSign ID 2FA nicht mehr kompromittiert werden können.

In diesem Tutorial verwenden wir den bekannten FTP Server „ProFTPd“. Andere FTP Server wie zum Beispiel „vsftpd“ unterstützen ebenfalls PAM und werden genau so oder sehr ähnlich wie hier beschrieben mit der SecSignID verbunden.

Kurzversion der Konfiguration & Installation:

  1. libcurl und gcc werden vorrausgesetzt
  2. SecSignID PAM anfragen und entpacken
  3. Pfade zur Konfigurationsdatei in secsign.c anpassen
  4. Namen aller Nutzer und dazugehörige SecSignIDs in secsignid.config eintragen
  5. make
  6. Die kompilierte Datei pam_secsignid.so in die PAM Bibliothek kopieren (normalerweise /lib/security)
Konfiguration

Konfiguration mit PROFTPD

Installieren Sie ProFTPd als Standalone Version über apt-get install proftpd openssl. Öffnen Sie die Konfigurationsdatei /etc/proftpd/proftpd.conf und treffen Sie alle umgebungsspezifischen Einstellungen für FTP wie zum Beispiel die Übertragung via TLS. Das Konfigurations-Script von ProFTPd schaut nach ob das System PAM unterstützt und lädt mod_auth_pam automatisch. Bei anderen FTP Servern wie zum Beispiel „vsftpd“ kann es sein, dass man in der Konfigurationsdatei explizit die Verwendung von PAM angeben muss.

Um dem Nutzer etwas Zeit zu geben, den Login auch auf seinem Smartphone zu bestätigen, sollten die Werte TimeoutNoTransfer, TimeoutStalled und TimeoutIdle entsprechend verlängert werden, auf mindestens 2 Minuten.

Öffnen Sie dann die Konfigurationsdatei für die ProFTPd PAM Einstellungen /etc/pam.d/proftpd und ändern Sie es wie folgt ab:

#%PAM-1.0
auth [success=1 default=ignore] pam_secsignid.so
auth requisite pam_deny.so
auth required pam_permit.so
#auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=$
#@include common-auth 

Speichern Sie die Datei und starten Sie den FTP Server neu, in dem Fall mit service proftpd restart.

Nun kann der FTP Server getestet werden. Dazu sollte im entsprechenden FTP Client-Programm wie zum Beispiel FileZilla die Timeout Zeit auf 2 Minuten hochgesetzt werden, damit der Nutzer ausreichend Zeit hat den Login auf seinem Smartphone zu bestätigen.v

pam_ftp_filezilla_2fa-1

Fehlerquellen

Fehlerquellen

Fehler beim Kompilieren

Die Bibliothek libcurl muss im Standardpfad installiert sein, ansonsten schlägt make fehl. Befindet sich libcurl außerhalb der Standardpfade, muss manuell kompiliert werden.

Fehler bei der Authentifizierung

Gibt es Fehler bei der Authentifizierung sollte immer der Debug- sowie der Logmodus aktiviert werden (siehe PAM Debug- & Logmodus) und die Ausgaben in eine Datei geschrieben werden, da das PAM normalerweise still ist und keine Ausgaben zulässt (sicherheitsrelevant). Werden trotzdem keine Log- oder Debug Dateien erstellt, sind die in secsignid.c angegebenen Pfade fehlerhaft bzw. es besteht kein Lese- & Schreibrecht.

Es wird dann eine Log-Datei erstellt, wo generelle Fehler aufgezeichnet werden. Arbeitet libcurl korrekt und ist der SecSignID Server erreichbar? Ist Port 443 verfügbar um mit dem Server zu kommunizieren? Wird die Konfigurationsdatei gefunden und hat das PAM Lesezugriff darauf?

Es wird eine Debug-Datei erstellt, wo die Schnittstellen Kommunikation aufgezeichnet ist. Gibt es Fehler bei der Kommunikation, weil keine SecSignID zu dem Nutzer gefunden werden kann oder gibt es Fehler bei einem der Parameter, wie Servicename?

Ihr eigener ID Server

Die Inhouse Installation der SecSign ID bietet Ihnen die Flexibilität, dich mit Ihrem bevorzugten Server, Services und Geräten zu verbinden. Passen Sie die SecSignID Ihrer Unternehmensmarke an!

Mehr Erfahren
On Premise 2FA ID

Letzte Blog Einträge, Neuigkeiten & Funktionen

SecSign Portal Neuerungen

Die neuesten SecSign Portal Updates ermöglichen unseren Nutzern eine noch einfacherere und sicherere Bedienung. History Notiznotifikationen Dateien markieren Softkey Dateien beim Upload signieren Hochgeladene Da ...

Mehr Lesen

Zwei-Faktor Authentifizierung (2FA) vs. Zwei-Schritt Authentifizierung (2SA)

Zwei-Faktor Authentifizierung und Zwei-Schritt Authentifizierung sind zwei Möglichkeiten, den Login Ihrer Nutzer abzusichern. Beide Optionen können, abhängig von Ihren Anforderungen und Bedingungen, Ihren Nutzern eine sichere A ...

Mehr Lesen

Crowd SSO

Inhalt Vorbedingungen für die Einrichtung Installieren und Einrichten der einzelnen Komponenten als Server-Anwendung Einrichten von Crowd für die zentrale Benutzerverwaltung Einrichten der Applikation (z.B. JI ...

Mehr Lesen
SecSign 2FA