قابل حمل بودن پروفایل OpenVPN: کلیدهای قابل حمل در برابر گزینههای پلتفرم
یک فایل .ovpn مواد هویتی قابل حمل را با دستورهایی ترکیب میکند که فقط یک کلاینت آنها را میفهمد. پیش از سرزنش گواهی برای یک خطا، این دو را مقایسه کنید.
همان فایل .ovpn در یک کلاینت تونل باز میکند و در کلاینت دیگری بالا نمیآید، و گواهی معمولاً اولین مظنون است. بیشتر اوقات فایل دستوری دارد که فقط یک موتور آن را پیادهسازی میکند. پروفایل قرارداد با یک کلاینت مشخص است، نه یک اسکریپت قابل حمل.
آنچه با هویت سفر میکند را از آنچه به یک پلتفرم تعلق دارد جدا کنید. آنگاه خطا معمولاً خودش را نامگذاری میکند.
یک فایل، دو قرارداد
یک پروفایل سه نوع محتوا را کنار هم میگذارد: مواد هویتی مانند گواهی CA و گواهی کلاینت و کلید خصوصی، واقعیتهای انتقال مانند نقطه پایانی راهدور و پروتکل، و دستورهای رفتاری مانند مدیریت DNS یا گزینههای دستگاه. دو مورد اول میان موتورهایی که همان پروتکل را پشتیبانی میکنند تا حد زیادی قابل حملاند. مورد سوم جایی است که پیادهسازیها از هم جدا میشوند. برخورد با کل فایل بهعنوان یک واحد قابل حمل همان چیزی است که خطاهای گیجکننده را میسازد.
فایلی که در یک رابط گرافیکی روی یک پلتفرم کار میکند بهطور خودکار برای کلاینت خط فرمان روی پلتفرم دیگر معتبر نیست. حتی وقتی هر دو OpenVPN هستند، تحلیلگرها و مجموعه گزینهها متفاوتاند. به همین دلیل یک درونریزی موفق مدرکی بر قابل حمل بودن پروفایل نیست.
مواد قابل حمل در برابر دستورهای پلتفرم
بخشهای هویت و انتقال همان بخشی هستند که باید حفظ شود. ca، cert، key و remote توصیف میکنند چه کسی و به کجا متصل میشود، و برای هر کلاینت سازگار معنای یکسانی دارند.
دستورهای رفتاری همان بخشی هستند که باید مقایسه شود. block-outside-dns مثلاً برای تغییر رفتار DNS در ویندوز وجود دارد. ممکن است کلاینت یونیکس اصلاً آن را نشناسد.
فهرست گزینههای کلاینت گیرنده را بخوانید، نه فرستنده را. راهنمای مرجع OpenVPN 2.6 گزینههای موتور را مستند میکند، و پنجره درونریزی یک رابط گرافیکی آن فهرست نیست.
پیش از گواهی، خطای تحلیلگر را بخوانید
خطایی که یک گزینه ناشناخته را نام میبرد خطای تحلیلگر است، نه خطای احراز هویت. اتصال هرگز به TLS نرسید، پس تغییر گواهیها کمکی نمیکند. نخستین خطا را از کلاینت و نسخه واقعی بخوانید، سپس فقط همان دستوری را حذف یا جایگزین کنید که آن کلاینت نمیتواند پیادهسازی کند. حذف بخشهای گواهی یا مسیر برای اینکه فایل بارگذاری شود همان راهی است که یک پروفایل کارآمد به یک پروفایل ناامن تبدیل میشود.
اگر خطا به دستدهی، گواهی یا رمز اشاره کند، پروفایل تجزیه شده و مشکل جای دیگری است.
فایل اصلی را کنار فایل تطبیقدادهشده نگه دارید. وقتی فایل تطبیقدادهشده بعداً شکست بخورد، فایل اصلی همان شاهد است که میگوید تغییر جابهجا شده یا محیط.
دسترسی ممتاز مرز دوم است
دسترسی ممتاز مرز دیگر است: ساختن دستگاه تونل، نصب مسیرها و خواندن کلید خصوصی همه به مجوزهای محلی وابستهاند. فایل کلیدی که فقط root میتواند بخواند یک استقرار عادی است، نه عیب پروفایل. اصلاح به مالکیت یا قابلیتها تعلق دارد، نه به فایل.
اجرای کلاینت با sudo میتواند یک رد مجوز محلی را حل کند، و نمیتواند دستوری را اضافه کند که باینری آن را پیادهسازی نمیکند. همچنین تغییر میدهد که جاکلیدی کدام کاربر، کدام مسیرهای پیکربندی و کدام بافت مدیر شبکه اعمال شود، پس نتیجه همان آزمون نیست.
آگاهانه تطبیق دهید
وقتی ارائهدهنده پروفایلهای جداگانه منتشر میکند، آن را بردارید که برای کلاینت گیرنده در نظر گرفته شده است. تطبیق دادن فایل یک پلتفرم دیگر آخرین راه است. به ثبت هر گزینه تغییریافته و یک نسخه از اصل نیاز دارد.
هویت، مسیریابی و DNS را سه نتیجه جداگانه بیازمایید. پروفایلی که احراز هویت و مسیریابی میکند اما تفکیک نام را میشکند، پروفایلی نیمهتطبیقیافته است، نه یک پروفایل کارآمد.