Ka anyị gụọ ndị ọrụ "Inspector"

Ọ bụghị ihe nzuzo na njikwa nke igbochi na ndepụta nke ozi amachibidoro na Russia na-enyocha ya site na sistemụ akpaaka "Inspector". Edere otu o si arụ ọrụ nke ọma ebe a akụkọ na Habr, foto si n'otu ebe:

Ka anyị gụọ ndị ọrụ "Inspector"

Awụnyere ozugbo na onye na-eweta ya modul "Agent Inspector":

Modul "Agent Inspector" bụ ihe nhazi nke sistemu akpaaka "Inspector" (AS "Inspector"). Emebere usoro a iji nyochaa nnabata site n'aka ndị na-arụ ọrụ telecom na ịnweta ihe mmachi chọrọ n'ime usoro nke Iwu 15.1-15.4 nke Iwu Federal nke July 27, 2006 No. 149-FZ "Na Ozi, Teknụzụ Ozi na Nchekwa Ozi. ”

Ebumnuche bụ isi nke ịmepụta AS "Revizor" bụ iji hụ na nleba anya nke ndị na-arụ ọrụ telecom na-agbaso ihe ndị a chọrọ n'okpuru Iwu 15.1-15.4 nke Federal Law nke July 27, 2006 No. 149-FZ "Na Ozi, Teknụzụ Ozi na Nchekwa Ozi. "N'ihe gbasara ịchọpụta eziokwu nke ịnweta ozi amachibidoro na ịnweta ihe nkwado (data) gbasara mmebi iwu iji gbochie ịnweta ozi amachibidoro.

N'iburu n'uche eziokwu ahụ bụ na, ọ bụrụ na ọ bụghị ihe niile, mgbe ahụ, ọtụtụ ndị na-enye ọrụ etinyela ngwaọrụ a, ekwesịrị inwe nnukwu netwọkụ nke nyocha mgbama dị ka. AKWỤKWỌ Atlas na ọbụna karịa, ma na-emechi ohere. Agbanyeghị, mgbama bụ mgbama na-eziga akara n'akụkụ niile, mana gịnị ma ọ bụrụ na anyị ejide ha wee hụ ihe anyị jidere na ole?

Tupu anyị agụọ ọnụ, ka anyị hụ ihe mere nke a nwere ike ime.

A bit nke tiori

Ndị ọrụ na-enyocha nnweta akụrụngwa, gụnyere site na arịrịọ HTTP(S), dị ka nke a:

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"

Na mgbakwunye na ụgwọ a na-akwụ ụgwọ, arịrịọ ahụ nwekwara usoro nhazi njikọ: mgbanwe SYN и SYN-ACK, na usoro mmecha njikọ: FIN-ACK.

Ndebanye aha nke ozi amachibidoro nwere ọtụtụ ụdị mgbochi. N'ụzọ doro anya, ọ bụrụ na adreesị IP ma ọ bụ aha ngalaba egbochiri akụ, mgbe ahụ anyị agaghị ahụ arịrịọ ọ bụla. Ndị a bụ ụdị mgbochi kachasị emebi emebi, nke na-eduga na enweghị ike ịnweta akụrụngwa niile na otu adreesị IP ma ọ bụ ozi niile dị na ngalaba. Enwekwara ụdị mgbochi “site na URL”. N'okwu a, sistemụ nzacha ga-enyocharịrị isi arịrịọ HTTP iji chọpụta kpọmkwem ihe a ga-egbochi. Na n'ihu ya, dị ka a na-ahụ n'elu, ekwesịrị inwe usoro nhazi njikọ nke ị nwere ike ịnwale, ebe ọ bụ na ọ ga-abụ na nzacha ga-atụfu ya.

Iji mee nke a, ịkwesịrị ịhọrọ ngalaba n'efu kwesịrị ekwesị nke nwere ụdị “URL” na HTTP iji kwado ọrụ nke sistemụ nzacha, ọkacha mma agbahapụla ogologo oge, iji belata ntinye nke okporo ụzọ dịpụrụ adịpụ ma e wezụga ndị nnọchi anya. Ọrụ a tụgharịrị bụrụ nke siri ike ma ọlị; enwere ọtụtụ ngalaba n'efu na ndekọ nke ozi amachibidoro yana maka uto ọ bụla. Ya mere, a zụrụ ngalaba ma jikọta ya na adreesị IP na VPS na-agba ọsọ tcpdump ma gua ya malite.

Nyocha nke "Auditors"

Atụrụ m anya na m ga-ahụ mgbaghara arịrịọ n'oge, nke n'uche nke m ga-egosi mmemme a na-achịkwa. Ọ gaghị ekwe omume ịsị na ahụghị m ya ma ọlị, mana enweghị nkọwa doro anya:

Ka anyị gụọ ndị ọrụ "Inspector"

Nke na-abụghị ihe ijuanya, ọbụlagodi na ngalaba na-enweghị onye chọrọ yana na IP a na-ejikarị eme ihe, a ga-enwe ọtụtụ ozi a na-achọghị, dị otú ahụ bụ ịntanetị nke oge a. Mana ọ dabara nke ọma, naanị achọrọ m arịrịọ maka URL akọwapụtara, yabụ achọpụtara nyocha niile na crackers okwuntughe ngwa ngwa. Ọzọkwa, ọ dị nnọọ mfe ịghọta ebe iju mmiri ahụ dabeere n'ọtụtụ arịrịọ ndị yiri ya. Na-esote, m chịkọtara ugboro ole adreesị IP na-eme ma jiri aka ya gafee n'elu dum, na-ekewa ndị na-atụfu ya na ọkwa ndị gara aga. Ọzọkwa, ebipụrụ m isi mmalite niile ezigara n'otu ngwugwu, enwekwaghị ọtụtụ n'ime ha ọzọ. Ma nke a bụ ihe mere:

Ka anyị gụọ ndị ọrụ "Inspector"

Obere egwu egwu egwu. Obere ihe karịrị otu ụbọchị ka nke ahụ gasịrị, onye na-eweta nnabata m zigara leta nwere ọdịnaya dabara adaba, na-ekwu na akụrụngwa gị nwere akụrụngwa sitere na ndepụta amachibidoro RKN, yabụ egbochiri ya. Na mbụ echere m na egbochila akaụntụ m, nke a abụghị ikpe. Mgbe ahụ, echere m na ha na-adọ m aka ná ntị banyere ihe m mabu. Mana ọ tụgharịrị na onye nnabata ahụ gbanyere nzacha ya n'ihu ngalaba m na n'ihi ya a bịara n'okpuru nzacha okpukpu abụọ: site na ndị na-enye ya na site na onye nnabata. Ihe nzacha ahụ gafere naanị njedebe nke arịrịọ: FIN-ACK и RST ebipụ HTTP niile na URL amachibidoro. Dị ka ị nwere ike ịhụ site na eserese dị n'elu, mgbe ụbọchị mbụ m malitere ịnweta data dị ntakịrị, ma m ka natara ya, nke zuru oke maka ọrụ nke ịgụta isi mmalite.

Gaa n'isi okwu. N'uche nke m, a na-ahụ anya nke ọma ugboro abụọ kwa ụbọchị, nke mbụ dị ntakịrị, mgbe etiti abalị Moscow gasịrị, nke abụọ dị nso na 6 am na ọdụ ruo mgbe elekere 12. Ọnụ ọgụgụ kasị elu anaghị eme kpọmkwem n'otu oge. Na mbụ, achọrọ m ịhọrọ adreesị IP nke dabara naanị n'ime oge ndị a na nke ọ bụla n'ime oge niile, dabere n'echiche na a na-eme nlele site na Agents kwa oge. Ma mgbe m nyochachara nke ọma, achọpụtara m ngwa ngwa oge na-adaba na oge ndị ọzọ, yana ugboro ndị ọzọ, ruo otu arịrịọ kwa elekere. Mgbe ahụ, echere m banyere mpaghara oge na ma eleghị anya ọ nwere ihe jikọrọ ya na ha, mgbe ahụ echere m na n'ozuzu usoro ahụ nwere ike ọ gaghị emekọrịta n'ụwa nile. Na mgbakwunye, NAT nwere ike rụọ ọrụ yana otu onye nnọchi anya nwere ike ịrịọ arịrịọ sitere na IP ọha dị iche iche.

Ebe ọ bụ na ebumnobi mbụ m abụghị kpọmkwem, agụpụtara m adreesị niile m nwetara n'ime otu izu wee nweta - 2791. Ọnụ ọgụgụ nke oge TCP nke e guzobere site na otu adreesị dị na nkezi 4, yana etiti nke 2. Oge kachasị elu maka adreesị: 464, 231, 149, 83, 77. Nke kachasị site na 95% nke ihe nlele bụ 8 sessions kwa adreesị. Ihe etiti ahụ adịghị elu, ka m chetara gị na eserese ahụ na-egosi oge doro anya kwa ụbọchị, yabụ mmadụ nwere ike ịtụ anya ihe dị ka 4 ruo 8 n'ime ụbọchị 7. Ọ bụrụ na anyị na-atụfu niile sessions na-eme otu ugboro, anyị ga-enweta a median hà nhata 5. Ma enweghị m ike wepụ ha dabeere a doro anya criterion. N'ụzọ megidere nke ahụ, nlele enweghị usoro gosiri na ha metụtara arịrịọ maka akụrụngwa amachibidoro.

Adreesị bụ adreesị, mana na ịntanetị, sistemụ kwụụrụ onwe ya - AS, nke mechara bụrụ ihe dị mkpa karị 1510, na nkezi 2 adreesị kwa AS na etiti nke 1. Top adreesị kwa AS: 288, 77, 66, 39, 27. Nke kacha nke 95% nke sample bụ 4 adreesị kwa AS. Ebe a na-atụ anya etiti - otu onye nnọchi anya maka onye na-eweta ya. Anyị na-atụkwa anya n'elu - enwere nnukwu ndị egwuregwu na ya. Na nnukwu netwọkụ, ndị nnọchi anya kwesịrị ịdị na mpaghara ọ bụla nke ọnụnọ onye ọrụ, ma echefula banyere NAT. Ọ bụrụ na anyị were ya site na mba, kacha ga-abụ: 1409 - RU, 42 - UA, 23 - CZ, 36 si mpaghara ndị ọzọ, ọ bụghị RIPE NCC. Arịrịọ sitere na mpụga Russia na-adọta uche. Enwere ike ịkọwa nke a site na mperi geolocation ma ọ bụ njehie onye na-edeba aha mgbe ị na-ejuputa data. Ma ọ bụ eziokwu ahụ bụ na ụlọ ọrụ Russia nwere ike ọ gaghị enwe mgbọrọgwụ Russia, ma ọ bụ nwee ụlọ ọrụ nnọchiteanya nke mba ọzọ n'ihi na ọ dị mfe, nke bụ ihe okike mgbe ọ na-emeso ụlọ ọrụ mba ọzọ RIPE NCC. Akụkụ ụfọdụ bụ ihe ịrụ ụka adịghị ya na ọ dị oke egwu, mana ọ siri ike ikewapụ ya, ebe ọ bụ na a na-egbochi akụrụngwa, yana site na ụbọchị nke abụọ n'okpuru mgbochi abụọ, na ọtụtụ nnọkọ bụ naanị mgbanwe nke ọtụtụ ngwugwu ọrụ. Ka anyị kwenye na nke a bụ obere akụkụ.

Enwere ike iji ọnụọgụ ndị a tụnyere ọnụ ọgụgụ ndị na-enye ọrụ na Russia. Dị ka RKN si kwuo ikikere maka "ọrụ nkwukọrịta maka nnyefe data, ewezuga olu" - 6387, mana nke a bụ atụmatụ dị elu nke sitere n'elu, ọ bụghị ikikere ndị a niile metụtara kpọmkwem ndị na-eweta ịntanetị chọrọ ịwụnye onye nnọchi anya. Na mpaghara RIPE NCC e nwere ọnụ ọgụgụ AS ndị a debanyere aha na Russia - 6230, nke ọ bụghị ihe niile na-enye. UserSide mere ngụkọ siri ike karị wee nata ụlọ ọrụ 3940 na 2017, nke a bụkwa atụmatụ sitere n'elu. N'ọnọdụ ọ bụla, anyị nwere ọnụọgụ AS ndị a na-enwu enwu karịa ugboro abụọ na ọkara. Mana ebe a, ọ bara uru ịghọta na AS adịghị nhata na onye na-eweta ya. Ụfọdụ ndị na-enye ọrụ enweghị AS nke ha, ụfọdụ nwere ihe karịrị otu. Ọ bụrụ na anyị na-eche na onye ọ bụla ka nwere Agents, mgbe ahụ, onye na-nyocha ike karịa ndị ọzọ, nke mere na arịrịọ ha na-apụghị iche na ihe mkpofu, ma ọ bụrụ na ha ruru ha ma ọlị. Mana maka ntule siri ike ọ bụ ihe a na-anabata nke ọma, ọbụlagodi ma ọ bụrụ na ihe furu efu n'ihi nlekọta m.

Banyere DPI

N'agbanyeghị eziokwu ahụ na onye na-eweta ọrụ m gbanyere nzacha ya malite na ụbọchị nke abụọ, dabere na ozi sitere na ụbọchị mbụ anyị nwere ike ikwubi na mgbochi ahụ na-arụ ọrụ nke ọma. Naanị isi mmalite 4 nwere ike ịgafe ma mechaa oge HTTP na TCP kpamkpam (dịka ọmụmaatụ n'elu). Enwere ike izipu 460 ọzọ GET, ma nnọkọ a kwụsịrị ozugbo RST. Lezienụ anya 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"

Ụdị dị iche iche nke a nwere ike ịdị iche: obere RST ma ọ bụ karịa retransmits - na-adaberekwa n'ihe nzacha na-eziga na isi iyi. N'ọnọdụ ọ bụla, nke a bụ ndebiri kachasị ntụkwasị obi, site na nke o doro anya na ọ bụ ihe onwunwe amachibidoro nke a rịọrọ. Na mgbakwunye, a na-enwe azịza na-apụta na nnọkọ TTL ukwuu karịa na ngwungwu gara aga na nke na-esote.

Ị pụghị ịhụ ya site na ndị ọzọ 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"

Ma ọ bụ ya mere:

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"
...

Ihe dị iche bụ nke a na-ahụ anya TTL ọ bụrụ na ihe si na nzacha abịa. Mana ọtụtụ mgbe ọ nweghị ihe nwere ike ịbịarute ma ọlị:

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"
...

Ma ọ bụ ya mere:

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"
...

Na ihe niile a na-emegharị ugboro ugboro na ugboro ugboro na ugboro ugboro, dị ka a pụrụ ịhụ na eserese, ihe karịrị otu ugboro, kwa ụbọchị.

Ihe gbasara IPv6

Ozi ọma ahụ bụ na ọ dị. Enwere m ike ikwu na arịrịọ oge ụfọdụ maka akụrụngwa amachibidoro sitere na adreesị IPv5 6 dị iche iche, nke bụ omume nke ndị nnọchi anya nke m tụrụ anya ya. Ọzọkwa, otu n'ime adreesị IPv6 adịghị ada n'okpuru nzacha na m na-ahụ nnọkọ zuru ezu. Site na abụọ ọzọ ahụrụ m naanị otu nnọkọ a na-emechabeghị, otu n'ime ha kwụsịrị RST site na nzacha, nke abụọ na oge. Mkpokọta ọnụego 7.

Ebe ọ bụ na enwere adreesị ole na ole, amụrụ m ha niile n'ụzọ zuru ezu na ọ tụgharịrị na e nwere naanị ndị na-enye 3 n'ebe ahụ, enwere ike inye ha nnukwu ovation! Adreesị ọzọ bụ nnabata igwe ojii na Russia (anaghị enyocha), onye ọzọ bụ ebe nyocha na Germany (enwere nzacha, ebee?). Mana gịnị kpatara ha ji elele nnweta akụrụngwa amachibidoro na nhazi oge bụ ajụjụ dị mma. Ndị fọdụrụ abụọ mere otu arịrịọ ma dị na mpụga Russia, na otu n'ime ha na-enyocha (na n'ụzọ, mgbe niile?).

Mgbochi na ndị nnọchi anya bụ nnukwu ihe mgbochi na IPv6, mmejuputa ya anaghị aga ngwa ngwa. Ọ dị mwute. Ndị na-edozi nsogbu a nwere ike ịnya isi n'onwe ha.

N'ikpeazụ

Agbalịghị m maka izi ezi 100%, biko gbaghara m maka nke a, enwere m olileanya na mmadụ chọrọ ikwugharị ọrụ a n'ụzọ ziri ezi. Ọ dị m mkpa ịghọta ma usoro a ọ ga-arụ ọrụ na ụkpụrụ. Azịza ya bụ ee. Dị ka ọnụ ọgụgụ mbụ, ọnụ ọgụgụ ndị enwetara, echere m, bụ ndị a pụrụ ịdabere na ya.

Ihe ọzọ gaara eme na ihe m dị umengwụ ime bụ ịgụta arịrịọ DNS. Achịchaghị ha, mana ha anaghị enye oke izi ezi ebe ọ bụ na ha na-arụ ọrụ maka ngalaba, ọ bụghị maka URL niile. Ekwesịrị ịhụ ugboro ole. Ọ bụrụ na ị jikọta ya na ihe a na-ahụ anya ozugbo na ajụjụ, nke a ga-enye gị ohere ikewapụ ihe na-adịghị mkpa ma nweta ozi ndị ọzọ. Ọ ga-ekwe omume ọbụna ịchọpụta ndị mmepe nke DNS nke ndị na-eweta na-eji na ọtụtụ ndị ọzọ.

Atụghị m anya na onye ọbịa ahụ ga-agụnye nzacha nke ya maka VPS m. Ma eleghị anya, nke a bụ ihe a na-emekarị. N'ikpeazụ, RKN na-eziga arịrịọ ka ihichapụ akụrụngwa na onye nnabata. Ma nke a atụghị m anya na n'ụzọ ụfọdụ ọbụna rụpụtara m uru. Ihe nzacha ahụ na-arụ ọrụ nke ọma, na-ebipụ arịrịọ HTTP ziri ezi na URL amachibidoro, mana ọ bụghị nke ziri ezi nke gafere na nzacha ndị na-eweta ya ruru ha, n'agbanyeghị na ọ bụ naanị n'ụdị njedebe: FIN-ACK и RST - mwepu maka mwepu na ọ fọrọ nke nta ka ọ bụrụ mgbakwunye. Site n'ụzọ, IPv6 bụ onye nnabata enyochaghị ya. N'ezie, nke a metụtara àgwà nke ihe anakọtara, ma ọ ka na-eme ka o kwe omume ịhụ ugboro ole. Ọ tụgharịrị na nke a bụ isi ihe dị mkpa mgbe ị na-ahọrọ saịtị maka itinye ihe onwunwe; echefula inwe mmasị na okwu nke ịhazi ọrụ na ndepụta nke saịtị amachibidoro na arịrịọ sitere na RKN.

Ná mmalite, m tụnyere AS "Inspector" na AKWỤKWỌ Atlas. Ntụle a ziri ezi na nnukwu netwọkụ nke Agents nwere ike ịba uru. Dịka ọmụmaatụ, ikpebi ogo nnweta akụrụngwa sitere n'aka ndị na-enye ọrụ dị iche iche n'akụkụ dị iche iche nke mba ahụ. Ị nwere ike gbakọọ igbu oge, ị nwere ike ịmepụta eserese, ị nwere ike nyochaa ya niile wee hụ mgbanwe ndị na-eme na mpaghara ma n'ụwa nile. Nke a abụghị ụzọ kpọmkwem, mana ndị na-enyocha mbara igwe na-eji "kandụl ọkọlọtọ", gịnị kpatara na ị gaghị eji Agents? N'ịmara (ịchọtala) ụkpụrụ omume ha, ị nwere ike ikpebi mgbanwe ndị na-eme gburugburu ha na otú nke a si emetụta àgwà nke ọrụ ndị a na-enye. Ma n'otu oge ahụ, ịkwesighi idobe nyocha na netwọkụ onwe ya, Roskomnadzor etinyelarị ha.

Ihe ọzọ m chọrọ imetụ aka bụ na ngwá ọrụ ọ bụla nwere ike ịbụ ngwá agha. AS "Inspector" bụ netwọk mechiri emechi, mana ndị ọrụ na-enyefe onye ọ bụla site na izipu arịrịọ maka akụrụngwa niile site na listi amachibidoro. Inwe ihe onwunwe dị otú ahụ adịghị eweta nsogbu ọ bụla ma ọlị. Na mkpokọta, ndị na-enye ndị ọrụ site na Agents, n'amaghị ama, na-agwa ọtụtụ ihe gbasara netwọk ha karịa ka ọ ga-abụ na ọ bara uru: ụdị DPI na DNS, ọnọdụ nke Agent (nnukwu etiti na netwọk ọrụ?), Ihe nrịbama netwọk nke igbu oge na ọnwụ - na nke a bụ naanị ihe doro anya. Dị nnọọ ka mmadụ nwere ike nyochaa omume nke Agents iji melite nnweta nke ihe onwunwe ha, mmadụ nwere ike ime nke a maka ebumnuche ndị ọzọ na ọ dịghị ihe mgbochi na nke a. Ihe si na ya pụta bụ ngwá ọrụ nwere ihu abụọ na nke ukwuu, onye ọ bụla nwere ike ịhụ nke a.

isi: www.habr.com

Tinye a comment