INTEGRITY Dokumentace

Rozšíření výhod Cloudflare na koncové zákazníky poskytovatelů SaaS

Úvod

Klíčovým aspektem vývoje aplikace typu Software-as-a-service (SaaS) je zajištění její bezpečnosti proti širokému spektru útoků, kterým na internetu čelí. Síťové a bezpečnostní služby Cloudflare lze použít k ochraně vašich zákazníků používajících vaši SaaS aplikaci, čímž se riziko přenese na poskytovatele se zkušenostmi v ochrana aplikací ↗.

Tento průvodce návrhem ukazuje, jak mohou poskytovatelé, kteří vytvářejí a hostují vlastní produktovou či aplikační nabídku, využít Cloudflare k tomu, aby výhody zabezpečení, výkonu a souladu s předpisy plynoucí ze sítě Cloudflare rozšířili i na své koncové zákazníky.

Následující diagramy znázorňují použití těchto služeb:

Toto nastavení je ideální pro poskytovatele SaaS, kteří potřebují minimalizovat výpadky, automaticky obnovovat certifikáty SSL/TLS, efektivně rozdělovat provoz mezi funkční koncové body a spravovat regionální provoz kvůli souladu s předpisy a optimalizaci výkonu.

Tento dokument předpokládá, že DNS aplikace poskytovatele je registrována a spravována přes Cloudflare jako primárního a autoritativního poskytovatele DNS. Podrobnosti o tom, jak toto nastavení provést, najdete v Cloudflare DNS Zone Setup Guide.

Toto řešení podporuje subdomény ve vaší vlastní zóně a zároveň umožňuje vašim zákazníkům používat u vašich služeb vlastní doménová jména (vanity nebo custom domény). Pro každého zákazníka můžete například vytvořit vlastní hostname mycustomer.myappexample.com ale zároveň jim chcete umožnit používat vlastní doménu, app.mycustomerexample.com tak, aby směřovaly na jejich tenant ve vaší službě. Každá subdoména (mycustomer.myappexample.com) lze vytvořit na hlavní doméně (myappexample.com) prostřednictvím Cloudflare API, což vám umožňuje snadno automatizovat vytváření DNS záznamů, když si vaši zákazníci vytvoří účet ve vaší službě.

Přínosy

Než se podíváme, jak lze Cloudflare nastavit tak, aby chránilo vaši aplikaci SaaS pomocí vlastních hostname, stojí za to projít si výhody tohoto přístupu.

Přínos Popis
Minimalizace výpadků Zajistěte, že minimální prostoje nejen během migrací vlastních hostitelských názvů na Cloudflare for SaaS, ale po celou dobu životního cyklu aplikace.
Zabezpečení a výkon Rozšiřuje Cloudflare zabezpečení a výkon výhody koncovým zákazníkům prostřednictvím jejich vlastních domén.
Automatické obnovení Automatizuje obnovení a proces správy certifikátů pro vlastní hostitelské názvy.
Apex Proxying Podporuje koncové zákazníky využívající apex domény (jinak známou jako kořenová doména) jako vlastní hostitelské názvy. Používá se tam, kde vaše DNS služba neumožňuje Záznamy CNAME pro kořenové domény, místo toho statická IP adresa se používá k tomu, aby bylo možné použít záznam A.
Smart Load Balancing Použijte load balancer jako vlastní origin servery ke směrování provozu pomocí afinita relace. V kontextu Cloudflare for SaaS vám vlastní origin server umožňuje směrovat provoz z jednoho nebo více vlastních hostitelských názvů jinam než na váš výchozí proxy fallback origin server.
O2O Pro koncové zákazníky, kteří už provoz proxují přes Cloudflare, O2O může být vyžadováno. Obecně se pro tyto koncové zákazníky doporučuje bez proxy hostname používané poskytovatelem SaaS. Pokud je vyžadována funkce O2O, prostudujte si kompatibilita produktů.
Regional Services Umožňuje regionální řízení provozu za účelem splnění požadavků na lokalizaci dat.

Produkty zahrnuté v tomto průvodci

Toto řešení je postaveno na následujících produktech.

Produkt Funkce
Cloudflare for SaaS Rozšiřuje výhody zabezpečení a výkonu sítě Cloudflare na vaše zákazníky prostřednictvím jejich vlastních nebo vanity domén. To zahrnuje Správa certifikátů, WAF for SaaS, Early Hints pro SaaS a Cache for SaaS.
DDoS Protection Ochrana proti objemovým útokům je automaticky povolena pro proxováno hostitelské názvy.
Regional Services (součást Data Localization Suite) Omezit kontrolu dat (zpracování) pouze na datová centra spadající do příslušné jurisdikce.
Load Balancer Rozkládá provoz mezi vaše koncové body, čímž snižuje jejich zátěž i latenci a zlepšuje tak uživatelský zážitek pro koncové uživatele.
Cloudflare Tunnel Zabezpečená metoda připojení k sítím a serverům zákazníků bez nutnosti vytvářet díry v firewally. cloudflared je démon (software) instalovaný na origin serverech, který vytváří zabezpečený tunel z aplikací zpět do Cloudflare.

Příklady Cloudflare for SaaS

Hlavním cílem použití Cloudflare je zajistit, aby všechny požadavky na vlastní hostname vaší aplikace nejprve procházely bezpečnostními a výkonnostními službami Cloudflare, které uplatní bezpečnostní kontroly a zajistí směrování nebo vyvažování zátěže provozu. Protože origin server často musí být veřejně dostupný, je zásadní zabezpečit spojení mezi Cloudflare a origin serverem. Podrobný návod na zabezpečení origin serverů najdete v dokumentaci Cloudflare: Chraňte svůj origin server.

Diagramy níže nejprve znázorňují nejjednodušší přístup k dosažení tohoto cíle a poté následují složitější konfigurace.

Standardní nastavení fallback origin

Toto standardní nastavení Cloudflare for SaaS je nejrozšířenější a pro většinu poskytovatelů nejsnáze zaveditelné. Obvykle jde o společnosti SaaS, které vyvíjejí a dodávají řešení typu software as a service. Toto nastavení vyžaduje pouze jediný záznam DNS, který směruje požadavky do Cloudflare, odkud se provoz proxíruje do vaší aplikace pomocí záznamu A.

Obrázek 1: Standardní konfigurace záložního origin serveru.
Obrázek 1: Standardní konfigurace záložního origin serveru.
  1. Vlastní hostname (custom.example.com) je nakonfigurován jako záznam CNAME směřující na záložní původní server poskytovatele. Záložní původní server je server nebo servery, na které Cloudflare ve výchozím nastavení směruje provoz při požadavku na vlastní název hostitele. Tento DNS záznam nemusí být spravován v rámci Cloudflare, stačí, aby směřoval na záznam hostovaný Cloudflare od poskytovatele (fallback.myappexample.com).
  2. Fallback Origin se nastavuje jako záznam A, který odkazuje na veřejnou IP adresu origin serveru. Cloudflare ve výchozím nastavení směruje provoz odesílaný na vlastní hostname na tento origin server.

Origin server získá podrobnosti o vlastní doméně buď prostřednictvím hlavička Host nebo SNI. Díky tomu origin server určí, na kterou aplikaci má požadavek nasměrovat. Tato metoda funguje jak pro vlastní hostitelské názvy (například app.mycustomerexample.com) a vanity domény (například customer1.myappexample.com). Jelikož jsou nyní všechny požadavky na vaši aplikaci směrovány přes síť Cloudflare, můžete pro každý požadavek využít řadu bezpečnostních a výkonnostních služeb, včetně:

Podrobnosti k implementaci pro začátek najdete v dokumentace pro vývojáře.

Standardní nastavení fallback origin s regionálními službami

Tento přístup zavádí použití Regional Services řešení, které umožňuje regionalizovat ukončování TLS a zpracování HTTP tak, aby vyhovovalo předpisům o shodě, které stanovují, že vaše služba musí zpracovávat data v konkrétních geografických lokalitách. Tím je zajištěno, že provoz určený pro origin server je zpracován výhradně ve zvoleném regionu.

Obrázek 2: Standardní konfigurace záložního originu s regionálními službami.
Obrázek 2: Standardní konfigurace záložního originu s regionálními službami.
  1. Vlastní hostname (custom.example.com) je nakonfigurován jako záznam CNAME, který směřuje na regionalizovaný název hostitele SaaS (eu-customers.myappexample.com). Tato konfigurace zajišťuje, že veškeré zpracování, včetně ukončení TLS, probíhá výhradně v rámci zadané geografické oblasti.
  2. Regionalizovaný hostname SaaS je nastaven jako záznam CNAME, který provoz směruje na standardní Záložní origin poskytovatele SaaS (fallback.myappexample.com).
  3. Záložní origin je nastaven jako záznam A, který odkazuje na veřejnou IP adresu originového serveru. Cloudflare ve výchozím nastavení směruje provoz odeslaný na vlastní hostname na tento originový server.

Cloudflare Tunnel jako záložní nastavení originu s regionálními službami

Pro vyšší zabezpečení mohou poskytovatelé SaaS namísto přímého vystavení aplikačních serverů internetu prostřednictvím veřejných IP adres použít Cloudflare Tunnels. Tyto tunely propojují vaši síť s nejbližšími datovými centry Cloudflare a umožňují přístup k aplikacím SaaS prostřednictvím veřejné názvy hostitelů. Cloudflare se tak stává jediným vstupním bodem, kterým se koncoví zákazníci z veřejného internetu dostávají do sítě vaší aplikace.

Obrázek 3: Cloudflare Tunnel jako nastavení záložního originu s regionálními službami.
Obrázek 3: Cloudflare Tunnel jako nastavení záložního originu s regionálními službami.
  1. Vlastní hostname (custom.example.com) je nakonfigurován jako záznam CNAME, který směřuje na regionalizovaný název hostitele SaaS (eu-customers.myappexample.com). Tato konfigurace zajišťuje, že veškeré zpracování, včetně ukončení TLS, probíhá výhradně v rámci zadané geografické oblasti.
  2. Regionalizovaný hostname SaaS je nastaven jako záznam CNAME, který provoz směruje na standardní Záložní origin poskytovatele SaaS (fallback.myappexample.com).
  3. Záložní origin (fallback origin) je záznam DNS typu CNAME, který odkazuje na veřejný hostname zpřístupněného pomocí Cloudflare Tunnel. Tento veřejný hostname by měl být nastaven tak, aby směroval provoz do vaší aplikace, například localhost:8080.

Toto nastavení je ideální pro poskytovatele SaaS, kteří nepotřebují podrobný load balancing, například směrování provozu na základě geolokace, napříč několika původními servery. Je také vhodné pro jednoduchá testovací a vývojová prostředí, kde ochrana vašeho origin serveru tím, že povolíte požadavky pouze přes Cloudflare Tunnel. Pro distribuované aplikace, které vyžadují vyvažování zátěže na globální i lokální úrovni, však doporučujeme použít Load Balancer Cloudflare s možnostmi vyvažování zátěže globální i privátní sítě.

Global Traffic Management (GTM) a Private Network Load Balancing jako vlastní konfigurace originu

Cloudflare nabízí výkonnou sadu funkcí pro load balancing. Ty umožňují spolehlivě směrovat provoz na různé origin servery, na kterých jsou hostované vaše SaaS aplikace, ať už přes veřejné hostname (jak je popsáno výše), nebo přes privátní IP adresy. Toto nastavení pomáhá předcházet přetížení origin serverů rozložením provozu mezi více serverů a zvyšuje zabezpečení tím, že požadavky povoluje pouze přes Cloudflare Tunnel.

Obrázek 4: Global Traffic Management (GTM) a Private Network Load Balancing jako vlastní nastavení origin serveru.
Obrázek 4: Global Traffic Management (GTM) a Private Network Load Balancing jako vlastní nastavení origin serveru.
  1. Vlastní hostname (custom.example.com) je nakonfigurován jako záznam CNAME směřující na Cloudflare regionalizovaný Load Balancer (eu-lb.myappexample.com). Tím je zajištěno, že veškeré zpracování, včetně ukončení TLS, probíhá v rámci zadané geografické oblasti. Poskytovatel SaaS navíc musí nastavit vyvažovač zátěže jako vlastní origin server pro vlastní hostname.
  2. Regionální load balancer je nastaven s origin pools k rozložení požadavků mezi více navazujících serverů. Každý pool lze nakonfigurovat tak, aby používal buď veřejné názvy hostitelů se Global Traffic Management (GTM) nebo privátní síť adres pomocí Private Network Load Balancing. Ve výše uvedeném diagramu využíváme obě možnosti:
    • Origin pool 1 používá Hostname Cloudflare Tunnel (<UUID>.cfargotunnel.com) jako koncový bod nebo původní server pro zpracování těchto požadavků. Při použití veřejného názvu hostitele je nutné nastavit Hodnota hlavičky Host protokolu HTTP tak, aby odpovídal veřejnému hostname nakonfigurovanému a zpřístupněnému prostřednictvím Cloudflare Tunnel. Díky tomu origin server dokáže příchozí požadavky správně směrovat.
    • Origin pool 2 používá privátní IP adresu nebo privátní síť (tedy 10.0.0.5) uvnitř interní sítě poskytovatele SaaS, kde se nachází aplikace SaaS. Tento pool musí být nakonfigurován tak, aby fungoval v rámci zadaného virtuální síť k zajištění správného směrování požadavků.
  3. Cloudflare Tunnel zpřístupňuje jak veřejné názvy hostitelů s GTM a soukromé sítě (soukromé IP adresy) pomocí Private Network Load Balancing.

Pro vyšší granularitu při obsluze aplikací a lepší škálovatelnost se obecně doporučuje používat privátní sítě namísto veřejných hostname. Privátní sítě umožňují Cloudflare zachovat a přesně předat hlavičku host originovému serveru. Naproti tomu při použití veřejných hostname musí poskytovatelé nakonfigurovat hodnota hlavičky na load balanceru, který je omezen na jeden veřejný hostitelský název pro každý koncový bod load balanceru, což může omezovat flexibilitu.

Vezměte v úvahu Zero Trust Omezení tunelů, Cloudflare for SaaS podrobnosti o požadavku na připojení, a Custom Origin specifikace SNI. Další informace o Cloudflare Load Balancer najdete v jeho referenční architektura.

Automatizace

Jako poskytovatel SaaS byste měli většinu, ne-li všechny tyto procesy automatizovat pomocí API, SDKs, skripty, Terraform, nebo dalších automatizačních nástrojů.

Příklad plánu migrace na vysoké úrovni najdete zde ke stažení.

Důrazně doporučujeme migrovat na Cloudflare for SaaS po fázích a řešit případné problémy průběžně, zejména u Ověření kontroly domény (DCV). Nezapomeňte se seznámit s stav ověření a relevantní dokumentace během tohoto procesu.

Souhrn

Díky infrastruktuře Cloudflare mohou poskytovatelé SaaS nabízet svým koncovým zákazníkům bezpečné, spolehlivé a výkonné služby. Uživatelům tak zajišťují plynulý a bezpečný zážitek a zároveň plní požadavky na soulad s předpisy, jako je regionalizace.

Několik klientů Cloudflare v současnosti používá řešení Cloudflare for SaaS (dříve známé jako SSL for SaaS). Mezi významné veřejně známé případy použití patří:

Při migraci na Cloudflare for SaaS je navíc zásadní mít runbook a přehlednou veřejnou dokumentaci, kterou koncovým klientům sdělíte relevantní podrobnosti. Vynikajícím veřejným příkladem jsou Salesforce CDN ↗ a Shopify ↗ dokumentace.