← Cloudflare One / cloudflare-one / networks / connectors / cloudflare-wan / reference
Ochrana anti-replay
Pokud používáte Cloudflare WAN a anycast U tunelů IPsec doporučujeme zakázat ochranu anti-replay. Cloudflare toto nastavení ve výchozím nastavení vypíná. Pro zařízení, která zákaz této funkce nepodporují, včetně Cisco Meraki, Velocloud a AWS VPN Gateway, ji však můžete povolit přes API nebo Cloudflare dashboard.
Viz Přidejte tunely kde zjistíte, jak nastavit ochranu proti opakování. Tato stránka vysvětluje útoky typu replay, důvody, proč Cloudflare doporučuje deaktivovat funkci IPsec anti-replay, a související aspekty.
Útoky opakováním
K útokům opakováním dochází, když útočník zachytí a zaznamená paket ↗, a poté zaznamenaný paket znovu odešle do cílové sítě se záměrem, který útočníkovi prospívá.
Příklad
Uvažujme špatně navržený otvírač garážových vrat pro internet věcí (IoT). Zařízení má jednoduchý protokol pro svůj provoz: paket User Datagram Protocol (UDP) obsahuje heslo od garážových vrat a buď open nebo shut ve svém datovém segmentu. Klíč od garážových vrat zašifruje datový segment a telefon majitele jej odešle, aby vrata otevřel nebo zavřel.
Útočník pravděpodobně nedokáže otevřít nebo zavřít vrata garáže pouhým uhodnutím šifrovacího klíče a hesla. Zašifrovaný obsah zachyceného paketu sice vidět nemůže, ale pokud má garáž na dohled, může se pokusit propojit si a uhodnout, které pakety mají na starosti otevírání vrat garáže. Až bude chtít vrata otevřít, odešle zaznamenaný open paket, a protože by zaznamenaný paket obsahoval heslo a už by byl zašifrovaný správným klíčem, tyto dveře by se otevřely.
Aby se tomuto útoku opakováním předešlo, mohl by uživatel ke každému příkazu zasílanému vratům garáže přidat číslo paketu. První by mohlo být packet 1, druhý packet 2 a tak dále, přičemž vrata garáže by pokaždé přijala pouze pakety obsahující další číslo v pořadí. Například poté, co vrata garáže přijmou packet 1, přijala by pouze paket 2, a pokud by útočník zkusil znovu přehrát packet 1, garážová vrata požadavek ignorují.
Ochrana anti-replay IPsec
Ochrana anti-replay IPsec funguje podobně jako příklad prevence ve scénáři výše. Odesílatel přiřadí každému paketu IPsec sekvenční číslo. Příjemce sleduje, jaká sekvenční čísla už viděl, a přijímá pouze pakety spadající do malého okna kolem nejvyšší dosud přijaté hodnoty; toto okno má obvykle velikost 64 až 1024 paketů. IPsec používá okno místo přísného řazení, protože pakety se na internetu občas přeuspořádají nebo ztratí: rozsah přípustných sekvenčních čísel paketů pomáhá tyto problémy vyřešit.
Cloudflare WAN a ochrana anti-replay
Standardní ochrana anti-replay IPsec počítá s jediným odesílatelem a jediným příjemcem. Odesílatel uchovává sekvenční číslo v paměti a s každým paketem ho zvyšuje. Příjemce sleduje, jaká sekvenční čísla už zpracoval.
Anycast architektura Cloudflare tomuto modelu neodpovídá. Protože Cloudflare WAN používá anycast může libovolný paket zpracovat kterýkoli z tisíců serverů napříč stovkami datových center. Právě toto distribuované zpracování dává Cloudflare WAN jeho výkon a odolnost, znamená to však, že žádný jednotlivý server nemá úplný přehled o stavu pořadových čísel.
Pokud pro tunely Cloudflare WAN IPsec povolíte ochranu proti opakování (replay protection), Cloudflare směruje pakety jednoho tunelu na jeden server, který sleduje pořadová čísla. Mechanismus ochrany proti opakování v tomto režimu funguje správně, ale přijdete o výhodu rozložení provozu mezi globální servery Cloudflare. Navíc funguje jen jedním směrem, od Cloudflare k síti zákazníka: Cloudflare nesměruje pakety ze sítě zákazníka na jediný server a v tomto směru ochranu proti opakování neuplatňuje.
Další aspekty
Ochrana anti-replay IPsec je nesmírně důležitá u transportního režimu, tedy u IPsec mezi jednotlivými hostiteli nebo dokonce mezi jednotlivými aplikacemi. V transportním režimu útočník poměrně snadno identifikuje šifrovaný protokol i to, které pakety má přehrát, pokud je daný protokol vůbec zranitelný vůči replay útokům. Cloudflare WAN ovšem používá tunelový režim, u kterého je úspěšné provedení replay útoku podstatně obtížnější.
Existuje několik důvodů, proč jsou útoky typu replay v tunelovém režimu obtížné:
- IPsec šifruje celý vnitřní paket, takže útočník o zachyceném uživatelském paketu prakticky nic nezjistí a nemůže provést korelaci pro replay útok. Jediné, co útočník zjistí, je síť pobočky, která paket zašifrovala, síť pobočky, která ho přijala, a přibližná velikost paketu. Tyto informace však nestačí k identifikaci konkrétních toků vnitřních uživatelských paketů potřebných ke korelaci a přehrání.
- Útoky opakováním fungují pouze tehdy, pokud útočníci použijí stejné šifrovací klíče. Po rekeyingu router staré opakované pakety zahazuje.
- Většina protokolů není na úrovni paketů náchylná k útokům typu replay. Internet dokáže pakety duplikovat, a proto TCP a řada protokolů postavených na UDP už obsahuje pořadová čísla nebo podobný mechanismus pro zpracování duplicitních paketů. U těchto protokolů pak replay provoz vypadá jen jako duplicitní paket a cílové zařízení ho zpracuje správně.
- Ochranu anti-replay lze zajistit i ve vyšší vrstvě modelu OSI (Open Systems Interconnection). Řada moderních aplikací totiž k přenosu dat využívá zabezpečené komunikační protokoly, jako je Secure Sockets Layer/Transport Layer Security (SSL/TLS), Secure Shell (SSH) nebo SSH File Transfer Protocol (SFTP). Tyto protokoly, které pracují ve vyšší vrstvě OSI než síťová vrstva, podporují ochranu anti-replay nativně.
- Menší útočná plocha snižuje pravděpodobnost zachycení paketů. Tunely IPsec jsou site-to-site VPN tunely mezi routerem pobočky uživatele a globální sítí Cloudflare, vedené přes vyhrazená síťová připojení poskytovatele internetových služeb (ISP), která bývají velmi bezpečná. Anycast povaha implementace IPsec od Cloudflare navíc ukončuje tunel IPsec v jednom z více než 300 datových center Cloudflare nejbližších k hraničnímu routeru zákazníka, čímž se minimalizuje fyzická vzdálenost a rozsah, který musí šifrované pakety urazit.
Řešení potíží
Pokud se u vás projevuje nestabilita tunelu nebo ztráty paketů související s ochranou anti-replay, přejděte na Odstraňování problémů se stavem tunelu.