U trafficu legittimu nantu à a reta DDoS-Guard hà superatu pocu tempu centu gigabits per seconda. Attualmente, 50% di tuttu u nostru trafficu hè generatu da i servizii web di u cliente. Quessi sò parechje decine di millaie di duminii, assai diffirenti è in a maiò parte di i casi chì necessitanu un approcciu individuale.
Sottu u cut hè cumu gestionemu i nodi di fronte è emettemu certificati SSL per centinaie di millaie di siti.
A creazione di un front per un situ, ancu un assai grande, hè faciule. Pigliemu nginx o haproxy o lighttpd, cunfigurà secondu e guide è scurdate di questu. Se avemu bisognu di cambià qualcosa, facemu una recarga è scurdate di novu.
Tuttu cambia quandu processate grandi volumi di trafficu nantu à a mosca, evaluate a legittimità di e dumande, cumpressate è cache u cuntenutu di l'utilizatori, è à u stessu tempu cambiate i parametri parechje volte per seconda. L'utilizatore vole vede u risultatu in tutti i nodi esterni immediatamente dopu avè cambiatu i paràmetri in u so contu persunale. Un utilizatore pò ancu scaricà parechji milla (è à volte decine di millaie) domini cù paràmetri di trasfurmazioni di trafficu individuali via l'API. Tuttu chistu deve ancu travaglià immediatamente in America, è in Europa, è in Asia - u compitu ùn hè micca u più trivial, cunziddi chì in Mosca solu ci sò parechji nodi di filtrazione fisicamente separati.
Perchè ci sò parechji grandi nodi affidabili in u mondu?
-
Qualità di serviziu per u trafficu di i clienti - e richieste da i Stati Uniti anu da esse trattate in i Stati Uniti (cumpresi per attacchi, parsing è altre anomalie), è micca tirate à Mosca o in Europa, aumentendu imprevisiblemente u ritardu di trasfurmazioni.
-
U trafficu d'attaccu deve esse situatu - l'operatori di transitu ponu degradate durante l'attacchi, u voluminu di quale spessu supera 1Tbps. U trasportu di u trafficu d'attaccu nantu à i ligami transatlantici o transasiatici ùn hè micca una bona idea. Avemu avutu casi veri quandu l'operatori di Tier-1 anu dettu: "U voluminu di attacchi chì ricevete hè periculosu per noi". Hè per quessa chì accettemu i flussi in entrata u più vicinu à e so fonti pussibule.
-
Esigenze strette per a continuità di u serviziu - i centri di pulizia ùn deve micca dipende nè da l'altri nè da avvenimenti lucali in u nostru mondu chì cambia rapidamente. Avete tagliatu u putere à tutti i 11 piani di MMTS-9 per una settimana? - nisunu prublema. Nisun clientu chì ùn hà micca una cunnessione fisica in questu locu particulari soffrerà, è i servizii web ùn soffrenu micca in alcuna circustanza.
Cumu gestisce tuttu questu?
E cunfigurazioni di serviziu devenu esse distribuite à tutti i nodi frontali u più prestu pussibule (idealmente istantaneamente). Ùn pudete micca solu piglià è ricustruisce e cunfigurazioni di testu è riavviate i demoni à ogni cambiamentu - u listessu nginx mantene i prucessi chì si chjude (u travagliu di u travagliu) per uni pochi di minuti (o forse ore s'ellu ci sò longu sessioni websocket).
Quandu si ricaricà a cunfigurazione nginx, a seguente stampa hè abbastanza normale:
À l'utilizazione di a memoria:
I vechji travagliadori manghjanu a memoria, cumpresa a memoria chì ùn dipende micca linearmente da u numeru di cunnessione - questu hè normale. Quandu i cunnessione di u cliente sò chjusi, sta memoria serà liberata.
Perchè ùn era micca questu un prublema quandu nginx era appena principiatu? Ùn ci era micca HTTP / 2, nè WebSocket, nè cunnessione massiva longa mantene a vita. U 70% di u nostru trafficu web hè HTTP/2, chì significa cunnessione assai longu.
A suluzione hè simplice - ùn aduprate micca nginx, ùn gestionate micca fronti basati nantu à i schedarii di testu, è certamenti ùn mandate micca cunfigurazioni di testu zippate nantu à i canali transpacific. I canali sò, sicuru, guarantiti è riservati, ma questu ùn li rende micca menu transcontinentali.
Avemu u nostru propiu servore-balancer di fronte, l'internu di quale parleraghju in l'articuli seguenti. A cosa principale chì pò fà hè di applicà millaie di cambiamenti di cunfigurazione per seconda à a mosca, senza riavvii, ricaricà, aumenti bruschi di u cunsumu di memoria, è tuttu ciò. Questu hè assai simili à Hot Code Reload, per esempiu in Erlang. I dati sò guardati in una basa di dati di chjave-valori geo-distribuiti è sò leghjiti immediatamente da l'attuatori frontali. Quelli. caricate u certificatu SSL via l'interfaccia web o l'API in Mosca, è in pochi seconde hè pronta per andà in u nostru centru di pulizia in Los Angeles. Se una guerra mundiale succede di colpu è Internet sparisce in u mondu sanu, i nostri nodi cuntinueghjanu à travaglià in modu autonomu è riparà u split-brain appena unu di i canali dedicati Los Angeles-Amsterdam-Mosca, Mosca-Amsterdam-Hong Kong- Los-Los diventa dispunibule Angeles o almenu una di e superposizioni di salvezza GRE.
Stu stessu mecanismu ci permette di issuà istantaneamente è rinnuvà i certificati Let's Encrypt. Hè assai simplice chì funziona cusì:
-
Appena avemu vistu almenu una dumanda HTTPS per u duminiu di u nostru cliente senza un certificatu (o cun un certificatu scadutu), u node esternu chì accetta a dumanda informa questu à l'autorità di certificazione interna.
-
Se l'utilizatore ùn hà micca pruibitu l'emissione di Let's Encrypt, l'autorità di certificazione genera una CSR, riceve un token di cunferma da LE è u manda à tutti i fronti nantu à un canale criptatu. Avà ogni nodu pò cunfirmà una dumanda di validazione da LE.
-
In uni pochi di mumenti, riceveremu u certificatu currettu è a chjave privata è mandà à i fronti in u listessu modu. Di novu, senza riavvia i demoni
-
7 ghjorni prima di a data di scadenza, a prucedura per ricivutu u certificatu hè iniziata
Avà rotemu certificati 350k in tempu reale, cumpletamente trasparenti per l'utilizatori.
In l'articuli seguenti di a serie, parleraghju di altre caratteristiche di u processu in tempu reale di u grande trafficu web - per esempiu, di l'analisi RTT cù dati incompleti per migliurà a qualità di serviziu per i clienti di transitu è in generale per a prutezzione di u trafficu di transitu da attacchi terabit, nantu à a consegna è l'agregazione di l'infurmazioni di u trafficu, nantu à WAF, CDN quasi illimitatu è parechji meccanismi per ottimisà a consegna di cuntenutu.
Solu l'utilizatori registrati ponu participà à l'indagine.
Chì vulete sapè prima?
-
14,3%Algoritmi per clustering è analizà a qualità di u trafficu web <3
-
33,3%L'internu di i balancers DDoS-Guard7
-
9,5%Prutezzione di u trafficu di transitu L3/L4
-
0,0%Prutezzione di i siti web nantu à u trafficu di transitu0
-
14,3%Firewall di l'applicazioni Web 3
-
28,6%Prutezzione contr'à l'analisi è cliccà6
21 utilizatori anu vutatu. 6 utilizatori si sò astenuti.
Source: www.habr.com