Lugʻat

SNI

Server Name Indication — «server nomini koʻrsatish»

Mijoz himoyalangan ulanish boshida, shifrlashdan oldin ochiq aytadigan sayt nomi.

Bu nima

SNI — TLS protokolining kengaytmasi. Eng birinchi xabarda (ClientHello) mijoz ulanayotgan sayt nomini aytadi. Bu bitta IP-manzil koʻplab HTTPS saytlariga xizmat qilishi va server qaysi sertifikatni koʻrsatishni darrov bilishi uchun kerak. Kengaytma RFC 6066 da tasvirlangan; uning birinchi tahriri 2003-yilda chiqqan.

Filtrlash uchun nega muhim

ClientHello shifrlash yoqilishidan oldin yuboriladi va asl sxemada sayt nomi ochiq matn bilan uzatiladi. Shuning uchun yoʻldagi kuzatuvchi — operator yoki DPI uskunasi — mazmunni koʻrmasa-da, ulanish qaysi domenga ketayotganini koʻradi. «Nom boʻyicha» bloklash aynan shunga asoslangan.

Encrypted SNI va Encrypted Client Hello kengaytmalari maydonni yopadi, lekin faqat TLS 1.3 bilan ishlaydi va ikki tomondan qoʻllab-quvvatlashni talab qiladi. Vikipediya maʼlumotlariga koʻra, rossiyalik provayderlar ESNI ni 2020-yil oktyabrida bloklay boshlagan.

Proksi secret idagi SNI

FakeTLS rejimida proksi mijozi ClientHello da domenni ataydi — secret da kalitdan keyin yozilgan domenni. Filtr uchun bu shu saytga kirishdek koʻrinadi. Domen secret da oʻn oltilik raqamlar bilan yozilgan:

ee473ce5d4958eb5f968c87680a23854a0676f6f676c652e636f6d

Domenni qanday oʻqish kerak

Tagiga chizilgan qism — google.com satrining hex dagi baytlari. Ularni bitta buyruq bilan ochish mumkin:

echo 676f6f676c652e636f6d | xxd -r -p

SNI ni oʻzingiz qanday tekshirish mumkin

Server SNI dagi muayyan nomga nima javob berishini OpenSSL utilitasi bilan koʻrish mumkin: -servername parametri mijoz ClientHello da aytadigan nomni belgilaydi.

openssl s_client -connect IP-MANZIL:443 -servername domen

Domen ochilmay qolsa

Niqob domeni ishonarli boʻlib qolishi kerak: sayt yoʻqolsa, operatorda bloklansa yoki sertifikati muddati tugasa, unga ulanish tabiiy koʻrinmay qoladi. Unda boshqa domen tanlanadi, yangi secret yaratiladi va havolalar qayta chiqariladi.

Qanday domen mos keladi

Domen tarmogʻingizda bloklanmagan oddiy sayt boʻlishi kerak. mtg README sida alohida ogohlantiriladi: provayderlar nomuvofiqlikni sezishi mumkin, masalan Google ga tegishli boʻlmagan IP-manzildagi google.com, shuning uchun domenni server manzili bilan bogʻlagan yaxshi. telemt da domenni almashtirish barcha berilgan havolalarni ishlamaydigan qiladi, ularni qayta chiqarish kerak boʻladi.

Manbalar

  1. Server Name Indication — Vikipediya
  2. RFC 6066, 3-boʻlim: Server Name Indication
  3. mtg: loyiha README si
  4. telemt: FAQ