Arvutame «Revizor» agente

Pole saladus, et Venemaal jĂ€lgib automatiseeritud sĂŒsteem «Revizor» blokeeringute kontrolli keelatud teabe nimekirja jĂ€rgi. Kuidas see töötab, on hĂ€sti kirjutatud siinses artiklis Habr, pilt sealt samast:

Arvutame «Revizor» agente

Otseselt teenusepakkuja juures paigaldatakse moodul «Agent Revizor»:

Moodul «Agent Revizor» on automatiseeritud sĂŒsteemi «Revizor» (AS «Revizor») struktuurne element. Antud sĂŒsteem on mĂ”eldud sideoperaatorite poolt nĂ”uete jĂ€rgimise kontrollimiseks, mis on kehtestatud 27. juuli 2006. aasta föderaalse seaduse nr 149-ЀЗ „Teabe, teabetehnoloogiate ja teabe kaitse kohta“ artiklite 15.1-15.4 raames.

AS «Revizor» loomise peamine eesmĂ€rk on tagada sideoperaatorite nĂ”uete jĂ€rgimise jĂ€lgimine, mis on kehtestatud 27. juuli 2006. aasta föderaalse seaduse nr 149-ЀЗ „Teabe, teabetehnoloogiate ja teabe kaitse kohta“ artiklite 15.1-15.4 raames seoses keelatud teabe juurde pÀÀsemise tĂ”endite (andmete) tuvastamise ja kogumisega.

Arvestades, et vĂ€hemalt paljud teenusepakkujad on selle seadme endale paigaldanud, pidi saama suur vĂ”rk proovide-majakate, nagu RIPE Atlas , ja veelgi enam, kuid suletud juurdepÀÀsuga. Siiski, majakas on majakas, et saata signaale igas suunas, aga mis siis, kui need kinni pĂŒĂŒda ja vaadata, mida me pĂŒĂŒdsime ja kui palju?

Enne kui hakkame arvestama, vaatame, miks see ĂŒldse vĂ”imalik olla vĂ”iks.

Veidi teooriat

Agendid kontrollivad ressursi kÀttesaadavust, sealhulgas HTTP(S) pÀringute kaudu, nagu see nÀiteks:

TCP, 14678  >  80, "[SYN] Seq=0"
TCP, 80  >  14678, "[SYN, ACK] Seq=0 Ack=1"
TCP, 14678  >  80, "[ACK] Seq=1 Ack=1"

HTTP, "GET /somepage HTTP/1.1"
TCP, 80  >  14678, "[ACK] Seq=1 Ack=71"
HTTP, "HTTP/1.1 302 Found"

TCP, 14678  >  80, "[FIN, ACK] Seq=71 Ack=479"
TCP, 80  >  14678, "[FIN, ACK] Seq=479 Ack=72"
TCP, 14678  >  80, "[ACK] Seq=72 Ack=480"

PĂ€ring koos lisaks koormusele ka ĂŒhenduse loomise faasiga: vahetus SYN ja SYN-ACK, ja ĂŒhenduse lĂ”petamise faasiga: FIN-ACK.

Keelatud teabe register sisaldab mitmeid blokeeringu tĂŒĂŒpe. Ilmselgelt, kui ressurssi blokeeritakse IP-aadressi vĂ”i domeeninime jĂ€rgi, ei nĂ€e me mingeid pĂ€ringuid. Need on kĂ”ige hĂ€vitavamad blokeeringu tĂŒĂŒbid, mis viivad kĂ”ikide ressursside kĂ€ttesaamatusele ĂŒhel IP-aadressil vĂ”i kogu info domeenis. Samuti on olemas blokeeringu tĂŒĂŒp „URL-i jĂ€rgi“. Sel juhul peab filtreerimissĂŒsteem analĂŒĂŒsima pĂ€ringu HTTP-pealkirja, et tĂ€pselt mÀÀrata, mida blokeerida. Ja enne seda, nagu ĂŒlal nĂ€ha, peab toimuma ĂŒhenduse loomise faas, mida on vĂ”imalik jĂ€lgida, kuna tĂ”enĂ€oliselt filtreerija laseb selle lĂ€bi.

Selleks tuleb valida sobiv vaba domeen, millel on URL-i jĂ€rgi blokeering ja HTTP, et hĂ”lbustada filtreerimissĂŒsteemi tööd; soovitavalt juba ammu unustatud domeen, et minimeerida kĂ”rvalise liikluse sattumist peale Agentide. See ĂŒlesanne osutus ĂŒldse mitte keeruliseks, keelatud teabe registris on piisavalt palju vabu domeene ja igasuguste maitse jaoks. SeetĂ”ttu osteti domeen, seoti see IP-aadressidega VPS-is, kus on kĂ€imas tcpdump ja hakati kokku lugema.

Revisjon „Revisorite“

Ootasin nÀha perioodilisi pÀringute piike, mis meie arvates viitaks juhitavale tegevusele. Ei saa öelda, et ma seda tÀielikult ei nÀinud, kuid selget pilti kindlasti ei olnud:

Arvutame «Revizor» agente

Mis ei ole ĂŒllatav, isegi tĂ€iesti kasutuseta domeenile, mille IP-d ei kasutata kunagi, tuleb lihtsalt tohutul hulgal mitte nĂ”utud teavet, selline on tĂ€napĂ€eva Internet. Kuid Ă”nneks vajasime ainult konkreetse URL-i pĂ€ringute hulka, seega leiti kĂ”ik skannerid ja paroolide pealtnĂ€ha kiiresti ĂŒles. Samuti oli ĂŒsna lihtne mĂ”ista, kus on massiliselt sarnaste pĂ€ringute ĂŒlekoormus. Edasi koostasin IP-aadresside esinemise sagedused ja lĂ€ksin kĂ€sitsi lĂ€bi kogu tippude, eraldades need, kes eelnevatel etappidel mööda pÀÀsesid. TĂ€iendavalt lĂ”ikasin vĂ€lja kĂ”ik allikad, mis saatsid ĂŒhe paketi, neid ei olnud enam palju. Ja selline see on:

Arvutame «Revizor» agente

VĂ€ike lĂŒhiĂŒksus. Üks pĂ€ev pĂ€rast sain oma hosting-teenuselt ĂŒsna ebamugava sisu kirja, et minu ressursid sisaldavad RKN-i keelatud nimekirja ning seetĂ”ttu blokeeritakse need. Esiteks arvasin, et mu konto on blokeeritud, kuid see polnud nii. Siis arvasin, et mind lihtsalt hoiatatakse millegi eest, mis mulle juba teada. Kuid selgus, et hostija aktiveeris oma filtri minu domeeni ees ja lĂ”puks sattusin ma kahe paigutuse alla: nii teenusepakkuja kui ka hostija poolt. Filter vĂ€ljastas ainult pĂ€ringute lĂ”pu: FIN-ACK ja RST lĂ”igates kogu HTTP kaudu keelatud URL-i. Nagu ĂŒlalt nĂ€ha, pĂ€rast esimest pĂ€eva hakkasin ma saama vĂ€hem andmeid, kuid sain neid ikka, mis olid piisavad pĂ€ringute allikate arvu loendamiseks.

Asja juurde. Minu arvates on kaks tĂ”usud pĂ€eva jooksul selgelt nĂ€htavad, esimene on vĂ€iksem, pĂ€rast keskööd Moskvast, teine lĂ€hemal kuue hommikul ja jĂ€tkub kuni 12 pĂ€eval. Tippaeg ei lange tĂ€pselt samasse aega. Esiteks tahtsin vĂ€lja tuua IP-aadressid, mis langesid ainult nendesse ajavahemikesse ja igas ajavahemikus, oletades, et kontrollid Agentide poolt toimuvad perioodiliselt. Kuid hoolika vaatamisega avastasin kiiresti perioode, mis langesid teistesse intervallidesse, erinevate sagedustega, sealhulgas ĂŒhe pĂ€ringu iga tunni jooksul. Siis mĂ”tlesin ajavöönditele ja sellele, et vĂ”ib-olla on sellel osa, siis mĂ”tlesin, et kogu sĂŒsteem ei pruugi olla globaalselt sĂŒnkroniseeritud. Lisaks mĂ€ngib kindlasti rolli NAT ja sama Agent vĂ”ib edastada pĂ€ringuid erinevatelt avalikelt IP-elt.

Kuna minu algne eesmĂ€rk polnud tĂ€psus, loendasin kĂ”ik nĂ€dalas esinevad aadressid ja sain - 2791. TCP sessioonide keskmine arv, mis on loodud ĂŒhe aadressiga, on 4, mediaan 2. Top sessioonid aadressidele: 464, 231, 149, 83, 77. Maksimum 95% valimist - 8 sessiooni aadressi kohta. Mediaan ei ole vĂ€ga kĂ”rge, meenutan, et graafikust on nĂ€ha, et on ilmne pĂ€evane perioodne rĂŒtm, seetĂ”ttu vĂ”iks oodata midagi umbes 4 kuni 8 seitsme pĂ€eva jooksul. Kui eemaldada kĂ”ik korduvad sessioonid, saame tĂ€pselt mediaani, mis on 5. Kuid ma ei suutnud neid selge kriteeriumi jĂ€rgi vĂ€lja jĂ€tta. Vastupidi, valimite kontroll nĂ€itas, et nad on seotud keelatud ressursi pĂ€ringutega.

Aadressidest olenemata on Internetis olulisemad autonoomsed sĂŒsteemid — AS, mida on kokku saanud 1510, keskmiselt 2 aadressi AS-i kohta, mediaan on 1. Topp aadresse AS-ides: 288, 77, 66, 39, 27. Maksimum 95% valimist on 4 aadressi AS-i kohta. Siin on mediaan oodatav — ĂŒks agent pakkuja kohta. Topp on samuti oodatav — selles on suured mĂ€ngijad. Suures vĂ”rgus peaksid ilmselt agentide suhted olema igas operaatori kohaloleku regioonis, Ă€rgem unustagem NAT-i. Riikide lĂ”ikes on maksimaalsed vÀÀrtused: 1409 — RU, 42 — UA, 23 — CZ, 36 teistest regioonidest, mis ei ole RIPE NCC. Venemaalt vĂ€ljaspoolt pĂ€rit pĂ€ringud tĂ”mbavad tĂ€helepanu. TĂ”enĂ€oliselt on seda vĂ”imalik selgitada geolokatsiooni vigade vĂ”i registrite viga andmete tĂ€itmisel. VĂ”i sellega, et Venemaa ettevĂ”ttel vĂ”ivad olla mittevenelased juured vĂ”i olla vĂ€lisettevĂ”tte esindatus, kuna see on lihtsam, kui tegeleda vĂ€lisorganisatsiooniga RIPE NCC. MĂ”ned osad on kahtlemata ĂŒleliigsed, kuid usaldusvÀÀrselt on neid keeruline eraldada, kuna ressurss on blokeeritud ja teisel pĂ€eval on see kahekordse blokeeringu all ning enamik sessioone koosnevad vaid paarist teeninduspaketist. Lepime kokku, et see on vĂ€ike osa.

Nende numbreid saab juba vĂ”rrelda Venemaa pakkujate arvuga. RKNi andmetel on tunnustusi "Andmeside teenuste, vĂ€lja arvatud hÀÀl" — 6387, kuid see on tugevalt ĂŒlespoole hinnatud hinnang, mitte kĂ”ik need litsentsid ei seondu Interneti pakkujatega, kellele tuleb paigaldada agent. RIPE NCC piirkonnas on sarnane arv AS-e, mis on Venemaal registreeritud — 6230, millest mitte kĂ”ik pakkujad. UserSide tegi rangema arvestuse ja leidis 2017. aastal 3940 ettevĂ”tet, ja see on pigem ĂŒlevaate hinnang. Igatahes on meil AS-ide arv, mis on kaks ja pool korda vĂ€iksem. Kuid siin tuleks mĂ”ista, et AS ei ole rangelt vĂ”rdne pakkujaga. MĂ”nedel pakkujatel ei ole oma AS-i, mĂ”nel on neid rohkem kui ĂŒks. Kui eeldada, et agent on ikkagi KĂ”ikjal, siis tĂ€hendab see, et keegi filtreerib tugevamini kui teised, nii et nende pĂ€ringud on nĂ€htamatut prĂŒgi, kui nad ĂŒldse kohale jĂ”uavad. Kuid karedate hindamiste jaoks on see tĂ€iesti talutav, isegi kui midagi on minu hooletuse tĂ”ttu kaduma lĂ€inud.

DPI kohta

Kuigi mu hostitarnija aktiveeris oma filtrid teisel pÀeval, nÀitab esimese pÀeva teave, et blokeeringud töötavad tÔhusalt. Ainult 4 allikat suudavad lÀbida ja neil on tÀielikult lÔpetatud HTTP ja TCP sessioonid (nagu eespool nÀidatud). Veel 460 vÔivad saata GET, kuid sessioon katkeb kohe RST. Pange tÀhele TTL:

TTL 50, TCP, 14678 > 80, "[SYN] Seq=0"
TTL 64, TCP, 80 > 14678, "[SYN, ACK] Seq=0 Ack=1"
TTL 50, TCP, 14678 > 80, "[ACK] Seq=1 Ack=1"

HTTP, "GET /filteredpage HTTP/1.1"
TTL 64, TCP, 80 > 14678, "[ACK] Seq=1 Ack=294"

#See on, mida filter saatis
TTL 53, TCP, 14678 > 80, "[RST] Seq=3458729893"
TTL 53, TCP, 14678 > 80, "[RST] Seq=3458729893"

HTTP, "HTTP/1.1 302 Found"

#Ja see on algse sÔlme katse kaotuse saamiseks
TTL 50, TCP ACKed unseen segment, 14678 > 80, "[ACK] Seq=294 Ack=145"
TTL 50, TCP, 14678 > 80, "[FIN, ACK] Seq=294 Ack=145"
TTL 64, TCP, 80 > 14678, "[FIN, ACK] Seq=171 Ack=295"
TTL 50, TCP Dup ACK 14678 > 80 "[ACK] Seq=295 Ack=145"

#Algne sÔlm mÔistab, et sessioon on purunenud
TTL 50, TCP, 14678 > 80, "[RST] Seq=294"
TTL 50, TCP, 14678 > 80, "[RST] Seq=295"

Selle variatsioonid vĂ”ivad olla erinevad: vĂ€hem RST vĂ”i rohkem edastamisi — olenevalt sellest, mida filter algsele sĂ”lmele saadab. Igatahes on see kĂ”ige usaldusvÀÀrsem mall, mis nĂ€itab, et nĂ”uti just keelatud ressurssi. Lisaks on alati vastus, mis ilmneb sessioonis TTL suurem kui eelnevates ja jĂ€rgnevates pakettides.

ÜlejÀÀnud ei ole isegi nĂ€htavad GET:

TTL 50, TCP, 14678 > 80, "[SYN] Seq=0"
TTL 64, TCP, 80 > 14678, "[SYN, ACK] Seq=0 Ack=1"

#See on, mida filter saatis
TTL 53, TCP, 14678 > 80, "[RST] Seq=1"

VÔi nii:

TTL 50, TCP, 14678 > 80, "[SYN] Seq=0"
TTL 64, TCP, 80 > 14678, "[SYN, ACK] Seq=0 Ack=1"
TTL 50, TCP, 14678 > 80, "[ACK] Seq=1 Ack=1"

#See on, mida filter saatis
TTL 53, TCP, 14678 > 80, "[RST, PSH] Seq=1"

TTL 50, TCP ACKed unseen segment, 14678 > 80, "[FIN, ACK] Seq=89 Ack=172"
TTL 50, TCP ACKed unseen segment, 14678 > 80, "[FIN, ACK] Seq=89 Ack=172"

#Taaskord filter, mitu korda
TTL 53, TCP, 14678 > 80, "[RST, PSH] Seq=1"
...

Erinevus on kindlasti nĂ€htav, TTL kui filter saadab midagi. Kuid sageli ei pruugi ĂŒldse midagi saabuda:

TCP, 14678 > 80, "[SYN] Seq=0"
TCP, 80 > 14678, "[SYN, ACK] Seq=0 Ack=1"
TCP Retransmission, 80 > 14678, "[SYN, ACK] Seq=0 Ack=1"
...

VÔi nii:

TCP, 14678 > 80, "[SYN] Seq=0"
TCP, 80 > 14678, "[SYN, ACK] Seq=0 Ack=1"
TCP, 14678 > 80, "[ACK] Seq=1 Ack=1"

#Möödus mitu sekundit ilma liikluseta

TCP, 80 > 14678, "[FIN, ACK] Seq=1 Ack=1"
TCP Retransmission, 80 > 14678, "[FIN, ACK] Seq=1 Ack=1"
...

Ja see kĂ”ik kordub ja kordub ja kordub, nagu graafikust nĂ€ha, kindlasti mitte ĂŒks kord, iga pĂ€ev.

IPv6 kohta

Hea uudis - see on olemas. VĂ”in kindlalt öelda, et 5 erinevalt IPv6-aadressilt toimub perioodilisi pĂ€ringuid keelatud ressursside juurde, just see kĂ€itumine, mida ma Agendilt ootasime. Üks IPv6-aadressidest ei ole filtrisse sattunud ning nĂ€en tĂ€ieĂ”iguslikku sessiooni. Kahelt teiselt nĂ€gin ainult ĂŒhte lĂ”petamata sessiooni, millest ĂŒks katkestati filtrist, teine ajast. RST Kokku on neid kokku 7.

Kuna aadresse on vĂ€he, uurisin neid ĂŒksikasjalikult ning selgus, et seal on sisuliselt ainult 3 teenusepakkujat, kellele vĂ”iks aplodeerida! Veel ĂŒks aadress on Venemaa pilvehosting (ei filtreeri), teine on Saksamaa teaduskeskus (seal on filter, kus?). KĂŒsimus, miks nad kontrollivad keelatud ressursside kĂ€ttesaadavust plaanipĂ€raselt, on hea. ÜlejÀÀnud kaks tegid ĂŒhe pĂ€ringu ning asuvad vĂ€ljaspool Venemaad, kuid ĂŒks neist filtreeritakse (ĂŒtleme, et vahekĂ€igus?).

Blokeeringud ja Agendid on IPv6 jaoks suur takistus, mille rakendamine ei edene juba niigi kiiresti. See on kurb. Need, kes selle ĂŒlesande tĂ€ielikult lahendasid, saavad end selle eest uhkelt tunda.

KokkuvÔtteks

Ma ei pĂŒĂŒdnud saavutada 100% tĂ€psust, palun mind selle eest andestada, loodan, et keegi soovib teha sellist tööd suurema tĂ€psusega. Minu jaoks oli oluline mĂ”ista, kas selline lĂ€henemine toimib ĂŒldse. Vastus - toimib. Saadud numbrid on esialgses plaanis, arvan, et ĂŒsna usaldusvÀÀrsed.

Mida veel oleks vÔinud teha ja mida ma laiskusest ei teinud - lugeda pÀringud DNS-ile. Need ei ole filtreeritud, kuid ei anna suurt tÀpsust, kuna need toimivad ainult domeeni jaoks, mitte kogu URL-i jaoks. Rikkalikkus peaks olema nÀhtav. Kui seda kombineerida sellega, mida otse pÀringutes nÀhakse, vÔimaldab see eraldada liigset ning saada rohkem teavet. VÔib-olla isegi tuvastada teenusepakkujate kasutatavad DNS-i arendajad ja veel palju muud.

Ma ei oodanud absoluutselt, et minu VPS-i hostija lisab ka oma filtri. VĂ”ib-olla on see tavaline praktika. LĂ”ppude lĂ”puks saadab RKN pĂ€ringu ressursi eemaldamiseks just hostijale. Kuid see ei ĂŒllata mind ja isegi, kuskil, mĂ€ngis see kasuks. Filter töötas vĂ€ga tĂ”husalt, lĂ”igates Ă€ra kĂ”ik Ă”iged HTTP pĂ€ringud keelatud URL-ile, kuid vale, mis olid enne selle kaudu filtrist, jĂ”udsid kohale, kuigi ainult lĂ”pu nĂ€ol: FIN-ACK ja RST — miinus miinusega ja peaaegu saime plussi. Muide, IPv6 hostiser ei filtreeritud. Loomulikult mĂ”jutas see kogutud materjali kvaliteeti, kuid see andis siiski vĂ”imaluse nĂ€ha perioodilisust. Selgus, et see on oluline aspekt ressursside paigutuse valimisel, Ă€rge unustage huvituda kĂŒsimusest, kuidas korraldatakse tööd keelatud saitide nimekirjaga ja RKN-i pĂ€ringutega.

Alguses vĂ”rdlesin AS-i „Revizor” RIPE Atlas. See vĂ”rdlus on tĂ€iesti pĂ”hjendatud ja suur agentide vĂ”rgustik vĂ”ib tuua kasu. NĂ€iteks ressursi kĂ€ttesaadavuse kvaliteedi mÀÀramine erinevate teenusepakkujate poolt eri piirkondades. Saame arvestada viivitusi, saame koostada graafikuid, saame seda kĂ”ike analĂŒĂŒsida ja nĂ€ha muudatusi nii kohalikul kui ka globaalset tasandil. See ei ole kĂ”ige otsem tee, kuid astronoomid kasutavad ju „standardseid kĂŒĂŒnlaid”, miks siis mitte kasutada agente? Teades (leidnud) nende standardset kĂ€itumist, saab mÀÀrata muudatused, mis nende ĂŒmber toimuvad ja kuidas see mĂ”jutab osutatavate teenuste kvaliteeti. Ja selleks ei pea ise proove vĂ”rgus paigutama, need on juba paigutanud Roskomnadzor.

Veel ĂŒks aspekt, mida soovin kĂ€sitleda, on see, et iga tööriist vĂ”ib olla relv. AS „Revizor” on suletud vĂ”rgustik, kuid agendid reetavad kĂ”iki, saates pĂ€ringud keelatud nimekirjas olevatele ressurssidele. Sellise ressursi omandamine ei valmista absoluutselt mingeid probleeme. Seega rÀÀgivad teenusepakkujad agentide kaudu, seda ise tahtmata, oma vĂ”rgust palju rohkem, kui ilmselt peaks: DPI ja DNS tĂŒĂŒbid, agendi paiknemine (keskne sĂ”lm ja teenusevĂ”rk?), vĂ”rgu hilinemise ja kadumise markerid — ja see on vaid kĂ”ige ilmekam. Nii nagu keegi vĂ”ib jĂ€lgida agentide tegevust, et parandada oma ressursside kĂ€ttesaadavust, vĂ”ib keegi seda teha ka muudel eesmĂ€rkidel, ja sellele pole takistusi. TĂ”eliselt kahe teraga ja vĂ€ga mitmekesine tööriist on vĂ€lja kujunenud, igaĂŒks vĂ”ib sellel veenduda.

Allikas: habr.com

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster