INTEGRITY Dokumentace

Bring your own CA for mTLS

Tato stránka vysvětluje, jak spravovat klientské certifikáty, které nebyly vydány certifikační autoritou Cloudflare. Pro širší přehled si přečtěte výuková cesta mTLS na Cloudflare.

Bring your own CA (BYOCA) je užitečné zejména v případě, že již máte implementováno mTLS a klientské certifikáty jsou již nainstalované na zařízeních.

Dostupnost

Požadavky na certifikát CA

Když nahrajete svou certifikační autoritu, Cloudflare ověří certifikát podle určitých požadavků.

Nastavte mTLS s vlastní certifikační autoritou

  1. V dashboardu Cloudflare přejděte na Client Certificates stránce.

    Přejděte na Client Certificates ↗
  2. Vyberte Add Certificate.

  3. V Certifikační autorita rozbalovací nabídce vyberte Bring your own CA.

  4. Nahrajte soubor certifikátu CA (ve formátu PEM) a zadejte název CA.

  5. Vyberte Pokračovat.

  6. Na Přiřaďte hostitelské názvy stránce zadejte hostname, který má tuto CA používat pro ověřování mTLS, a vyberte Přidat pro každý z nich. Tento krok můžete také přeskočit a hostname přiřadit později.

  7. Vyberte Save a potvrďte.

  1. Použijte Endpoint pro nahrání certifikátu mTLS k nahrání kořenového certifikátu CA.
  • ca booleovská hodnota je povinná

    • Nastavte na true k označení, že je daný certifikát certifikátem CA.
  • certificates string povinné

    • Vložte obsah z .pem soubor přiřazený k certifikátu CA, formátovaný jako jeden řetězec s \n a nahrazuje zalomení řádků.
  • name string nepovinné

    • Uveďte jedinečný název pro váš certifikát CA.
  • private_key string nepovinné

    • Vložte obsah z .pem soubor přiřazený k privátnímu klíči certifikátu, formátovaný jako jeden řetězec s \n a nahrazuje zalomení řádků.
  1. Poznamenejte si ID certifikátu (id) která se vrací v odpovědi API.
  2. Použijte Endpoint pro nahrazení přiřazení hostname a povolte mTLS pro každý hostname, který má danou CA používat pro ověření mTLS. Použijte následující parametry:
  • hostnames pole je povinné

    • Uveďte hostname, které budou k ověřování klientských certifikátů používat tuto CA.

  • mtls_certificate_id string povinné

    • Uveďte ID certifikátu získané v předchozím kroku.

  1. (Volitelné) Proveďte Požadavek GET a potvrďte přiřazení hostname k CA.

Po nahrání CA a přiřazení hostitelů vytvořte vlastní pravidlo, které vynutí ověřování klientského certifikátu. Můžete to udělat prostřednictvím dashboardu nebo přes API.

  "expression": "(http.host in {\"<HOSTNAME_1>\" \"<HOSTNAME_2>\"} and not cf.tls_client_auth.cert_verified)",
  "action": "block"

Více certifikačních autorit pro jeden hostname

S jedním hostname může být spojeno více CA (spravovaných Cloudflare nebo BYOCA). U certifikátů BYOCA má přednost nejnověji nasazený certifikát.

Pokud chcete odebrat přiřazení od certifikátu spravovaného Cloudflare a používat pouze vlastní certifikáty BYOCA:

  1. V dashboardu Cloudflare přejděte na Client Certificates stránce.

    Přejděte na Client Certificates ↗
  2. Na Hostitelé sekci v části Klientské certifikáty vydané Cloudflare, vyberte Úprava.

  3. Vyberte křížek vedle hostname, který chcete odebrat.

  4. Vyberte Save a potvrďte.

  1. Zobrazit přidružení hostname bez mtls_certificate_id .

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • SSL and Certificates Write
  • SSL and Certificates Read
Zobrazit přidružení hostname
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/certificate_authorities/hostname_associations" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
  1. Zkopírujte hostnames vrácené rozhraním API a aktualizujte ho odebráním hostitelského názvu, který by už neměl používat certifikační autoritu spravovanou Cloudflare.
  2. Použijte Endpoint pro nahrazení přiřazení hostname bez mtls_certificate_id parametr k provedení akce vůči certifikační autoritě spravované Cloudflare. Pro hostnames použijte seznam z předchozího kroku.

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • SSL and Certificates Write
Nahrazení přiřazení hostname
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/certificate_authorities/hostname_associations" \
	--request PUT \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"hostnames": [
				"<UPDATED_HOSTNAME_ASSOCIATIONS>"
		]
	}'

Odstranění nahrané CA

Pokud chcete odebrat CA, kterou jste dříve nahráli, musíte nejprve odebrat všechna přiřazení hostname, která má.

  1. V dashboardu Cloudflare přejděte na Client Certificates stránce.

    Přejděte na Client Certificates ↗
  2. Vyberte BYOCA kartě.

  3. Najděte certifikační autoritu (CA), kterou chcete odstranit, a klikněte na tři tečky vedle ní.

  4. Nejprve odeberte všechny přiřazené hostname, pokud nějaké existují.

  5. Vyberte možnost smazání a potvrďte.

  1. Odešlete požadavek na Endpoint pro nahrazení přiřazení hostname, s prázdným polem pro hostnames a uveďte ID certifikátu CA v mtls_certificate_id:
  "hostnames": [],
  "mtls_certificate_id": "<CERTIFICATE_ID>"
  1. Použijte Delete mTLS certificate endpoint a odstraňte certifikát.

Zobrazit přidružení hostname k CA

  1. V dashboardu Cloudflare přejděte na Client Certificates stránce.

    Přejděte na Client Certificates ↗
  2. Vyberte BYOCA kartě.

  3. Najděte certifikační autoritu (CA), kterou chcete zkontrolovat, a klikněte na tři tečky vedle ní.

  4. Vyberte Úprava hostname. Podrobnosti o certifikátu panel zobrazuje přiřazené hostname.

Použijte Endpoint pro zobrazení přidružení hostname hodnotou mtls_certificate_id parametr dotazu nastavený na ID certifikátu nahrané CA.

Požadovaná oprávnění API tokenu

Alespoň jeden z následujících oprávnění tokenu je povinné:
  • SSL and Certificates Write
  • SSL and Certificates Read
Zobrazit přidružení hostname
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/certificate_authorities/hostname_associations?mtls_certificate_id=ID_FROM_STEP_2" \
	--request GET \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"