Permalink

Howto: Zwei-Schritt-Verifizierung von Amazon in 1Password speichern

Zum Thema Zwei-Faktor-Authentifizierung (2FA) im Zusammenhang mit 1Password hatte ich mich vor knapp 1½ Jahren schon mal ausführlicher geäußert.

Da Amazon dieses Feature nun endlich auch allen Kunden in Deutschland zur Verbesserung der Sicherheit zur Verfügung stellt, ist dieses Thema gerade wieder mehr als aktuell.

Zur Aktivierung der 2FA muss man sich in sein Amazon-Konto einloggen und unter Mein Konto > Einstellungen > Kontoeinstellungen > Anmelde- und Sicherheitseinstellungen > Erweiterte Sicherheitseinstellungen die Zwei-Schritt-Verifizierung auswählen.

Bildschirmfoto 2016-12-05 um 13.37.27

Zur Generierung der Codes bietet Amazon eine SMS aufs Telefon oder die altbekannte Methode per Authentifizierungs-App an (um die es nachfolgend gehen soll).

Da ich nach wie vor kein großer Fan des Google Authenticators bin, nutze ich zum Generieren dieser sechsstelligen Einmal-Codes den Passwort-Manager 1Password.

Schritt 1:
Bei einem leeren Feld wählt man rechts über das Auswahlmenü Einmal-Passwort aus.

Bildschirmfoto 2016-12-05 um 13.05.61-minishadow

Schritt 2:
Anschließend erscheint ein kleines QR-Code-Symbol, das auf Klick den 1Password-Codescanner zum Vorschein bringt.

Dieses transparente Fenster verschiebt man nun über den QR-Code, der von Amazon bei Auswahl der Methode Authentifizierungs-App angezeigt wird.

Danach das Ganze mit der Enter-Taste bestätigen und fertig.

Bildschirmfoto 2016-12-05 um 13.05.62-minishadow

Hinweis:
Auch wenn ich hier in den Screenshots die Vorgehensweise für die macOS-Version von 1Password vorgestellt habe, funktioniert diese mit den mobilen Version für iOS und Android quasi identisch.

1Password
1Password
Entwickler: AgileBits Inc.
Preis: Kostenlos+
1Password
1Password
Entwickler: AgileBits Inc.
Preis: Kostenlos+
1Password - Passwort-Manager
1Password - Passwort-Manager
Entwickler: AgileBits
Preis: Kostenlos+

(inspired by)

Permalink

Howto: Einmal-Passwörter vom Google Authenticator auf 1Password übertragen

Über den hohen Nutzen einer zweistufigen Authentifizierung bei Logins müssen wir uns hier, denke ich, nicht weiter unterhalten. Eine ständig aktualisierte Liste aller Services, die eine Zwei-Faktor-Authentifizierung (kurz: 2FA) anbieten, hatte ich auch schon mal kurz in einem Artikel vorgestellt.

2015-04-13_12h53_10

Dort ist u.a. auch eine vorhandene Software-Implementierung vermerkt, um die es in diesem Artikel gehen soll.

Warum ich zu 1Password gewechselt bin?

Wie die Überschrift schon vermuten lässt, habe ich bei der 2FA lange Jahre auf den Google Authenticator gesetzt. Die App war (ist) nicht sonderlich hübsch oder funktional; erfüllte aber ihren Zweck. Später kamen Tools wie Authy hinzu, die optisch und funktional anspruchsvoller waren und zusätzlich auch eine Mac-App im Angebot hatten. Leider erwies sich diese von Authy auf Bluetooth-Kommunikation aufbauende Combo von mobiler und Desktop-App in der Praxis als zu umständlich und instabil, so dass keine wirkliche Besserung gegenüber dem Google Authenticator eintrat…

Google Authenticator (AppStore Link) Google Authenticator
Hersteller: Google, Inc.
Freigabe: 4+
Preis: Gratis Download
Authy (AppStore Link) Authy
Hersteller: Authy Inc.
Freigabe: 4+
Preis: Gratis Download

Daher war ich umso erfreuter, dass mein favorisierter Passwort-Manager 1Password genau diese Funktionalität für Einmal-Passwörter (OTP) kürzlich per Update nachlieferte, so dass man auch ohne Bluetooth sehr komfortabel damit arbeiten kann. Und das gilt sowohl für die Mac- als auch iOS-App.

Passwort und Einmal-Passwort in einer App?

Hier kann man von einem Sicherheitsrisiko sprechen, da die eigentlichen Passwörter und der zweite Faktor nicht mehr räumlich in zwei Apps getrennt sind. Ich für meinen Teil sehe hier aus zwei Gründen keinen großen Unterschied zur vorherigen Methode. Zum einen betrachte ich 1Password durch verschiedene Sicherheitsmechanismen (256-Bit AES Verschlüsselung, Touch ID oder Master-Passwort…) als sicher. Zum anderen habe ich auch sämtliche Emergency Recovery Codes, die beim Verlust des zweiten Faktors zum Einsatz kommen, in 1Password gespeichert.

Ist also jemand in dem sehr unwahrscheinlichen Fall in der Lage meinen 1Password-Tresor zu stehlen und zu entschlüsseln, hätte er durch die Recovery Codes eh Zugriff auf alle Accounts. Da ist der nun zusätzlich gespeicherte zweite Faktor nicht mehr von großer Bedeutung.

Die Antwort auf diese Frage muss aber jeder für sich selbst beantworten. Man muss die richtige Balance zwischen Sicherheit und Komfort finden. Ich kann mit diesem ‘Risiko’ leben; andere nicht.

Einmal-Passwörter in 1Passwort einrichten

Nutzer des Google Authenticator, die sich jedes Jahr ein neues iPhone kaufen, werden dieses Prozedere kennen und hassen.

Im Endeffekt muss man sich in allen Accounts, für die man eine 2FA eingerichtet hat, einmalig einloggen und in den Sicherheitseinstellungen schauen wie man den zweiten Faktor, der in der Regel über einen QR-Code abgebildet ist, auf ein neues Gerät (in diesem Fall 1Password) übertragen kann. Das Ganze ist leider bei jedem Dienst unterschiedlich. Bei Google kann man beispielsweise den zweiten Faktor ganz bequem auf Klick auf ein neues Gerät umziehen, bei Dropbox oder Buffer muss man die Autorisierungsmethode ändern, bei GitHub, Hootsuite, Facebook oder Evernote muss man den Code Generator neu einstellen u.s.w…

In 1Password gestaltet sich die Sache weitaus weniger aufwendig. Als Voraussetzung muss man mindestens Version 5.3 auf seinem Mac (wurde letzte Woche veröffentlicht) bzw. 5.2 unter iOS (erschien im Januar 2015; aktuell ist ebenfalls 5.3) installiert haben.

In einem ersten Schritt muss man ein neues Merkmal, ich habe es 2FA genannt, erstellen und rechts über das Auswahlmenü Einmal-Passwort auswählen.

01-Bildschirmfoto 2015-04-10 um 21.40.06-minishadow

Anschließend wird ein kleines QR-Code-Symbol angezeigt, dass auf Klick einen Barcode Scanner zum Vorschein bringt.

Diesen Barcode Scanner, der immer im Vordergrund angezeigt wird, bewegt man über den zur Generation des zweiten Faktors benötigen QR Code auf der jeweiligen Webseite.

04-Bildschirmfoto 2015-04-10 um 22.21.36-minishadow

Jetzt muss man den aus dem QR Code generieten Link nur noch speichern und bekommt augenblicklich den zeitgesteuerten zweiten Faktor in 1Password angezeigt.

05-Bildschirmfoto 2015-04-10 um 22.21.40-minishadow

Durch die Synchronisation von 1Password über WLAN, die iCloud oder Dropbox muss man diese Einrichtung auch nur einmalig vornehmen und bekommt die Einmal Passwörter auf dem Mac, iPhone und iPad gleichermaßen angezeigt. Da stört es auch wenig, wenn ich alle zwei Wochen einen neuen Mac oder neues iPhone habe. Die Daten sind vorhanden und können auf einfachste Weise, ohne Generation neuer QR Codes für den zweiten Faktor, abgeglichen werden.

Logge ich mich nun wie hier bei GitHub über die 1Password-Erweiterung des Browser ein, muss ich nicht mehr mein iPhone aus der Hosentasche holen und entsperren, die Google Authenticator App suchen und starten, den richtigen Dienst in der Liste suchen, mir das Einmal Passwort merken bzw. abtippen… ich kann nun endlich direkt aus der 1P-Erweiterung den zweiten Faktor kopieren und per Cmd-V ohne großen Zeitverlust eingeben. Tolle Sache!!!

06-Bildschirmfoto 2015-04-10 um 21.56.50-minishadow

Wenn du 1Password für den Mac nicht besitzt, kann die Erstellung des Einmalpasswortes auch mobil auf dem iPhone oder iPad erfolgen.

Die Einrichtung ist mit der auf dem Mac vergleichbar. Der Vorteil liegt auch hier auf der Hand: man kann über die 1Password-Erweiterung des mobilen Safaris ohne großen Zeitverlust auf den zweiten Faktor zugreifen.

IMG_2725 IMG_2726 IMG_2727

Abschließend noch ein Tipp: bevor man jetzt den Google Authenticator oder Authy von seinem iPhone löscht, sollte man sicherstellen, dass man auch wirklich alle darin aufgeführten Dienste in 1Password übernommen hat. Andernfalls steht man unter Umständen vor einem Problem und kann sich ohne Recovery Codes nicht mehr in seine Accounts einloggen.

1Password (AppStore Link) 1Password
Hersteller: AgileBits Inc.
Freigabe: 4+
Preis: Gratis Download
1Password (AppStore Link) 1Password
Hersteller: AgileBits Inc.
Freigabe: 17+
Preis: Gratis Download

Video: Setting Up One-Time Passwords in 1Password for Mac

(inspired by)

Permalink

Linux und der Google Authenticator

Ihr kennt bestimmt die Google Authenticator App, welche euch ermöglicht euer Google/Facebbok/Microsoft Konto im Zwei-Faktor Verfahren zu nutzen. Die App generiert einen sechsstelligen Einmalcode, basierend auf Uhrzeit und einem Shared Secret (RFC 6238), welcher zusätzlich zum Benutzernamen und Passwort eingegeben werden muss.

Google Authenticator

Die Jungs von Google stellen auf der Projektseite auch ein PAM (Pluggable Authentication Module) für die Einbindung in ein Linux System zur Verfügung. Mit diesem Modul lassen sich diverse Aktionen (Einloggen, Aufwachen aus dem Bildschirmschoner, SSH Zugriff uvm.) durch dieses Verfahren absichern. Die Einbindung selber ist eigentlich kinderleicht:

Vorbereitung

Zuerst benötigen wir ein Terminal und laden uns ein Zusatzpaket für die Erstellung eines QR-Codes:

Für Debian / Ubuntu

$ apt-get install libqrencode3

Für Arch Linux

$ pacman -Sy qrencode

Installation

Danach haben wir zwei Möglichkeiten das Modul zu installieren:

Installieren über die Paketverwaltung unseres Systems

Für Debian / Ubuntu:

$ apt-get install libpam-google-authenticator

Für Arch Linux gibt es ein Paket im AUR:

$ yaourt -S libpam-google-authenticator

Wir installieren das Modul von Hand

Für Debian / Ubuntu brauchen wir folgende Pakete:

$ apt-get install libpam0g-dev make gcc-c++ wget

Für Arch Linux:

$ pacman -S pam

Nun laden wir uns das Quellpaket und entpacken dieses:

$ cd /usr/src/
$ wget https://google-authenticator.googlecode.com/files/libpam-google-authenticator-1.0-source.tar.bz2
$ tar -xvf libpam-google-authenticator-1.0-source.tar.bz2

Wir wechseln in das neue Verzeichnis, kompilieren und installieren das Modul:

$ cd libpam-google-authenticator-1.0
$ make
$ make install

Konfiguration

Als nächstes starten wir das Programm als den Nutzer, der abgesichert werden soll:

$ google-authenticator

Wir werden ein paar Dinge gefragt, die ich bei mir wie folgt beantwortet habe. Aber letztens muss jeder selbst wissen wie er das Ganze konfigurieren möchte.

Do you want authentication tokens to be time-based (y/n) Y

Do you want me to update your "/home/test/.google_authenticator" file (y/n) Y

Do you want to disallow multiple uses of the same authentication
token? This restricts you to one login about every 30s, but it increases
your chances to notice or even prevent man-in-the-middle attacks (y/n) Y

By default, tokens are good for 30 seconds and in order to compensate for
possible time-skew between the client and the server, we allow an extra
token before and after the current time. If you experience problems with poor
time synchronization, you can increase the window from its default
size of 1:30min to about 4min. Do you want to do so (y/n) N

If the computer that you are logging into isn't hardened against brute-force
login attempts, you can enable rate-limiting for the authentication module.
By default, this limits attackers to no more than 3 login attempts every 30s.
Do you want to enable rate-limiting (y/n) Y

Zwischendurch bekommen wir eine URL über die man den QR-Code aufrufen kann, sofern qrencode installiert ist auch direkt einen QR Code, den Geheimen Schlüssel im Klartext, einen Verfication Code und sogenannte „Scratch codes“. Diese sind vorgenerierte Einmalcodes die euch im Notfall den Login ermöglichen. Am Besten schreibt ihr diese auf oder druckt sie aus!

Google Authenticator - Terminal

Einrichtung der App

Nun ist ein guter Zeitpunkt die App auf unseren Smartphone einzurichten (Falls noch nicht vorhanden, einfach aus dem App / Play Store installieren).

Google Authenticator
Google Authenticator
Entwickler: Google LLC
Preis: Kostenlos
Google Authenticator
Google Authenticator
Entwickler: Google, Inc.
Preis: Kostenlos

Hier beispielhaft an Android gezeigt:

Google Authenticator - App Menü
Zuerst rufen wir die App auf und wählen im Menü den Punkt „Konto Einrichten“:

Google Authenticator - App Settings
Hier haben wir die Möglichkeit unseren Linux Rechner hinzuzufügen. Der einfachste weg ist es den Barcode aus dem Terminal zu scannen.

Google Authenticator - Schlüssel hinzufügen
Alternativ kann man auch mit Hilfe des Secret Key das Konto manuell anlegen.

Aktivierung des Moduls

Als nächstes konfigurieren wir unser System so, dass das neue Modul auch genutzt wird:

1. Beispiel: Cinnamon-Screensaver

$ nano /etc/pam.d/cinnamon-screensaver

Folgende Zeile einfügen damit beim Aufwecken aus dem Bildschirmschoner (z.B. nach dem Standby / Ruhezustand) ein Einmalcode benötigt wird:

auth        required     pam_google_authenticator.so

Zum Test einmal in den Ruhezustand versetzen, wieder aufwecken und über das Ergebnis staunen.

Google Authenticator - MDM

2. Beispiel: SSH

Um SSH abzusichern müssen wir zuerst ein paar Änderungen an der ‚/etc/ssh/sshd_config‚ vornehmen:

ChallengeResponseAuthentication yes
UsePAM yes

Danach den SSH Dienst neustarten und die Datei ‚/etc/pam.d/sshd‚ bearbeiten, dass sie die Zeile von oben enthält.

Zusatzinfos

Solltet ihr euer Home-Verzechnis verschlüsselt haben (z.B. wie man es bei der Installation von Ubuntu anwählen kann) und wohl z.B. euren Login-Manager (GDM, MDM, KDM) absichern, muss die Datei ‚.google_authenticator‚ an einem lesbaren Ort liegen. Die Zeile für das Modul könnte dann wie folgt aussehen:

auth            required        pam_google_authenticator.so secret=/home/.ga/${USER}/.google_authenticator
Es gibt verschiedene Parameter für die Einbindung eines PAM:
  • required
    Erfolg ist notwendig für Gesamtbewertung: Erfolg, Fehler führt zur Gesamtbewertung: Misserfolg, es werden trotzdem alle weiteren Module von diesem type ausgeführt
  • requisite
    Erfolg ist notwendig für Gesamtbewertung: Erfolg, Fehler führt zur Gesamtbewertung: Misserfolg und termininiert den Authentisierungsprozess
  • sufficient
    Erfolg ist ausreichend für Gesamtbewertung: Erfolg, Fehler beeinflusst Gesamtbewertung nicht, Erfolg terminiert den Authentisierungsprozess, Ergebnis vorheriger required Module wird berücksichtigt
  • optional
    Erfolg oder Fehler hat nur Bedeutung, wenn es der einzige Module für diesen type ist
Für Windows Phone gibt es eine ähnliche App, diese scheint auch mit Google Konten (und damit auch mit dem Modul) zu funktionieren:
Die App konnte im App Store nicht gefunden werden. :-(