پرش به محتویات

کالبدشکافی فنی انسداد پروتکل ECH در شبکه ایران و محدودیت‌های زیرساختی کلودفلر

تحلیل وضعیت موجود و ماهیت بحران دوگانه در شبکه ایران

تحولات اخیر در لایه کنترل ترافیک شبکه ملی اطلاعات و درگاه‌های بین‌الملل ایران، نشان‌دهنده تغییر فاز سامانه بازرسی عمیق بسته‌ها (DPI) از مسدودسازی واکنشی به سمت مسدودسازی ساختاریافته استانداردهای نوین رمزنگاری وب است1. رخدادی که در جریان آن ابتدا در ساعت ۲۱:۰۰ دریافت کلیدهای پروتکل Encrypted Client Hello (به‌اختصار ECH) بر بستر پروتکل UDP مسدود شد و بلافاصله در روز بعد، دامنه پوششی cloudflare-ech.com در سطح فیلد Server Name Indication (به‌اختصار SNI) به‌طور کامل در لیست سیاه قرار گرفت، یک عملیات مهندسی‌شده دومرحله‌ای برای خنثی‌سازی یکی از مهم‌ترین استانداردهای حفظ حریم خصوصی اینترنت جهانی محسوب می‌شود2.
بررسی‌های فنی تایید می‌کند که پروتکل ECH برخلاف تصور رایج، یک ابزار اختصاصی برای دور زدن فیلترینگ یا یک پروتکل تانلینگ نظیر VPN نیست، بلکه یک استاندارد رسمی کارگروه مهندسی اینترنت (IETF) تحت شناسه RFC 9849 است که به عنوان افزونه‌ای بر پروتکل امنیتی TLS 1.3 طراحی شده است3. هدف بنیادین این استاندارد، رفع آخرین حفره نشت اطلاعات متادیتا در ارتباطات رمزنگاری‌شده وب (HTTPS) و جلوگیری از شنود نام دامنه مقصد توسط سرویس‌دهندگان اینترنت (ISP) و فایروال‌های میانی است3. با این حال، از آنجا که رمزنگاری نام دامنه مقصد به‌طور طبیعی مانع از عملکرد سامانه‌های سانسور مبتنی بر SNI می‌شود، مدیران شبکه و توسعه‌دهندگان ابزارهای گریز از فیلترینگ در ایران به صورت گسترده از پیاده‌سازی ECH در شبکه توزیع محتوای کلودفلر (Cloudflare) برای مخفی‌سازی ترافیک ورکرها (Workers) و دامنه‌های پروکسی استفاده کردند3.
همزمان با این انسداد در سمت زیرساخت داخلی ایران، کاربران و مدیران سرور با جبهه دومی از محدودیت‌ها در سمت خارجی مواجه شده‌اند که ناشی از سیاست‌های سخت‌گیرانه امنیتی و تجاری شرکت کلودفلر است13. مسدودسازی گسترده حساب‌های کاربری، تعلیق دامنه‌های متصل به تانل‌های V2Ray/Xray و اعمال محدودیت بر تانل‌های معکوس (Cloudflare Tunnels) که از مبدا ایران برقرار می‌شوند، زیست‌بوم ارتباطات آزاد در ایران را در یک تنگنای دوطرفه قرار داده است؛ به گونه‌ای که از یک سو فایروال دولتی استانداردهای رمزنگاری لبه را مسدود می‌کند و از سوی دیگر، بزرگ‌ترین ارائه‌دهنده زیرساخت ابری جهان، ترافیک عبوری کاربران ایرانی را به دلیل نقض شرایط خدمات (ToS) و افت اعتبار آدرس‌های IP مشترک قطع می‌نماید11.

معماری استاندارد ECH و نقش محوری دامنه cloudflare-ech.com

برای درک دقیق چگونگی مسدودسازی اخیر، بررسی تکامل پروتکل TLS ضروری است. در ارتباطات سنتی HTTPS حتی با وجود استفاده از نسخه TLS 1.3 و رمزنگاری درخواست‌های DNS از طریق پروتکل DNS-over-HTTPS (به‌اختصار DoH)، نخستین بسته ارسالی از سمت مرورگر به سرور که با نام ClientHello شناخته می‌شود، همچنان به صورت متن آشکار (Plaintext) در شبکه منتقل می‌شد3. درون این بسته، فیلدی به نام SNI وجود دارد که نام دقیق وب‌سایت درخواستی (مانند example.com) را در خود جای می‌دهد تا سرور مقصد بداند کدام گواهی امنیتی (SSL Certificate) را باید به کاربر ارائه دهد3. این ویژگی به فایروال‌های سازمانی و سامانه‌های فیلترینگ دولتی اجازه می‌داد بدون نیاز به رمزگشایی کل ترافیک، صرفاً با خواندن فیلد SNI در بسته ClientHello، مقصد کاربر را شناسایی کرده و ارتباط را قطع کنند3.
تلاش اولیه برای حل این مشکل در سال ۲۰۱۸ تحت عنوان Encrypted SNI (به‌اختصار ESNI) مطرح شد، اما به دلیل آنکه سایر فیلدهای حساس داخل بسته آغازین (نظیر لیست پروتکل‌های لایه کاربرد یا ALPN) را آشکار باقی می‌گذاشت، هرگز به استاندارد نهایی تبدیل نشد9. جایگزین تکامل‌یافته آن یعنی پروتکل ECH (تحت استاندارد RFC 9849 و با کد افزونه هگزادسیمال 0xfe0d یا معادل دهدهی ۶۵۰۳۷ در هدر TLS)، به جای رمزنگاری صرفِ فیلد SNI، کل پیام ClientHello را به دو بخش مجزا تقسیم می‌کند8. بخش نخست، پیام بیرونی (ClientHelloOuter) است که به صورت متن آشکار روی شبکه ارسال می‌شود و توسط تجهیزات DPI قابل رویت است8. این بسته حاوی اطلاعات غیرحساس رمزنگاری و یک نام دامنه عمومی و مشترک تحت عنوان public_name یا Outer SNI است که نشان می‌دهد کاربر قصد اتصال به یک شبکه توزیع محتوا (CDN) را دارد، اما مشخص نمی‌کند کدام وب‌سایت خاص در آن شبکه هدف کاربر است4. شرکت کلودفلر برای تمامی وب‌سایت‌ها و سرویس‌های روی شبکه خود، دامنه واحد cloudflare-ech.com را به عنوان SNI بیرونی انتخاب کرده است6. در مقابل، بخش دوم یا پیام درونی (ClientHelloInner) حاوی مقصد واقعی کاربر (Inner SNI)، تنظیمات واقعی ALPN و سایر پارامترهای خصوصی نشست است که با استفاده از استاندارد رمزنگاری کلید عمومی ترکیبی (HPKE - RFC 9180) به صورت کامل رمزنگاری شده و در قالب افزونه encrypted_client_hello (کد 0xfe0d) در دل بسته بیرونی جایگذاری می‌شود4. تنها سرور لبه کلودفلر که کلید خصوصی متناظر را در اختیار دارد قادر است بسته درونی را رمزگشایی کرده و ترافیک را به وب‌سایت نهایی هدایت کند3.
فرآیند دستیابی کلاینت (مرورگر یا هسته پروکسی) به کلید عمومی سرور برای رمزنگاری بخش درونی، که اصطلاحاً «راه‌اندازی اولیه» (Configuration Bootstrap) نامیده می‌شود، وابسته به زیرساخت DNS است4. سرورهای پشتیبان ECH، کلید عمومی HPKE و نام دامنه پوششی (cloudflare-ech.com) را در یک رکورد خاص DNS از نوع HTTPS (رکورد نوع ۶۵ یا SVCB) و در قالب یک رشته رمزنگاری‌شده Base64 پس از پارامتر ech= منتشر می‌کنند3. بنابراین، پیش از برقراری نشست TLS، کلاینت باید رکورد HTTPS دامنه مقصد را از سرور DNS استعلام کند تا ساختار ECHConfigList را دریافت نماید3.
به منظور جلوگیری از شناسایی و مسدودسازی آسان ترافیک ECH توسط فایروال‌ها، طراحان استاندارد RFC 9849 مکانیزمی به نام GREASE ECH را در مرورگرهای مدرن (شامل فایرفاکس نسخه ۱۱۸ به بالا و گوگل کروم نسخه ۱۲۰ به بالا) تعبیه کرده‌اند3. بر اساس این مکانیزم، مرورگرها حتی هنگام اتصال به وب‌سایت‌هایی که از ECH پشتیبانی نمی‌کنند، افزونه 0xfe0d را همراه با داده‌های تصادفی و ساختگی ارسال می‌کنند4. هدف از این طراحی ضدتبعیض (Anti-discrimination) آن است که اگر یک سامانه فیلترینگ بخواهد تمام بسته‌های دارای افزونه 0xfe0d را مسدود کند، عملاً ارتباط با کل وب جهانی مختل شده و اینترنت از کار بیفتد4. آمارهای فنی از وضعیت پذیرش جهانی این فناوری نشان می‌دهد که در سمت کلاینت، ۵۹ درصد از مرورگرهای جهان از پروتکل ECH پشتیبانی می‌کنند و ۵۷ درصد از مرورگرها نیز به رمزنگاری پساکوانتومی (PQC) برای ایمن‌سازی دست‌دهی‌ها مجهز شده‌اند4. در سمت سرور نیز بررسی ۱۰,۰۰۰ وب‌سایت برتر جهان بر اساس رتبه‌بندی الکسا نشان می‌دهد که حدود ۲,۵۰۰ وب‌سایت (معادل ۲۵ درصد) بر روی شبکه کلودفلر میزبانی می‌شوند که از این میان، حدود ۷۰۰ وب‌سایت پرمخاطب دارای رکورد فعال DNS برای پشتیبانی از ECH هستند17.

شاخص زیرساختی در اینترنت جهانی میزان نفوذ / آمار ثبت‌شده نقش در زیست‌بوم ECH
پشتیبانی مرورگرها از پروتکل ECH ۵۹ درصد از کل مرورگرها4 حذف آخرین بخش متن آشکار در دست‌دهی TLS/QUIC (فایرفاکس ۱۱۸+ و کروم ۱۲۰+)3
پشتیبانی مرورگرها از رمزنگاری پساکوانتومی (PQC) ۵۷ درصد از کل مرورگرها4 ایمن‌سازی تبادل کلید در نشست‌های مدرن TLS 1.3 در برابر حملات آینده4
سهم کلودفلر از ۱۰,۰۰۰ وب‌سایت برتر (Alexa) ۲,۵۰۰ وب‌سایت (۲۵ درصد)17 بزرگ‌ترین ارائه‌دهنده سمت سرور استاندارد ECH در سطح وب جهانی17
وب‌سایت‌های برتر دارای رکورد فعال ech= در DNS ۷۰۰ وب‌سایت از ۱۰,۰۰۰ سایت برتر17 انتشار عمومی کلید HPKE و نام پوششی cloudflare-ech.com در رکورد نوع ۶۵9

با وجود این گستردگی در سمت مرورگرها، در سمت سرور، کلودفلر عملاً تنها ارائه‌دهنده بزرگ جهانی است که این استاندارد را به صورت گسترده و به طور پیش‌فرض روی تمامی پلن‌های رایگان (Free Zones) خود فعال کرده است6. این تمرکزگرایی زیرساختی به این معناست که تقریباً تمام ترافیک ECH در سطح اینترنت جهانی، در بسته بیرونی خود حامل نام واحد cloudflare-ech.com است؛ حقیقتی که پاشنه آشیل این پروتکل در برابر سامانه‌های فیلترینگ دولتی را شکل می‌دهد11.

رمزگشایی از عملیات دومرحله‌ای فیلترینگ علیه پروتکل ECH در ایران

در ماه‌های منتهی به انسداد اخیر، جامعه توسعه‌دهندگان ابزارهای دور زدن فیلترینگ در ایران با بهره‌گیری از قابلیت ECH در هسته‌های پروکسی نظیر Xray-core (در کلاینت‌های v2rayNG، v2rayN، PattN و PattNG) و Sing-box، روشی کارآمد برای عبور از فیلترینگ SNI ابداع کرده بودند5. در این روش، حتی اگر دامنه اختصاصی کاربر یا ساب‌دامنه ورکر کلودفلر (workers.dev یا pages.dev) توسط سیستم فیلترینگ شناسایی و مسدود شده بود، فعال‌سازی ECH باعث می‌شد نام دامنه اصلی درون ClientHelloInner رمزنگاری شود و فایروال ایران در بسته بیرونی تنها عبارت cloudflare-ech.com را مشاهده کند10.
برای پیاده‌سازی این مکانیزم در لینک‌های اشتراک پروکسی (مانند پروتکل‌های VLESS و Trojan)، پارامتری به شکل ech=cloudflare-ech.com+udp://1.1.1.1 به انتهای کانفیگ‌ها اضافه می‌شد5. این دستور به کلاینت اعلام می‌کرد که برای دریافت کلید عمومی ECH، نیازی به استعلام رکورد DNS دامنه فیلترشده ندارد، بلکه کافی است رکورد HTTPS دامنه مرجع cloudflare-ech.com را از طریق پروتکل UDP روی پورت ۵۳ از سرور DNS کلودفلر (1.1.1.1) یا گوگل (8.8.8.8) دریافت کرده و از کلید عمومی بازگشتی برای رمزنگاری ترافیک استفاده کند5.

فاز اول: مسدودسازی دریافت کلید ECH بر بستر UDP (ساعت ۲۱:۰۰)

در گام نخست، سامانه فیلترینگ ایران به جای مسدود کردن مستقیم ترافیک TLS، مرحله پیش‌نیاز یعنی «توزیع کلید از طریق DNS» (Preventing ECH Configuration Bootstrap) را هدف قرار داد4. زمانی که کلاینت‌های پروکسی از فرمت متداول cloudflare-ech.com+udp://1.1.1.1 یا سایر رزولورهای عمومی نظیر 8.8.8.8 و 9.9.9.9 استفاده می‌کنند، درخواست استعلام رکورد HTTPS (Type 65) برای دامنه cloudflare-ech.com به صورت متن آشکار و رمزنگاری‌نشده بر بستر پروتکل UDP (پورت ۵۳) از فایروال ISP عبور می‌کند3.
در ساعت ۲۱:۰۰، تجهیزات DPI اپراتورها با اعمال یک قاعده فیلترینگ در لایه DNS، بسته‌های UDP حاوی درخواست رکورد HTTPS برای دامنه cloudflare-ech.com (و یا پاسخ‌های حاوی پارامتر ech=) را شناسایی و مسدود (Drop) کردند2. نتیجه فوری این اقدام آن بود که میلیون‌ها کانفیگ منتشرشده در کانال‌های تلگرامی و پنل‌های مدیریت پروکسی که به صورت پیش‌فرض روی +udp://1.1.1.1 تنظیم شده بودند، در مرحله دریافت کلید اولیه متوقف شده و قادر به آغاز نشست TLS نبودند5.
علت آنکه در ساعات اولیه پس از ساعت ۲۱:۰۰ همچنان امکان دور زدن این محدودیت وجود داشت، این بود که در فاز اول، خودِ نشست TLS و نام دامنه cloudflare-ech.com در لایه SNI هنوز مسدود نشده بود، بلکه تنها مسیر دریافت کلید از طریق UDP استاندارد بسته شده بود4. کاربران حرفه‌ای و ابزارهای بهینه‌ساز کانفیگ (نظیر Proxy Builder، پنل BPB و کلاینت‌های PattN/PattNG) توانستند در این بازه زمانی کوتاه از طریق چهار تکنیک جایگزین، کلید عمومی کلودفلر را به دست آورند5. رویکرد نخست، جایگزینی پروتکل UDP با سرورهای DoH باز و فیلترنشده (مانند https\://8.8.8.8/dns-query یا https\://94.140.14.14/dns-query) بود که استعلام رکورد HTTPS را درون یک تانل رمزنگاری‌شده روی پورت ۴۴۳ ارسال می‌کردند و در نتیجه DPI قادر به دیدن درخواست کلید ECH نبود3. رویکرد دوم، تغییر آدرس رزولورهای UDP به سرورهای DNS کمتر شناخته‌شده (نظیر 185.228.169.9 یا 76.76.19.19) در شبکه‌هایی بود که فیلترینگ UDP را تنها روی آدرس‌های مشهور کلودفلر و گوگل اعمال کرده بودند5. در رویکرد سوم، از آنجا که کلید عمومی ECH کلودفلر برای تمام دامنه‌های این شرکت یکسان است و تنها به صورت دوره‌ای چرخش (Rotate) پیدا می‌کند، کاربران رشته Base64 کلید (که با AEX+DQBB... آغاز می‌شود) را یک‌بار استخراج کرده و به صورت استاتیک در بخش echConfigList فایل JSON کلاینت خود قرار می‌دادند تا اساساً نیازی به هیچ‌گونه استعلام DNS نباشد9. در نهایت، رویکرد چهارم مبتنی بر استعلام کلید از دامنه‌های فرعی کلودفلر (تکنیک MITM یا Key Borrowing) نظیر crypto.cloudflare.com بود که همان کلید عمومی معتبر لبه کلودفلر را برمی‌گرداندند اما نامشان در لیست سیاه فیلتر DNS قرار نداشت5.

فاز دوم: مسدودسازی کامل دامنه cloudflare-ech.com در لایه SNI

با مشخص شدن این موضوع که مسدودسازی پورت ۵۳ UDP برای متوقف کردن ECH کافی نیست و کلاینت‌ها از طریق DoH یا کلیدهای کش‌شده همچنان به لبه کلودفلر متصل می‌شوند، سامانه فیلترینگ ایران در روز بعد فاز دوم و نهایی عملیات خود را روی اپراتورهای اصلی (از جمله همراه‌اول و مخابرات) اجرا کرد: مسدودسازی مستقیم عبارت cloudflare-ech.com در فیلد SNI بسته ClientHelloOuter2.
در این مرحله، حتی اگر کاربر کلید عمومی ECH را از طریق DoH یا به صورت آفلاین در اختیار داشته باشد، به محض آنکه کلاینت بسته آغازین TLS 1.3 را به سمت آدرس‌های IP کلودفلر ارسال می‌کند، فایروال DPI دو شاخصه آشکار را در هدر بسته مشاهده می‌نماید: نخست، فیلد SNI بیرونی که حاوی رشته متنی cloudflare-ech.com است و دوم، حضور افزونه رمزنگاری‌شده ECH با شناسه 0xfe0d9. الگویی که در ایران پیاده‌سازی شده، دقیقاً مشابه مکانیزمی است که سازمان سانسور مخابراتی روسیه (Roskomnadzor) از تاریخ ۵ نوامبر ۲۰۲۴ روی تجهیزات TSPU خود فعال کرد و پیش از آن نیز در مستندات فنی فایروال‌های سازمانی نظیر FortiGate (از نسخه FortiOS 7.4.4 به بعد در حالت پروکسی و نسخه 7.6.3 در حالت Flow تحت پارامتر ech-outer-sni)، Cisco Secure Firewall و Sophos تشریح شده بود4.
بررسی‌های انجام‌شده روی پایگاه دانش و مستندات فنی پنل‌های بومی دور زدن فیلترینگ، از جمله مستندات پروژه BPB Panel (قابل دسترس در مخزن دانش filtershekan.sbs و مستندات فنی آن)، نشان می‌دهد که توسعه‌دهندگان پیش‌تر نسبت به این آسیب‌پذیری ساختاری هشدار داده بودند11. در مستندات فنی BPB تصریح شده است که اگرچه گزینه ECH به تمامی هسته‌ها اضافه شده، اما به دلیل آنکه کلودفلر از یک دامنه پیش‌فرض و ثابت به نام cloudflare-ech.com برای تمامی دامنه‌های CDN و Worker استفاده می‌کند، شناسایی و مسدودسازی آن برای سرویس‌دهندگان اینترنت (ISP) در ایران بسیار ساده بوده و کارایی پایداری در برابر فیلترینگ نخواهد داشت11.
علاوه بر این، آزمایش‌های فنی روی سرورهای لبه کلودفلر نشان می‌دهد که امکان تغییر دستی یا جعل (Spoofing) نام دامنه بیرونی (cloudflare-ech.com) به یک دامنه سفید یا دلخواه توسط کلاینت وجود ندارد20. هرچند برخی توسعه‌دهندگان پیشنهاد داده بودند که کلاینت‌ها کلید را از کلودفلر دریافت کنند اما در فیلد ClientHelloOuter نام دامنه دیگری را قرار دهند تا از فایروال عبور کند، اما سرورهای کلودفلر به صورت سخت‌گیرانه نام SNI بیرونی را اعتبارسنجی می‌کنند؛ به طوری که در صورت ارسال هر نامی غیر از cloudflare-ech.com (و یا حذف کامل SNI بیرونی)، سرور کلودفلر اتصال را رد کرده و خطای کشنده HANDSHAKE_FAILURE برمی‌گرداند20. جدول زیر ابعاد فنی دو فاز مسدودسازی اخیر و تاثیر آن بر لایه‌های شبکه را مقایسه می‌کند4.

ویژگی فنی / لایه شبکه فاز اول: انسداد کلید روی UDP (ساعت ۲۱:۰۰) فاز دوم: انسداد کامل SNI دامنه cloudflare-ech.com
پروتکل و پورت هدف پروتکل DNS بر بستر UDP (پورت ۵۳)5 پروتکل TLS 1.3 بر بستر TCP و QUIC (پورت ۴۴۳ و پورت‌های استاندارد کلودفلر)11
امضای شناسایی در DPI کوئری استعلام رکورد HTTPS (Type 65) برای cloudflare-ech.com یا پاسخ حاوی ech= [cite: 4, 22] تطابق رشته cloudflare-ech.com در فیلد ech-outer-sni به همراه افزونه 0xfe0d [cite: 17, 20, 34]
هدف عملیاتی فیلترینگ جلوگیری از دریافت کلید عمومی HPKE توسط کلاینت (Configuration Bootstrap Block)4 قطع کامل نشست رمزنگاری‌شده در مرحله دست‌دهی اولیه (TLS Handshake Drop/Reset)2
روش‌های دور زدن موقت استفاده از DoH باز (https\://8.8.8.8/dns-query)، تزریق مستقیم Base64 یا تغییر DNS5 غیرممکن برای ECH کلودفلر (به دلیل الزام سمت سرور به حضور cloudflare-ech.com در SNI بیرونی)2
پیامد جانبی بر وب عادی اختلال محدود در کلاینت‌های متکی بر DNS-over-UDP صریح3 از کار افتادن ECH روی مرورگرهای مدرن (فایرفاکس و کروم) یا تنزل اجباری به TLS بدون حریم خصوصی3

جبهه دوم بحران: چرایی مسدودسازی حساب‌ها و تانل‌ها توسط کلودفلر

بخش دوم چالش فعلی که کاربران ایرانی از آن به عنوان «جنگیدن همزمان در دو جبهه» یاد می‌کنند، به اقدامات تنبیهی و محدودیت‌های زیرساختی خودِ شرکت کلودفلر بازمی‌گردد13. در حالی که کاربران داخل ایران تلاش می‌کنند با استفاده از سرویس‌های کلودفلر از سد فیلترینگ عبور کنند، کلودفلر نیز به صورت سیستماتیک اقدام به بستن حساب‌های کاربری، تعلیق دامنه‌ها و مسدودسازی تانل‌های ورودی از مبدا ایران کرده است13. تحلیل دقیق سیاست‌های فنی و امنیتی کلودفلر نشان می‌دهد که این برخورد ناشی از سه عامل ساختاری است:

۱. نقض شرایط خدمات (ToS) و مقابله با تانلینگ ترافیک غیر-وب روی CDN

سرویس شبکه توزیع محتوا (CDN)، ورکرها (Cloudflare Workers) و صفحات استاتیک (Pages) در پلن‌های رایگان کلودفلر، صرفاً برای کش کردن و تسریع بارگذاری وب‌سایت‌های متعارف طراحی شده‌اند10. انتقال حجم بالای ترافیک پروکسی و VPN (نظیر پروتکل‌های VLESS، VMess و Trojan بر بستر WebSocket، gRPC یا XHTTP) مصداق بارز نقض شرایط استفاده از خدمات (Terms of Service) این شرکت است13. گزارش‌های مستند در انجمن‌های تخصصی سانسور اینترنت (مانند net4people) تایید می‌کند که کلودفلر سیستم‌های تشخیص خودکار خود را برای شناسایی الگوهای ترافیکی V2Ray/Xray ارتقا داده و دامنه‌ها یا ساب‌دامنه‌هایی را که از ترافیک CDN برای تانل کردن VPN استفاده می‌کنند، به صورت موجی مسدود و حساب‌های کاربری مرتبط را معلق (Suspend) می‌کند13.

۲. تخریب اعتبار آدرس‌های IP مشترک (IP Reputation) و مداخله تیم Trust & Safety

در معماری شبکه Anycast کلودفلر، تمامی کاربران پلن‌های رایگان و تجاری غیرسازمانی (تمامی پلن‌ها به جز پلن گران‌قیمت Enterprise BYOIP که در آن مشتری رنج IP اختصاصی خود را می‌آورد) از یک استخر مشترک آدرس‌های IP استفاده می‌کنند14. در ایران، به دلیل مسدود شدن مداوم IPهای کلودفلر توسط اپراتورها، اسکنرهای خودکار (نظیر CloudflareScanner) به صورت شبانه‌روزی رنج‌های IP کلودفلر را برای یافتن «آی‌پی تمیز» (Clean IP) اسکن کرده و حجم عظیمی از ترافیک ناشناس میلیون‌ها کاربر را روی تعداد معدودی IP سالم متمرکز می‌کنند10.
این تمرکز شدید ترافیک پروکسی، به همراه سوءاستفاده برخی مهاجمان سایبری و بات‌نت‌ها از سرویس‌های رایگان نظیر trycloudflare.com برای توزیع بدافزار یا حملات شبکه، باعث تخریب فوری اعتبار (IP Reputation) آدرس‌های کلودفلر در دیتابیس‌های امنیتی جهان می‌شود14. همان‌طور که در تحلیل‌های زیرساختی این شرکت اشاره شده است، تیم امنیت و اعتماد کلودفلر (Trust & Safety) برای محافظت از مشتریان تجاری خود در برابر مسدود شدن IPهای مشترک، بدون اخطار قبلی یا با مهلت‌های ۲۴ ساعته، حساب‌های کاربری ایجادکننده ترافیک پروکسی یا مشکوک را مسدود می‌کند14.

۳. محدودیت بر تانل‌های معکوس (Cloudflare Tunnels) از مبدا سرورهای داخل ایران

یکی از روش‌های پیشرفته که اخیراً توسط مدیران سرور در ایران برای دور زدن قطعی‌های مخابرات به کار گرفته شد، راه‌اندازی «تانل معکوس کلودفلر» (cloudflared / Argo Tunnel) بر روی سرورهای مجازی داخل ایران (VPS ایرانی) به سمت شبکه کلودفلر بود41. در این معماری، سرور داخل ایران یک اتصال خروجی پایدار به لبه کلودفلر برقرار می‌کند تا ترافیک کاربران را بدون نیاز به باز کردن پورت ورودی به خارج از کشور منتقل نماید41.
با این حال، واحد اطلاعات تهدیدات کلودفلر (Cloudforce One) و سیستم‌های ضدتقلب این شرکت، حساسیت بسیار بالایی روی ترافیک‌های غیرمتعارف و حساب‌های کاربری مرتبط با ایران دارند10. ایجاد تانل‌های پرحجم از مبدا ASNهای داخل ایران، استفاده از ایمیل‌ها یا روش‌های احراز هویت تکراری در ساخت اسکریپت‌های پنل‌های رایگان (مانند Nova Proxy یا BPB) و قوانین تحریمی، موجب شده است که الگوریتم‌های امنیتی کلودفلر اتصال تانل‌های ایجادشده از داخل ایران را قطع کرده و حساب‌های کاربری را در مرحله وریفای یا بلافاصله پس از عبور ترافیک ببندند10.

پیامدهای راهبردی و معماری‌های جایگزین در دوران پسا-ECH

تحلیل لایه‌های پنهان این رخداد نشان می‌دهد که مسدودسازی cloudflare-ech.com فراتر از یک اقدام فنی علیه فیلترشکن‌ها، دارای دو پیامد راهبردی مهم در سطح کلان اینترنت است. پیامد نخست، اثبات پارادوکس تمرکزگرایی در استانداردهای حریم خصوصی است. پروتکل ECH بر این فرض بنا شده است که اگر میلیون‌ها وب‌سایت پشت یک نام پوششی واحد (cloudflare-ech.com) پنهان شوند، هزینه اقتصادی و اجتماعی مسدود کردن آن نام برای یک دولت سانسورچی بسیار بالا خواهد بود8. اما تجربه عملی در روسیه و اکنون در ایران ثابت کرد که این فرض نادرست است2. از آنجا که کلودفلر کل ترافیک ECH خود را زیر یک نام ثابت تجمیع کرده است، فایروال دولتی می‌تواند بدون نیاز به مسدود کردن آدرس‌های IP کلودفلر (که باعث قطع شدن هزاران سایت تجاری و خدماتی می‌شود)، صرفاً با مسدود کردن دست‌دهی‌هایی که دارای SNI بیرونی cloudflare-ech.com و افزونه 0xfe0d هستند، کل مکانیزم ECH را از کار بیندازد11. در این حالت، ترافیک عادی TLS 1.2 یا TLS 1.3 بدون ECH روی همان IPهای کلودفلر باز می‌ماند و در نتیجه، سانسورچی بدون تحمیل خسارت اقتصادی ملموس به شبکه بانکی یا سایت‌های داخلیِ متکی بر کلودفلر، حریم خصوصی کاربران را خنثی می‌کند17.
پیامد دوم، تخریب مستقیم امنیت وب برای کاربران عادی است. در فایروال‌های مجهز به قابلیت بازرسی، مسدود کردن ECH یا باعث قطع کامل دسترسی مرورگرهای مدرن به وب‌سایت‌های دارای رکورد ech= می‌شود (بروز خطای ERR_ECH_FALLBACK_CERTIFICATE_INVALID یا تایم‌اوت دست‌دهی در صورتی که فایروال بسته را به صورت خاموش دور بریزد) و یا مرورگر را مجبور می‌کند به ارتباط TLS معمولی (Plaintext SNI) تنزل پیدا کند4. این امر به معنای حذف کامل لایه محافظت از حریم خصوصی است که کنسرسیوم‌های جهانی وب برای جلوگیری از رصد شهروندان توسط ISPها طراحی کرده بودند3.

راهکارهای فنی جایگزین در برابر انسداد ECH و محدودیت‌های کلودفلر

با خروج ECH از چرخه ابزارهای کارآمد روی شبکه کلودفلر در ایران و افزایش ریسک مسدودسازی اکانت‌ها، معماری‌های ارتباطی به سمت تکنیک‌های لایه پایین‌تر و مستقل از دامنه پوششی کلودفلر تغییر مسیر داده‌اند28. نخستین و مستقیم‌ترین جایگزین بر بستر CDN، تکنیک تکه‌تکه کردن بسته‌های دست‌دهی (TLS Fragmentation یا FinalMask) است12. برخلاف ECH که سعی می‌کند فیلد SNI را رمزنگاری کند و نیازمند همکاری سرور کلودفلر و دامنه cloudflare-ech.com است، تکنیک Fragmentation بسته ClientHello را در لایه TCP به قطعات بسیار کوچک (تحت پارامترهای fm یا FinalMask نسخه ۱ و ۲ در هسته Xray) تقسیم می‌کند11. از آنجا که رشته متنی SNI دامنه فیلترشده بین چند بسته مختلف شکسته می‌شود، تجهیزات DPI ایران که به دلیل بار پردازشی سنگین قادر به بازسازی و چسباندن تمام قطعات TCP در لحظه (Stateful Reassembly) نیستند، نمی‌توانند نام دامنه را تشخیص دهند، در حالی که سرور مقصد در لبه کلودفلر بسته‌ها را به درستی سرهم کرده و اتصال را برقرار می‌کند11.
راهکار مکمل دوم، پیاده‌سازی معماری پروکسی زنجیره‌ای (Chain Proxy) برای حفظ پایداری و اعتبار آدرس IP است11. برای مقابله با مسدودسازی حساب‌ها و تغییر مداوم IP در ورکرهای کلودفلر، استفاده از ساختار زنجیره‌ای که در ابزارهایی نظیر پنل BPB و Proxy Builder پیاده‌سازی شده، نقش کلیدی ایفا می‌کند11. در این روش، کانفیگ اول (شامل ورکر کلودفلر مجهز به Fragment برای عبور از فایروال ایران) به یک کانفیگ دوم (یک سرور مجازی خارج از کشور با پروتکل VLESS، Trojan یا حتی SSH که IP آن در ایران فیلتر است) زنجیره می‌شود11. به این ترتیب، کلودفلر تنها به عنوان پل عبور اولیه عمل کرده و ترافیک نهایی با IP ثابت و تمیز سرور دوم وارد اینترنت می‌شود که از مسدود شدن حساب‌ها در سرویس‌های مقصد جلوگیری می‌کند11.
در کنار روش‌های مبتنی بر CDN، گذار به پروتکل‌های ارتباط مستقیم نظیر VLESS به همراه REALITY و XHTTP به عنوان راهکار سوم مطرح است38. با افزایش فشار کلودفلر بر اکانت‌های ایرانی و مسدودسازی رنج IPهای CDN توسط اپراتورها، استفاده از پروتکل REALITY بر روی سرورهای مجازی مستقیم (خارج از شبکه کلودفلر) پایداری بالاتری نشان داده است38. پروتکل REALITY بدون نیاز به خرید دامنه، در مرحله دست‌دهی TLS هویت و گواهی امنیتی واقعی یک وب‌سایت مجاز و سفید (Whitelisted SNI نظیر steamcommunity.com) را به فایروال نشان می‌دهد و در کنار شبیه‌سازی دقیق اثرانگشت مرورگر (uTLS Fingerprint نظیر Chrome یا Firefox)، امکان شناسایی ترافیک پروکسی توسط DPI را به حداقل می‌رساند28. همچنین به عنوان راهکار چهارم، بهره‌گیری از بستر IPv6 روی اپراتورهای پشتیبان (نظیر ایرانسل، رایتل و آسیاتک) به دلیل حساسیت کمتر تجهیزات فیلترینگ روی آدرس‌دهی نسخه ششم و نیز تغییر پروتکل تانلینگ در سرویس Cloudflare WARP از حالت پیش‌فرض WireGuard به پروتکل جدیدتر MASQUE (مبتنی بر HTTP/3 و QUIC) در نسخه‌های بتا، مسیرهای جایگزین موثری برای عبور از انسدادهای اعمال‌شده بر روی درگاه‌های کلودفلر فراهم می‌کنند11. جدول زیر کارایی و ریسک‌های عملیاتی هر یک از این روش‌ها را در شرایط فعلی شبکه ایران مشخص می‌سازد11.

روش / معماری اتصال مکانیزم پنهان‌سازی SNI وضعیت در برابر DPI ایران ریسک مسدودسازی اکانت در کلودفلر پیش‌نیاز فنی سمت کلاینت و سرور
Cloudflare ECH رمزنگاری با کلید عمومی و نمایش cloudflare-ech.com [cite: 8, 9] مسدود شده (هم در لایه UDP DNS و هم در لایه SNI بیرونی)2 بالا (در صورت استفاده برای تانلینگ پرحجم روی Worker/CDN)13 پشتیبانی هسته از echConfigList و دسترسی به رکورد نوع ۶۵12
TLS Fragmentation (fm) شکستن بایت‌های بسته ClientHello در چند قطعه TCP28 فعال و کارآمد (عبور از بازرسی بدون حالت DPI)11 متوسط تا بالا (نیازمند رعایت محدودیت ترافیک یا توزیع بار)10 کلاینت‌های پشتیبان FinalMask / Fragment و تنظیم Cipher Suites5
Chain Proxy (CDN + VPS) ترکیب Fragment در گره اول و هدایت به سرور دوم11 فعال و پایدار (حتی در صورت فیلتر بودن IP سرور دوم)11 پایین‌تر برای سرویس‌های مقصد (به دلیل ثابت شدن IP خروجی)11 پیکربندی JSON ترکیبی در Xray یا Sing-box28
VLESS + REALITY جعل هویت TLS از روی دامنه‌های سفید (Whitelisted SNI)38 فعال (مقاوم در برابر فیلترینگ SNI، حساس به وایت‌لیستینگ کامل IP)38 صفر (مستقل از شبکه کلودفلر، اجرا روی VPS اختصاصی)37 سرور مجازی با IP تمیز و تنظیم uTLS Fingerprint37

جمع‌بندی تحلیلی

آنچه طی ۴۸ ساعت گذشته در زیرساخت ارتباطی ایران رخ داده، نشان‌دهنده همگرایی کامل تکنیک‌های سانسور در ایران با مدل بازرسی عمیق بسته‌ها در روسیه (TSPU) و چین (GFW) است2. سیستم فیلترینگ ایران با درک این واقعیت که کلودفلر تمامی نشست‌های پروتکل ECH را پشت دامنه واحد cloudflare-ech.com تجمیع کرده است، ابتدا با بستن استعلام رکوردهای HTTPS روی پورت ۵۳ UDP، فرآیند دریافت کلید را برای کانفیگ‌های عمومی مختل کرد و بلافاصله با مسدود کردن خودِ SNI دامنه cloudflare-ech.com، راه را بر دور زدن این محدودیت از طریق DoH یا تزریق دستی کلید بست2. در نتیجه، تا زمانی که کلودفلر الزام استفاده از نام ثابت cloudflare-ech.com را در هدر بیرونی TLS حفظ کند، پروتکل ECH در داخل شبکه ایران عملاً غیرقابل استفاده خواهد بود و راهکار فنی برای حفظ ارتباطات بر بستر CDN، غیرفعال کردن پارامتر ech در کانفیگ‌ها و جایگزینی آن با مکانیزم TLS Fragmentation (fm) در کنار معماری Chain Proxy و پروتکل‌های مستقل از CDN نظیر REALITY است11.

Works cited

  1. نوسان رادار کلودفلر؛ بررسی نشانه‌های تغییر در شبکه اینترنت ایران, https\://digiato.com/tech/iran-internet-cloudflare-radar-whitelist-vpn-analysis
  2. Telegram channel "⚡️ ZEUS PANEL" — @PANEL_ZEUS — TGStat, https\://ir.tgstat.com/channel/%40PANEL_ZEUS
  3. Encrypted Client Hello (ECH) in Firefox: What It Does and Why It, https\://dev.to/weatherclockdash/encrypted-client-hello-ech-in-firefox-what-it-does-and-why-it-matters-3b7g
  4. Encrypted Client Hello (ECH) Defense Strategies - How Cisco, https\://secure.cisco.com/secure-firewall/docs/encrypted-client-hello-defense-strategies-how-cisco-secure-firewall-tackles-ech
  5. Proxy Builder, https\://hidden-node.github.io/proxy-builder/
  6. ECH Protocol - SSL/TLS - Cloudflare Docs, https\://developers.cloudflare.com/ssl/edge-certificates/ech/
  7. TLS Encrypted Client Hello (ECH) Configuration Extensions, https\://www.iana.org/assignments/tls-ech-configuration-extensions
  8. Encrypted Client Hello - the last puzzle piece to privacy, https\://blog.cloudflare.com/announcing-encrypted-client-hello/
  9. HTTP, HTTPS, and TLS: Part 6 — What is ECH (Encrypted Client, https\://bigmike.help/en/posts/http-https-and-tls-part-6-what-is-ech-encrypted-client-hello-and-how-it-h-7c4d66/
  10. راهنمای کامل پنل نوا پروکسی (Nova Proxy) - GitHub, https\://github.com/IRNova/Nova-Proxy/blob/main/GUIDE.md
  11. VLESS and Trojan settings - BPB Panel - GitHub Pages, https\://bia-pain-bache.github.io/BPB-Worker-Panel/configuration/vless-trojan/
  12. cf-optimizor - ArasTey - GitHub, https\://github.com/ArasTey/cf-optimizor
  13. Cloudflare's Update Cripples Iranian VPNs · Issue #429 - GitHub, https\://github.com/net4people/bbs/issues/429
  14. Cloudflare took down our website - Hacker News, https\://news.ycombinator.com/item?id=40481808
  15. دور زدن فیلترینگ دامنه در V2ray: حل دو مشکل روش تونل کلودفلر, https\://virgool.io/@daily-tech/%D8%AD%D9%84-%D8%AF%D9%88-%D9%85%D8%B4%DA%A9%D9%84-%D8%AA%D9%88%D9%86%D9%84-%DA%A9%D9%84%D9%88%D8%AF%D9%81%D9%84%D8%B1-%D9%81%D8%B1%DA%AF%D9%85%D9%86%D8%AA-%D8%AF%D8%B1-v2ray-%D8%AE%D8%B7%D8%A7%DB%8C-%DA%A9%D8%A7%D9%86%D9%81%DB%8C%DA%AF-%D9%85%D9%88%D8%A8%D8%A7%DB%8C%D9%84-%D9%88-%D9%86%D8%AD%D9%88%D9%87-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D9%BE%D9%88%D8%B1%D8%AA-%D8%AC%D8%AF%DB%8C%D8%AF-hk7khqulbpdl
  16. encrypted sni - Noise, https\://noise.getoto.net/tag/encrypted-sni/
  17. Blocking of Cloudflare ECH in Russia, 2024-11-05 #417 - GitHub, https\://github.com/net4people/bbs/issues/417
  18. How to implement the "extensionEncryptedClientHello (boringssl, https\://github.com/refraction-networking/utls/issues/240
  19. RFC 9849: TLS Encrypted Client Hello, https\://www.rfc-editor.org/info/rfc9849/
  20. Cloudflare has enabled ECH (staged) · Issue #393 · net4people/bbs, https\://github.com/net4people/bbs/issues/393
  21. Encrypted Client Hello - the last puzzle piece to privacy, https\://blog.cloudflare.com/announcing-encrypted-client-hello
  22. Encrypted Client Hello: Ready for Prime Time? - SANS ISC, https\://isc.sans.edu/diary/32778
  23. ECH Is Done, But Can We Make It Work? - Feisty Duck, https\://www.feistyduck.com/newsletter/issue_136_ech_is_done_but_can_we_make_it_work
  24. ECH Fronting? · Issue #529 · net4people/bbs - GitHub, https\://github.com/net4people/bbs/issues/529
  25. Post #33654 — MTMVPN | PROXY_MTM | VPN | V2RAY | V2box, https\://ir.tgstat.com/channel/@mtmvpn/33654
  26. کانفینگ V2rayng – Telegram, https\://t.me/s/v2rayshahin?before=17757
  27. هدیفای کانفیگ ساب وارپ ♻️⚕️✴️✳️ – Telegram, https\://t.me/s/sorenab2?before=72172
  28. GitHub - Hidden-Node/proxy-builder: A specialized web tool to chain, https\://github.com/Hidden-Node/proxy-builder
  29. White DNS – Telegram, https\://t.me/s/whitedns?before=1948
  30. Any Outer SNI can be used for Cloudflare ECH as long as it's behind, https\://github.com/patterniha/PattN/issues/34
  31. White DNS – Telegram, https\://t.me/s/whitedns?before=1988
  32. White DNS – Telegram, https\://t.me/s/whitedns?before=1956
  33. Website privacy due to Cloudflare's Encrypted Client Hello, https\://support.sophos.com/support/s/article/KBA-000010042?
  34. Websites are not blocked due to Encrypted Client Hello (ECH), https\://community.fortinet.com/fortigate-3/troubleshooting-tip-websites-are-not-blocked-due-to-encrypted-client-hello-ech-214976
  35. BPB - فیلترشکن سارینا, https\://filtershekan.sbs/BPB/
  36. کلودفلر چیست و چه ارتباطی با افزایش فیلترینگ دارد؟ + ویدیو, https\://rooziato.com/2023473793/what-is-cloudflare/
  37. xray-(x)tls-cloudflare-cdn-multiple-config-for-iran - GitHub, https\://github.com/sinatarianian/xray-x-tls-cloudflare-multiple-config-for-iran
  38. Iran: Internet shutdown from 18:45 UTC 8 January 2026 #561 - GitHub, https\://github.com/net4people/bbs/issues/561?timeline_page=1
  39. TeamPCP IOCs + actor profile - searchable dataset with CSV export, https\://teampcp.pluto.security/iocs/
  40. هکرها از سرویس رایگان TryCloudflare برای ارائه بدافزار دسترسی از راه, https\://liangroup.net/blog/hackers-abuse-free-trycloudflare-to-deliver-remote-access-malware/
  41. با تانل معکوس کلادفلر، فیلترینگ رو برای همیشه دلیت کن! - YouTube, https\://www.youtube.com/watch?v=Z7a4A-XFHnc
  42. کلودفلر چیست؟ آشنایی با امکانات و مزایای استفاده از cloudflare!, https\://vpsmarket.org/blog/what-is-cloudflare-and-what-does-it-do/
  43. امنیت اینترنت اشیا + بررس خطرات ناشی از سرقت اطلاعات محرمانه, https\://mahannet.ir/blog/internet-knowledge/security-of-internet-of-things/
  44. Cloudflare warns Iran targeting Instagram accounts, https\://www.iranintl.com/en/202601142061
  45. Cloudflare ECH triggered when DNS query is made in LAN #2400, https\://github.com/pi-hole/FTL/issues/2400
  46. چرا کانفیگ‌های کلودفلر از کار افتادن؟ آموزش کامل ساخت - YouTube, https\://www.youtube.com/watch?v=je4jzaXeMwQ
  47. اتصال ضد فیلتر با XHTTP، REALITY و ECH (راهنمای کامل) - YouTube, https\://www.youtube.com/watch?v=bn52dxBPuw0
  48. WhiteAestherMobile/docs/GUIDE.fa.md at main - GitHub, https\://github.com/WhiteDNS/WhiteAestherMobile/blob/main/docs/GUIDE.fa.md
  49. DNSCrypt, DNS Stamps, Linux Setup, Android, and the SNI Problem, https\://esli.blog/posts/encrypted-dns-the-guide-dnscrypt-dns-stamps-linux-setup-android-and-the-sni-problem/
  50. فیلتر شکن رایگان | VPN - Statistics & analytics of ... - Telemetrio, https\://telemetr.io/en/channels/1793037046-vpnsal/posts
  51. در روزهای اخیر کدام شرکت‌ها اینترنت داشتند؟ - زومیت, https\://www.zoomit.ir/tech-iran/455738-summary-cloudflare-report/
  52. ZEUS PANEL – Telegram, https\://t.me/s/PANEL_ZEUS
  53. رفع مشکل فیلترشکن WARP در اتصال به وارپ - SAE22, https\://sae22.ir/fix-vpn-warp-problem/