INTEGRITY Dokumentace

Vynuťte MFA

Cloudflare Access podporuje dva způsoby vynucení vícefaktorového ověřování (MFA):

U připojení SSH k infrastructure aplikace, Access také podporuje independent MFA s klíči PIV a FIDO2.

MFA založené na poskytovateli identity

Můžete vyžadovat, aby se uživatelé přihlašovali konkrétními metodami MFA poskytovanými jejich poskytovatelem identity. Můžete tak například vytvořit pravidla, která uživatelům umožní přístup k dané aplikaci pouze v případě, že se ověří bezpečnostním klíčem přes svého IdP.

Vynucení MFA založené na IdP je k dispozici jen u následujících poskytovatelů identity:

Chcete-li u aplikace vynutit požadavek na MFA od IdP:

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Aplikace.

  2. Najděte aplikaci, pro kterou chcete vynutit MFA, a vyberte Konfigurovat. Případně vytvořit novou aplikaci.

  3. Přejděte na Zásady.

  4. Pokud vaše aplikace už má zásadu obsahující požadavek na identitu, najděte ji a vyberte Konfigurovat.

  5. Přidejte do zásady následující pravidlo:

    Typ pravidla Selektor Hodnota
    Require Metoda ověřování mfa - multiple-factor authentication
  6. Uložte zásadu.

Metody ověřování v JWT

Když se uživatelé ověří u svého poskytovatele identity, IdP sdílí jejich uživatelské jméno s Cloudflare Access. Access tuto hodnotu zapíše do JSON Web Token (JWT) vygenerovaný pro uživatele.

Někteří poskytovatelé identity také sdílejí metodu MFA, kterou uživatel použil. Access může tyto hodnoty přidat do JWT. Pokud se například uživatel ověřil pomocí hesla a bezpečnostního klíče, může IdP odeslat potvrzení službě Cloudflare Access. Access pak tuto metodu uloží do JWT vydaného uživateli.

Cloudflare Access se řídí RFC 8176, Authentication Method Reference Values, k definování metod ověřování.

Independent MFA

Independent MFA vyzve uživatele k zadání druhého faktoru přímo v Access. Díky tomu můžete vynutit požadavky na MFA, aniž byste se museli spoléhat na konfiguraci MFA u svého IdP.

Požadavky na MFA můžete nakonfigurovat na třech úrovních:

Úroveň Popis
Organizace Ve výchozím nastavení vynuťte MFA pro všechny aplikace ve svém účtu.
Aplikace Vyžadujte nebo vypněte MFA pro konkrétní aplikaci.
Zásada Vyžadujte nebo vypněte MFA pro uživatele, kteří odpovídají konkrétní zásadě.

Nastavení MFA se řídí tímto pořadím priority: Zásada > Aplikace > Organizace.

Předpoklady

Než na aplikacích nebo zásadách nakonfigurujete nezávislé MFA, musíte zapnutí nezávislého MFA na úrovni organizace.

Nakonfigurujte nezávislé MFA pro aplikaci

Každá aplikace má tři možnosti MFA:

Možnost Chování
Respektovat globální nastavení vynucování Používá na úrovni organizace konfigurace MFA. Pokud je MFA vyžadováno globálně, uživatelé musí MFA dokončit. Pokud MFA není vyžadováno globálně, uživatelé o něj nejsou požádáni. Toto je výchozí chování.
Vlastní nastavení MFA Přepisuje nastavení organizace autentizátory povolenými pro konkrétní aplikaci a dobou trvání relace.
Zakázat MFA Uživatelé nejsou při přístupu k této aplikaci vyzváni k samostatnému MFA, i když je MFA vyžadováno globálně.

Chcete-li nakonfigurovat MFA pro aplikaci:

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Aplikace.
  2. Najděte aplikaci, kterou chcete nakonfigurovat, a vyberte Konfigurovat.
  3. Přejděte níže na Ověřování a vyberte MFA.tab.
  4. Vyberte jednu z následujících možností:
    • Chcete-li zdědit nastavení organizace, vyberte Respektovat globální nastavení vynucování.
    • Chcete-li nastavit vlastní požadavky, vyberte Vlastní nastavení MFA, poté nakonfigurujte povolené metody MFA a doba trvání ověřování.
    • Chcete-li aplikaci vyjmout z MFA, vyberte Zakázat MFA.
  5. Vyberte Save.

Chcete-li nakonfigurovat MFA pro infrastrukturní aplikaci, více informací najdete v Infrastructure aplikace.

Nakonfigurujte nezávislé MFA pro zásadu

Každá zásada má stejné tři možnosti MFA popsané v Nakonfigurujte nezávislé MFA pro aplikaci. Nastavení na úrovni zásady mají přednost před nastavením na úrovni aplikace.

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Zásady.
  2. Zvolte Allow zásadu a vyberte Konfigurovat.
  3. V části Vícefaktorové ověřování (MFA), vyberte možnost:
    • Chcete-li zdědit nastavení aplikace nebo organizace, vyberte Respektovat globální nastavení vynucování.
    • Chcete-li nastavit vlastní požadavky pro uživatele, na které se tato zásada vztahuje, vyberte Vlastní nastavení MFA, poté nakonfigurujte povolené metody MFA a doba trvání ověřování.
    • Chcete-li z MFA vyjmout uživatele, na které se tato zásada vztahuje, vyberte Zakázat MFA.
  4. Vyberte Save.

Chcete-li nakonfigurovat MFA pro zásadu infrastrukturní aplikace, více informací najdete v Infrastructure aplikace.

doba trvání relace MFA

Doba trvání relace MFA určuje, jak dlouho zůstane úspěšné ověření MFA platné. Po vypršení relace MFA musí uživatel při dalším přihlášení do Cloudflare Access znovu absolvovat MFA, a to navíc k ověření u IdP. Můžete vyžadovat, aby uživatelé absolvovali MFA při každém přihlášení do Access, nebo nastavit vlastní dobu trvání. Doba trvání relace MFA se kontroluje pouze během procesu přihlášení a nemá vliv na existující relaci uživatele.

Access kontroluje relace MFA od nejspecifičtější po nejméně specifickou:

  1. Doba trvání relace zásady MFA : Pokud je nastaveno, platí pro uživatele, kteří odpovídají zásadě.
  2. Doba trvání relace MFA aplikace : Pokud je nastaveno, platí pro všechny uživatele přistupující k aplikaci.
  3. Doba trvání globální relace MFA : Výchozí hodnota pro všechny aplikace, které nemají nastavenou vlastní dobu trvání.

Vyžadovat MFA při každém přihlášení

Chcete-li vyžadovat MFA při každém přihlášení uživatele do aplikace, nastavte dobu trvání ověřování na Vyžadovat při každém přihlášení. Tím se zabrání tomu, aby si Access ukládal do mezipaměti úspěšnou relaci MFA.

Chcete-li to nakonfigurovat pro aplikaci prostřednictvím API, nejprve odešlete GET požadavek k načtení úplné konfigurace aplikace a poté odešlete PUT požadavek s úplným tělem aplikace včetně aktualizovaného mfa_config. Nastavte session_duration na "0m":

curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/access/apps/{app_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "mfa_config": {
    "mfa_disabled": false,
    "session_duration": "0m"
  }
}'

Příklad priority

Uvažujme následující konfiguraci:

flowchart TD
    subgraph org["Organization"]
        orgSettings["**Apply global MFA settings by default**, <br/>**MFA methods**: Authenticator app + Security key, <br/>**Authentication duration**: 24 hours"]
    end

    subgraph appA["Application A"]
        appASettings["**Respect global enforcement setting**<br/>(inherits organization settings)"]
        subgraph policies["Policies"]
            policy1["Policy 1<br/>**Custom MFA settings**,<br/>**MFA methods**: Security keys only,<br/>**Authentication duration**: 1 hour"]
            policy2["Policy 2<br/>**Disable MFA**"]
        end
    end

    subgraph appB["Application B"]
        appBSettings["**Disable MFA**"]
    end

    orgSettings --> appASettings
    orgSettings -.->|"overridden"| appBSettings
    appASettings -.->|"overridden by"| policy1
    appASettings -.->|"overridden by"| policy2

V tomto příkladu:

Infrastructure aplikace

Infrastructure aplikace používající SSH podporují dvě metody MFA určené pouze pro infrastrukturu. piv_key používá zaregistrovaný klíč Personal Identity Verification (PIV). ssh_fido2_key používá zaregistrovaný klíč FIDO2. Žádná z těchto metod se nevztahuje na jiné typy aplikací Access ani na ověřování WebAuthn v prohlížeči.

MFA pro infrastrukturní aplikace můžete nakonfigurovat na úrovni aplikace nebo na úrovni zásady.

Nakonfigurujte MFA pro infrastrukturní aplikaci

Při konfiguraci vlastního MFA vyberte klíč PIV, klíč FIDO2, nebo obojí. Odpovídající pole API jsou ["piv_key"], ["ssh_fido2_key"], a ["piv_key", "ssh_fido2_key"].

Dashboard

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Aplikace.
  2. Najděte svou infrastrukturní aplikaci a vyberte Konfigurovat.
  3. Přejděte na Ověřování kartu a vyberte MFA.
  4. Vyberte jednu z následujících možností:
    • Respektovat globální nastavení vynucování : Používá na úrovni organizace konfigurace MFA. Toto je výchozí chování.
    • Vlastní nastavení MFA : Přepíše globální nastavení pro tuto aplikaci. Vyberte Klíč PIV, Klíč FIDO2, nebo obojí jako povolené autentizátory a poté nastavte vlastní dobu trvání relace MFA.
    • Zakázat MFA : Uživatelé nejsou při přístupu k této aplikaci vyzýváni k MFA.
  5. Vyberte Save.

API

Chcete-li aktualizovat nastavení MFA pro infrastrukturní aplikaci, nejprve odešlete GET požadavek k načtení úplné konfigurace aplikace a poté odešlete PUT požadavek s úplným tělem aplikace včetně mfa_config objekt. PUT požadavek musí obsahovat všechna pole vrácená GET a zabraňte přepsání stávajícího nastavení.

curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/access/apps/{app_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "mfa_config": {
    "mfa_disabled": false,
    "session_duration": "12h",
    "allowed_authenticators": ["piv_key", "ssh_fido2_key"]
  }
}'
Pole Typ Popis
mfa_disabled Boolean Pokud true, MFA není pro tuto aplikaci vyžadováno, i když globální nastavení MFA vynucují.
session_duration Řetězec Doba, po které se uživatel musí znovu ověřit pomocí MFA (například 30m, 1h, 24h). Nastaveno na 0m a vyžadovat MFA při každém připojení SSH.
allowed_authenticators Array Použijte ["piv_key"], ["ssh_fido2_key"], nebo ["piv_key", "ssh_fido2_key"].

Nakonfigurujte MFA pro infrastrukturní zásadu

Pro různá uživatelská jména SSH můžete nastavit odlišné požadavky na MFA konfigurací MFA na úrovni zásady. Nastavení MFA na úrovni zásady má přednost před nastavením na úrovni aplikace.

Dashboard

  1. V Cloudflare dashboard, přejděte na Zero Trust > Řízení přístupu > Aplikace.
  2. Najděte svou infrastrukturní aplikaci a vyberte Konfigurovat.
  3. Přejděte na Zásady a vyberte zásadu, kterou chcete nakonfigurovat.
  4. V části Vícefaktorové ověřování (MFA), vyberte možnost:
    • Respektovat globální nastavení vynucování : Přebírá nastavení aplikace nebo organizace.
    • Vlastní nastavení MFA : Vyberte Klíč PIV, Klíč FIDO2, nebo obojí jako povolené autentizátory a nastavit vlastní dobu trvání relace MFA pro uživatele, kteří odpovídají této zásadě.
    • Zakázat MFA : Uživatelé, kteří odpovídají této zásadě, nejsou vyzýváni k MFA.
  5. Vyberte Save.

API

Chcete-li aktualizovat nastavení MFA pro zásadu, nejprve odešlete GET požadavek k načtení úplné konfigurace zásady a poté odešlete PUT požadavek s úplným tělem zásady včetně mfa_config objekt. mfa_config objekt používá stejná pole jako konfigurace na úrovni aplikace.

curl --request PUT \
https://api.cloudflare.com/client/v4/accounts/{account_id}/access/policies/{policy_id} \
--header "Authorization: Bearer <API_TOKEN>" \
--header "Content-Type: application/json" \
--data '{
  "name": "Require MFA for root",
  "decision": "allow",
  "include": [
    {
      "email": {
        "email": "[email protected]"
      }
    }
  ],
  "mfa_config": {
    "mfa_disabled": false,
    "session_duration": "1h",
    "allowed_authenticators": ["piv_key", "ssh_fido2_key"]
  },
  "connection_rules": {
    "ssh": {
      "usernames": ["root"],
      "allow_email_alias": false
    }
  }
}'

doba trvání relace MFA pro SSH

Doba trvání relace MFA určuje, jak dlouho mohou uživatelé otevírat nová připojení SSH bez další výzvy k MFA. Nastavte dobu trvání na 0m a vyžadovat MFA pro každé nové připojení. Vypršení platnosti aktivní připojení neukončí.

Relace MFA jsou vázány na zařízení uživatele. Pokud uživatel přejde na jiné zařízení, musí se znovu ověřit bez ohledu na zbývající dobu trvání relace.

Doba trvání relace se vyhodnocuje v tomto pořadí:

  1. Doba trvání na úrovni zásady : Pokud je nastaveno, platí pro uživatele, kteří odpovídají zásadě.
  2. Doba trvání na úrovni aplikace : Pokud není nastavena doba trvání na úrovni zásady, použije se nastavení aplikace.
  3. Doba trvání na úrovni organizace : Pokud dobu trvání nedefinuje ani zásada, ani aplikace, použije se globální nastavení.

Když uživatel odpovídá více zásadám, z nichž každá definuje dobu trvání relace, Access použije nejkratší doby platnosti napříč všemi odpovídajícími zásadami.

Priorita a řešení konfliktů

Konfigurace MFA se vyhodnocuje od nejspecifičtější po nejobecnější: zásada > aplikace > organizace.

Organization MFA MFA aplikace Zásada MFA Výsledek
Povinné Povinné Povinné MFA vyžadováno
Povinné Povinné Disabled MFA není vyžadováno (platí zásada)
Povinné Disabled (není nastaveno) MFA není vyžadováno (platí nastavení aplikace)
Povinné (není nastaveno) (není nastaveno) MFA vyžadováno (platí nastavení organizace)

Aby uživatelé mohli registrovat klíče PIV, musí být povoleno MFA na úrovni organizace. Explicitní nastavení na nižší úrovni (zásada nebo aplikace) má přednost před vyšší úrovní. Pokud na dané úrovni neexistuje explicitní nastavení, použije se nastavení z nejbližší vyšší úrovně.