تمدید گواهی OpenVPN: گواهی را تحویل دهید، نه تایمر را
تایمری که گواهیها را دوباره صادر میکند نیمهٔ آسان ماجراست. آن را با مسیر تمدیدی مقایسه کنید که مجوز میدهد، تحویل میدهد، فعال میکند و هنوز هم میتواند یک دستگاه را نجات دهد.
دو طراحی تمدید در یک بازبینی طراحی یکسان به نظر میرسند و در ژانویه کاملاً متفاوت عمل میکنند. اولی یک تایمر اجرا میکند، گواهیها را دوباره صادر میکند و فایلها را در یک پوشهٔ مشترک میریزد. دومی تمدید را یک مسئلهٔ تحویل میداند: چه کسی درخواست میکند، چه چیزی صلاحیت را اثبات میکند، مواد چگونه به دستگاه میرسد و چه چیزی باعث میشود کلاینت از آن استفاده کند. فقط دومی از یک لپتاپ آفلاین، یک دارایی بازنشسته و تحویلی که بیصدا شکست خورده جان سالم به در میبرد.
دو طراحی را جایی مقایسه کنید که واقعاً تفاوت دارند
طراحی با تایمر سمت سرور را بهینه میکند. یک وظیفهٔ زمانبندیشده CA را صدا میزند، گواهی تازهای ظاهر میشود و اپراتور کار را تمامشده میداند. هر چیزی که پس از صدور رخ دهد مشکل کس دیگری است، تا وقتی دستگاهی نتواند متصل شود و تاریخ انقضا دلیل را توضیح دهد.
طراحی گردشکار آخرین مایل را بهینه میکند. فرض میکند که صدور یک حلقه از زنجیره است و هر گام بعدی میتواند مستقلاً شکست بخورد. این کار ساختن را گرانتر و بهرهبرداری را بسیار ارزانتر میکند، چون خرابیها بهصورت وضعیتهای ردیابیشده ظاهر میشوند نه کلاینتهای منقضی.
راه مفیدی برای نگهداشتن تفاوت در دید، توالیای است که هر طراحی باید صریحاً نام ببرد.
detect window -> authenticate request -> authorize -> issue
-> deliver and stage -> activate -> verify fresh auth -> retire old materialپنجره را از خود گواهی تشخیص دهید
اعتبار را از گواهیای بخوانید که کلاینت واقعاً ارائه میدهد، نه از تاریخی که در نام فایل کپیشده جا افتاده است. نام فایلها جابهجا میشوند و فایلی که روی آن 2026 نوشته شده میتواند اعتبارنامهای داشته باشد که در مارس منقضی میشود.
برای موارد کند در پنجره جای خالی بگذارید: دستگاههایی که هفتهها آفلایناند، تأییدهایی که به یک انسان نیاز دارند و مسیرهای تحویلی که یک بار پیش از کار کردن شکست میخورند. تایمری که موفقیت را گزارش میکند فقط ثابت میکند که تایمر اجرا شده، نه بیشتر.
پیش از صدور هر چیزی درخواست را مجاز کنید
یک گواهی موجود میتواند بخشی از یک سازوکار تمدید مشروع باشد، اما متن موضوع آن تصمیم مجوزدهی نیست. پرسشی که باید پاسخ داده شود این است که آیا این حساب و این دستگاه هنوز در ناوگان مستحق یک هویت هستند، و آن پاسخ در سوابق دارایی شما زندگی میکند نه در گواهی.
لپتاپ بازنشستهای که وظیفهٔ زمانبندیشدهاش هنوز اجرا میشود نباید حق تازهای دریافت کند. RFC 7030 ارزش خواندن دارد، چون ثبتنام مجدد احرازشده را از مجوزدهی و سیاست سمت سرور جدا میکند؛ الگویی است برای وام گرفتن، نه ادعای اینکه OpenVPN یا EasyRSA آن پروتکل را عرضه میکنند.
تحویل، آمادهسازی و فعالسازی بهعنوان گامهای جداگانه
صدور هویت، هدف و رابطهٔ صدور را حفظ میکند، و جایگزینی که با یک جفت کلید جدید ساخته شده بیفایده است مگر اینکه کلید متناظر با آن سفر کند. جفت را از کانالی تحویل دهید که طراحی کنترل دسترسی پشت آن باشد، چون URL غیرقابلحدس پنهانکاری است نه کنترل.
آمادهسازی جایی است که بیشتر خودکارسازی بیصدا میشکند. یک پروفایل واردشده میتواند در یک مکان بماند در حالی که مدیر فایلی را جای دیگری بهروزرسانی میکند، و کلاینت همچنان گواهی قدیمی را ارائه میدهد تا کسی متوجه شود. مسیری را که کلاینت میخواند، حسابی که اجازهٔ نوشتن در آن را دارد و رویدادی که بارگذاری مجدد را راه میاندازد بنویسید. سپس تأیید کنید که جایگزین همان فایلی است که واقعاً استفاده میشود، نه نسخهای که کنارش رسیده است.
تأیید یعنی یک احراز هویت تازه با مواد جدید و بررسی برنامهای که کاربر نیاز دارد. تونلی که قبلاً برقرار شده ممکن است هنوز اعتبارنامهٔ پیشین را بازتاب دهد، پس یک اتصال باز مدرکی بر تمدید موفق نیست.
ابتدا بازیابی پنجرهٔ ازدسترفته را طراحی کنید
وقتی لپتاپ فقط از طریق VPN به سرویس ثبتنام میرسد، انقضا یک حلقه میسازد: دستگاه برای ورود به تونل به گواهی نیاز دارد و تونل برای آوردن گواهی. پیش از ارسال اولین وظیفهٔ زمانبندیشده دربارهٔ ترتیب خارج از باند تصمیم بگیرید، چه یک نقطهٔ پایانی ثبتنام احرازشدهٔ جداگانه باشد و چه ثبتنام مجدد با کمک مدیر.
هر چه انتخاب کنید باید درخواستکننده و حق فعلی را تأیید کند. پیکربندی سرور برای پذیرش گواهیهای منقضی از هر کسی که درخواست کند مسیر بازیابی نیست، تضعیف دائمی بررسیای است که با بقیهٔ طراحی از آن دفاع کردید.
در پایان، تمدید و نفوذ را در رویههای جداگانه نگه دارید. کلید افشاشده به ابطال و واکنش به نشستهای فعال نیاز دارد، و تمدید تاریخ انقضا هیچیک از اینها را در خود ندارد. یک دستگاه آفلاین، یک تحویل ناموفق و یک دارایی بازنشسته را در آزمون پذیرش بگنجانید و زمانبندی آمادهٔ فعالسازی است.