اضافه شدن امکانات TLS1.3 به توزیعهای xray و برخی کلاینتها، دست فیلترکننده رو به شدت بسته. اینها که امروز میخوام بگم رو درست استفاده کنید تا برای فیلترچی تقریبا نامرئی بشین.
من روی v2rayNG توضیح میدم، شما مشابهشو رو اپ خودتون پیدا کنید:
uTLS, alpn & allowinsecure
۱/۱۰
میخوام داستان بگم که تا حد امکان ساده باشه برای همگی.
وقتی ما میخوایم به یه سرور وصل بشیم، تو قدم اول با ارسال نام دامنه به DNS، آدرس سرور استعلام میشه تا بعد درخواست به اون آدرس ارسال بشه.
تو همین قدم، قبلا تو مسیر، فیلترچی میدید کجا داریم میریم.
۲/۱۰
اما با معرفی سرویس DNS امن (DoT & DoH) این مساله حل شد. کلادفلر این سرویس رو داره و جای نگرانی نیست. اپ v2rayNG هم وقتی کانفیگ روی حالت tls باشه، این سرویس رو فعال میکنه. یعنی این مرحله رد شد و فیلترچی متوجه نشد ما میخوایم به سمت کدوم دامنه بریم.
۳/۱۰
بعد ترافیک میره به سمت آدرس سرور شما. اینجا اگه cdn نباشه، فیلترچی ادرس سرور شما رو میبینه و مسدودش میکنه. راه حلش اینه که با ریورس پراکسی (یا همون cdn) بین راه، سرورتون رو مخفی کنید.
مثلا وقتی سرور رو میذارید رو حالت پراکسی رو کلادفلر، فیلترچی کلادفلر رو میبینه جای شما.
۴/۱۰
تا الان مسیر امنه و کسی ندیده، اما وقتی cdn استفاده میکنیم، تمام ترافیک اول میره مثلا روی کلادفلر بعد باید بره سمت سرور ما.
خب کلادفلر از کجا میفهمه باید ترافیک رو بفرسته سمت سرور ما؟ چون کل ترافیک رمز شده و cdn نمیتونه هدر رو ببینه. همونطور که فیلترچی نمیبینه.
۵/۱۰
برای حل این مشکل، مفهومی به اسم SNI پیشبینی شده. همین SNI که تقریبا تو تمام کانفیگهای v2ray میبینیم.
اینجاس که فیلترچی ما رو خفت میکنه چون SNI به اصطلاح clear text ارسال میشه و بین راه میشه خوندش.
چیکار کنیم؟ برگردم روی توییت اول. همون سه تا متغیر و راهکار TLS1.3، عاشقشم.
۶/۱۰
توی این راهکار TLS1.3، دوباره مفهوم جدیدی تحت عنوان ECH معرفی شد. از طریق افزونهی ALPN در اخرین نسخهی TLS، تبادل این بخش از داده با cdn هم رمزنگاری میشه.
چون مفهوم خیلی جدیده، هنوز استاندارد سازی به معنای کامل نشده و پیادهسازیهای مختلفی روی این داستان وجود داره.
۷/۱۰
برای همین وقتی توی تنظیمات uTLS میریم، چند تا گزینه مثل chrome و firefox داره که مطابق روش پیادهسازی تو این بروزرها کار میکنه. برای cdn کلادفلر ما از گزینهی chrome تو بخش uTLS استفاده میکنیم.
خود alpn هم که پروتکل صحبت سرورها تو لایهی اپ هست که روی h2+http/1.1 میگذاریم.
۸/۱۰
خب تا اینجای کار، کاملا نامرئی شدیم :)
الان ریسکش چیه؟ کجا ممکنه گیر فیلترچی بیوفتیم؟
یه خطری ما تو tls/ssl داریم به اسم جعل گواهی. یعنی حالا که فیلترچی نمیتونه هیچی رو ببینه، میاد گواهیها رو جعل میکنه که با اون گواهی جعلی، ترافیک رو رمزگشایی کنه و بتونه بخونه.
چیکار کنیم؟
۹/۱۰
گزینهی allowinsecure برای همین پیشبینی شده که معمولا هم خاموش یا همون false هستش.
به صورت پیشفرض کلاینتها همیشه گواهی رو ارزیابی میکنن و اعتبارش رو چک میکنن. پس بذارید همونطوری خاموش بمونه. اینو گذاشتن که اگه بخواید از گواهیهای نامعتبر یا self-signed استفاده کنید، بشه.
۱۰/۱۰
اضافه کنم، همونطور که قبلا گفتم تو هیچکدوم از توزیعهای فعلی، گزینهی uTLS تو کانفیگ دریافتی یا ارسالی شما ذخیره نمیشه و حتما بعد از گرفتن کانفیگ، ویرایش کنید و اینو اصلاح کنید. تو نسخه جدید v2rayNG که الان تو وضعیت pre-release هست، این مشکل مرتفع شده و به زودی میاد رو گوگل پلی.
@vahidfarid
برای فعال کردن DoH یا DoT باید در تنظیمات کلاینت dns سرورهای بخصوصی وارد کنیم ( مثل tls://dns.google) یا مثلا 8.8.8.8 هم بزنیم خودش میفهمه؟
@R8win
اپ v2rayNG که خودش تنظیماتشو داره و روی dns 1.1.1.1 کلادفلر تنظیم شده.
باید dns شما از این پروتکل پشتیبانی کنه. هم گوگل و هم کلادفلر پشتیبانی میکنن. از dns های متفرقهی isp ها یا خود سازمان ها اگه استفاده کنید، احتمالش زیاده پشتیبانی نکنن.
@dingeloz
ارتباطی با پینگ نداره تاجایی که میدونم. اون روش کد کردن بادی درخواست هستش که باید در کلاینت و سرور یکسان باشه.
وقتی از tls استفاده میکنیم دیگه نیازی به اون نداریم، چون دوبار رمزنگاری فقط حجم اطلاعات رو زیاد و لود سرور رو بالا میبره.
@alireza_9092
فقط خالی نباشه. شما رندوم بذارید یا chrome زیاد تفاوت نداره. کلادفلر با الگوریتم chrome راحت کار میکنه. باقیشم احتمالا اوکیه.
فینگرپرینت که حتما میمونه ولی خطری نداره چون رمزنگاری شده. مهم اینه sni دیده نشه که با utls و alpn مخفی میشه.
@vocallbay
ببینید این روشها درنهایت ترافیک رو سالم میفرسته سمت کلادفلر. حالا اگه آیپی کلادفلر رو چشم بسته ببندن، دیگه ترافیک نمیره خب.
مشکل ولی اینجاس که حدود ۴۰ درصد از ۱۰کا وبسایت تاپ دنیا و ۲۰ درصد از کل وبسایتهتی فعال دنیا از مسیر کلادفلره. وقتی ببندن سرویسهای دیگه ای هم مسدود میشه.