نامهای جایگزین موضوع: چگونه یک سرور VPN شناسایی میشود
یک گواهی مورد اعتماد میتواند هنوز برای نام میزبان VPN شما نادرست باشد. SAN باید شکل هویتی را داشته باشد که کلاینت بررسی میکند، مانند نام DNS یا نشانی IP.
کلاینت شما گواهیای را رد میکند که زنجیرهاش بیعیب معتبر میشود، و خطا میگوید نام مطابقت ندارد. آن پیام درباره این نیست که چه کسی گواهی را امضا کرده است. درباره افزونه نامهای جایگزین موضوع است، که هویتهایی را دارد که گواهی مجاز است نمایندگی کند، و درباره اینکه آیا هویتی که پیکربندی کردهاید در آنجا به شکل درست ظاهر میشود. اعتماد پاسخ میدهد چه کسی آن را امضا کرده، در حالی که بررسی نام پاسخ میدهد به کدام میزبان تعلق دارد.
کلاینت واقعاً چه چیزی را مقایسه میکند
کلاینت پیکربندی شما را به یک هویت مرجع تبدیل میکند: نام میزبان، نشانی، یا شناسه مخصوص پروتکل. سپس آن هویت را در گواهی جستجو میکند و قواعد تطبیق پروتکل مورد استفاده را اعمال میکند. فقط ورودیهای همنوع به حساب میآیند، بنابراین یک ورودی DNS نمیتواند نشانی را برآورده کند، و مقایسه صرفنظر از اینکه انسانی به گواهی نگاه کند انجام میشود.
وقتی هویت مرجع در آن افزونه وجود ندارد، بررسی شکست میخورد حتی اگر نام مشترک قدیمی مطابقت داشته باشد. یک گواهی میتواند بهطور مشروع برای یک شرکت صادر شود و با این حال برای vpn.example.com نادرست باشد اگر نام هرگز گنجانده نشده باشد. شکست یک عدم تطابق نام است، هرچند گواهی اصیل باشد.
نامهای DNS و نشانیهای IP ورودیهای جداگانهاند
پروفایلی که به 203.0.113.10 اشاره میکند در حالی که گواهی فقط vpn.example.com را فهرست میکند رد میشود، زیرا بستهها میرسند اما هویت مطابقت ندارد. نامهای DNS و نشانیهای تحتاللفظی بهعنوان انواع ورودی متفاوت ذخیره میشوند و یکی هرگز جای دیگری را نمیگیرد. به همین دلیل یک سرویس میتواند از طریق نشانی قابل دسترسی باشد و با این حال از طریق پروفایلی که از آن نشانی استفاده میکند بیاستفاده بماند.
نویسههای عام نیز قواعد خود را دارند: یک نویسه عام یک برچسب را پوشش میدهد، نه هر نامی زیر یک دامنه. مقایسه DNS به بزرگی و کوچکی حروف حساس نیست، در حالی که انواع دیگر شناسه حساساند، بنابراین مقداری که روی صفحه یکسان به نظر میرسد ممکن است در مقایسه دقیق شکست بخورد. قواعد تطبیق را برای نوع هویت مورد استفاده بررسی کنید، نه اینکه رشتهها را با چشم مقایسه کنید. افزودن یک نام به افزونه یک تصمیم صدور است، نه چیزی که یک تنظیم کلاینت بتواند فراهم کند.
گواهیای را بررسی کنید که اتصال واقعاً استفاده کرده است
مطالبی را بخوانید که نقطه پایانی فعال ارائه میدهد، نه فایلی که از صفحه مدیریت کپی شده است. یک متعادلکننده بار یا نمونه جایگزین میتواند چیزی متفاوت از گواهیای که ماهها پیش بارگذاری شده ارائه دهد، و این تفاوت در کنسول نامرئی است.
openssl s_client -connect vpn.example.com:443 -showcerts </dev/null | openssl x509 -noout -text
بلوک نامهای جایگزین موضوع، زنجیره صادرکننده و دوره اعتبار همه به یک خواندن تعلق دارند، زیرا عدم تطابق نام و انقضا خطاهای متفاوتی تولید میکنند. هر نام در آن بلوک را با هویتی که در پروفایل پیکربندی شده، کاراکتر به کاراکتر مقایسه کنید و توجه کنید از چه نوعی است. تکرار فرمان علیه شکل نشانی نقطه پایانی نشان میدهد آیا گواهی هر دو هویت را پوشش میدهد یا فقط یکی را. نمایش دوستانه موضوع در کنسول مدیریت نتیجه اعتبارسنجی نیست و چیزی درباره نامهایی که افزونه دارد نمیگوید.
نام مشترک منبع حقیقت مدرن نیست
مرورگرها و بیشتر کتابخانههای TLS اکنون نام مشترک را برای تطبیق نام میزبان نادیده میگیرند و به افزونه مراجعه میکنند. برخی کلاینتهای VPN هنوز ابتدا نام مشترک را مقایسه میکنند یا وقتی افزونه غایب است به آن بازمیگردند، و به همین ترتیب یک گواهی میتواند در مرورگر قبول شود و در کلاینت شکست بخورد. همان بررسی نام میتواند در یک سکو قبول شود و در سکوی دیگر شکست بخورد بدون اینکه گواهی اصلاً تغییر کند.
پیش از تصمیمگیری درباره نادرست بودن گواهی، بفهمید کلاینت شما کدام فیلد را میخواند. دو کلاینت روی همان نقطه پایانی میتوانند اختلاف داشته باشند، و این اختلاف اطلاعاتی درباره کلاینت است نه گواهی.
صدور یا پروفایل را تعمیر کنید، نه بررسی را
وقتی پروفایلی حول یک نام مستعار ساخته شده است، یا آن را به نام میزبان مستند هدایت کنید یا گواهی را برای نام مستعار دوباره صادر کنید و در پنجرهای برنامهریزیشده مستقر کنید. خاموش کردن هشدار گزینه سومی نیست، زیرا بررسی تنها گامی است که یک گواهی امضاشده را به این میزبان خاص پیوند میدهد. حذف آن یعنی هر گواهی از همان مرجع میتواند جای سروری را بگیرد که قصد رسیدن به آن را داشتید.
تمدید باید نامها و هدف مورد نظر را حفظ کند، نه اینکه فقط تاریخ انقضا را جلو ببرد. تمدیدی که نامی را حذف میکند یک قطعی جدید برنامهریزیشده برای راهاندازی بعدی است، و معمولاً بدون هشدار میرسد زیرا گواهی قدیمی هنگام انجام تغییر هنوز معتبر بود.
هویت مورد انتظار، نامهای ارائهشده و زنجیرهای که آنها را امضا کرد ثبت کنید. آن سابقه تمدید بعدی را به مقایسه تبدیل میکند نه تحقیق. تعریف افزونه در RFC 5280 است اگر نیاز دارید صدور خاصی را بررسی کنید.