Google-Authenticator in der Shell bzw Statusleiste des TilingWMs

Ich schütze ja einige Dienste mit Einmalpasswörter (OTP) und normalen Passwörtern (( pwgen auf der Shell ist mein Freund)) gleichzeitig. Sei es SSH (schicke Anleitung btw ツ),  Google-Services selbst oder meine WordPressinstallation mit dem Plugin Google Authenticator. Wobei es bei WordPress nicht nur das ist, sondern auch noch htpasswd, umschreiben der URL mit Hilfe der .htaccess etc. , aber dies soll nun nicht das Thema an dieser Stelle  sein.

Googles Authenticator nutzt hierfür TOTP laut RFC6238 ((http://tools.ietf.org/html/rfc6238)) , welches im Grunde genommen ein zeitbasierte Passwortgenerierung mit Hilfe eines gemeinsamen Tokens ist. Hört sich schwierig an, ist es aber nicht.

Ein gemeinsames/r Passwort/Schlüssel zum entschlüsseln, welcher mit einem zweiten uhrzeitbasiert Wert  nochmal neu verschlüsselt wird und somit in einem definierten bestimmten Zeitabschnitt immer ein neues generiertes Passwort ergibt.

So kann man sich das in etwa vorstellen, es ist nicht absolut richtig, aber einfacher zu erklären, wer es genau Wissen möchte, sollte das RFC dazu lesen.

Das Ganze hat den Grund sicher zu gehen, dass beide Seiten einen legitimen Partner vor sich haben. Denn hier authentifiziert der Client den Server und umgekehrt. Auf diese Art wissen beide Partner mit wem sie es zu tun haben und falls einer der Partner sich nicht legitimieren kann wird der Zugriff verwehrt.

Wenn man das Beispiel mit dem angebenen SSH-Link befolgt, oder das WordPressplugin installiert, bekommt man diesen Token ( Geheimschlüssel) angezeigt und kann diesen in die Androidapp eingeben, oder ….

und nun kommen wir endlich zu dem generieren der Einmalpasswörter unter Linux mit Hilfe des oathtool.
Da ich nicht immer mein Mobiltelefon aus dem Wohnzimer, oder sonst einer anderen Örtlichkeit holen möchte, habe ich mir schnell ein Kürzel angelegt, welches ich in meinem ~/bin/-Verzeichnis abgelegt habe (( Mein ~/bin ist verschlüsselt und wird extra eingebunden)).

oathtool --totp -b -s 30s $MEINGEHEIMERTOKEN
oathtool beherrscht totp (Time-based One-time Password Algorithm)  und  hotp (HMAC-based One Time Password, RFC 4226 ). Ersterer ist schon wie gesagt Zeitbasierend, während der andere Eventbasierend ist.
Aus diesem Grund gibt man –totp an und -b da als Standard hex erwartet wird, aber mit dem Token ein base32-Schlüssel übergeben wird.
Als Zeitstufe nehme ich die 30 Sekunden mit -s 30s.
Das ganze habe ich als ~/bin/WP abegspeichert und ausführbar gemacht (chmod +x) und rufe dies entweder per Shell auf, oder mit notion, meinem bvorzugten WM und habe es somit dauerhaft in der Statusleiste:
Notion GoogleAuthentification
Einmalpasswörter in der notion-Statusbar

Der Code lässt sich ziemlich einfach in die Datei .notion/cfg_statusbar.lua innerhalb der exec = { – Direktive einfügen:

wp={
program='/home/seraphyn/bin/WP',
retry_delay=10*1000,
},

und dort per template aufrufen.
Ja, ich rufe es alle 10 Sekunden auf und es lasstest meinen T61 absolut nicht aus ツ
Also da raubt manche Conkyeinstellung mehr bei anderen Personen, ausserdem kann ich mir den Gimmick leisten, da ich so viel durch nicht nutzen eines DE einspare. Benutzer von awesome, wmii könne mir da beipflichten und jene könne das natürlich auch nutzen.

Bevor nun einige aufschreien, dass die Kette der Sicherheit unterbrochen sei.

  • Mein ~/bin ist verschlüsselt, somit wenn der Rechner heruntergefahren ist, geht da auch nichts mit einer LiveCD/USB-Key etc.
  • Ich habe den Rest der Nummer verschleiert, bashing muss, ist, da nicht, Ihr wisst
  • Wer an meinen Computer gelangt während er an ist, muss dann aus dem 5 Nummern, welche unten in der Leiste stehen die Örtlichkeit erst einmal herausfinden und dann noch den Benutzer und das zusätzliche Passwort, sowie die geänderte URL des CMS oder den Port des SSH, oder…
  • Oh und für alles andere, schaut mal den Comic an:
XKCD Security
Eine bestechende erschlagende Wahrheit

1 Gedanke zu „Google-Authenticator in der Shell bzw Statusleiste des TilingWMs“

Kommentare sind geschlossen.