INTEGRITY Dokumentace

Vyhrazená výstupní IP adresa pro Logpush

Tento návod se zabývá Dedicated CDN Egress IPs a konfiguraci Logpush a pokyny k testování pro povolení doručování protokolů s pevnou vyhrazenou výstupní IP adresou.

Předpoklady

Chcete-li používat Logpush s vyhrazenou odchozí IP adresou, budete potřebovat Smart Shield Advanced s Dedicated CDN Egress IPs (dříve známé jako Aegis). Upozorňujeme, že fond Dedicated CDN Egress IPs je přiřazen k zóně, nikoli k účtu. Aby bylo možné používat Logpush s vyhrazenými IP adresami, musí být provoz směrován do jedné zóny.

Obecný postup spočívá v tom, že úloha Logpush odesílá data Logpush přes zónu Cloudflare s povolenými Dedicated CDN Egress IPs do požadovaného cíle. Váš cíl pak bude potřebovat zařadit na seznam povolených adres (allowlist) pouze přidělené vyhrazené egress IP adresy vaší proxy zóny.

Jako předpoklad musíte vytvořit vyhrazenou zónu nebo použít zónu existující. Pokud použijete existující zónu, mějte na paměti, že její odchozí provoz bude omezen na Dedicated CDN Egress IPs. Ujistěte se, že to neovlivní žádné služby, které danou zónu využívají.

Doporučujeme jako proxy použít samostatnou vyhrazenou zónu, abyste neovlivnili produkční systémy. Pokud se rozhodnete vytvořit novou zónu, postupujte podle kroky k registraci nové domény u Cloudflare.

Následující příklad ukazuje, jak nastavit Logpush a Dedicated CDN Egress IPs pro proxování cíle HTTPS. Proxování by ale mělo fungovat pro jakýkoli podporovaný cíl Logpush, protože všechny cíle interně používají protokol HTTP.

1. Zřiďte vyhrazený egress IP Pool

  1. Obraťte se na svůj tým Cloudflare account a zakupte si Dedicated CDN Egress IPs pro vaši zónu.

  2. (Volitelné, ale doporučené) Vyžádejte si dvě IP adresy, jednu v PDX-B a jednu v SJC-A, aby bylo zajištěno pokrytí napříč regiony.

  3. Po zřízení potvrďte Pool ID.

2. Nakonfigurujte zónu

  1. Zaregistrujte nebo použijte existující zónu pro fond vyhrazených egress IP adres.
  2. Obraťte se na svůj account tým a vyžádejte si ID vašeho vyhrazeného fondu egress IP adres.
  3. Vytvořte PATCH požadavek na Upravit nastavení zóny koncový bod:

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

Alespoň jeden z následujících oprávnění tokenu je povinné:
Edit zone setting
curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/settings/aegis" \
	--request PATCH \
	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
	--json '{
		"id": "aegis",
		"value": {
				"enabled": true,
				"pool_id": "<YOUR_EGRESS_POOL_ID>"
		}
	}'

3. Nastavení proxy zóny

  1. Ve své zóně přidejte DNS záznam (CNAME nebo A/AAAA) s Cíl jako cílový koncový bod HTTP.
V Cloudflare dashboardu vytvořte záznam DNS, který definuje cílový koncový bod HTTP
  1. V případě potřeby nakonfigurujte origin rules k zadání vlastního portu. To se hodí, pokud váš cíl přijímá provoz pouze na nestandardním portu, například 12345. Můžete nakonfigurovat logpush.yourdestinationendpoint.com (bez uvedení portu, protože Cloudflare ve výchozím nastavení proxíruje provoz jen na portech HTTP/HTTPS) pro proxy na yourdestinationendpoint.com:12345.

4. Nakonfigurujte Logpush

  1. Vytvořte úlohu Logpush s následujícími údaji:
Zadání údajů o cíli při vytváření úlohy Logpush v dashboardu Cloudflare
  1. Zkontrolujte cíl a ověřte, zda jsou protokoly doručovány.

5. Zabezpečte koncový bod proxy zóny

Název hostitele proxy zóny je veřejně přeložitelný, provoz ale prochází edge sítí Cloudflare, kde můžete uplatnit bezpečnostní kontroly. K ochraně koncového bodu použijte následující osvědčené postupy.

Přidejte tajnou hlavičku s ověřením ve WAF

Přidejte do úlohy Logpush tajný token jako hlavičku HTTP a poté vytvořte pravidlo WAF, které bude blokovat požadavky bez tohoto tokenu. Pro většinu nasazení se doporučuje právě tento postup.

Nakonfigurujte Logpush s tajnou hlavičkou

Jakýkoli parametr URL začínající na header_ se stane hlavičkou HTTP v požadavku. Při vytváření nebo aktualizaci úlohy Logpush přidejte tajnou hlavičku do cílové URL adresy:

https://logpush.yourdestinationendpoint.com?header_X-Logpush-Secret=YOUR_RANDOM_SECRET_TOKEN

Vygenerujte silný náhodný token pomocí openssl rand -hex 32.

Vytvoření vlastního pravidla WAF

V proxy zóně přejděte na Security > WAF > Custom rules a vytvořte pravidlo, které blokuje požadavky bez správné tajné hlavičky.

Přidejte filtrování podle ASN

Pro důkladnější zabezpečení přidejte pravidlo, které povolí provoz pouze z ASN Cloudflare. Provoz Logpush pochází ze sítě Cloudflare (ASN 13335, 132892 nebo 202623).

Používejte Access Service Tokens pro prostředí s vysokými nároky na zabezpečení

Pro silnější autentizaci použijte Cloudflare Access Service Tokens pro autentizaci mezi stroji. Vytvořte Service Token v dashboardu Zero Trust a poté nakonfigurujte Logpush s hlavičkami Access:

https://logpush.yourdestinationendpoint.com?header_CF-Access-Client-Id=YOUR_CLIENT_ID&header_CF-Access-Client-Secret=YOUR_CLIENT_SECRET

Ověřte svou bezpečnostní konfiguraci

Otestujte, že vaše pravidla WAF blokují neautorizované požadavky:

$ curl https://logpush.yourdestinationendpoint.com
# Expected: error code: 1020

$ curl -H "X-Logpush-Secret: wrong-token" https://logpush.yourdestinationendpoint.com
# Expected: error code: 1020

V Cloudflare Analytics zkontrolujte proxy zónu a ověřte, že přes ni prochází provoz Logpush, a sledujte události WAF, abyste měli jistotu, že neoprávněné požadavky jsou blokovány.