INTEGRITY Dokumentace

Na úrovni hostname

Když povolíte Authenticated Origin Pulls (AOP) pro jednotlivé hostname, veškerý proxovaný provoz na daný hostname se ověřuje na origin webovém serveru pomocí certifikátu, který nahrajete. K ověření připojení z Cloudflare můžete použít klientské certifikáty z vaší Private PKI.

Globální, na úrovni zóny, a AOP pro jednotlivé hostname jsou nezávislé konfigurace. Zapnutí nebo vypnutí jedné z nich neovlivní tu druhou. Certifikáty pro jednotlivé hostname mají přednost před certifikáty na úrovni zóny a globálními certifikáty pro daný hostname.

Než začnete

Postup níže ukazuje, jak pomocí OpenSSL vygenerovat vlastní certifikát. Kořenový certifikát CA, který použijete k vydání vlastního certifikátu, by měl pocházet od stejné CA, kterou budete nahrát na váš origin server.

příklad OpenSSL

  1. Následujícím příkazem vygenerujte 4096bitový privátní klíč RSA se šifrováním AES-256. Po vyzvání zadejte přístupovou frázi.
openssl genrsa -aes256 -out rootca.key 4096
  1. Vytvořte kořenový certifikát CA. Až budete vyzváni, vyplňte informace, které se mají do certifikátu zahrnout. U pole Common Name pole použijte jako hodnotu název domény, nikoli hostname.
openssl req -x509 -new -nodes -key rootca.key -sha256 -days 1826 -out rootca.crt
  1. Vytvořte žádost o podpis certifikátu (CSR). Až budete vyzváni, vyplňte informace, které se mají do žádosti zahrnout. U pole Common Name pole použijte jako hodnotu hostname.
openssl req -new -nodes -out cert.csr -newkey rsa:4096 -keyout cert.key
  1. Podepište certifikát pomocí rootca.key a rootca.crt vytvořený v předchozích krocích.
openssl x509 -req -in cert.csr -CA rootca.crt -CAkey rootca.key -CAcreateserial -out cert.crt -days 730 -sha256 -extfile ./cert.v3.ext
  1. Ujistěte se, že soubor rozšíření certifikátu cert.v3.ext určuje následující:
basicConstraints=CA:FALSE

1. Nahrání vlastního certifikátu

  1. Přejděte na Origin server stránce.

    Přejděte na Origin server ↗
  2. Vyberte Authenticated Origin Pulls kartě.

  3. V Na úrovni hostname sekci vyberte Nahrát certifikát.

  4. Vložte certifikát a soukromý klíč a poté vyberte Pokračovat.

  5. Zkontrolujte podrobnosti certifikátu, uložte si ID certifikátu pro pozdější použití a vyberte Pokračovat.

  6. Na Přiřaďte hostitelské názvy stránce zadejte plně kvalifikovaný název domény, který má tento certifikát používat, 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.

Použijte Nahrání klientského certifikátu pro hostname endpoint pro nahrání vlastního certifikátu.

MYCERT="$(cat cert.crt|perl -pe 's/\r?\n/\\n/'|sed -e 's/..$//')"
MYKEY="$(cat cert.key|perl -pe 's/\r?\n/\\n/'|sed -e's/..$//')"

request_body=$(< <(cat <<EOF
{
"certificate": "$MYCERT",
"private_key": "$MYKEY",
"bundle_method":"ubiquitous"
}
EOF
))

# Push the certificate

curl --silent \
"https://api.cloudflare.com/client/v4/zones/$ZONEID/origin_tls_client_auth/hostnames/certificates" \
--header "Content-Type: application/json" \
--header "X-Auth-Email: $MYAUTHEMAIL" \
--header "X-Auth-Key: $MYAUTHKEY" \
--data "$request_body"

V odpovědi API si uložte certifikát id protože bude potřeba v kroku 3.

2. Konfigurace origin serveru pro přijímání klientských certifikátů

Po instalaci certifikátu nastavte svůj origin web server tak, aby přijímal klientské certifikáty.

Podívejte se na příklady pro Apache a NGINX níže, nebo nahlédněte do dokumentace svého origin webového serveru, například HAProxy, Traefik, Caddy.

Příklad pro Apache

SSLCACertificateFile /path/to/origin-pull-ca.pem

V tomto příkladu byste certifikát uložili do /path/to/origin-pull-ca.pem.

Příklad pro NGINX

ssl_verify_client optional;
ssl_client_certificate /etc/nginx/certs/cloudflare.crt;

V tomto příkladu byste certifikát uložili do /etc/nginx/certs/cloudflare.crt.

V této fázi můžete na origin serveru také povolit logování, abyste mohli ověřit, že konfigurace funguje.

3. Povolte Authenticated Origin Pulls pro daný hostname

  1. Přejděte na Origin server stránce.

    Přejděte na Origin server ↗
  2. Vyberte Authenticated Origin Pulls kartě.

  3. V Na úrovni hostname sekci najděte certifikát, který se má použít, a přiřaďte k němu hostname.

Pokud jste si v kroku 2 nastavili logování na origin serveru, otestujte a ověřte, že Authenticated Origin Pulls funguje.

Použijte Enable or Disable a Hostname for Client Authentication endpoint pro povolení Authenticated Origin Pulls pro konkrétní hostname.

Pokud jste si v kroku 2 nastavili logování na origin serveru, otestujte a ověřte, že Authenticated Origin Pulls funguje.

4. Vynuťte ověřovací kontrolu na svém origin serveru

Jakmile potvrdíte, že vše ve vašem konkrétním nastavení origin serveru funguje podle očekávání, nakonfigurujte origin server tak, aby ověřování vynucoval.

Příklad pro Apache

SSLVerifyClient require

Příklad pro NGINX

ssl_verify_client on;

Po dokončení procesu můžete použít curl a odešlete požadavky přímo na IP adresy vašeho původního serveru, čímž ověříte, že požadavky selžou kvůli vynucené validaci certifikátu.

5. (Volitelné) Nastavte upozornění na vypršení platnosti

Můžete nastavit upozornění, abyste dostali oznámení ještě před vypršením platnosti certifikátů AOP.

Upozornění na vypršení platnosti certifikátu Authenticated Origin Pulls na úrovni hostname

Pro koho je určeno?

Zákazníci, kteří nahrají vlastní certifikát pro použití s Authenticated Origin Pull (AOP) na úrovni hostname k zabezpečení připojení z Cloudflare k jejich origin serveru. Upozornění na vypršení platnosti certifikátu AOP se odesílají 30 dní a 14 dní před vypršením platnosti certifikátu.

Další možnosti / filtry

Žádné.

Zahrnuto v

Authenticated Origin Pull.

Co dělat, když upozornění obdržíte?

Nahrajte obnovený certifikát pro použití u AOP na úrovni hostname.

Viz Cloudflare Notifications pro další informace o nastavení upozornění.

Další možnosti

Viz Správa certifikátů pro další možnosti.

Informace o tom, jak konfiguraci odstranit, najdete v Vrácení zpět.