Beiträge

Wir sind stolz, dass wir heute privacyIDEA 3.0 veröffentlichen können. Denn mit privacyIDEA 3.0 stellen wir die Weichen für eine stabile Zukunft.

Während viele sich schnell in verlockenden MFA SaaS-Angeboten verlieren, wollen wir unseren Kunden weiter die Möglichkeit geben, ihre sichere Mehr-Faktor-Authentifizierung mit einem vertrauenswürdigen System unter der eigenen Kontrolle, on Premise, durchzuführen. Damit das auch in Zukunft so bleibt, haben wir an mehreren Punkten in den vergangenen Monaten gearbeitet. Vordergründig scheinen die erstmal keinen Wow-Effekt zu bringen, aber Ihnen als Unternehmenskunde geben sie das, was für Sie zählt: Langfristige Stabilität!

Python 3

privacyIDEA ist in Python geschrieben. Die Python Version 2.7 wird ab 2020 nicht mehr weiterentwickelt. Wir haben den Code von privacyIDEA 3.0 so geschrieben, dass er sowohl unter Python 2.7 als auch unter Python 3.x läuft. Das gibt Ihnen die Sicherheit, dass Sie ohne Migrationsprojekte von Python 2.7 auf Python 3 wechseln können und auch nach 2020 privacyIDEA entspannt einsetzen können.

Eine PIP-Installation von privacyIDEA 3.0 können Sie wahlweise schon auf Python 3 betreiben. Die Enterprise-Pakete werden wir derzeit noch mit Python 2.7 ausliefern und sie dann im Laufe der kommenden Monate auf Python 3 ändern. Für Sie ist dann außer einem normalen Update nichts weiter zu tun.

Cryptofunktionen

Unter der Haube haben wir auch Crypto-Bibliotheken ausgetauscht. Die alte Bibliothek pycrypto musste dem de-Facto-Standard cryptography weichen. Signaturen und verschlüsselte Daten haben nun zusätzlich eine eigene Versionierung, so dass wir hier zukunftssicher sind, wenn wir die Art und Weise, wie wir signieren oder verschlüsseln, austauschen wollen. Dank der Versionierung können wir hier einfach die Abwärtskompatibilität sicherstellen.

Datenbank-Schema

Wir haben mit einer Design-Altlast gebrochen, die auf die ersten Versionen im Jahr 2009 zurückgeht. Bisher wurde die Zuordnung eines Tokens zum Benutzer in der Datenbank in der Tokentabelle selber gespeichert. Das war zwar einfach, aber nicht flexibel. Die Zuordnung erfolgt nun in einer eigenen Tabelle, so dass wir datenbankseitig schon vorbereitet haben, dass mehrere Benutzer den gleichen Token besitzen können. Dies wird es uns in der Zukunft erleichtern, ganz neue Tokentypen zu entwickeln.

Installationsvarianten

Wir haben uns entschieden, alle Installationsvarianten als sogenannte Python virtualenv auszuliefern. In einem dedizierten Verzeichnis bringt privacyIDEA alle Abhängigkeiten mit, die es benötigt. Dadurch stellen wir sicher, dass unabhängig davon, ob privacyIDEA auf einem Debian, Ubuntu, RHEL oder SLES läuft und per pip, apt oder yum installiert wurde, in einer gegebenen Version der komplett gleiche Code läuft. Das hilft, Seiteneffekte von unterliegenden Abhängigkeiten auszuschließen. Die Installationen werden homogener und stabiler.

Dennoch ist weiterhin wie gehabt eine einfache Installation und Update mittels apt/aptitude oder yum möglich.

Ab privacyIDEA 3.0 werden wir keine Pakete mehr für Ubuntu 14.04LTS bauen. Dafür bieten wir ab 3.0 Pakete für Ubuntu 18.04LTS und 16.04LTS an. Die Pakete für Ubuntu können wir aber nicht mehr in den PPA Launchpad Repositories veröffentlichen. Vielmehr veröffentlichen wir diese nun in einem eigenen Repository.

Installation der neuen Version privacyIDEA 3.0

privacyIDEA 3.0 ist die Community Edition, die auf dem Python Package Index und in Repositories für Ubuntu 16.04LTS und 18.04LTS verfügbar ist. Wegen der Änderungen bitten wir Sie, die Installations- und Update-Anleitungen genau zu lesen.

Die Enterprise Edition für Unternehmenskunden wird in einigen Wochen als Version 3.0.1 folgen.

Lesen Sie außerdem unsere Pressemitteilung zum Release von privacyIDEA 3.0.

Die quelloffene Mehrfaktor-Authentifizierungssoftware privacyIDEA ist in der Version 3.0 erschienen. Als wesentliche Neuerung nennen die Entwickler des in Python geschriebenen Authentifizierungsservers die Unterstützung von Python 3, womit ein langfristig zukunftssicherer Betrieb sichergestellt wird. Mit Push-Token wurde außerdem ein neuer Tokentyp eingeführt, um die User Experience weiter zu verbessern. Außerdem wurden die Kryptographie-Module auf neue, zeitgemäße Bibliotheken umgestellt und ein generischer Queue-Mechanismus eingeführt, mit dem zeitintensive Aufgaben aus einer Authentifizierungsanfrage ausgelagert werden können.

Mit der Umstellung auf Python 3 reagieren die Entwickler von privacyIDEA auf die Einstellung des Supports von Python 2.7 ab 2020. Unternehmen und Endanwender, die privacyIDEA einsetzen, erhalten damit die Sicherheit, dass die Open-Source-Lösung auch in Zukunft modernste Standards unterstützt und kontinuierlich weiterentwickelt wird.

Als neuer Tokentyp für die Authentifizierung wurden sogenannte Push-Token eingeführt. Benutzer haben nun die Möglichkeit, bei der Anmeldung an einem Dienst Benachrichtigungen über die privacyIDEA Authenticator App zu erhalten und auf Ihrem Smartphone durch einen einfachen Klick die Anmeldung zu bestätigen.

Mehr Flexibilität für Administratoren

Die Kryptographie-Module wurden mit dem Release auf neue, zeitgemäßere Bibliotheken umgestellt. So wurde bspw. die nicht mehr gepflegte Bibliothek pycrypto entfernt und gegen cryptography ausgetauscht. Diese gilt als neuer De-Facto-Standard in der Python-Community.

Ein generischer Queue-Mechanismus erlaubt nun, dass zeitintensive Aufgaben aus dem eigentlichen Authentifizierungsrequest ausgelagert werden können. So kann der Administrator bspw. bei der Verwendung von E-Mail-Token definieren, dass eine E-Mail außerhalb der eigentlichen Authentifizierunganfrage gesendet wird, was die Wartezeit bei der Anmeldung verkürzt.

Das Datenbankschema sieht nun vor, dass ein Authentifizierungsobjekt (Smartphone, OTP-Token, Yubikey, X509-Zertifikat) mehreren Benutzern zugeordnet werden kann. Dadurch wird privacyIDEA flexibler und ermöglicht in Zukunft ein leichtere Wartbarkeit.

Bereits seit der Version 2.23 haben Administratoren die Möglichkeit, über beliebig gefilterte Ereignisse Statistiken zu erzeugen und diese zum Beispiel in Grafana darzustellen.
Mit der Version 3 lassen sich nun darüber hinaus eigene Module zur Speicherung der Statistik-Daten integrieren. Anfallende Daten können dadurch in Datenbanken abgespeichert werden, die für die Verarbeitung von Zeitreihen besser geeignet sind (z.B. Prometheus).

Für Ubuntu 16.04 LTS und Ubuntu 18.04 LTS stehen Repositories bereit, die eine leichte Installation von privacyIDEA 3.0 ermöglichen. Aus dem Python Package Index heraus kann es auf jeder anderen beliebigen Distribution installiert werden. Das Paket ist auch direkt über Github auffindbar: https://github.com/privacyidea/privacyidea
Aufgrund der weitreichenden Schema-Änderungen wird empfohlen, vor einem Update die Dokumentation unter https://privacyidea.readthedocs.io genau zu lesen.

Über privacyIDEA

privacylDEA ist ein Multi-Client- und Multi-Instanz-fähiges System zur Sicherung der Identitäten (ID) durch Mehr-Faktor-Authentifizierung. Es wird an zentraler Stelle zusätzlich zur Benutzerverwaltung installiert und verwaltet die Authentisierungs-Geräte (unterschiedliche Token, OTP-Token, Smartphone-Apps, U2F) und Zugriffsrechte der Benutzer. Es kann mit selbsterzeugtem Schlüsselmaterial umgehen.

Weitere Informationen finden Sie unter https://netknights.it/produkte/privacyidea. Wenn Sie sich über die neuesten Entwicklungen rund um privacyIDEA auf dem Laufenden halten möchten, besuchen Sie https://netknights.it/aktuelles/.

(Referenz privacyIDEA-Projekt: https://www.privacyidea.org/privacyidea-3-0—python-3,-push-and-policies/)