کلاینت می‌گوید متصل است، سرور یک همتا می‌بیند، و برنامه همچنان به جایی نمی‌رسد. در این نقطه پرسش سودمند این نیست که کدام رمز را تغییر دهیم، بلکه این است که کدام کانال خراب شد. OpenVPN دو کارکرد را صریح نام می‌برد: کانال کنترلی که درباره نشست مذاکره می‌کند و آن را مدیریت می‌کند، و کانال داده که ترافیک محافظت‌شده را حمل می‌کند. IKEv2 تقسیم مشابهی را از طریق انجمن IKE و انجمن CHILD بیان می‌کند. بررسی‌های زیر را به ترتیب انجام دهید، زیرا اصلاح مسیر داده که روی خرابی مسیر کنترل اعمال شود، پنجره تغییر را هدر می‌دهد.

پیش از اشکال‌زدایی، کانال را نام ببرید

سمت کنترل درباره مواد امنیتی مذاکره می‌کند، همتاها را احراز هویت می‌کند و اتصال را مدیریت می‌کند. سمت داده ترافیک انتخاب‌شده را زمانی که وضعیت لازم وجود دارد حمل می‌کند.

آنها به شکل‌های متفاوت خراب می‌شوند. خرابی کنترل معمولاً شما را بدون هیچ نشست قابل استفاده‌ای رها می‌کند، یا با نشستی که در حلقه دوباره مذاکره می‌کند. خرابی داده نشستی را رها می‌کند که سالم به نظر می‌رسد، در حالی که بسته‌ها دور ریخته، اشتباه مسیریابی یا با پارامترهایی محافظت می‌شوند که طرف مقابل نمی‌پذیرد. خط گزارش که می‌خوانید می‌گوید در کدام حالت هستید، پس برچسب را پیش از متن خطا بخوانید.

تبادل کنترل را بررسی کنید

تأیید کنید که دست‌دهی کامل می‌شود و هر دو طرف درباره انتقال، نسخه TLS و روش احراز هویت توافق دارند. گزارش‌های OpenVPN خطوط جداگانه کانال کنترل و کانال داده را چاپ می‌کنند، و ناسازگاری گواهی، نسخه TLS یا tls-crypt در خط کنترل دیده می‌شود.

اگر تبادل کنترل خراب شود، به درگاه قابل دسترس، زنجیره گواهی و تاریخ‌های اعتبار آن، ساعت سیستم، همپوشانی رمزها میان کلاینت و سرور و هر کلید tls-auth یا tls-crypt نگاه کنید. زنجیره گواهی بزرگ می‌تواند پیش از کامل شدن هر احراز هویتی در MTU مسیر هم خراب شود، که مانند یک پایان مهلت به نظر می‌رسد نه یک خطای رمزنگاری.

خرابی‌های کنترل را با تنظیمات کنترل اصلاح کنید. بالا بردن رمز داده یا آسان‌تر کردن سیاست احراز هویت داده، دست‌دهی‌ای را که هرگز از تبادل گواهی فراتر نرفت کامل نمی‌کند.

کانال داده را جداگانه بررسی کنید

پس از برپا شدن نشست، رمز و حالت داده مذاکره‌شده، استخراج کلید و رفتار بازتولید کلید را تأیید کنید. در OpenVPN، خط کانال داده رمز و اندازه کلیدی را که واقعاً آغاز شده‌اند نام می‌برد، و این‌ها می‌توانند با نخستین رمز در پروفایل متفاوت باشند.

سپس بررسی کنید نشست چه چیزی نصب کرده است. یک PUSH_REPLY می‌تواند مسیرها، یک سرور DNS و دستور redirect-gateway اضافه کند، و هر یک از این‌ها می‌تواند ترافیک را جایی بفرستد که برنامه نمی‌تواند استفاده کند. برای IKEv2، پرسش معادل این است که آیا انتخاب‌گرهای انجمن CHILD با نشانی‌های جریان واقعی می‌خوانند.

tls-auth و tls-crypt به کانال کنترل تعلق دارند. آنها دست‌دهی را احراز هویت یا رمزنگاری می‌کنند و رمز داده برنامه را انتخاب نمی‌کنند. اگر یکی از آنها را با انتظار تغییر در مسیر داده اضافه کنید، تنها چیزی که تغییر داده‌اید دست‌دهی است.

نام‌ها را به IKEv2 و OpenVPN نسبت دهید

IKEv2 یک انجمن امنیتی IKE و یک یا چند انجمن CHILD دارد. انجمن IKE تبادل‌های کنترل را حمل می‌کند؛ انجمن CHILD ترافیک محافظت‌شده و انتخاب‌گرهای آن را حمل می‌کند. آنها با زمان‌بندی‌های جداگانه مذاکره و کلیدهایشان بازتولید می‌شوند، بنابراین یکی می‌تواند سالم باشد در حالی که دیگری نیست.

ESP درون خود کانال کنترلی به سبک TLS ندارد. پروتکل کنترل IKE است و ESP بار محافظت‌شده است. نامیدن ESP به عنوان کانال داده یک کوتاه‌نویسی سست است که هنگام خواندن یک ضبط بسته گیج‌کننده می‌شود، زیرا ضبط پیام‌های IKE و بسته‌های ESP را به عنوان پروتکل‌های متفاوت روی سیم نشان می‌دهد.

نسبت‌دهی را در یادداشت‌هایتان صریح نگه دارید: کانال کنترل OpenVPN و IKE SA سمت مدیریت هستند، کانال داده OpenVPN و CHILD SA سمت ترافیک هستند، و پیاده‌سازی‌ها حتی وقتی تقسیم مشابه به نظر می‌رسد قابل تبادل نیستند.

تغییر تنظیم نادرست را متوقف کنید

مسیر را در یک جهت طی کنید: تبادل کنترل، حفاظت داده، ارسال، سپس تحلیل نام. در نخستین مرحله‌ای که خراب می‌شود توقف کنید و فقط همان مرحله را اصلاح کنید. نشست متصلی که پینگ به دروازه در آن کار می‌کند اما ترافیک برنامه ندارد، مشکل ارسال یا انتخاب‌گر است، نه مشکل دست‌دهی.

شواهد هر مرحله را جداگانه در تیکت بنویسید: خط گزارش کنترل، پارامترهای داده مذاکره‌شده، مسیرهای نصب‌شده و یک درخواست واقعی. این ساختار جلوی تضعیف یک بررسی هویت کارآمد برای تعمیر مشکل مسیریابی بعدی را که هرگز آن را ایجاد نکرده بود می‌گیرد، و جلوی فروش تغییر رمز داده به عنوان راه‌حل خطای گواهی را می‌گیرد.

مستندات پروتکل OpenVPN مرجع تقسیم کنترل و داده است؛ وقتی رابط یک فروشنده واژه‌های دیگری برای همان دو کارکرد به کار می‌برد از آن استفاده کنید.

مقالات مرتبط