GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie Ihre OTP-Appliance mit privacyIDEA ein


von Nemo @ pixabay

In diesem Howto richten wir ein System ein, das als Ihre eigene persönliche OTP-Appliance fungieren kann und alle Authentifizierungsgeräte in Ihrem Netzwerk verwaltet. Anschließend können Sie Ihre Dienste so konfigurieren, dass sie sich bei diesem Computer authentifizieren. Es ist eine gute Idee, einen Virtualisierungsmechanismus zu verwenden. Wenn Sie etwas alte Hardware in der Nähe haben, ist dies sogar genauso gut.

Wir werden privacyIDEA auf einem Ubuntu 14.04 LTS-System installieren, das Sie vielleicht schon früher hier oder hier gesehen haben. Aber dieses Mal machen wir es noch glatter und eleganter!

Basisinstallation

Haftungsausschluss: Ich gehe davon aus, dass Sie in diesem Szenario Benutzer root sind. Wenn nicht, sollten Sie vor jedem Befehl „sudo“ hinzufügen.

Also installieren wir zuerst einen einfachen Ubuntu-Server 14.04 LTS mit nichts darauf. Bitte installieren Sie keine Datenbank oder Webserver. Sie sollten nur openssh auswählen, um es als Dienst auf diesem Computer auszuführen.

PrivacyIDEA installieren

privacyIDEA 1.3.3 enthält eine Reihe neuer Debian-Pakete in einem Launchpad-Repository, was die Einrichtung noch einfacher macht.

Zuerst müssen wir das Repository zum System hinzufügen:

apt-get install software-properties-common
add-apt-repository ppa:privacyidea/privacyidea
apt-get update

Nachdem wir das privacyidea-Repository hinzugefügt haben, können Sie sich ansehen, was verfügbar ist:

[email protected]:~# apt-cache search privacyidea
privacyidea - Zwei-Faktor-Authentifizierungssystem, z. für OTP-Geräte
privacyideaadm - Admin-Client für privacyIDEA
privacyidea-radius - FreeRADIUS-Modul für privacyIDEA, OTP-Authentifizierung
privacyidea-all - Zwei-Faktor-Authentifizierungssystem. Dies ist ein Metapaket, um alles zu installieren.
privacyidea-otrs - OTRS-Modul für privacyIDEA, OTP-Authentifizierung
privacyidea-nginx - Zwei-Faktor-Authentifizierungssystem. Dies ist ein Metapaket zum Installieren von privacyidea mit nginx
privacyidea-appliance - Zwei-Faktor-Authentifizierungssystem. Dies ist ein Einrichtungstool für eine einfache Systemeinrichtung.

Es gibt verschiedene (Meta)-Pakete für verschiedene Szenarien. Wie erwähnt möchten wir eine Art „Appliance“ einbauen. Also lass es uns tun:

apt-get install privacyidea-appliance privacyidea-radius

Dadurch werden der Nginx-Webserver, die MySQL-Datenbank, der FreeRADIUS-Server und privacyIDEA mit allen Python-Abhängigkeiten installiert.

Sie werden aufgefordert, ein MySQL-Root-Passwort einzugeben. Wählen Sie eine gute aus - wir brauchen sie später nicht!;-)

Nach der Installation können Sie Ihre Appliance konfigurieren.

Konfigurieren Sie Ihr Gerät

Es gibt ein Tool, um alle notwendigen Mittel Ihres Geräts zu konfigurieren. Starten Sie es auf der Kommandozeile als Benutzer root.

privacyidea-setup-tui


Dies ist ein dialogbasiertes Text-UI-Tool, mit dem Sie alle relevanten Aufgaben auf Betriebssystemebene ausführen können, z. B. das Verwalten Ihrer Token-Administratoren, das Festlegen von Protokollebenen, das erneute Generieren von Verschlüsselungs- und Signierschlüsseln, das Festlegen des richtigen Webservices und RADIUS-Dienstes und das Verwalten Ihrer RADIUS-Clients.

Mindestens müssen wir die folgenden Aufgaben ausführen:

  • mindestens einen Token-Administrator erstellen
  • erstellen Sie die MySQL-Datenbank
  • erstellen Sie einen RADIUS-Client
Gehen Sie das Tool durch, um sich mit den Möglichkeiten vertraut zu machen.

Das Tool basiert auf der Parser-Logik für die FreeRADIUS-Client-Dateien, die privacyIDEA-INI-Dateien und die Nginx-Datei. Sie können die Dateien also auch auf der Kommandozeile bearbeiten, die Änderungen bleiben erhalten.

Hinweis: Das Setup-Tool behält keine Kommentare in den Dateien bei, wenn Sie diese Dateien manuell bearbeiten!

Erstellen Sie Ihren Token-Administrator

Um Ihre Token-Administratoren zu verwalten, gehen Sie zu privacyidea ? Administratoren verwalten .

Dort können Sie Neuen Administrator hinzufügen auswählen .

Sie werden gefragt nach:

  • Ein Benutzername, bei dem ich admin wähle und
  • das Passwort (zweimal!), das nicht auf dem Bildschirm angezeigt wird.
Danach sehen Sie den neuen Token-Administrator in der Liste. Diesen Schritt können Sie beliebig oft wiederholen. Sie können einen Administrator löschen oder das Passwort ändern, indem Sie den Administrator aus der Liste auswählen.


Nachdem Sie Ihren Administrator (oder Ihre Administratoren) erstellt haben, können Sie auf Abbrechen und Abbrechen klicken und zum Hauptmenü zurückkehren.

Erstellen Sie die MySQL-Datenbank

Sie können diesen Schritt auch überspringen. privacyIDEA würde dann mit der SQLite-Datenbank unter /var/lib/privacyidea/ laufen. Aber wir entscheiden uns in diesem Szenario für die Verwendung einer MySQL-Datenbank.

Gehen Sie also zu privacyIDEA ? Datenbank ...


Dort können Sie lokal zurücksetzen auswählen , das die MySQL-Datenbank erstellt, einen Benutzer erstellt und die Datenbanktabellen einrichtet.


Ja das tun wir!


Schließlich sehen Sie die neue Konfiguration, die die MySQL-Datenbank verwendet.

Erstellen Sie Ihre RADIUS-Clients


Wählen Sie im Hauptmenü FreeRADIUS ? Client-Konfiguration um Ihre RADIUS-Clients zu verwalten. Die Standarddatei /etc/freeradius/clients.conf enthält einen localhost-Client, deshalb sehen Sie bereits einen Client in der Liste.

Hinweis: Sie können den letzten Kunden nicht löschen, also erstellen wir neue Kunden!

Wir erstellen ein Client-Netzwerk, um mit allen möglichen Clients in Ihrem Netzwerk und dem Client localhost fertig zu werden, um Tests gegen das System durchzuführen. Also wähle ich diese Werte - Sie sollten das Netzwerk entsprechend anpassen:

  1. meinnetzwerk
      name:meinnetzwerk
      ip:172.16.200.0
      Netzmaske:24
      geheim:topSecret4All
      Kurzname:leer
  2. localhost
      name:localhost
      ip:127.0.0.1
      Netzmaske:32
      geheim:topSecretOnce
      Kurzname:leer

Wir wählen Neuen Kunden hinzufügen um den neuen Client "mynetwork" zu erstellen und die Dialoge werden uns nach den obigen Werten fragen. Somit können alle Clients im Netzwerk 172.16.200.0/24 eine RADIUS-Anfrage mit dem RADIUS-Secret „topSecret4All“ stellen.


Der Name der Client-Konfiguration


Die IP-Adresse


Die Netzmaske


Das gemeinsame Geheimnis


Der Kurzname kann leer gelassen werden

Sie können den Client "localhost" auswählen und löschen. Danach können Sie einen neuen Client "localhost" gemäß den obigen Einstellungen erstellen.

Konfiguration abgeschlossen

Jetzt sind Sie mit der Konfiguration des Basissystems fertig. Das Setup-Tool sollte erkennen, dass Sie wichtige Daten ändern und die Dienste neu starten. Aber nur um sicherzugehen, dass Sie dies manuell tun können:

service uwsgi restart
service freeradius restart

Registrieren Sie Ihr Token

Sie können jetzt Ihre Authentifizierungsgeräte registrieren, was über die Verwaltungs-Web-Benutzeroberfläche erfolgt. Richten Sie Ihren Browser auf https://your-server, akzeptieren Sie die Zertifikatswarnung des selbstsignierten Zertifikats und Sie erhalten den Anmeldebildschirm:

Auf diesem Anmeldebildschirm können Sie sich als Token-Administrator anmelden. Alle von Ihnen erstellten Token-Administratoren müssen ihrem Namen „@admin“ hinzufügen, um anzuzeigen, dass sie Administratoren sind.

Die Web-Benutzeroberfläche gibt Ihnen einen Überblick über Tokens, Benutzer, Richtlinien, Maschinen und das Audit-Protokoll.

Mit Benutzerquelle verbinden

Da privacyIDEA keine Benutzer selbst verwaltet, müssen wir Benutzer aus irgendeiner Quelle lesen. Wir werden die Datei /etc/passwd verwenden.

Klicken Sie auf privacyIDEA-Konfiguration ? useridresolvers , klicken Sie auf die Schaltfläche Neu und wählen Sie Flatfile aus .

Klicken Sie auf Speichern um die Resolver-Definition unter dem Namen "local" zu speichern.

Hinweis: Sie können jederzeit auf das weiße Fragezeichen im grünen Kreis klicken, um die kontextbezogene Online-Hilfe in einem anderen Browserfenster aufzurufen. In der Tat könnte es eine gute Idee sein, etwas über Resolver und Realms zu lesen;-).

Wenn Sie das Resolver-Fenster schließen, gelangen Sie entweder automatisch zum Bereichsfenster oder Sie können auf privacyIDEA Config klicken ? Bereiche um ein neues Reich zu erschaffen. In diesem Dialog müssen Sie auf Neu klicken .

Geben Sie den Namen des Realms ("realm1") ein und wählen Sie den Resolver ("local") aus und klicken Sie auf Speichern .

Dann siehst du den neuen Realm in deiner Realmliste.

Sie können das Fenster schließen und auf die Registerkarte Benutzeransicht klicken .

Registrieren Sie ein Token für den Benutzer

Unten können Sie nach einem Benutzer suchen, indem Sie "r*" eingeben und auf Suchen klicken Taste. Sie sehen den Benutzer root. Wählen Sie den Benutzer aus, indem Sie darauf klicken. Der Benutzer wird in der linken Seitenleiste als ausgewählter Benutzer erwähnt. Nun können Sie auf den Button Anmelden klicken in der linken Seitenleiste.

Anschließend öffnet sich der Registrierungsdialog. Wählen Sie den Token-Typ „HMAC-ereignisbasiert“ und dann HMAC-Schlüssel generieren aus .

Klicken Sie auf die Schaltfläche Anmelden . Der Server erstellt einen geheimen Schlüssel und rendert einen QR-Code, der mit der Google Authenticator App gescannt werden kann. Diese Google Authenticator-App fungiert jetzt als Authentifizierungsgerät.

Nachdem Sie den QR-Code gescannt haben, können Sie auf OK klicken und schließlich eine PIN – ein Passwort, das nur Sie kennen – für genau diesen Token festlegen.

Jetzt müssen Sie sich mit zwei Faktoren authentifizieren – der PIN und dem OTP-Wert, der von Ihrem Authentifizierungsgerät generiert wird.

Testen Sie Ihr System

Jetzt können wir das System überprüfen, indem wir eine RADIUS-Anfrage an diese Appliance senden. Ich werde es vom System selbst aus tun, indem ich über ssh als root angemeldet bin, mit einem Befehl wie:

echo "Benutzername=root, Passwort=PIN+OTP" | radclient -s 127.0.0.1 auth topSecretOnce

Das Passwort aus der PIN und dem OTP-Wert verkettet wird und „topSecretOnce“ das gemeinsame Geheimnis für den lokalen Host ist.

[email protected]:~# echo "Benutzername=root, Passwort=test570391" | radclient -s 127.0.0.1 auth topSecretOnce
Erhaltene Antwort-ID 209, Code 3, Länge =55
Reply-Message ="privacyIDEA server denied access!"

Total genehmigte Autorisierungen:0
Gesamtzahl verweigerter Authentifizierungen:1
Gesamtzahl verlorener Authentifizierungen:0

[email protected]:~# echo "User-Name=root, Password=test137634" | radclient -s 127.0.0.1 auth topSecretOnce
Erhaltene Antwort-ID 180, Code 2, Länge =48
Reply-Message ="privacyIDEA-Zugriff gewährt"

Gesamt genehmigte Autorisierungen:1
Gesamtzahl verweigerter Autorisierungen:0
Gesamtzahl verlorener Autorisierungen:0

Hinweis: Aufgrund eines unterschiedlichen Startzählers in der App und im Server schlägt die erste Authentifizierung fehl.

Jetzt können Sie alle Ihre RADIUS-fähigen Anwendungen (Firewall, OpenVPN) nehmen und sie so konfigurieren, dass sie sich mit dem zuvor definierten gemeinsamen Geheimnis bei privacyIDEA authentifizieren.

Viel Spaß beim Authentifizieren!


Linux
  1. Sichern Sie Ihre Container mit SELinux

  2. Beheben Sie Probleme in Ihrem Netzwerk mit tcpdump

  3. Wie installiere und konfiguriere ich Bind, um deinen DNS-Server einzurichten?

  4. So installieren Sie Nextcloud mit Docker auf Ihrem Linux-Server

  5. So installieren und konfigurieren Sie MERN Stack mit Nginx unter Ubuntu 20.04

Q4OS Linux belebt Ihren alten Laptop im Windows-Look

So installieren Sie Fedora in einem Dual-Boot-Setup mit Windows

So richten Sie eine Firewall mit UFW unter Linux ein

So richten Sie eine Firewall mit Gufw auf einem Linux-Desktop ein

Lesen Sie Ihre Comics mit OpenComic auf Ubuntu 20.04

Personal Audio Streaming Server mit Koel auf Ubuntu 20.04 einrichten