Zwei-Faktor-Authentifizierung - YubiKey

  • Ich möchte hier mal kurz den Yubikey vorstellen und wie man damit z.B. das Backend schützt und Joomla! etwas sicherer macht.


    YubiKey


    Der YubiKey ist ein Hardwareschlüssel, der beim Berühren eines Buttons ein One-Time-Passcode (OTP) generiert. Dieser YubiKey ist sehr robust und enthält eigentlich keine Teile die kaputt gehen können. Der Schlüssel basiert auf einer 128-bit AES Verschlüsselung. Eine weitere Möglichkeit ist, in einem zweiten Speicherbereich ein eigenes Passwort abzulegen. Dieses Passwort ist statisch, um es zu benutzen muss man länger als 1 Sekunde den Button berühren. Für das normale OTP genügt ein kurzes Antippen. So, genug Werbung für den YubiKey, den Rest könnt ihr beim Hersteller nachlesen.



    Einrichtung unter Joomla!


    Die YubiKey-Funktionalität wird mittels eines Plugins zur Verfügung gestellt. Dazu gehen wir im Backend zu Erweiterungen/Plugins. Dort suchen wir dann nach "Zwei". Als Ergebnis bekommt ihr nun die Zwei-Faktor-Authentifizierung Yubikey angezeigt.



    Ein Klick auf den Titel des Plugins bringt uns zu den Einstellungen. Dort aktivieren wir das Plugin und suchen uns aus, ob es im Frontend, Backend oder in beiden angezeigt wird. Ich benutze es immer nur für die Absicherung des Backends. Also aktivieren wir "Administrator(Backend)" und klicken auf "Speichern & Schließen".



    Nun ist das Plugin aktiv, wenn man sich nun mal aus dem Backenend ausloggt, sieht man beim erneuten Login ein neues Eingabefeld mit dem Namen "Secret Key". Da wir aber keinen User für den YubiKey eingerichtet haben, ist dieses Feld noch nicht zu benutzen. Bitte leer lassen und wieder einloggen.



    Ich schütze damit grundsätzlich alle meine Super User. Also machen wir uns ran, diesen hier zu schützen. Unter Benutzer, den User "Super User" suchen und diesen auswählen. Nun sehen wir zu den normalen Tabs "Kontodetails", "Zugewiesene Gruppen" und "Basiseinstellungen" einen neuen Tab mit dem Namen "Zwei-Faktor-Authentifizierung".



    Wir klicken nun auf "Zwei-Faktor-Authentifizierung".



    Dort aktivieren wir den YubiKey, nun wird auf die Eingabe des Keys gewartet. Den Key einstecken und kurz den Button des YubiKeys berühren. Der Key erscheint jetzt in dem Eingabefeld. Das ganze speichern wir nun. Danach erscheint eine Liste mit Einmal-Passwörtern. Gut sichern, Screenshot, Ausdrucken oder bei gutem Gedächtnis merken ;)


    Nun ist der User komplett eingerichtet und kann seinen YubiKey zum Login benutzen.


    Was sind die Vorteile?


    Der Superuser hat nicht nur ein Passwort, sondern auch ein zweites Tool zur Authentifizierung. Niemand, der den Key nicht hat, kann sich nun am Backend einloggen. Das heißt, auch der liebe Hacker irgendwo auf der Welt, kann sich ohne den Key nicht im Backend anmelden, Auch nicht, wenn er im Besitz des normalen User-Passwortes ist. Auch ein BruteForce-Angriff verläuft damit im Nichts.


    Man kann den zweiten Slot auch für ein statisches Passwort benutzen, z.B. um sein Notebook abzusichern. Es gibt auch andere Anbieter im Netz, die einen YubiKey unterstützen. Ein Beispiel ist LastPass. Der YubiKey ist schon lange an meinem Schlüsselbund und ich möchte ihn nicht missen.


    Wer Fehler findet oder Verbesserungen hat, kann das hier gerne posten.


    Ich stehe in keinerlei wirtschaftlicher Verbindung, zu einer der genannten Firmen. Ich nutze nur gerne deren Dienste im Zusammenhang mit Joomla!

  • Hallo,


    eine kleine Ergänzung noch. Frank schreibt hier von der Joomla Version 3.X . Setze den Yubikey bei einem Kundenprojekt ein, hier wurden alle Mitarbeiten (60 Leute) mit einem internen Zugang für die Webseite ausgestattet. Mittlerweile wollen die den Yubikey nicht mehr hergeben.


    Persönlich setze ich den Yubikey seit ungefähr 2 Jahren ein. Paarmal wurde er schon mitgewaschen und hat es bestens überstanden ;)


    Das ganze gibt es noch von der JUG-Fulda als Video für die faulen Leser des Forums :


    Videotutorial zur Zwei-Faktor-Authentifzierung mit dem YubiKey

  • Hallo Frank,


    danke für das kurze Tutorial. Werde ich auf allen Webseiten, die ich betreue, einsetzen. Demnach habe ich dann eine 3-Faktor Authentifizierung, da ich das Backend zusätzlich mit einer htaccess-Abfrage absichere. Denmächst von mir hier unter Security ein kleiner Workaround.


    Gruß
    Markus

  • Das mit der .htaccess ist mir bekannt, aber ist dann für mich persönlich doch ein wenig zu viel. Wenn ich mit der Seite Geld verdienen müsste, dann würde ich das evt. in Erwägung ziehen. Aber letztendlich muss das jeder selber abschätzen, wie viel Sicherheit man haben möchte.


    Es nützt einem ja nichts, wenn die Webseite perfekt geschützt ist, aber der Zugriff beim Webhoster (z.B. FTP) sehr unsicher ist.

  • Das mit der .htaccess ist mir bekannt, aber ist dann für mich persönlich doch ein wenig zu viel. ...


    Wirklich??
    Ein .htaccess-Passwortschutz kann man doch in der Regel über die Hoster-Verwaltungsoberfläche erzeugen und sollte nicht länger als 1 bis 2 Min in Anspruch nehmen. Dieser Schutz schützt gefühlt vor ca. 50% aller typischen Attacken auf Joomla (wenn nicht sogar noch mehr) und ist absolut simpel in der Anwendung. Die 2-Faktor-Authentifizierung und alle andere Aufsatzfunktionen sind dann überflüssig.
    Ich kann nur jedem Webmaster raten diesen Schutze IMMER bei JEDEM Joomla zu setzen - unabhängig davon ob man mit einer Seite Geld verdient oder wie wichtig einem die Seite ist. Es geht ja nicht nur darum die Zerstörung der eigenen Seite zu verhindern (das kann man i.d.R. leicht reparieren mit Backups), aber durch Hacks besteht die Gefahr für Schäden Dritter und damit ist absolt nicht zu spassen. Von Anzeigen bis hin zu Bürodurchsuchungen haben wir das alles schon erlebt... und das "nur" als sogenannter "Mitstörer", der die Seite ja gar nicht betreut, aber auf dessen Servern eine Seite läuft. Was glaubst Du wer in solchen Fällen im Endeffekt die Kosten tragen muss?

  • Ich meinte "zu viel" im Zusammenhang mit der 2FA. Dann hätte ich drei Paßwörter bis zum Login.


    Mit der .htaccess hast du recht, aber auch diese kann ich ganz leicht überwinden, wenn das PW zu einfach ist. Und das ist bestimmt bei ganz vielen Anwendern der Fall.


    Eine 2FA kann ich nicht überwinden, zumindestens ist mir nichts in dieser Richtung bekannt. Also für mich der eindeutig bessere Schutz einer Webseite. Aber ganz wichtig ist, das man auf alle Fälle überhaupt was macht. Der Standard-Login der Joomla!-Installation alleine, ist auf alle Fälle nicht ausreichend, da dürften wir mit Sicherheit der selben Meinung sein.

  • Ich meinte "zu viel" im Zusammenhang mit der 2FA. Dann hätte ich drei Paßwörter bis zum Login.


    Alles klar, das hatte ich anders verstanden.


    Mit der .htaccess hast du recht, aber auch diese kann ich ganz leicht überwinden, wenn das PW zu einfach ist. Und das ist bestimmt bei ganz vielen Anwendern der Fall.


    Wer keine sinnvollen Passwörter benutzt ist natürlich selbst schuld.



    Eine 2FA kann ich nicht überwinden, zumindestens ist mir nichts in dieser Richtung bekannt. Also für mich der eindeutig bessere Schutz einer Webseite.


    Ja aber dieser Schutz schützt eben nur vor dem Aufruf der Loginfunktion des Backend. Hacks laufen aber fast immer über Direktaufrufe einzelne Scriptdateien innerhalb von /administrator. Und genau davor schützt eben nur der .htaccess-Schutz. Genau DAS ist der Punkt! Das Login in Joomla spielt nur eine untergeordnete Rolle.

  • Ich nutze gerne die Backendschutzfunktion des EasyCalcCheck Plugin von Viktor (Kubik-Rubik).
    Ist das ausreichend, oder sollte ich trotzdem ein .htaccess-Schutz für den "administrator" Ordner anlegen?

  • Weiss jetzt nicht genau welche Technik das ist. Wenn man damit aber trotzdem irgendwelche Dateien einzelne aufrufen kann, schützt das auch nur den Login aber nicht das gesamte Verzeichnis samt Unterverzeichnisse.


    teste es einfach mit einer Datei die in jedem Joomla existieren sollte:
    deinedomain.de/administrator/help/helpsites.xml


    "deinedomain.de" natürlich ersetzen!

  • .htaccess-Schutz anlegen!
    Nur dadurch ist der gesamte Ordner geschützt. Inkl. administrator/unterordner. EasyCalcCheck Plugin, Zwei-Faktor-Authentifizierung und weitere Plugins / Komponenten versehen meistens nur den Aufruf der /administrator/index.php mit einer zusätzlichen Zeichenkette oder eben eines weiteren Schlüßsels zur Authentifizierung.

  • Dann halten wir mal fest.

    • der .htaccess ist unverzichtbar, also bitte bei jeder Installation aktivieren.
    • vernünftige Passwörter sind Pflicht!
    • für den Komfort benutzt man dann die 2FA, dann kann das erste Passwort auch was einfacher sein ;)

    Danke für die Hinweise und Erläuterungen.

  • Hallo zusammen,


    ich bin neu bei Joomla (3.4) und habe einiges gelesen, auch über Sicherheit wie der o.a. Schlüssel als auch .htcaccess
    Nur gibt es verschiedene "Inhalte" bei der .htcaccess .... welche ist die effektivste?


    Danke

  • Nur gibt es verschiedene "Inhalte" bei der .htcaccess .... welche ist die effektivste?


    Hier geht es nicht speziell um die .htacess im Stammverzeichnis, sondern dem htaccess-PW-Schutz des Administrator-Verzeichnisses.
    http://wiki.selfhtml.org/wiki/…it_Passwort_sch.C3.BCtzen


    Bitte eröffne in Zukunft Deinen eigenen Thread mit Deiner Frage. In diesem ging es primär um YubiKey (siehe Überschrift) und ist gelöst (grünes Häkchen). .htaccess war nur am Rande erwähnt.