Gəlin agentləri sayaq "Müfəttiş"

Heç kimə sirr deyil ki, "Revizor" avtomatlaşdırılmış sistemi Rusiyada qadağan olunmuş məlumatların siyahısında bloklanmaya nəzarət edir. Bunun necə işlədiyi burada yaxşı yazılmışdır Habr haqqında məqalə, şəkil oradandır:

Gəlin agentləri sayaq "Müfəttiş"

Birbaşa provayderdə quraşdırılmışdır "Agent Auditor" modulu:

“Agent Auditor” modulu “Müfəttiş” (AS “Müfəttiş”) avtomatlaşdırılmış sisteminin struktur elementidir. Bu sistem telekommunikasiya operatorları tərəfindən 15.1 iyul 15.4-cı il tarixli 27-FZ "İnformasiya, informasiya texnologiyaları və informasiya texnologiyaları haqqında" Federal Qanunun 2006-149-cü maddələri ilə müəyyən edilmiş müddəalar çərçivəsində girişin məhdudlaşdırılması tələblərinin yerinə yetirilməsinə nəzarət etmək üçün nəzərdə tutulmuşdur. İnformasiyanın Mühafizəsi”.

"Revizor" AS-nin yaradılmasının əsas məqsədi telekommunikasiya operatorları tərəfindən "İnformasiya, informasiya texnologiyaları haqqında" 15.1 iyul 15.4-cı il tarixli 27-FZ nömrəli Federal Qanunun 2006-149-cü maddələri ilə müəyyən edilmiş tələblərə riayət olunmasına nəzarəti təmin etməkdir. və İnformasiyanın Mühafizəsi” qadağan olunmuş məlumatlara çıxış faktlarının müəyyən edilməsi və qadağan olunmuş məlumatlara girişin məhdudlaşdırılması pozuntuları haqqında dəstəkləyici materialların (məlumatların) əldə edilməsi baxımından.

Hamısı olmasa da, bir çox provayderin bu cihazı evdə quraşdırdığını nəzərə alsaq, o, kimi böyük bir zond mayak şəbəkəsi olmalı idi. RIPE Atlas və daha çox, lakin qapalı giriş ilə. Bununla belə, mayak bütün istiqamətlərə siqnal göndərmək üçün bir mayakdır, amma onları tutsaq və nə tutduğumuzu və nə qədər olduğunu görsək necə olar?

Saymadan əvvəl bunun nə üçün mümkün ola biləcəyini görək.

Bir az nəzəriyyə

Agentlər bu kimi HTTP(S) sorğuları da daxil olmaqla resursun mövcudluğunu yoxlayır:

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"

Faydalı yükə əlavə olaraq, sorğu həmçinin əlaqənin qurulması mərhələsindən ibarətdir: mübadilə SYN и SYN-ACK, və əlaqənin dayandırılması mərhələləri: FIN-ACK.

Qadağan edilmiş məlumat reyestrində bir neçə növ kilid var. Aydındır ki, resurs IP ünvanı və ya domen adı ilə bloklanırsa, biz heç bir sorğu görməyəcəyik. Bunlar bir IP ünvanındakı bütün resursların və ya domendəki bütün məlumatların əlçatmazlığı ilə nəticələnən ən dağıdıcı bloklama növləridir. Bloklamanın "URL" növü də var. Bu halda filtrləmə sistemi tam olaraq nəyin bloklanacağını müəyyən etmək üçün HTTP sorğu başlığını təhlil etməlidir. Və ondan əvvəl, yuxarıda göründüyü kimi, izləməyə cəhd edə biləcəyiniz bir əlaqə quraşdırma mərhələsi olmalıdır, çünki çox güman ki, filtr onu əldən verəcəkdir.

Bunu etmək üçün filtrləmə sisteminin işini asanlaşdırmaq üçün "URL ilə" və HTTP bloklama növü ilə uyğun pulsuz domen seçməlisiniz, tercihen çoxdan tərk edilmiş, kənar trafikin daxil olmasını minimuma endirmək üçün. Agentlərdən. Bu tapşırığın heç də çətin olmadığı ortaya çıxdı, qadağan olunmuş məlumatların reyestrində və hər zövqə görə kifayət qədər pulsuz domenlər var. Buna görə də domen alındı, işləyən VPS-də IP ünvanlarına bağlandı tcpdump və hesablama başladı.

"Auditorlar"ın yenidən nəzərdən keçirilməsi

Mən, mənim fikrimcə, idarə olunan bir hərəkəti göstərəcək vaxtaşırı sorğu partlayışlarını gözləyirdim. Bunu ümumiyyətlə görmədiyimi söyləmək mümkün deyil, amma dəqiq bir şəkil yox idi:

Gəlin agentləri sayaq "Müfəttiş"

Təəccüblü deyil ki, hətta heç vaxt istifadə edilməmiş IP-də lazımsız bir domen də yalnız bir çox istənməyən məlumat alacaq, belə ki, müasir İnternet. Xoşbəxtlikdən, mənə yalnız müəyyən bir URL üçün sorğular lazım idi, buna görə də bütün skanerlər və parol kobud qüvvəsi tez tapıldı. Həmçinin, eyni tipli müraciətlərin çoxluğuna görə daşqının harada olduğunu başa düşmək olduqca asan idi. Sonra IP ünvanlarının baş vermə tezliyini tərtib etdim və əvvəlki mərhələlərdə sürüşənləri əl ilə ayıraraq bütün yuxarıdan keçdim. Bundan əlavə, bir anda bir paket göndərən bütün mənbələri kəsdim, onların çoxu yox idi. Və belə oldu:

Gəlin agentləri sayaq "Müfəttiş"

Kiçik bir lirik təxribat. Bir gündən bir qədər sonra hosting provayderim kifayət qədər sadələşdirilmiş məzmunlu məktub göndərdi və dedi ki, sizin obyektlərinizdə ILV-nin qadağan olunmuş siyahısından resurs var, ona görə də bloklanıb. Əvvəlcə elə bildim ki, hesabım bloklanıb, elə deyil. Sonra fikirləşdim ki, artıq bildiklərim barədə mənə xəbərdarlıq edirlər. Ancaq məlum oldu ki, hoster mənim domenimin qarşısında öz filtrini yandırdı və nəticədə mən ikiqat filtrasiyaya düşdüm: provayderlərdən və hosterdən. Filtr yalnız sorğuların sonlarını keçdi: FIN-ACK и RST qadağan edilmiş URL-də bütün HTTP-ni kəsin. Yuxarıdakı qrafikdən göründüyü kimi, ilk gündən sonra mən daha az məlumat almağa başladım, amma yenə də onları qəbul etdim, bu da sorğu mənbələrini saymaq üçün kifayət idi.

Nöqtəyə gəlin. Mənim fikrimcə, hər gün iki partlayış aydın görünür, birincisi daha kiçikdir, Moskva vaxtı ilə gecə yarısından sonra, ikincisi günortadan sonra 6-ə qədər quyruğu ilə səhər saat 12-ya yaxındır. Zirvə tam olaraq eyni vaxtda baş vermir. Əvvəlcə Agent yoxlamalarının vaxtaşırı aparıldığı fərziyyəsinə əsaslanaraq, yalnız bu dövrlərdə və hər birində bütün dövrlərdə düşmüş IP ünvanlarını vurğulamaq istədim. Ancaq daha yaxından yoxlayandan sonra, hər saatda bir sorğuya qədər digər tezliklərlə digər intervallara düşən dövrləri tez kəşf etdim. Sonra saat qurşaqları və bunun belə ola biləcəyini düşündüm, sonra düşündüm ki, ümumiyyətlə sistem qlobal səviyyədə sinxronlaşdırılmaya bilər. Bundan əlavə, şübhəsiz ki, NAT öz rolunu oynayacaq və eyni Agent müxtəlif ictimai IP-lərdən sorğu verə bilər.

İlkin məqsədim dəqiq olmadığı üçün bir həftə ərzində əldə etdiyim bütün ünvanları saydım və əldə etdim - 2791. Bir ünvandan qurulan TCP sessiyalarının sayı orta hesabla 4-dür, medianı 2-dir. Ünvan üzrə ən yaxşı seanslar: 464, 231, 149, 83, 77. Nümunənin 95%-dən maksimumu ünvan başına 8 seansdır. Median çox yüksək deyil, sizə xatırlatmaq istərdim ki, qrafik aydın gündəlik dövriliyi göstərir, ona görə də 4 gün ərzində 8 ilə 7 arasında bir şey gözləmək olar. Əgər biz bir dəfə baş verən bütün seansları atsaq, onda biz sadəcə 5-ə bərabər bir medianı əldə edirik. Amma mən onları aydın əsasda istisna edə bilməzdim. Əksinə, təsadüfi yoxlama onların qadağan edilmiş resurs sorğuları ilə əlaqəli olduğunu göstərdi.

Ünvanlar ünvanlardır və İnternetdə avtonom sistemlər daha vacibdir - AS olduğu ortaya çıxdı 1510, medianı 2 olan AS üçün orta hesabla 1 ünvan. AS üzrə ən yaxşı ünvanlar: 288, 77, 66, 39, 27. Nümunənin 95%-dən maksimumu AS üçün 4 ünvandır. Burada median gözlənilir - hər provayderə bir Agent. Zirvə də gözlənilir - orada böyük oyunçular var. Böyük bir şəbəkədə Agentlər, ehtimal ki, operatorun olduğu hər bir bölgədə olmalıdır, NAT-ı unutma. Ölkə üzrə götürsək, maksimumlar olacaq: 1409 - RU, 42 - UA, 23 - CZ, RIPE NCC deyil, digər bölgələrdən 36. Rusiyadan olmayan müraciətlər diqqəti cəlb edir. Yəqin ki, bu, məlumatların doldurulması zamanı geolokasiya səhvləri və ya qeydiyyatçı səhvləri ilə izah edilə bilər. Yaxud bir rus şirkətinin rus kökləri olmaya bilər və ya xarici nümayəndəliyi ola bilər, çünki bu daha asandır, bu, xarici RIPE NCC təşkilatı ilə iş zamanı təbiidir. Bəzi hissələr, şübhəsiz ki, artıqdır, lakin onu ayırmaq həqiqətən çətindir, çünki resurs bloklanır və ikinci gündən ikiqat bloklanır və əksər sessiyalar sadəcə bir neçə xidmət paketinin mübadiləsidir. Gəlin razılaşaq ki, bu kiçik bir hissədir.

Bu rəqəmləri artıq Rusiyadakı provayderlərin sayı ilə müqayisə etmək olar. RKN-nin məlumatına görə "Səs istisna olmaqla, məlumatların ötürülməsi üçün rabitə xidmətləri" üçün lisenziyalar - 6387, lakin bu, yuxarıdan çox yüksək qiymətləndirmədir, bu lisenziyaların hamısı xüsusi olaraq Agent quraşdırmalı olan İnternet provayderlərinə şamil edilmir. RIPE NCC zonasında, Rusiyada qeydə alınmış oxşar sayda AS 6230-dur, onlardan heç də bütün provayderlər deyil. UserSide daha ciddi hesablama apardı və 3940-ci ildə 2017 şirkət qəbul edib və bu, daha yüksək təxmindir. Hər halda, bizdə işıqlandırılan AS-lərin sayı iki yarım dəfə azdır. Ancaq burada AS-nin provayderə ciddi şəkildə bərabər olmadığını başa düşməyə dəyər. Bəzi provayderlərin öz AS-si yoxdur, bəzilərinin birdən çoxu var. Hər kəsin hələ də Agentləri olduğunu fərz etsək, kimsə digərlərindən daha çox süzgəcdən keçir, buna görə də onların istəkləri ümumiyyətlə çatsa, zibildən fərqlənmir. Ancaq təxmini hesablama üçün, mənim nəzarətim səbəbindən bir şey itirilsə belə, bu, olduqca dözümlüdür.

DPI haqqında

Hostinq provayderimin ikinci gündən filtrini işə salmasına baxmayaraq, birinci günə olan məlumata görə, bloklamanın uğurla işlədiyi qənaətinə gələ bilərik. Yalnız 4 mənbə HTTP və TCP seanslarını keçə bildi və tam olaraq tamamladı (yuxarıdakı nümunədə olduğu kimi). Başqa 460 göndərilə bilər GET, lakin sessiya dərhal tərəfindən dayandırılır RST. diqqət yetirin 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"

#Вот это прислал фильтр
TTL 53, TCP, 14678  >  80, "[RST] Seq=3458729893"
TTL 53, TCP, 14678  >  80, "[RST] Seq=3458729893"

HTTP, "HTTP/1.1 302 Found"

#А это попытка исходного узла получить потерю
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"

#Исходный узел понимает что сессия разрушена
TTL 50, TCP, 14678  >  80, "[RST] Seq=294"
TTL 50, TCP, 14678  >  80, "[RST] Seq=295"

Bunun varyasyonları fərqli ola bilər: daha az RST və ya daha çox təkrar ötürür - bu, həm də filtrin mənbə qovşağına nə göndərməsindən asılıdır. Hər halda, bu, tələb olunan qadağan edilmiş resurs olduğunu görmək üçün ən etibarlı nümunədir. Üstəlik, iclasda həmişə bir cavab var TTL əvvəlki və sonrakı paketlərdən daha böyükdür.

Qalanlarından belə görünmürsən GET:

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

#Вот это прислал фильтр
TTL 53, TCP, 14678  >  80, "[RST] Seq=1"

Və ya belə:

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"

#Вот это прислал фильтр
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"

#Опять фильтр, много раз
TTL 53, TCP, 14678  >  80, "[RST, PSH] Seq=1"
...

Siz mütləq fərqi görə bilərsiniz TTL filtrdən nəsə gələrsə. Ancaq çox vaxt heç bir şey uça bilməz:

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ə ya belə:

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

#Прошло несколько секунд без трафика

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

Və bütün bunlar təkrarlanır və təkrarlanır və təkrarlanır, qrafikdə gördüyünüz kimi, dəqiq bir dəfə deyil, hər gün.

IPv6 haqqında

Yaxşı xəbər odur. Əminliklə deyə bilərəm ki, 5 fərqli IPv6 ünvanından qadağan olunmuş resursa vaxtaşırı müraciətlər olur, məhz agentlərin gözlədiyim davranışı. Üstəlik, IPv6 ünvanlarından biri filtrasiyaya düşmür və mən tam hüquqlu bir sessiya görürəm. Daha iki seansdan hər biri yarımçıq qalmış seansı gördüm, onlardan biri kəsildi RST filtrdən, vaxtında ikinci. Ümumi miqdar 7.

Ünvanlar az olduğu üçün hamısını ətraflı öyrəndim və məlum oldu ki, əslində cəmi 3 provayder var, onları ayaqda alqışlamaq olar! Başqa bir ünvan Rusiyada bulud hostinqidir (filtr etmir), digəri Almaniyada tədqiqat mərkəzidir (filtr var, harada?). Ancaq niyə qadağan edilmiş resursların mövcudluğunu cədvəl üzrə yoxlayırlar, yaxşı sualdır. Qalan ikisi bir sorğu etdi və Rusiyadan kənarda yerləşir və onlardan biri süzülür (hər şeydən sonra, tranzitdə?).

Kilidlər və Agentlər IPv6-da böyük bir əyləcdir, hər halda çox sürətli hərəkət etmir. Bu kədərlidir. Bu problemi həll edənlər özləri ilə tam fəxr edə bilərlər.

Nəticədə

Mən 100% dəqiqliyin arxasınca getməmişəm, bunun üçün məni bağışlamağınızı xahiş edirəm, ümid edirəm kimsə belə işi daha dəqiqliklə təkrarlamaq istəyir. Belə bir yanaşmanın prinsipcə işləyəcəyini anlamaq mənim üçün vacib idi. Cavab odur ki, olacaq. Birinci yaxınlaşmada əldə edilən rəqəmlər, məncə, kifayət qədər etibarlıdır.

Başqa nə edilə bilərdi və nə etmək üçün çox tənbəl idim - DNS sorğularını sayın. Onlar filtrlənmir, lakin bütün URL üçün deyil, yalnız domen üçün işlədiyi üçün çox dəqiqlik də təmin etmirlər. Periyodiklik görünməlidir. Sorğularda birbaşa görünənlərlə birləşdirilərsə, bu, artıqlığı ayırmağa və daha çox məlumat əldə etməyə imkan verəcəkdir. Hətta ISP-lər tərəfindən istifadə edilən DNS-in tərtibatçılarını və daha çoxunu müəyyən etmək mümkündür.

Mən heç gözləmirdim ki, mənim VPS-im üçün hoster də öz filtrini daxil edəcək. Bəlkə də bu, ümumi praktikadır. Sonda RKN resursun silinməsi tələbini yalnız hosta göndərir. Amma bu məni təəccübləndirmədi və hətta yaxşı oynadı. Filtr çox effektiv işlədi, qadağan edilmiş URL-ə bütün etibarlı HTTP sorğularını kəsdi, lakin əvvəllər provayder filtrindən keçən düzgün olanları yox, yalnız sonluqlar şəklində: FIN-ACK и RST - mənfidən mənfiyə və demək olar ki, bir artı oldu. Yeri gəlmişkən, IPv6 host tərəfindən süzülməmişdir. Əlbəttə ki, bu, toplanan materialın keyfiyyətinə təsir etdi, lakin yenə də dövriliyi görməyə imkan verdi. Məlum oldu ki, bu, resursların yerləşdirilməsi üçün sayt seçərkən vacib məqamdır, qadağan olunmuş saytların siyahısı və RKN-dən gələn sorğularla işin təşkili ilə maraqlanmağı unutmayın.

Əvvəlcə AS “Revizor”u müqayisə etdim RIPE Atlas. Bu müqayisə kifayət qədər haqlıdır və geniş Agentlər şəbəkəsi faydalı ola bilər. Məsələn, ölkənin müxtəlif yerlərində müxtəlif provayderlərdən resursun mövcudluğu keyfiyyətinin müəyyən edilməsi. Siz gecikmələri hesablaya, qrafiklər qura, hamısını təhlil edə və həm yerli, həm də qlobal miqyasda baş verən dəyişiklikləri görə bilərsiniz. Bu ən birbaşa yol deyil, amma astronomlar "standart şamlardan" istifadə edirlər, niyə Agentlərdən istifadə etmirlər? Onların standart davranışını bilmək (tapmaqla) onların ətrafında baş verən dəyişiklikləri və bunun göstərilən xidmətlərin keyfiyyətinə necə təsir etdiyini müəyyən etmək olar. Və eyni zamanda, zondları şəbəkə üzərində müstəqil şəkildə yerləşdirməyə ehtiyac yoxdur, onlar artıq Roskomnadzor tərəfindən quraşdırılmışdır.

Toxunmaq istədiyim başqa bir məqam isə hər bir alətin silah ola biləcəyidir. AS "Revizor" qapalı şəbəkədir, lakin Agentlər qadağan olunmuş siyahıdan bütün resurslar üçün sorğu göndərərək hər kəsə imkan verir. Belə bir resursun olması heç bir problem yaratmır. Ümumilikdə, Agentlər vasitəsilə provayderlər, bilmədən, öz şəbəkələri haqqında dəyərindən daha çox məlumat verirlər: DPI və DNS növləri, Agentin yeri (mərkəzi qovşaq və xidmət şəbəkəsi?), Şəbəkə gecikməsi və itki işarələri - və bu, yalnız ən çox olanıdır. aşkar. Kimsə öz resurslarının əlçatanlığını yaxşılaşdırmaq üçün Agentlərin hərəkətlərinə nəzarət edə bildiyi kimi, kimsə bunu başqa məqsədlər üçün edə bilər və buna heç bir maneə yoxdur. İkitərəfli və çox yönlü bir vasitə ortaya çıxdı, hər kəs buna əmin ola bilər.

Mənbə: www.habr.com

Добавить комментарий