Tarmoq transporti

...

Tarmoq transporti va havola qatlamlari haqida chuqur tushuncha

Kompyuter tizimlari ko'pincha boshqa tizimlar bilan aloqa qilishlari kerak; bu ularni bir xil tarmoqqa ulash orqali amalga oshiriladi. Turli xil tarmoqlarda kompyuterlar o'zaro aloqa qilishlari uchun bir qancha texnologiyalar mavjud. Ushbu bo'limda biz aksariyat tarmoqlarda qo'llaniladigan protokollar haqida batafsil ma'lumot beramiz.

Biz foydalanayotgan tarmoqlar bir nechta protokollardan iborat bo'lib, ba'zilari ushbu darsda ko'rib chiqiladi. Shuningdek, tarmoqlarda ishlatiladigan boshqa ko'plab protokollar mavjud bo'lib, ularning barchasi xavfsizlikka tahdid soluvchi imkoniyatlarga ega bo'lishi mumkin.

TCP ("Transmission Control Protocol")

IP manzillari tarmoq darajasida IP orqali manzillashni amalga oshirganidek, TCP va UDP portlar orqali muloqot qiladi. Port — 0 dan 65535 gacha bo'lgan raqam bilan ifodalanadi — va tarmoq xizmatlari ushbu portlar orqali so'rovlarni qayta ishlaydi.

Quyidagi rasmda TCP paketini ko'rishimiz mumkin, u tarmoqdagi trafikni tekshirayotgan kishi uchun qanday ko'rinishini tasvirlaydi.

TCP

TCP va UDP uchun manba va manzil portlari 16 bitdan iboratligini grafikda ko'rishimiz mumkin. Bu UDP uchun ham bir xil. Ketma-ketlik raqamlari va Tasdiqlash raqamlari uch tomonlama qo'l siqish jarayonida va ma'lumotlarni ishonchli uzatishda ishlatiladi. Shuningdek, paket turini ko'rsatish uchun ishlatiladigan boshqaruv bitlarini ham ko'rishimiz mumkin. Boshqa sarlavhalar ham muhim rol o'ynaydi, ammo ular xavfsizlik kursi doirasidan tashqarida.

TCP uch tomonlama qo'l siqish ("3-Way Handshake")

TCP ikki tizimning muloqotga kirishishini ta'minlash uchun uch tomonlama qo'l siqish jarayonidan foydalanadi. Qo'l siqish jarayoni PRNG ("Pseudo Random Number Generator") tomonidan yaratilgan 32 bitli raqamlarni ishlatadi. Ushbu jarayon ikki tomon ham muloqot qilish niyatida ekanini tasdiqlaydi.

Quyidagi grafik bu jarayonni tasvirlaydi:

TCP 3 ways

TCP muloqotga kirishish jarayoni haqida tushuntirish:

Mijoz (Client) aloqa jarayonini boshlash uchun boshqaruv biti SYN belgisi o'rnatilgan paketni, PRNG raqamni Seqeunce Number maydoniga va maqsad portiga yuboradi. Tarmoq qatlami (3-Qavat) paketni masofadagi tizimga jo'natishga imkon beradi. Ushbu paket SYN paketi deb nomlanadi. Server paketni oladi, Mijozning Sequence Number maydonidagi raqamni o'qiydi va javob shakllantiradi. Javobda Tasdiqlash maydoniga Mijozning Sequence raqami 1 ga ko'paytirilgan holda qaytariladi. Shuningdek, javobda SYN va ACK boshqaruv bitlari o'rnatiladi va Serverning PRNG raqami Sequence Number maydoniga yoziladi. Ushbu paket SYN/ACK paketi deb nomlanadi. Mijoz SYN-ACK paketini oladi va qo'l siqish jarayonini yakunlash uchun ACK boshqaruv biti o'rnatilgan paketni qaytaradi. Yakuniy paketda Serverning PRNG raqami Tasdiqlash maydonida qaytariladi, shu bilan qo'l siqish tasdiqlanadi. Ushbu jarayon odatda SYN, SYN/ACK, ACK uch tomonlama qo'l siqish deb nomlanadi.

Quyidagi rasmda ikki xost uch tomonlama qo'l siqish jarayonini bajarayotganini ko'rishimiz mumkin:

TCP Port

Skrinshotda paketlarni tutish va tekshirish uchun Wireshark vositasi ishlatilayotganini ko'rishimiz mumkin. Wireshark juda foydali dastur bo'lib, u paketlarni ko'rish va ularni chuqurroq tekshirish imkonini beradi. Skrinshotda uchta paket uch tomonlama qo'l siqishni ifodalayotganini ko'rish mumkin. E'tibor bering, Manba va Manzil ustunlari ikki tomonning muloqotini aks ettiradi. Info maydonida esa manba va manzil portlari, shuningdek, kvadrat qavslar ichida SYN, SYN/ACK va ACK ko'rsatilgan.

Keyingi skrinshotda uch tomonlama qo'l siqishdan keyin tomonlar o'rtasida ma'lumot almashilayotgani ko'rsatilgan. TCP paketining ichidagi ma'lumot rasmning pastki qismida ajratib ko'rsatilgan.

TCP Port 2

Yuqoridagi skrinshotda Udemere talabalari uchun xabar ko'rsatilgan. Siz uni ko'ryapsizmi?

Trafikni soxtalashtirish (Spoofing Traffic)

Bugungi kunda tarmoqlarda paketlar yaratish uchun deyarli hech qanday cheklov yo'q. Har kim o'z xohishiga ko'ra sarlavha maydonlaridagi qiymatlarni belgilab, paketlar yaratishi mumkin. Bu soxtalashtirish (spoofing) deb ataladi va bu orqali hujumchilar boshqa birov nomidan trafik yuborishlari mumkin.

TCP

TCP protokolida xavfsizlik mexanizmlari mavjud, ammo u PRNG ("Pseudo Random Number Generator") raqam generatorlarining kuchiga tayanadi. Agar muloqot qilayotgan tomonlarning Sequence raqamlari oldindan taxmin qilinishi mumkin bo'lsa, TCP ning xavfsizligi buzilishi mumkin, ya'ni hujumchi TCP orqali soxtalashtirilgan muloqotga kirishishi mumkin.

Ko'pgina protokollar oson soxtalashtiriladi, ammo TCP bunga nisbatan bardoshlilikni ta'minlaydi. UDP va ICMP kabi protokollar esa bunday himoyani ta'minlamaydi.

Paketlarni soxtalashtirish odatda tizimning eng yuqori imtiyozlariga ega bo'lgan hujumchilar tomonidan amalga oshiriladi, ya'ni operatsion tizimda root / tizim huquqlariga ega bo'lish kerak. Sababi, operatsion tizimlar API'larni ishlatishni majbur qiladi, bu foydalanuvchini RFC'larda ("Request For Comments") ko'rsatilgan muloqot qoidalariga rioya qilishga majbur qiladi. Agar hujumchi eng yuqori imtiyozlarga ega bo'lmasa, ular tarmoqda o'z paketlarini yarata olmaydi.

UDP ("User Datagram Protocol")

UDP TCP kabi chidamlilik va xavfsizlikni talab qilmaydigan trafik uchun ishlatiladi, odatda VOIP kabi dasturlar uchun, lekin zamonaviy dunyoda ko'proq dasturlar yuqori OSI model qavatlarida chidamlilik va xavfsizlikni ta'minlaydigan tezkor paket uzatishni qo'llab-quvvatlash uchun UDP dan foydalanmoqda. QUIC bunga misol bo'la oladi.

UDP sarlavhasiga nazar tashlasak, manba va manzil portlari ishlatilishini ko'rishimiz mumkin, ammo unda Sequence raqamlari yoki boshqaruv bitlari yo'q. Protokol kamroq ortiqcha yukga ega bo'lib, ma'lumotlarni tezroq uzatishga imkon beradi.

TCP

UDP uch tomonlama qo'l siqish kabi funksiyalarga ega bo'lmagani sababli, UDP osongina soxtalashtirilishi mumkin.

Switchli tarmoqlar

Tizimlar Switch orqali LAN ("Local Area Network") ga ulanadi. Switchlar manzillash uchun IP manzillardan ko'ra MAC ("Media Access Control") manzillarini ishlatadi. Switchlar Local Area Network orqali trafikni uzatadi, ya'ni sizning uy tarmog'ingiz yoki tashkilotingizning bo'limlari ichida. MAC manzillari noyob bo'lishi uchun yaratilgan, ammo har qanday odam administrator huquqlariga ega bo'lsa, o'z MAC manzilini o'zgartirishi mumkin.

MAC manzili 6 oktetdan iborat, masalan: FC:F8:AE:12:34:56

Birinchi uchta oktet qurilmani ishlab chiqqan tashkilotni ifodalaydi va bu OUI ("Organizational Unique Identifier") deb ataladi. Yuqoridagi MAC manzili Intel korporatsiyasiga tayinlangan. Siz MAC manzillarini ko'plab manbalarda qidirishingiz mumkin, masalan: https://www.adminsub.net/mac-address-finder/intel.

Oxirgi uch oktet ishlab chiqaruvchi tomonidan belgilanadi.

ARP

ARP ("Address Resolution Protocol") — bu kompyuter tizimlariga qaysi MAC manzil qaysi IP manzilga tegishli ekanini bilishga imkon beruvchi protokol. Agar trafik yo'naltirilishi kerak bo'lsa, kompyuter tizimi trafikni tizimda sozlangan Default Gateway ga yo'naltiradi.

ARP, DNS kabi, bir manzilni boshqasiga almashtiruvchi protokoldir. Har safar tizim LANdagi IP manzilga muloqot qilishga urinsa, u ARP keshini tekshiradi, yaqinda hal qilinganligini bilish uchun.

Siz o'z ARP'ni tekshirishingiz mumkin. Linux yoki Windows tizimida arp -a buyrug'ini bajaring. Bu tizimingiz yaqinda muloqot qilgan tizimlarni ko'rsatadi.

Alice: Kimdir 192.168.10.10 ning MAC manzilini biladimi? Bob: Ha, Alice, mana mening MAC manzilim.

VLAN ("Virtual LAN")

VLAN, ko'pincha Private VLAN deb ataladi, Switch ramka ichida teglar (yoki VLAN ID) qo'yish uchun ishlatiladigan usuldir. Keyin bir nechta Switchlar LANdagi tizimlar faqat ma'lum tizimlar bilan, ya'ni bir xil VLAN ID ga ega bo'lgan boshqa tizimlar bilan muloqot qilishiga ishonch hosil qiladi.

Ushbu sahifada

GitHubda tahrirlash