پایش گواهینامه SSL
انقضای گواهینامه SSL باعث اختلال در تمام مرورگرهای دنیا در نیمهشب میشود. آنها را ۳۰ روز زودتر شناسایی کنید.
هزینه تمدید نشدن گواهی SSL
گواهی SSL که در ساعت ۲۳:۵۹:۵۹ منقضی میشود، به آرامی بیاعتبار نمیشود. رأس ساعت ۰۰:۰۰:۰۰ روز بعد، هر مرورگری یک هشدار امنیتی تمامصفحه نمایش میدهد، هر کلاینت API در TLS handshake شکست میخورد، هر سرویس webhook خطا برمیگرداند، هر موتور جستجو رتبه سایت شما را کاهش میدهد و هر ایمیل برگشت داده میشود، اگر گواهی SMTP را هم پوشش میداد. رفع آن سریع است - صدور مجدد، استقرار مجدد - اما پنجره زمانی بین انقضا و رفع مشکل، شدید است؛ چون هیچکس قبل از نیمهشب گواهی را نمیبیند، بلکه بعد از آن متوجه میشود.
مانیتورینگ SSL برای همین است که شما قبل از نیمهشب متوجه شوید. مانیتور گواهی را از هاست زنده میخواند، دوره اعتبار را استخراج میکند و مدتها قبل هشدار میدهد - ۳۰ روز، ۱۴ روز، ۷ روز، ۳ روز، ۱ روز - پس تمدید، هرگز غافلگیرتان نمیکند.
چه چیزی پایش میشود
برای هر سایت HTTPS مورد پایش، DiagnoSEO Uptime Monitoring یک اتصال TLS برقرار میکند، گواهی صادر شده از طرف سرور را دریافت و بررسی میکند. سپس داشبورد این موارد را ثبت میکند:
- اعتبار: آیا گواهی در حال حاضر در بازه اعتبار خودش است؟
- روزهای باقیمانده تا انقضا: شمارش پویا، که به صورت یک روپوش رنگی نمایش داده میشود (سبز >۳۰ روز، نارنجی ۸-۳۰، قرمز <۸).
- تاریخ انقضا: تاریخ دقیق.
- صادرکننده: چه شرکتی گواهی را امضا کرده (Let's Encrypt, DigiCert, GlobalSign و غیره)
- Subject: common name روی گواهی.
اگر گواهی نامعتبر شود - منقضی، نام هاست نادرست، زنجیره خراب، self-signed هنگامی که نباید باشد - مانیتور وضعیت SSL invalid را گزارش میدهد، صرفنظر از وضعیت HTTP. وضعیت «HTTPS خراب اما سرور فعال» بلافاصله قابل مشاهده میشود.
آستانههای هشدار
ابزار هشدارهای SSL را در پنج آستانه فعال میکند: ۳۰، ۱۴، ۷، ۳ و ۱ روز پیش از انقضا. هرکدام یک هشدار جداگانه هستند. اگر ایمیل و تلگرام فعال باشند، پنج یادآوری دریافت میکنید، هرچه به انقضا نزدیکتر، فوریت بیشتر. اولین (۳۰ روزه) برای برنامهریزی تمدید است. هشدار ۱۴ روزه برای «واقعاً این هفته تمدید کن». هشدارهای ۷، ۳ و ۱ روزه برای مواقعی است که تمدید صورت نگرفته و باید فوراً کسی اقدام کند.
میتوانید هر یک از این هشدارها را برای هر کانال غیرفعال کنید - برخی تیمها فقط هشدارهای SSL ایمیلی میخواهند، نه در Slack/Telegram (که ممکن است وسط انبوه پیامها گم شوند). این را در بخش اطلاعرسانی تنظیم کنید.
چرا auto-renewal کافی نیست
اگر از Let's Encrypt با certbot یا مشابه آن استفاده میکنید، شاید فکر کنید که مانیتورینگ SSL ضرورتی ندارد. اما لازم است. auto-renewal ممکن است به دلایل زیادی کار نکند: ایمیل اکانت certbot نامعتبر شود، ACME challenges بهدلیل تغییر firewall شکست بخورند، cron تمدید متوقف شود، ریاستارت شدن کانتینر وضعیت تمدید را پاک کند، اعتبار دامنه بهدلیل تغییر DNS ناموفق باشد. در همه این موارد گواهی به سمت انقضا میرود و auto-renewal شما را نجات نمیدهد. مانیتورینگ SSL توری ایمنی است تا آن چیزی را که اتوماسیون از دست داده، بگیرد.
برای گواهیهای داخلی (CA سازمانی، mutual TLS)، معمولاً auto-renewal وجود ندارد - مانیتورینگ SSL تنها نشانه فعال نیاز به تمدید است.
پیکربندی
مانیتورینگ SSL به صورت خودکار برای هر مانیتور HTTPS در DiagnoSEO Uptime Monitoring فعال است. نیازی به فعالسازی جداگانه ندارد. دفعه بعد که بررسی عمیقتر انجام شود (تا ۲۴ ساعت پس از افزودن مانیتور یا بلافاصله پس از زدن روی "بررسی کن حالا")، بخش SSL ردیف پر میشود با صادرکننده، تاریخ انقضا و روزهای باقیمانده. از آن لحظه، مانیتور گواهی را تحت نظر میگیرد و در آستانههای ۳۰/۱۴/۷/۳/۱ روز هشدار میدهد.
برای مانیتورهایی که HTTPS نیستند، SSL نادیده گرفته میشود. برای مانیتور با پورت SSL سفارشی، ابزار سعی میکند پورت مناسب را امتحان کند (پیشفرض ۴۴۳؛ ۴۶۵ برای SMTPS، ۹۹۳ برای IMAPS، و بسته به نوع مانیتور).
سوالات متداول
-
آستانههای استاندارد هشدار ۳۰، ۱۴، ۷، ۳ و ۱ روز پیش از انقضا هستند. ۳۰ روز برای برنامهریزی تمدید در ساعات اداری کافی است و هشدارهای کوتاهتر فوریت را افزایش میدهند. اگر به auto-renewal (Let's Encrypt و certbot) متکی هستید، هشدار ۷ روزه زمانی برای بررسی صحت انجام تمدید است — خرابی بیسر و صدای تمدیدها رایج بوده و فقط پایش مستقل آن را آشکار میکند.
-
بله. مانیتور یک handshake واقعی TLS انجام میدهد و گواهی صادرشده را بررسی میکند. اگر گواهی منقضی، self-signed، یا ناسازگار با CN/SAN مربوط به hostname باشد یا توسط CA ناشناخته امضا شده، بررسی با خطای مشخص شکست میخورد. این مشکلات از قبیل "گواهی از نظر فنی معتبر است اما به درستی نصب نشده" را شناسایی میکند که توسط مرورگرها هم پرچم میشود.
-
نبود گواهیهای میانی باعث خطای "chain incomplete" در بسیاری از کلاینتهای TLS (curl، دستگاههای قدیمی اندروید) میشود، حتی اگر مرورگرهای دسکتاپ بتوانند زنجیره را خودکار بازیابی کنند. بررسی SSL ما نیازمند یک زنجیره کامل و معتبر است — اگر میانی وجود نداشته باشد، بررسی شکست میخورد و مشکل را قبل از آنکه کاربران موبایل متوجه شوند، نمایش میدهد.
-
بله — کافیست آدرس مانیتور را با پورت مورد نظر وارد کنید (مثلاً
https://api.example.com:8443/). مانیتور به این پورت برای handshake TLS متصل میشود و گواهی را دریافت میکند. همین کار برای SMTP STARTTLS، IMAP/POP3 TLS و سایر پروتکلهایی که TLS را روی پورت سفارشی دارند نیز کار میکند. -
خیر. handshake TLS و بررسی گواهی به عنوان بخشی از هر چک HTTPS انجام میشود — بدون هزینه جداگانه. هشدارهای انقضا در هر ۵ آستانه نیز رایگان هستند. بررسی WHOIS برای انقضای دامنه تنها قابلیتی است که روی زمانبندی جداگانه روزانه عمل میکند.
UptimeRobot · Pingdom · BetterStack · Oh Dear · Site24x7 · StatusCake · Sentry · Uptrends · Cronitor · New Relic
انقضای دامنه · پایش DNS · پینگ (ICMP) · پورت (TCP) · endpoint · کلمه کلیدی · API · کرون / ضربانسنجی · زمان پاسخ · بکلینک · وابسته به مکان · پایش وبسایت