Programmēšana

Galīgais ceļvedis, lai novērstu DNS balstītus DDoS uzbrukumus

Runājot par DNS, Krikets Liu burtiski uzrakstīja grāmatu. Viņš ir līdzautors visiem pieciem O'Reilly grāmatas "DNS un BIND" izdevumiem, kas parasti tiek uzskatīts par galīgo ceļvedi visās lietās, kas saistītas ar domēna vārdu sistēmu. Krikets šobrīd ir Infoblox galvenais infrastruktūras vadītājs.

DNS nepārprotami ir kritiska datortīkla sastāvdaļa, taču ir gadījumi, kad šos rīkus var izmantot nepareizas darbības novēršanai. Šīs nedēļas jauno tehnoloģiju forumā Cricket aplūko pieaugošo DNS balstīto DDoS uzbrukumu problēmu un to, kā ar tām rīkoties. - Pols Venēcija

Uz DNS balstīti DDoS uzbrukumi: kā tie darbojas un kā tos apturēt

Uz DNS balstītais DDoS (izplatītais pakalpojumu noliegšanas uzbrukums) ir kļuvis par vienu no visizplatītākajiem postošajiem uzbrukumiem internetā. Bet kā viņi strādā? Un ko mēs varam darīt, lai pret viņiem aizstāvētos?

Šajā rakstā es aprakstīšu, kā DDoS uzbrūk gan DNS infrastruktūras izmantošanai, gan mērķauditorijai. Es jums arī parādīšu, ko jūs varat darīt, lai pasargātu sevi un citus.

Lielais krāpnieks

DDoS uzbrukuma ģenerēšana, izmantojot DNS infrastruktūru, ir ļoti vienkārša: uzbrucēji internetā nosūta vaicājumus vārdu serveriem, un šie vārdu serveri atgriež atbildes. Tā vietā, lai nosūtītu vaicājumus no viņu pašu IP adresēm, uzbrucēji tomēr izkrāpj sava mērķa adresi - tas var būt tīmekļa serveris, maršrutētājs, cits vārdu serveris vai gandrīz jebkurš mezgls internetā.

DNS vaicājumu izkrāpšana ir īpaši vienkārša, jo tie parasti tiek pārnesti uz UDP (bezkontakta lietotāja datagramma protokols). DNS vaicājuma nosūtīšana no patvaļīgas IP adreses ir aptuveni tikpat vienkārša, un tam ir aptuveni tāds pats efekts kā kāda cita atgriešanās adreses ierakstīšanai pastkartē.

Tomēr ar nepatiesiem vaicājumiem nepietiek, lai darbotos nespējīgi. Ja atbildes uz šiem jautājumiem nebūtu lielākas par pašiem vaicājumiem, uzbrucējs tikpat labi darītu, ka pārpludinātu mērķi ar viltotiem vaicājumiem. Nē, lai maksimāli palielinātu mērķa nodarīto kaitējumu, katram vaicājumam vajadzētu būt ļoti lielai atbildei. Izrādās, ka to ir ļoti viegli pamudināt.

Kopš EDNS0 parādīšanās, DNS paplašinājumu komplekts, kas tika ieviests tālajā 1999. gadā, uz UDP balstītus DNS ziņojumus varēja pārnēsāt daudz datu. Atbilde var būt 4096 baiti. Savukārt vairums vaicājumu ir mazāk nekā 100 baiti.

Kādreiz interneta vārda telpā bija samērā grūti atrast tik lielu atbildi. Bet tagad, kad organizācijas ir sākušas izvietot DNSSEC, DNS drošības paplašinājumus, tas ir daudz vieglāk. DNSSEC glabā kriptogrāfiskās atslēgas un ciparparakstus ierakstos vārdu telpā. Tie ir pozitīvi milzīgs.

Manā emuārā varat redzēt atbildes piemēru no zonas isc.org, kurā ir DNSSEC ieraksti. Atbildes lielums ir 4077 baiti, salīdzinot ar tikai 44 baitu vaicājumu.

Tagad attēlu uzbrucēji no visas interneta sūta šo viltoto vaicājumu no jūsu tīmekļa servera IP adreses uz isc.org vārdu serveriem. Par katru 44 baitu vaicājumu jūsu tīmekļa serveris saņem 4077 baitu atbildi par gandrīz 93 reižu pastiprināšanas koeficientu.

Veiksim ātru aprēķinu, lai noskaidrotu, cik slikti tas varētu kļūt. Pieņemsim, ka katram uzbrucējam ir samērā pieticīgs 1Mbps savienojums ar internetu. Viņš var nosūtīt aptuveni 2840 44 baitu vaicājumus pa šo saiti sekundē. Šīs vaicājuma straumes rezultātā jūsu tīmekļa serveris saņems gandrīz 93 Mb / s atbildes. Ikviens 11 uzbrucējs pārstāv 1Gbps.

Kur antisociālie uzbrucēji atrastu 10 draugus, kas palīdzētu viņiem veikt uzbrukumu? Patiesībā viņiem tādas nav vajadzīgas. Viņi izmantos tūkstošiem datoru izveidotu robottīklu.

Galīgais efekts ir postošs. Ceturkšņa globālajā DDoS uzbrukuma ziņojumā Prolexic (DDoS mazināšanas uzņēmums) ziņoja par nesenu DNS balstītu uzbrukumu klientam, kura maksimums pārsniedza 167 Gbps. Prolexic turklāt ziņoja, ka vidējais DDoS uzbrukuma joslas platums ir palielinājies par 718 procentiem līdz 48Gbps vienā ceturksnī.

Bet pagaidi! Vai nevarētu isc.org vārdu serverus modificēt, lai atpazītu, ka tie tiek atkārtoti vaicāti par tiem pašiem datiem, no vienas IP adreses? Vai viņi nevarētu sagraut uzbrukumu?

Viņi noteikti var. Bet isc.org vārdu serveri nav vienīgie, kurus uzbrucējs var izmantot, lai pastiprinātu savu datplūsmu. Protams, ir arī citi autoritatīvi vārdu serveri, kurus uzbrucējs varētu izmantot, bet vēl sliktāk ir atvērtie rekursīvie vārdu serveri.

Atvērts rekursīvs vārdu serveris ir vienkārši vārdu serveris, kas apstrādās rekursīvus vaicājumus no jebkuras IP adreses. Es varu nosūtīt tai isc.org datu vaicājumu, un tas man atbildēs, un jūs varat darīt to pašu.

Internetā nevajadzētu būt daudz atvērtu rekursīvu vārdu serveru. Rekursīvā vārdu servera funkcija ir DNS klientu vārdā meklēt datus interneta vārda telpā, piemēram, tos, kas atrodas jūsu klēpjdatorā vai viedtālrunī. Tīkla administratori, kuri izveido rekursīvos vārdu serverus (piemēram, jūsu IT nodaļu), parasti tos paredz noteiktā kopienā (piemēram, jūs un jūsu kolēģi). Ja vien viņi nedarbina tādus pakalpojumus kā OpenDNS vai Google publiskais DNS, tie nenozīmē, ka tos izmanto Moldovas pilsoņi. Tik sabiedriski noskaņots, domājošs par drošību un jo īpaši kompetents administratori konfigurē piekļuves vadību savos rekursīvajos vārdu serveros, lai ierobežotu to izmantošanu tikai autorizētām sistēmām.

Ņemot vērā to, cik liela problēma varētu būt rekursīvo vārdu serveru atvēršana? Diezgan liels. Open Resolver projekts ir savācis sarakstu ar 33 miljoni atvērt rekursīvos vārdu serverus. Hakeri var aktivizēt viltus vaicājumus tik daudzos, cik viņiem patīk, lai spiegtu isc.org datus jūsu tīmekļa serverī, vārdu serverī vai pierobežas maršrutētājā, līdz tie aizrijas.

Tā darbojas uz DNS balstīti DDoS uzbrukumi. Par laimi, mums ir daži veidi, kā tos apkarot.

Kā pārvarēt vētru

Pirmais darba kārtība nosaka jūsu DNS infrastruktūru, tāpēc jūs zināt, kad jums tiek uzbrukts. Pārāk daudzām organizācijām nav ne jausmas, kāda ir viņu vaicājumu slodze, tāpēc viņi nekad nezinātu, vai viņiem vispār uzbrūk.

Vaicājuma slodzes noteikšana var būt tikpat vienkārša kā BIND iebūvētā statistikas atbalsta izmantošana. BIND vārdu serveris izmetīs datus savā statistikas failā, palaižot rndc stats,piemēram, vai ar konfigurējamu statistikas intervālu. Varat pārbaudīt vaicājumu līmeņa, ligzdas kļūdu un citu uzbrukuma norāžu statistiku. Neuztraucieties, ja vēl neesat pārliecināts, kā izskatīsies uzbrukums - daļa no DNS uzraudzības mērķa ir izveidot bāzes līniju, lai jūs varētu noteikt nenormālo.

Pēc tam apskatiet savu infrastruktūru, kas vērsta uz internetu. Neaprobežojieties tikai ar ārējiem autoritatīvajiem vārdu serveriem; pārbaudiet savu komutatoru un maršrutētāja infrastruktūru, ugunsmūrus un savienojumus ar internetu. Norādiet visus atsevišķos neveiksmes punktus. Nosakiet, vai jūs varat tos viegli (un rentabli) novērst.

Ja iespējams, apsveriet savu ārējo autoritatīvo vārdu serveru plašu ģeogrāfisko sadalījumu. Tas, protams, palīdz izvairīties no atsevišķiem neveiksmes punktiem, bet tas palīdz arī tad, ja jums nav uzbrukums. Rekursīvs vārdu serveris, kas atrisina domēna vārdu kādā no jūsu zonām, mēģinās vaicāt autoritatīvajam vārda serverim, kas ir vistuvāk tam, tāpēc ģeogrāfiskais sadalījums tiecas nodrošināt labāku sniegumu jūsu klientiem un korespondentiem. Ja jūsu klienti ir apvienoti noteiktās ģeogrāfiskās vietās, mēģiniet viņu tuvumā novietot autoritatīvu vārdu serveri, lai sniegtu ātrākās atbildes.

Varbūt visvienkāršākais veids, kā apkarot DoS uzbrukumus, ir pārspīlēt savu infrastruktūru. Labā ziņa ir tā, ka vārdu serveru pārmērīga nodrošināšana ne vienmēr ir dārga; spējīgs vārdu serveris var apstrādāt desmitiem vai pat simtiem tūkstošu vaicājumu sekundē. Vai neesat pārliecināts, kāda ir jūsu vārdu serveru jauda? Varat izmantot vaicājumu rīkus, piemēram, dnsperf, lai pārbaudītu savu vārdu serveru veiktspēju - vēlams, izmantojot testa platformu, kas līdzīga jūsu ražošanas nosaukumu serveriem laboratorijā, nevis pašiem ražošanas serveriem.

Izlemt, cik daudz pārspīlēt savu vārdu serverus, ir subjektīvi: Kāda ir jūsu klātbūtne tiešsaistē? Vai ir kādi citi jūsu internetam adresētās infrastruktūras komponenti, kas neizdosies pirms vārdu serveriem? Acīmredzot ir neprātīgi tērēt naudu, lai izveidotu pirmās klases DNS infrastruktūru aiz pierobežas maršrutētāja vai ugunsmūra, kas neizdosies krietni, pirms jūsu vārdu serveri pat sviedri izplūst.

Ja nauda nav objekts, varētu būt noderīgi zināt, ka vismodernākie DDoS uzbrukumi DNS infrastruktūrai var pārsniegt 100 Gb / s.

Anycast izmantošana var arī palīdzēt pretoties DDoS uzbrukumam. Anycast ir paņēmiens, kas ļauj vairākiem serveriem koplietot vienu IP adresi, un tas īpaši labi darbojas ar DNS. Faktiski interneta sakņu serveru serveri Anycast jau gadiem ilgi ir izmantojuši, lai nodrošinātu saknes zonas datus visā pasaulē, vienlaikus ļaujot sakņu sarakstam iekļauties vienā UDP balstītā DNS ziņojumā.

Lai izvietotu Anycast, resursdatoriem, kas atbalsta jūsu vārdu serverus, būs jāpalaiž dinamisks maršrutēšanas protokols, piemēram, OSPF vai BGP. Maršrutēšanas process kaimiņu maršrutētājiem reklamēs maršrutu uz jaunu, virtuālu IP adresi, kurā klausās jūsu vārdu serveris. Maršrutēšanas procesam jābūt arī pietiekami gudram, lai apturētu šī maršruta reklamēšanu, ja vietējais vārdu serveris pārstāj reaģēt. Izmantojot savas konstrukcijas kodu, varat pielīmēt maršrutēšanas dēmonu vārda servera veselībai - vai arī varat iegādāties produktu, kas par to rūpējas jums. Infoblox NIOS, nejauši, ietver Anycast atbalstu.

Kā Anycast aizsargājas pret DDoS uzbrukumiem? Nu, sakiet, ka jums ir seši ārējie vārdu serveri divās Anycast grupās (tas ir, trīs koplieto vienu Anycast IP adresi un trīs koplieto citu). Katrā grupā ir viens dalībnieks Amerikas Savienotajās Valstīs, viens Eiropā un viens Āzijā. Saimnieks, kas veic DDoS uzbrukumu pret jums, var vienlaikus nosūtīt trafiku - un līdz ar to tikai uzbrukumam - vienam no abām grupām no jebkura interneta punkta. Ja uzbrucēji vienlaikus nevar nodrošināt pietiekamu satiksmi no Ziemeļamerikas, Eiropas un Āzijas, lai pārpeldētu jūsu infrastruktūru, viņiem tas neizdosies.

Visbeidzot, ir veids, kā vienlaikus varat izmantot plašu ģeogrāfisko izplatījumu un Anycast priekšrocības, neizmantojot ievērojamus kapitāla izdevumus: izmantojiet mākoņa bāzes DNS nodrošinātāju. Tādi uzņēmumi kā Dyn un Neustar datu centros visā pasaulē vada savus Anycast vārdu serverus. Jūs viņiem maksājat par savu zonu mitināšanu un atbildēšanu uz jūsu datu jautājumiem. Un jūs varat turpināt uzturēt tiešu kontroli pār savu zonu datiem, lūdzot pakalpojumu sniedzēju konfigurēt savu vārdu serverus kā sekundārus jūsu zonām, ielādējot datus no galvenā vārda servera, kuru jūs izlemjat un pārvaldāt iekšēji. Vienkārši pārliecinieties, vai palaidāt galveno komandu slēptu (tas ir, bez NS ieraksta, kas uz to norāda), vai arī jūs riskējat, ka uzbrucējs to mērķēs kā vienu neveiksmes punktu.

Viens piesardzības vārds, lietojot DNS mākoņa bāzes nodrošinātājus: lielākā daļa rēķinu jums vismaz daļēji nosaka, pamatojoties uz to vaicājumu skaitu, kurus viņu vārdu serveri saņem par datiem jūsu zonās. DDoS uzbrukumā šie vaicājumi var dramatiski palielināties (pilnīgi ārpus jūsu kontroles un nebūt ne jūsu labā), tāpēc pārliecinieties, ka viņiem ir nodrošinājums ar DDoS uzbrukumiem, nenododot jums satiksmes izmaksas.

Kā izvairīties no līdzdalībnieka DDoS uzbrukumos

Tagad jūs zināt, kā konfigurēt DNS infrastruktūru pretoties DDoS uzbrukumam. Tomēr gandrīz tikpat svarīgi ir nodrošināt, lai jūs nebūtu līdzdalībnieks DDoS uzbrukumā pret kādu citu.

Atcerieties aprakstu par to, kā DNS serveri var pastiprināt trafiku? Uzbrucēji kā pastiprinātājus var izmantot gan atvērtos rekursīvos vārdu serverus, gan autoritatīvos vārdu serverus, nosūtot viltus vaicājumus, kuru dēļ vārdu serveri atbildes nosūta patvaļīgiem mērķiem internetā vairāk nekā 100 reižu lielākas par vaicājumu. Tagad jūs, protams, nevēlaties būt šāda uzbrukuma mērķis, bet arī nevēlaties būt līdzdalībnieks. Uzbrukumā tiek izmantoti jūsu vārdu serveru resursi, kā arī joslas platums. Ja mērķis veic pasākumus, lai bloķētu datplūsmu no jūsu vārdu servera uz tā tīklu, pēc uzbrukuma beigām mērķis, iespējams, nevarēs atrisināt domēnu nosaukumus jūsu zonās.

Ja palaižat atvērtu rekursīvo vārdu serveri, risinājums ir vienkāršs: nedariet. Ir ļoti maz organizāciju, kurām ir kāds pamatojums, lai palaistu rekursīviem vaicājumiem atvērtu vārdu serveri. Google publiskais DNS un OpenDNS ir divi, kas nāk prātā, bet, ja jūs to lasāt, es domāju, ka jūs, iespējams, neesat viņi. Pārējiem mums jāpiemēro piekļuves kontrole mūsu rekursīvajiem vārdu serveriem, lai pārliecinātos, ka tos izmanto tikai pilnvaroti vaicātāji. Tas, iespējams, nozīmē DNS vaicājumu ierobežošanu līdz IP adresēm mūsu iekšējos tīklos, ko ir viegli izdarīt, izmantojot jebkuru vārda servera ieviešanu, kas ir tā vērts. (Microsoft DNS serveris neatbalsta IP adreses piekļuves vadīklas vaicājumos. Izlasiet tajā to, ko vēlaties.)

Bet ko tad, ja jūs vadāt autoritatīvu vārdu serveri? Acīmredzot jūs nevarat ierobežot IP adreses, no kurām jūs pieņemat vaicājumus, vai arī ne pārāk daudz (jūs varētu noraidīt vaicājumus no acīmredzami viltus IP adresēm, piemēram, RFC 1918 adresēm). Bet jūs varat ierobežot atbildes.

Divas ilgstošas ​​interneta "baltās cepures", Pols Viksijs un Vernons Šrīvers, saprata, ka DDoS uzbrukumi, kuru pastiprināšanai tiek izmantoti autoritatīvi vārdu serveri, parāda noteiktus vaicājumu modeļus. Jo īpaši uzbrucēji nosūta vārdu serveriem vienu un to pašu vaicājumu no vienas un tās pašas viltotās IP adreses (vai adreses bloka) atkal un atkal, meklējot maksimālu pastiprinājumu. Neviens labi izturēts rekursīvs vārdu serveris to nedarītu. Tā būtu saglabājusi atbildi kešatmiņā un vairs netiktu lūgta, kamēr nav pagājis laiks, kad atbildes ieraksti ir izpildīti.

$config[zx-auto] not found$config[zx-overlay] not found