INTEGRITY Dokumentace

Proč se hostitelské názvy s povoleným Spectrum mohou zobrazovat v Layer 7 Analytics

I když máte Spectrum povolený pro zpracování provozu na vrstvě 4 (například spojení TCP/UDP), provoz se přesto může objevit v analytickém dashboardu pro vrstvu 7 (L7). Je to dáno tím, jak Cloudflare Layer 7 CDN a Spectrum přistupují k identitě zákazníka odlišně.

Jak Spectrum identifikuje uživatele (vrstva 4)

Ve Spectrum se identita hostname zákazníka určuje podle IP adresy Cloudflare, přes kterou se klient připojuje k edge. Typický postup vypadá takto:

  1. Spectrum vytvoří v zóně zákazníka DNS hostname, který ukazuje na edge IP adresu Spectrum, a propojí tuto edge IP adresu a port s konfigurací zákazníka.
  2. Klient provede DNS dotaz na hostname Spectrum, získá edge IP adresu Spectrum a připojí se k této IP adrese a portu.
  3. Spectrum pomocí této edge IP adresy a portu přiřadí spojení ke konfiguraci zákazníka a tím zákazníka identifikuje.

Tento proces se soustředí na vrstvu 4, kde se hostname propojuje s konfigurací zákazníka v oblasti IP adres a portů.

Jak CDN identifikuje uživatele (vrstva 7)

  1. Zákazník si ve své zóně nastaví DNS hostname, který směruje provoz na jeho origin server.
  2. Klient provede DNS dotaz na hostname CDN a DNS server odpoví edge IP adresou CDN. Na rozdíl od Spectrum slouží edge IP adresa CDN především k řízení provozu, nikoli k identifikaci zákazníka, protože stejnou edge IP adresu CDN může sdílet více zákazníků.

Pro CDN je identifikace zákazníka do značné míry založena na překladu hostname během TLS handshake (SNI) a HTTP požadavku (Host header). CDN je navíc navržena tak, aby přijímala jakýkoli hostname odpovídající zóně zákazníka (například *.example.com), i když neexistuje konkrétní shoda DNS na vrstvě 7. To znamená, že jako platné budou akceptovány i hostname aplikací Spectrum nebo Load Balanceru v rámci *.example.com.

Průnik: provoz vrstvy 7 proxovaný přes Spectrum

Protože CDN je navržena tak, aby přijímala libovolný název hostitele ve vaší zóně (například spectrum.example.com), HTTP provoz, který má být nejprve proxyován přes Spectrum, nebo dokonce HTTP provoz určený pro aplikaci Spectrum pouze na vrstvě 4, může být někdy zpracován přímo systémem Layer 7 CDN. Postup je následující:

  1. Klient se připojuje k edge IP adrese CDN na vrstvě 7 a přitom používá hostname aplikace Spectrum (například spectrum.example.com) jak během TLS handshake, tak během HTTP požadavku. V podstatě to znamená, že se klient pokouší přistoupit k spectrum.example.com na nesprávné IP adrese.
  2. CDN přijímá tento hostname jako součást zóny zákazníka jak ve fázi TLS, tak ve fázi HTTP, protože je navržen tak, aby rozpoznal jakýkoli hostname pod *.example.com. V důsledku toho požadavek prochází CDN pod identitou dané zóny.
  3. Když se ale CDN pokusí připojit k origin serveru, provede interní DNS lookup hostname HTTP, který se přeloží na IP adresu Spectrum (z spectrum.example.com na edge IP adresu Spectrum). CDN proto naváže origin připojení ke Spectrum, načte jeho konfiguraci a předá požadavek origin serveru Spectrum.

To znamená, že provoz pro tento hostname prochází standardními produkty CDN na vrstvě 7, včetně Analytics a logů.

Blokování nežádoucího provozu L7

Pokud chcete zabránit tomu, aby se provoz pro hostname Spectrum určené pouze pro vrstvu 4 proxoval přes vrstvu 7 k vašemu originu (včetně nechtěných skenů či požadavků), doporučujeme nasadit pravidlo WAF (Web Application Firewall) na vrstvě 7. Toto pravidlo dokáže blokovat provoz směřující na konkrétní hostname nebo porty, takže k vaší službě Spectrum se dostane pouze legitimní provoz.

Můžete například vytvořit pravidlo WAF, které bude blokovat požadavky na spectrum.example.com pokud nepocházejí z IP adresy Spectrum nebo ze zákaznického Spectrum BYOIP. Provoz se přesto zaznamená v Layer 7 Analytics, včetně WAF Security Events, ale díky tomu se zabrání jeho doručení na nesprávnou adresu a opakovanému průchodu CDN.