Nejdřív reflexe, pak amplifikace
Většina záplav je přímočará: stroje útočníka posílají pakety rovnou na vás a útok je omezený tím, kolik mají linky. Reflexní útoky tenhle strop obcházejí tím, že jako posla použijí někoho jiného.
Trik se jmenuje podvržení IP adresy. UDP nemá handshake — server, který dostane UDP dotaz, nemá jak ověřit, že zdrojová adresa v paketu je skutečně místem, odkud paket přišel. Útočník tedy pošle dotaz na veřejný DNS server a do zdrojové adresy napíše vaši IP. Odpověď se poslušně doručí vám. S útočníkem jste si nevyměnili jediný paket. To je reflexe.
Amplifikace je důvod, proč se reflexe vyplatí. DNS odpovědi jsou mnohem větší než DNS dotazy. Dotaz o zhruba 60 bajtech na kompletní sadu záznamů domény umí vrátit odpověď o 3 000–4 000 bajtech, zejména když jsou připojené DNSSEC podpisy. Útočník utratí jednu jednotku pásma a doručí šedesát. Pronajměte si skromný botnet, namiřte ho na seznam několika set tisíc otevřených resolverů, a z několika gigabitů útočníkovy kapacity dorazí na vaši síť stovky.
Amplifikační faktory podle protokolu
DNS je nejznámější reflektor, ale zdaleka ne nejhorší. Kandidátem je jakákoli UDP služba, která na malý dotaz odpoví velkou odpovědí — a útočníci mezi nimi přecházejí, jak se jednotlivé služby postupně uklízejí.
| Protokol | Port | Typická amplifikace | Stav dnes |
|---|---|---|---|
| DNS (ANY / DNSSEC) | 53 | 28–60x | Stále hojně zneužíváno; miliony otevřených resolverů |
NTP (monlist) | 123 | až ~550x | Většinou opraveno, přesto k nalezení na starších strojích |
| memcached | 11211 | 10 000–50 000x | Vzácné, ale ničivé; zdroj rekordních záplav |
| CLDAP | 389 | 50–70x | Běžné v moderních objemových kampaních |
| SSDP | 1900 | ~30x | Pohání ho domácí routery a IoT zařízení |
| chargen | 19 | ~350x | Historické, sporadické |
Vzorec zůstává stejný, i když se protokoly střídají: neautentizovaná UDP služba, dostupná z celého internetu, která odpovídá víc, než byla dotázána.
Jak to vypadá z vaší strany
Amplifikační záplava je objemový útok, takže selhává síťová vrstva, ne aplikace. Varovné signály:
- Příchozí pásmo během sekund narazí na strop linky, aniž by odpovídajícím způsobem stouply požadavky na aplikaci.
- V grafech provozu vidíte UDP ze zdrojových portů 53, 123, 389 nebo 1900 — služeb, na které jste se nikdy neptali.
- Ztrátovost a latence rostou všemu na téže lince, včetně SSH, e-mailu a nesouvisejících webů na stejném stroji.
- Zdrojové adresy vypadají naprosto legitimně, protože legitimní jsou: patří skutečným DNS resolverům, NTP serverům a špatně nastaveným zařízením po celém světě.
Právě poslední bod dělá útok tak nepříjemným k řešení vlastními silami. Není tu IP útočníka k zablokování. Zablokovat reflektory znamená zablokovat kus veřejné DNS infrastruktury a seznam se navíc neustále mění. Váš vlastní firewall je přitom mimo hru: i kdyby zahodil dokonale každý paket, ty pakety už přes vaši linku prošly, aby se k němu dostaly. Jakmile provoz dorazí, škoda je hotová. Filtrovat se musí upstream od roury, kterou chráníte.
Proč obvyklá obrana nestačí
Aplikační obrana je tady špatný nástroj a stojí za to říct přesně proč. Rate limiting pracuje s požadavky, které aplikace přijme; amplifikační záplava se k aplikaci nikdy nedostane. WAF kontroluje HTTP; tenhle provoz HTTP není. Autoscaling přidává aplikační kapacitu za linku, která je už tak zahlcená — zaplatíte víc a stejně jste dole.
Funguje to, co pracuje s pakety, upstream, před poslední mílí:
- Kapacita k pohlcení. Záplava musí někam dopadnout, kde je pro ni místo. Tohle je jediná část DDoS obrany, kde skutečně jde o hrubé měřítko.
- Rozptyl přes anycast. Když je jedna adresa oznamovaná z mnoha lokalit, globální záplava se rozdělí mezi všechny místo koncentrace do jedné.
- Bezstavová filtrace paketů. Nevyžádané UDP odpovědi službě, která se nikdy na nic neptala, lze zahodit na první pohled — levně, v hardwaru, na plné rychlosti linky.
- Scrubbing se znalostí protokolů. Poškozené a zjevně podvržené pakety se zahodí, zatímco legitimní provoz na téže adrese teče dál.
Ujistěte se, že nejste součástí cizího útoku
Reflexní útoky jsou možné jen díky dvěma rozšířeným chybám v konfiguraci. Obě stojí za opravu i na vaší vlastní infrastruktuře — internet se zklidní a vy se vyhnete účtu za přenos a abuse hlášením, které k roli nevědomého zesilovače patří.
- Neprovozujte otevřený resolver. Rekurzivní DNS server má odpovídat jen vašim sítím. Autoritativní servery nemají rekurzovat vůbec.
- Nevystavujte UDP služby, které nepoužíváte. Zafirewallujte NTP, memcached, CLDAP a SSDP na stroje, které je opravdu potřebují. Zejména memcached nemá do internetu koukat nikdy.
- Zapněte response rate limiting (RRL) na autoritativních DNS serverech, aby z vás jeden podvržený zdroj nemohl tahat neomezené množství odpovědí.
- Filtrujte podvržené zdrojové adresy na odchodu. Sítě, které implementují BCP 38, zahazují odchozí pakety se zdrojovou adresou, která jim nepatří. Plošné nasazení by reflexní útoky ukončilo úplně — což po dvou dekádách dobře ilustruje, jak jsou nastavené motivace.
- Zjistěte, co vlastně vystavujete. Namiřte externí skener na svůj adresní prostor; reflektory použité v těchto útocích bez výjimky patří někomu, kdo nevěděl, že má službu otevřenou.
Jak amplifikační záplavy pohlcuje Itnetic
Objemové útoky řešíme dřív, než se provoz dostane na náš filtrační edge, ne až potom. Frankfurt a Beauharnois stojí za sítí X4B s 3 Tbps mitigační kapacity, Singapur běží na OVHcloud s vlastní síťovou ochranou OVHcloudu — amplifikační záplava se tak vsákne v páteřní síti, ne na uplinku vašeho serveru. Naše edge lokality pak řeší stranu Layer 7: požadavky tvarované jako skuteční návštěvníci, které inspekcí paketů odfiltrovat nejdou.
Stejně jako kapacita ale záleží na dvou dalších věcech. Zaprvé, váš origin musí být nedostupný jinudy než přes ochrannou síť — jinak útočníci prostě namíří záplavu na vaši skutečnou IP a mitigace ji nikdy neuvidí. Postup najdete v článku jak skrýt IP adresu originu. Zadruhé, útočný provoz se nikdy nezapočítává do vaší kvóty přenosu, takže z toho, že vás někdo reflektuje, nevznikne faktura — zbytek téhle aritmetiky je v článku kolik stojí DDoS útok.
Nastavení jsou dva DNS záznamy a zabere přibližně pět minut, na bezplatném tarifu Starter stejně jako na placeném. Pokud jste právě pod útokem, projděte nejdřív jak zastavit DDoS útok — je psaný na incident, ne na čtení.