Aws-cli: U2F-Unterstützung

Erstellt am 26. Sept. 2018  ·  45Kommentare  ·  Quelle: aws/aws-cli

Laut AWS-Blog wird U2F jetzt für die Konsolenanmeldung unterstützt:
https://aws.amazon.com/blogs/security/use-yubikey-security-key-sign-into-aws-management-console/

Es ist besonders wichtig, dass es einen Pfad gibt, um dies in der aws-cli zu unterstützen, damit wir Befehle ausführen können, anstatt langlebige Token auf der Festplatte/im Speicher zu haben.

feature-request v2

Hilfreichster Kommentar

Soweit ich dieses Problem verstehe, muss STS/IAM API-Unterstützung für Sicherheitsschlüssel als MFA-Token erhalten, bevor es damit fortfahren kann?

Kann das jemand beleuchten? Wenn es noch nicht unterstützt wird, dann ist es doch sicher gleich um die Ecke...?

BEARBEITEN:

Bitte lassen Sie dies nicht zu einem dieser schändlichen Fälle werden, in denen ein Unternehmen davon ausgeht, dass sich keine seiner Kunden für ein Feature interessieren, weil sie die nicht sehr nützliche Version implementiert haben und dann niemand verwendet hat.

Ich verwende nie die Web-Benutzeroberfläche, um mich bei der Amazon-Konsole anzumelden. Es ist alles CLI-gesteuert für mich, weil ich mehrere Konten habe, mit denen ich mich befassen muss (usw.). Und selbst wenn ich die Web-Benutzeroberfläche zum Anmelden _daß_, dann müsste ich, wie es aussieht, mit _duplizierten Konten_ aller meiner bestehenden Konten für die Verwendung mit U2F herumfummeln, weil ich immer noch mein altes Google/LastPass verwenden müsste /was auch immer Authenticator für alles aws-cli Zeug.

Also... Die U2F-Unterstützung von AWS hat das _Potenzial_, etwas zu werden, von dem ich _wirklich_ begeistert wäre, aber ohne CLI-Unterstützung lohnt es sich noch nicht, sie anzufassen. Ich kann mir vorstellen, dass viele Leute im selben Boot sitzen.

Alle 45 Kommentare

AFAIK, U2F funktioniert im Allgemeinen nur in einem Webbrowser. Wie würden Sie es von CLI erwarten? Einen Browser starten?

@JensRantil Nein, jede Art von Anwendung kann mit einem U2F-Token interagieren.

Quelle: Ich unterhalte libu2f-* und pam-u2f in Debian ;)

Anscheinend wird U2F noch nicht für den API-Zugriff unterstützt:

Sie können den MFA-geschützten API-Zugriff nicht mit U2F-Sicherheitsschlüsseln verwenden.

Trotzdem habe ich dieses Feedback auf jeden Fall an das Service-Team weitergegeben. Meine eigene Erfahrung war, dass U2F 100000x besser nutzbar ist als jeder andere zweite Faktor, also würde ich es gerne auch für meinen eigenen Gebrauch sehen.

Die einzige Einschränkung ist, dass dies eine V2-Funktion sein müsste, da ich ziemlich sicher bin, dass wir c-Abhängigkeiten einbeziehen müssen, um mit dem u2f-Token zu interagieren.

@JordonPhillips Zu Ihrer Information , es gibt eine Python U2F- Hostbibliothek von Yubico; es ist selbst zu 100% Python, hängt aber von hidapi , das IIRC verwendet libusb und libudev .
OTOH, es ist bereits in allen großen Distributionen verfügbar, also sollte das keine große Sache sein?

Es würde auch (wie bei jeder Verwendung von U2F) erfordern, dass der Benutzer mit dem U2F-Gerät interagieren kann; Yubico unterhält udev-Regeln Upstreams in libu2f-host , die ich in Debian als libu2f-udev (damit sie installiert werden können, ohne die C-Bibliothek zu ziehen), was eine Abhängigkeit von task-desktop (ab Debian 10 „Buster“), so dass die meisten Benutzer es sofort installiert haben; in stretch (der aktuellen stabilen Debian-Version) haben wir die udev-Regeln für U2F im Paket udev mitgeliefert, sodass es auch dort verfügbar ist.
TL;DR: Debian sollte die richtigen Berechtigungen für U2F-Geräte ab Jessie haben (veröffentlicht vor über einem Jahr), und das sollten auch alle Debian-Derivate sein (es sei denn, sie haben sich alle Mühe gegeben, U2F zu knacken...)

Dies wäre für mich enorm hilfreich. Mein Handy 10-20 Mal am Tag herauszuholen, um TOTPs zu kopieren, macht keinen Spaß. 😅 Wenn ich stattdessen einfach auf mein Yubikey tippen könnte, wäre mein aws-cli-Erlebnis _so_ viel angenehmer.

@nbraud es sieht so aus, als ob die von ihnen verwendete Python-Schnittstelle keine Linux-Räder bietet, daher würde die Installation erfordern, dass der Benutzer einen Compiler installiert hat. Dies ist derzeit nicht erforderlich, um die cli zu installieren, daher wäre das Hinzufügen dieser Bibliothek für viele Benutzer eine bahnbrechende Änderung.

@JordonPhillips In Bezug auf die Einführung einer bahnbrechenden Änderung ... Ich kann mir ein paar Ansätze vorstellen, die begeisterte Benutzer frühzeitig davon profitieren lassen, ohne dass die Dinge für weniger abenteuerlustige Benutzer

  1. Machen Sie es in v1 zu einer optionalen Abhängigkeit, und dann können Leute, die sich wirklich darum kümmern, mit einem speziellen Flag kompilieren, um es zu aktivieren. Auf diese Weise entscheiden sie sich für die "Vorschau", was schließlich standardmäßig Teil des v2-Clients sein wird.

  2. Teilen Sie das U2F-Stück in eine separate Binärdatei auf und erkennen Sie seine Anwesenheit zur Laufzeit. Dann wird Benutzern, die versuchen, die AWS CLI mit U2F zu verwenden, „dieses andere Tool installieren“ gesagt, damit es funktioniert. Auf einem Mac wäre ich zum Beispiel ein brew install aws-cli-u2f vom Glück entfernt. 😃

Ja, ich würde mehr als glücklich sein, ein optionales Compile-from-Source-Modul zu installieren, um diese Funktionalität zu erhalten. Es würde nur auf Entwicklermaschinen benötigt – die fast immer bereits einen Compiler haben – und sowieso nicht auf Servern.

Eine Alternative zu python-u2f-host wäre python-fido2, das Sie davon liefert ...

Dafür halte ich den Atem an 👍

Soweit ich dieses Problem verstehe, muss STS/IAM API-Unterstützung für Sicherheitsschlüssel als MFA-Token erhalten, bevor es damit fortfahren kann?

Soweit ich dieses Problem verstehe, muss STS/IAM API-Unterstützung für Sicherheitsschlüssel als MFA-Token erhalten, bevor es damit fortfahren kann?

Kann das jemand beleuchten? Wenn es noch nicht unterstützt wird, dann ist es doch sicher gleich um die Ecke...?

BEARBEITEN:

Bitte lassen Sie dies nicht zu einem dieser schändlichen Fälle werden, in denen ein Unternehmen davon ausgeht, dass sich keine seiner Kunden für ein Feature interessieren, weil sie die nicht sehr nützliche Version implementiert haben und dann niemand verwendet hat.

Ich verwende nie die Web-Benutzeroberfläche, um mich bei der Amazon-Konsole anzumelden. Es ist alles CLI-gesteuert für mich, weil ich mehrere Konten habe, mit denen ich mich befassen muss (usw.). Und selbst wenn ich die Web-Benutzeroberfläche zum Anmelden _daß_, dann müsste ich, wie es aussieht, mit _duplizierten Konten_ aller meiner bestehenden Konten für die Verwendung mit U2F herumfummeln, weil ich immer noch mein altes Google/LastPass verwenden müsste /was auch immer Authenticator für alles aws-cli Zeug.

Also... Die U2F-Unterstützung von AWS hat das _Potenzial_, etwas zu werden, von dem ich _wirklich_ begeistert wäre, aber ohne CLI-Unterstützung lohnt es sich noch nicht, sie anzufassen. Ich kann mir vorstellen, dass viele Leute im selben Boot sitzen.

@jeffparsons stimme

Übrigens können Sie in der Webkonsole ganz einfach Konten wechseln, indem Sie eine Rolle auf dem anderen Konto übernehmen
mögen:
https://signin.aws.amazon.com/switchrole?roleName=SomeAdminRole&account=YourAccountNumberOrAlias
sehen:
https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user.html

Sie können dann den Rollenwechsler in Ihrem Benutzer-/Konto-Dropdown oben rechts auf der Seite sehen

auch dieser Typ könnte etwas auf der Spur sein... https://gist.github.com/woowa-hsw0/caa3340e2a7b390dbde81894f73e379d

Hier auch eine sehr gute Lösung https://github.com/kreuzwerker/awsu

Die Arbeit mit mehreren Multi-Account-Setups, die alle mit einem separaten Idp unter Verwendung desselben U2F mit allen von ihnen arbeiten, wäre für mich eine enorme Erleichterung.
Ich hätte auch kein Problem damit, eine zusätzliche Abhängigkeit zu installieren / zu kompilieren, um dies in v1 als Vorschau zu erhalten.

Irgendeine Bewegung zu den Problemen auf der aws-Seite der Dinge?

Für das, was es wert ist, scheint aws-vault ziemlich kurz davor zu sein, in die U2F-Unterstützung zu fusionieren: https://github.com/99designs/aws-vault/pull/316

Trotzdem bin ich absolut dafür, dem offiziellen AWS CLI-Tool native U2F-Unterstützung hinzuzufügen.

Für das, was es wert ist, scheint aws-vault ziemlich kurz davor zu sein, in die U2F-Unterstützung zu fusionieren: 99designs/aws-vault#316

Nein, das erstellt nur TOTP-Token mit dem Yubikey. Es ist ein Workaround, mit dem Sie Ihr Yubikey verwenden können, aber es ist kein U2F.

(Das ist anscheinend dasselbe, was awsu tut.)

Die gesamte MFA in awscli ist mühsam einzurichten und der Mangel an Yubikey-Support hilft nicht.
MFA im Jahr 2019 sollte ein Muss sein, kein hochmodernes Feature.

Gibt es diesbezüglich Fortschritte?

bin gerade darauf gestoßen. Bitte entfernen Sie die Unterstützung für Yubikey von der Webkonsole, wenn Sie dies nicht in der cli unterstützen möchten. Es ist eine riesige Zeitverschwendung, dieses Zeug zu googeln und herauszufinden, dass AWS nicht unterstützt, was es bewirbt

Ziemlich lächerlich, dass dieses Problem seit 440 Tagen offen und noch nicht gelöst ist.

CLI-Support wäre, wie bereits erwähnt, sehr dankbar

Hallo, wir möchten MFA für alle menschlichen Benutzer mit https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_users-self-manage-mfa-and-creds.html erzwingen (mangels a bessere Lösung), aber jetzt stellt sich heraus, dass wir entweder:

a) die Idee ganz aufgeben, oder
b) jeden zwingen, von der Verwendung von U2F auf TOTP herabzustufen.

Dass IAM nicht mehrere MFA-Geräte unterstützt, ist auch ein schlechter Scherz...

Es ist fast das Jahr 2020. Bequeme und sichere (sprich: U2F) MFA-Lösung ist meiner Meinung nach ein Muss, kein Luxus. Vor allem in Bereichen, in denen böswillige Akteure schwere finanzielle Schäden anrichten können.

AWS, bitte, bitte, bitte, fassen Sie zusammen und arbeiten Sie daran, Ihre MFA-Unterstützung in Ihrem gesamten Ökosystem zu verbessern (CLI, mobile Apps, AWS SSO – das auch U2F nicht unterstützt!)

Dass IAM nicht mehrere MFA-Geräte unterstützt, ist auch ein schlechter Scherz...

Das ist wirklich peinlich. Nur ein Gerät zu registrieren ist eine wirklich schlechte Praxis, also komm zu Amazon und behebe das so schnell wie möglich!

Ziemlich lächerlich, dass dieses Problem seit 440 Tagen offen und noch nicht gelöst ist.

Es ist schlimmer. 2013 schrieb jemand von Amazon:

Leider ist es derzeit nur möglich, einen einzigen MFA pro Konto zu haben.
Ich habe dies jedoch mit unserem Entwicklungsteam angesprochen, um es als Feature für die zukünftige Entwicklung zu betrachten.
https://forums.aws.amazon.com/thread.jspa?threadID=137055

Ich würde verstehen, dass das Team beschäftigt sein könnte oder nicht, aber die Tatsache, dass sich niemand die Mühe macht, auf dieses Problem zu antworten, macht mir Sorgen. Dies ist kein unterbesetztes, unterbezahltes Open-Source-Projekt, bei dem dies entschuldigt werden kann, sondern AWS selbst.

491 Tage, lass uns einen Champagner auf 500 eröffnen! :champagner: :confetti_ball:

Ich gehe davon aus, dass sich Amazon wirklich auf die GOV-Projekte konzentriert, bei denen der $ steht. Dieser Thread ist ein Beispiel dafür, warum ich normalerweise niemandem empfehle, AWS zu verwenden.
Sicher, es gab eine Zeit, in der sie auf dem neuesten Stand waren, aber heutzutage fehlt es einfach an grundlegenden Funktionen. Ich weiß, dass es nicht zum Thema gehört, aber ein anderes Beispiel ist, dass Route 53 DNSSEC immer noch nicht unterstützt, also los geht's. Ach ja, und MFA sollte SFA heißen, weil es in der AWS-Implementierung kein "Multi" gibt.

Entschuldigung für das Gerede, aber höchstwahrscheinlich beobachtet niemand diesen Thread außer den Sicherheitsleuten, die das Feature tatsächlich wollen.
Nur noch ein paar Tage bis wir 500 erreichen :) !

Das möchte ich wirklich gerne ergänzen. Ich empfinde Mobiltelefone als sehr ablenkend und möchte mein Telefon nicht mehrmals pro Stunde herausziehen, wenn ich mit AWS-Services interagiere.

Dies wurde vor ein paar Tagen aktualisiert - https://aws.amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/

Hilft das jemandem?

Hilft das jemandem?

Traurigerweise Nein. IMHO ist das ein weiteres Problem, dass AWS einige komplexe Skripte benötigt, um sogar den Token-Code zu verwenden. Ich verwende das aws-mfa Python-Skript-PyPi-Modul von Drittanbietern, um das zu umgehen.
Aber danke für den Gedanken @chris-bateman !

Dies wurde vor ein paar Tagen aktualisiert - https://aws.amazon.com/premiumsupport/knowledge-center/authenticate-mfa-cli/

Es gibt eine Schaltfläche "Können wir etwas verbessern? Lassen Sie es uns wissen" am Ende dieses Artikels, die ich sicher drücken werde.

Ich habe meinen Teil dazu beigetragen und einen Kommentar im "Teil uns wissen lassen" hinterlassen. Ich würde mich auch sehr freuen, wenn dieses Feature implementiert wird.

Das gleiche danke für das Posten von @steinybot

Einen traurigen Kommentar hinzufügen, dass es noch nicht implementiert ist
why

Zweijähriges Jubiläum steht in weniger als 2 Monaten an. Es muss jetzt eng werden, oder? Rechts?

Gute Nachrichten: Wenn Sie aws-vault nicht verwenden, sollten Sie dies tun. Sie haben gerade die Yubikey-Unterstützung eingeführt. Wenn Sie einen Yubikey haben, der TOTP unterstützt, können Sie den MFA-Code hinzufügen. Während das Ideal wäre, es von Amazon zu erwarten, sind wir uns alle einig, dass es ihnen einfach egal ist, während Jeff reicher wird.
Es hat eine großartige Unterstützung für Rollen und dergleichen, ein Teil von mir ist traurig, dass dies ein Tool von Drittanbietern ist, aber das ist es, was ich an Open Source liebe: Sie haben Optionen.
Link: https://github.com/99designs/aws-vault/blob/master/USAGE.md#using -a-yubikey

Obwohl aws-vault großartig ist, unterstützt es TOTP, nicht U2F.

nach langem warten darauf benutze ich jetzt https://github.com/kreuzwerker/awsu

@nbraud es sieht so aus, als ob die von ihnen verwendete Python-Schnittstelle keine Linux-Räder bietet, daher würde die Installation erfordern, dass der Benutzer einen Compiler installiert hat. Dies ist derzeit nicht erforderlich, um die cli zu installieren, daher wäre das Hinzufügen dieser Bibliothek für viele Benutzer eine bahnbrechende Änderung.

Während @jeffparsons auf einige vernünftige potenzielle pyu2f . Es stützt sich auch auf native USB-HID-Bibliotheken, um mit U2F-Schlüsseln zu kommunizieren, hat jedoch nur eine Python-Abhängigkeit: six . Es packt seine eigenen ctypes -basierten Bindungen zu OS HID-Aufrufen, die mit MacOS, Linux und Windows kompatibel sind, und würde wahrscheinlich "genug" Anwendungsfälle abdecken.

Haben wir schon jemanden, der daran arbeitet? Würde das aws-cli Team einen Patch für Prototypen dieser Funktionalität akzeptieren?

BEARBEITEN: Nachdem Sie mehr aus dem IAM-Benutzerhandbuch gelesen haben, sieht es so aus, als ob U2F auf API-Ebene nicht unterstützt wird. Selbst wenn aws-cli die interaktive U2F-Token-Authentifizierung unterstützt, sieht es nicht aus wie GetSessionToken und AssumeRole unterstützen dies an dieser Stelle (wie unten zitiert):

Es ist wichtig, die folgenden Aspekte des MFA-Schutzes für API-Vorgänge zu verstehen:

  • Der MFA-Schutz ist nur mit temporären Sicherheitsanmeldeinformationen verfügbar, die mit AssumeRole oder GetSessionToken abgerufen werden müssen.
  • Sie können den MFA-geschützten API-Zugriff nicht mit U2F-Sicherheitsschlüsseln verwenden.

Auch in Bezug auf den sozialen Kommentar von @kiwimato :

Während das Ideal wäre, es von Amazon zu erwarten, sind wir uns alle einig, dass es ihnen einfach egal ist, während Jeff reicher wird.

Bitte beachten Sie, dass dies ein Softwareentwicklungsthread ist, kein Diskussionsforum zum Kapitalismus. AWS-Teams bestehen aus echten Menschen, die meiner Erfahrung nach sehr schnell auf die Behebung von Problemen in botocore . Wenn Sie etwas quält, sollten Sie sich bewusst sein, dass vieles davon Open Source ist.

Obwohl die zugrunde liegende AWS-API selbst anscheinend nichts über TOTP für MFA hinaus unterstützt, scheint dieses Problem ein größeres Problem zu sein als aws-cli einfach keine Client-Funktionalität zu unterstützen. Hoffentlich kann AWS dieses Ticket erhöhen, sobald die API U2F unterstützt, damit wir den Kundensupport ins Rollen bringen können.

Zumindest hilft eine solche Lösung beim Kontextwechsel zwischen Ihrem Computer und Ihrem Telefon
https://authy.com/

Gibt es dazu eine ETA? Es ist sehr besorgniserregend, dass anscheinend niemand auf der Welt gute MFA-Praktiken für seine AWS-Cli-Nutzung verwendet.

Es ist sehr besorgniserregend, dass anscheinend niemand auf der Welt gute MFA-Praktiken für seine AWS-Cli-Nutzung verwendet.

@james-callahan das stimmt nicht. Wir beschränken den Zugriff auf Rollen auf diejenigen, die sich mit MFA authentifiziert haben. Z.B:

AssumeRolePolicyDocument:
  Version: '2012-10-17'
  Statement:
    - Effect: Allow
      Principal:
        AWS: !Sub
          - arn:aws:iam::${Account}:root
      Action:
        - sts:AssumeRole
      Condition:
        Bool:
          aws:MultiFactorAuthPresent: 'true'

Dann verwenden wir ein Tool namens aws-mfa , um den Erhalt temporärer Creds von STS und die Aktualisierung unserer AWS

Dieses Ticket konzentriert sich darauf, Unterstützung speziell für U2F hinzuzufügen.

@james-callahan das stimmt nicht. Wir beschränken den Zugriff auf Rollen auf diejenigen, die sich mit MFA authentifiziert haben.

Dies funktioniert nur mit TOTP; was aufgrund der einfachen Phishing-TOTP-Anmeldeinformationen usw. nicht als hochwertiger zweiter Faktor angesehen werden sollte.
Dies wird durch die Tatsache verschlimmert, dass AWS es Ihnen nicht erlaubt, sowohl ein U2F- als auch ein TOTP-Gerät bei einem einzelnen IAM-Benutzer zu registrieren. Wenn Sie also U2F für den UI-Zugriff verwenden möchten, können Sie keine MFA aus der cli verwenden.

Für die Benutzer, die es benötigen, erstellen wir zwei Konten:

  1. Benutzer für die Konsole, wo sie U2F aktivieren oder auf nichts zugreifen können.
  2. Benutzer für den CLI-Zugriff, wo sie Zugriffsschlüssel hinzufügen und MFA aktivieren oder auf nichts zugreifen können.

Es ist ziemlich schwer, TOTP von einem Konto mit nur Cli-Zugriff zu phishing.

@craighurley
Dies sieht für eine Problemumgehung IMO etwas übertrieben aus. Sie müssen 2 Konten für die Sicherheitsverwaltung einer AWS-Organisation unterhalten, nur um U2F auf der Konsole zu haben.
Ich sehe es als keine vernünftige Lösung für ein Unternehmen, das U2F verwenden möchte.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen