Czy możesz potrzebować MFA dla kont AWS IAM?

23

Czy można wymagać włączenia uwierzytelniania wieloskładnikowego (MFA) dla określonych / wszystkich kont IAM w Amazon Web Services?

Istnieją opcje wymagań dotyczących hasła i jasne jest, w jaki sposób można je dodać do swojego konta, ale nie jest jasne, czy istnieje opcja zmuszenia użytkowników do posiadania MFA.

Joe
źródło
Zasady
Simon Woodside

Odpowiedzi:

13

Odpowiedź brzmi: tak, jest. Za pomocą warunku. Na przykład dla kont administratora:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": "*",
      "Resource": "*", 
      "Condition":
      {
          "Null":{"aws:MultiFactorAuthAge":"false"}
      }
    }
  ]
}

Wymusi MFA zarówno dla uwierzytelnienia hasłem, jak i uwierzytelnienia opartego na tokenach za pomocą interfejsu API.

smad
źródło
6
Zrobienie tego w ten sposób wymagałoby dostępu zarówno do konsoli, jak i interfejsu API; czy można tego wymagać tylko w przypadku dostępu do konsoli?
jeffbyrnes
Brak pomysłu. Wiem, że jest to denerwujące dla interfejsu API (CLI), ponieważ MFA nie jest dobrze obsługiwane. BTW Naprawdę nie widzę sensu ustanawiania silniejszego bezpieczeństwa, jeśli jest to sposób na obejście go za pomocą innej metody dostępu.
smad
3
@smad Myślę, że chodzi o to, aby dane uwierzytelniające tokena były automatycznie generowane i przechowywane na twardym dysku użytkownika, więc jedynym wektorem ataku jest pobieranie go z komputera użytkownika, za pośrednictwem złośliwego oprogramowania, kradzieży komputera itp. Hasło na z drugiej strony może być słaby lub ponownie użyty na innych stronach, więc istnieje dodatkowy wektor ataku polegający na brutalnym wymuszaniu go lub uzyskiwaniu go ze zrzutu hasła z zaatakowanej strony. Polityka haseł może pomóc, ale trudno jest zapobiec ppl, np. Używając słowa ze słownika, a tylko i zastąpiono 1 lub!
danny
@jeffbyrnes Po włączeniu użytkownika dla usługi MFA jest to domyślnie włączone tylko dla dostępu do konsoli. Następnie musisz użyć takich zasad IAM, aby zdefiniować, jakie działania API / CLI wymagają MFA, jeśli takie istnieją.
SeanFromIT
1
Nie jestem pewien, czy to działa - przynajmniej chyba, że ​​nie zastosowałem go poprawnie! (jako nowa zasada przypisana do grupy Administratorzy). Zarówno nowi, jak i istniejący administratorzy mojego konta mogą się zalogować bez konieczności konfigurowania MFA.
Tim Malone
8

Po krótkim rozejrzeniu się wydaje się, że odpowiedź brzmi „w pewnym sensie”. W IAM administrator może skonfigurować MFA dla innego użytkownika IAM. Chociaż może to być nieco trudne, jeśli konfigurujesz wirtualne MSZ, jest to możliwe. Następnie, jeśli użytkownik nie uzyskał uprawnień do aktualizacji / usuwania swojego MFA, jest to skutecznie wymagane.

Chociaż nie określiłem jeszcze pełnej listy działań, których należy odmówić (lub po prostu nie przyznać), ten post wydaje się zawierać informacje i zaktualizuję tę odpowiedź po jej przetestowaniu.

[Aktualizacja]

Byłem w stanie skonfigurować użytkowników jako zaawansowanych użytkowników (tym samym nie przyznając im dostępu do funkcji IAM, chociaż jestem pewien, że możesz uzyskać bardziej szczegółowy) i zaimplementować z nimi ich MFA. Przy użyciu tej metodologii nie będą mogli jej wyłączyć.

Joe
źródło
1
czy wiesz, czy można pozwolić użytkownikom IAM samodzielnie skonfigurować MFA?
cavalcade
Jeśli tak, to nie znalazłem drogi.
Joe
2
@MattTagg tak, jest to możliwe, patrz docs.aws.amazon.com/IAM/latest/UserGuide/…
dasil003
1

Tak, możesz wymagać MFA dla kont IAM zarówno dla konsoli internetowej, jak i awscliwiersza poleceń. W rzeczywistości nie jest możliwe niezawodne wymaganie MFA dla konsoli internetowej, nie wymagając go w awscliwierszu poleceń, ponieważ oba uderzają w te same interfejsy API. Mówię „niezawodnie”, ponieważ przy złożonej polityce IAM możliwe jest zezwolenie na niektóre awsclioperacje bez MFA przy wymuszaniu MFA dla konsoli internetowej. Jednak wyniki są nieco nieprzewidywalne, a poza tym klucze IAM są równie, jeśli nie bardziej niebezpieczne, niezabezpieczone. Radzę, aby wymagać tego od obu, a następnie być może stworzyć niechronione klucze do specjalnych zastosowań, w których MFA jest absolutnie przeciwwskazane. W przypadku procesów zautomatyzowanych role byłyby ogólnie lepszym wyborem.

Aby ułatwić operacje MFA w wierszu poleceń, stworzyłem zestaw skryptów bash i dokładnie spreparowany przykład zasad egzekwowania MFA, które ułatwiają dołączanie / odłączanie vMFAd oraz uruchamianie i zarządzanie sesjami MFA. Działają na wariantach macOS i Linux, ale prawdopodobnie nie na Windows (nie testowane).

Ville
źródło
0

Najwyraźniej nie. Wygląda na to, że MFA dla kont IAM jest opcjonalny, chociaż najlepiej posta się na forach wsparcia AWS, by uzyskać wiarygodną odpowiedź.

Tom O'Connor
źródło
Dzięki za link, ale odpowiada na inne pytanie o to, kiedy MFA będzie wymagane po włączeniu. To pytanie dotyczy tego, czy włączenie można wymusić.
Joe
0

Udokumentowaliśmy kilka uwag dotyczących wieloskładnikowego interfejsu API AWS ogólnie (gdzie dodać warunki, jakie są implikacje itp.) W dokumentacji niektórych niestandardowych narzędzi ( https://github.com/kreuzwerker/awsu ) opracowanych do korzystania z Yubikeys jako źródło tokenów TOTP. Dzięki temu praca z rolami i poświadczeniami długoterminowymi + tokeny sesji jest bardzo łatwa.

ziewać
źródło