OpenVPN که ماه گذشته کار می‌کرد اکنون هنگام راه‌اندازی با این خطا شکست می‌خورد: ca md too weak، و نمایه روی دیسک بایت‌به‌بایت همانی است که کار می‌کرد. پیام مربوط به امضای گواهی یک مرجع صدور گواهی است، نه رمزنگاری داده، خلاصه auth یا گذرواژه حساب. سه شرط تعیین می‌کند که راه‌حل ماده هویت تازه است، زنجیره تازه، یا تغییر عامدانه سیاست. آن‌ها را به ترتیب کار کنید تا از نتیجه معمول بپرهیزید: بازگشت تونل با تضعیف هر اتصال TLS روی میزبان.

خطا در واقع چه چیزی را نام می‌برد

OpenSSL این خطای بررسی را هنگام ساختن زنجیره برمی‌دارد، وقتی گواهی که نقش CA دارد خلاصه امضایی را حمل می‌کند که سطح امنیتی کتابخانه دیگر نمی‌پذیرد. MD5 در سطح پیش‌فرض رد می‌شود و SHA-1 به‌محض بالا بردن سطح رد می‌شود. خلاصه گواهی برگ در اینجا کم‌اهمیت‌تر از خلاصه صادرکننده‌ای است که آن را امضا می‌کند. همان سیاست می‌تواند ریشه‌ای را رد کند که روز صدورش کاملاً عادی بود.

به همین دلیل ویرایش auth یا data-ciphers هیچ کاری برای این شکست نمی‌کند. آن تنظیم‌ها کنترل می‌کنند بسته‌ها پس از دست‌دهی چگونه محافظت می‌شوند، در حالی که شیء ردشده سندی هویتی است که پیش از وجود تونل بررسی می‌شود. یک گواهی می‌تواند راحت داخل پنجره اعتبارش بنشیند و باز هم امضایی را حمل کند که کتابخانه نخواهد پذیرفت.

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

شرط یکم: آیا شیء ردشده همان ریشه است؟

هر گواهی نمایه را چاپ کنید و فیلدهای subject و issuer را بخوانید. ریشه خودامضا در هر دو همان مقدار را نشان می‌دهد و الگوریتم امضایش همانی است که کل زنجیره بر آن استوار است. وقتی خلاصه ضعیف آنجاست، هر برگ زیر آن مشکل را به ارث می‌برد. الگوریتم را کنار subject بنویسید تا مقایسه بعدی مکانیکی باشد نه از حافظه.

فایل‌های CA بسته‌بندی‌شده غالباً چند بلوک دارند، پس بلوکی را که واقعاً بارگذاری می‌شود شناسایی کنید، نه اینکه فرض کنید اولی مقصر است. فرمان openssl x509 -in ca.pem -noout -subject -issuer -text هر بار یک گواهی را توصیف می‌کند، یعنی اگر بسته بیش از یکی دارد باید ابتدا تقسیمش کرد. الگوریتم امضای چاپ‌شده را با خلاصه‌ای که از دوره ساخت ریشه انتظار دارید مقایسه کنید.

برگی که با SHA-256 زیر ریشه ضعیف امضا شده باز هم شکست می‌خورد، چون بررسی زنجیره تا بالاترین نقطه می‌رود. همین ترتیب شرط بعدی را مهم می‌کند.

شرط دوم: آیا صادرکننده در کنترل شماست؟

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

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

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

شرط سوم: پایین آوردن سطح چه چیز دیگری را می‌پذیرد

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

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

استثنا را با مالک و گام حذف بنویسید. تغییر سطح مستندنشده شش ماه بعد از یک اشتباه قابل تشخیص نیست و مهندس بعدی نخواهد دانست که هرگز تصمیمی بوده است.

تصمیم، در قالب قاعده نوشته شده

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

سپس نمایه را از یک کارخواه پاک دوباره بیازمایید، تأیید کنید دست‌دهی کامل می‌شود، و اگر باز هم شکست خورد متن دقیق رد را نگه دارید. پیام خطای دقیق ارزان‌ترین چیزی است که می‌توانید به صاحب لایه بعدی بدهید.

مقالات مرتبط