KernelHost Tools SSL Checker

فحص شهادة SSL

أدخل نطاقاً (أو host:port) وسترى فوراً مَن أصدر الشهادة، ومتى تنتهي، وما إذا كانت تغطي اسم المضيف لديك، وكيف تُبنى سلسلة الشهادات. عقدة فرانكفورت، مجاناً، بدون تسجيل.

افحص نطاقاً
اختبار سريع: kernelhost.com cloudflare.com github.com:443 expired.badssl.com

ماذا يفحص هذا الاختبار؟

يجلب KernelHost SSL Checker شهادة الخادم عبر TLS handshake من عقدة فرانكفورت لدينا ويعرض أهم الحقول، دون أي اتصال بطرف ثالث. يجري فحص وعرض ما يلي:

  • صادرة لـ ومن: Common Name (Subject CN)، وSubject DN الكامل، وIssuer (أي CA وقّعت الشهادة).
  • فترة الصلاحية: تاريخ البداية والنهاية بـUTC مع الأيام المتبقية. ترميز ألوان: أخضر (>30 يوماً)، برتقالي (7 إلى 30 يوماً)، أحمر (أقل من 7 أيام أو منتهٍ بالفعل).
  • Subject Alternative Names (SANs): قائمة كاملة بأسماء المضيفين التي تغطيها الشهادة، بما فيها مدخلات wildcard.
  • تطابق اسم المضيف: يتحقق من أن النطاق المُدخَل مغطى فعلياً بالـCommon Name أو wildcard SAN (RFC 6125).
  • المفتاح والتوقيع: خوارزمية المفتاح العام (RSA، ECDSA)، وحجم المفتاح بالبت أو اسم المنحنى، وخوارزمية التوقيع.
  • البصمات والرقم التسلسلي: بصمة SHA-256 وSHA-1 للشهادة المُرمَّزة بـDER، إضافة إلى الرقم التسلسلي السداسي العشري.
  • السلسلة الكاملة: كل الشهادات التي قدّمها الخادم خلال handshake، مع subject وissuer ودور (leaf، intermediate، root).

أخطاء SSL الشائعة وما تعنيه

تعرض المتصفحات أحياناً أخطاء غامضة مثل NET::ERR_CERT_DATE_INVALID أو SSL_ERROR_BAD_CERT_DOMAIN. إليك أكثر الأسباب شيوعاً وكيفية إصلاحها:

  • شهادة منتهية: تاريخ notAfter في الماضي. تحجب المتصفحات الصفحة كلياً. الحل: جدّد الشهادة. مع Let's Encrypt يحدث ذلك تلقائياً كل 60 يوماً عبر certbot أو acme.sh.
  • عدم تطابق اسم المضيف: اسم المضيف غير موجود في Common Name ولا في أي SAN. الحل: عند إعادة الإصدار، أضف كل نطاق وفرع تحتاجه كـSAN.
  • Self-signed أو CA غير معروفة: الـIssuer ليس root CA موثوقة. تعرض المتصفحات NET::ERR_CERT_AUTHORITY_INVALID. الحل: احصل على شهادة من CA معترف بها مثل Let's Encrypt أو ZeroSSL أو Sectigo أو DigiCert.
  • سلسلة غير مكتملة: الخادم يرسل فقط شهادة الـleaf دون intermediates. تفشل المتصفحات الجوّالة والأجهزة الأقدم. الحل: اضبط السلسلة الكاملة (fullchain.pem) في الخادم.
  • مفتاح ضعيف أو توقيع ضعيف: RSA أقل من 2048 بت أو توقيعات SHA-1 لم تعد مقبولة. الحل: أعد الإصدار بـRSA 2048+ أو ECDSA P-256.
  • Mixed content وفخ HSTS: إن سبق وأرسلت ترويسة HSTS صالحة ثم انتهت الشهادة، فلن يتمكن الزوار من تجاوز التحذير. إجراء فوري: جدّد الشهادة؛ في الطوارئ خفّض HSTS max-age.

Let's Encrypt مقابل الشهادات التجارية

Let's Encrypt هي CA مجانية ومؤتمَتة تديرها ISRG. الشهادات متطابقة تقنياً مع شهادات DV التجارية وموثوقة من جميع المتصفحات الحديثة.

متى يفيد الحصول على شهادة مدفوعة؟ في حالات خاصة فقط:

  • Extended Validation (EV): كانت تظهر شريط عنوان أخضر؛ اليوم بالكاد يُرى. تستحق فقط للبنوك أو منصات التداول حين يكون ذلك مطلوباً قانونياً.
  • Wildcard دون DNS challenge: تدعم Let's Encrypt الـwildcards فقط عبر DNS-01 challenge. إن لم يكن لديك وصول API إلى DNS، فبدائلها ZeroSSL Premium أو Sectigo.
  • ضمان وتأمين: تقدّم CAs التجارية مبالغ تأمينية في حال الإصدار الخاطئ. عملياً نادراً ما يكون ذا أهمية، لكن بعض أطر الـcompliance تتطلبه.

تشمل KernelHost Webhosting وcPanel تكامل Let's Encrypt مجاناً جاهزاً. تُجدَّد الشهادات كل 60 يوماً عبر AutoSSL دون أن تفعل شيئاً. شهادات wildcard عبر DNS challenge ممكنة أيضاً متى استُضيف النطاق على DNS الخاص بـKernelHost.

TLS 1.2 مقابل TLS 1.3

كان TLS 1.2 المعيار منذ 2008، ونُشر TLS 1.3 كـRFC 8446 في 2018 ويُنشر على نطاق واسع منذ 2020. الإصدارات الأقدم (SSL 3.0 وTLS 1.0 وTLS 1.1) غير آمنة ويجب تعطيلها في إعدادات الخادم.

ما يحسّنه TLS 1.3:

  • Handshake أسرع: 1-RTT بدلاً من 2-RTT، مع 0-RTT اختياري لإعادة الاتصال. أسرع بشكل ملحوظ على الصفحات الثقيلة بـTLS.
  • مجموعة سايفر أنظف: 5 فقط من cipher suites من نوع AEAD المسموحة. لا تبادل مفاتيح RSA بعد الآن؛ دائماً forward secrecy.
  • Handshake مشفّر: تُنقَل شهادة الخادم نفسها مشفّرة. مع ESNI/ECH يصبح حتى الـSNI خاصاً.
  • التوافق مع الإصدارات السابقة: يمكن للخوادم تقديم TLS 1.2 و1.3 بالتوازي. تتفاوض المتصفحات تلقائياً على أعلى نسخة مشتركة.

ماذا تعني شهادة منتهية؟

تعني شهادة SSL منتهية بشكل ملموس: تعرض المتصفحات تحذيراً ملء الشاشة وتحجب الموقع. لا يستطيع الزوار في معظم الحالات تجاوز التحذير، خاصة عندما يكون header HSTS فعّالاً.

العواقب على المُشغِّل:

  • فقدان الـranking في Google (HTTPS عامل ranking وتُقيَّم إشارات الثقة).
  • ترفض خوادم البريد (MX/SMTP مع STARTTLS) الاتصالات الواردة؛ تعود الرسائل أو تُسلَّم متأخرة.
  • تنكسر عملاء API والتطبيقات الجوالة المعتمدة على certificate pinning وقد تحتاج إلى تحديث.

HSTS وCAA وOCSP stapling

الشهادة الصالحة بداية فقط. ثلاث آليات إضافية ترفع أمان TLS إلى مستوى الممارسات المثلى:

  • HSTS (HTTP Strict Transport Security): ترويسة تُجبر المتصفحات على استخدام HTTPS فقط من الآن. الموصى به: max-age=63072000; includeSubDomains; preload (سنتان، كل النطاقات الفرعية، قائمة الـpreload). انتبه عند التفعيل: أي خطأ غير قابل للتراجع طالما أن max-age لا يزال يعمل.
  • CAA (Certification Authority Authorization): سجل DNS يحدد أي CAs يحق لها إصدار شهادات لنطاقك. مثال: 'kernelhost.com. CAA 0 issue "letsencrypt.org"' يمنع الإصدار الخاطئ من قِبَل CAs أخرى.
  • OCSP stapling: يقدّم الخادم بنفسه استجابة حالة الإلغاء من الـCA بدل أن يسأل كل متصفح الـCA على حدة. أسرع للزوار وأخفّ على بنية الـCA. Apache: SSLUseStapling On، nginx: ssl_stapling on.

الخصوصية

يعمل KernelHost SSL Checker بالكامل في عقدتنا في فرانكفورت دون استدعاءات لطرف ثالث:

  • لا توجيه لإدخالك إلى APIs خارجية (لا SSL Labs، لا Hardenize، لا Cryptomon).
  • لا يُحفَظ النطاق المفحوص بعد تسجيل الطلبات الافتراضي (سجل web-server، استبقاء 14 يوماً).
  • فلتر anti-SSRF يحجب الطلبات نحو نطاقات IP خاصة وloopback وlink-local.
  • حدّ معدّل لكل IP لمنع إساءة الاستخدام. hCaptcha اختياري عند الإرسال.

أسئلة شائعة عن شهادات SSL

هل تدعمون منافذ غير قياسية؟

نعم. أدخل بصيغة host:port، مثلاً mail.example.com:993 لـIMAPS أو vpn.example.com:8443. المنفذ الافتراضي 443.

لماذا يُظهر الاختبار شهادة منتهية رغم أن متصفحي لا يحذّر؟

غالباً لأن خادمك يقدّم شهادة مختلفة عبر SNI عن التي يراها الاختبار. تحقق من اختبار النطاق الفرعي الصحيح ومن أن الخادم ينفّذ SNI بنظافة.

لماذا يفشل الاختبار على نطاقي الداخلي؟

يعمل الـchecker في فرانكفورت ويستطيع فحص المضيفين العامين فقط. تُحجب IP الخاصة (10.x، 192.168.x، 172.16-31.x) وloopback وlink-local عمداً (حماية من SSRF).

كم مرة عليّ الفحص؟

مع التجديد المؤتمت (Let's Encrypt + cronjob) يكفي فحص بعد الإعداد إضافة إلى مراقبة uptime. دون أتمتة، يدوياً كل 30 يوماً على الأقل.

هل يمكنني فحص النطاقات الفرعية وخوادم البريد؟

نعم، أي اسم مضيف مدعوم. لخوادم البريد: smtp.example.com:25 أو imap.example.com:993. ينفّذ الاختبار TLS handshake نظيفاً مع SNI الصحيح.

ماذا تعني ملاحظة 'self-signed certificate'؟

وقّع الخادم شهادته بنفسه بدل استخدام CA موثوقة. لا تقبل المتصفحات ذلك ما لم يضِف المستخدم الشهادة يدوياً إلى trust store. استخدم دائماً CA حقيقية للإنتاج.

ما أحجام المفاتيح التي توصي بها KernelHost؟

RSA 2048 بت كحدّ أدنى، RSA 3072 أو 4096 بت للشهادات طويلة الأجل، أو ECDSA P-256 حين يهم الأداء (توقيعات أصغر كثيراً، handshake أسرع). RSA 1024 أو أقل ممنوع منذ سنوات وترفضه المتصفحات.

ما الفرق بين DV وOV وEV؟

تؤكد DV (Domain Validation) فقط أن المتقدم يتحكم بالنطاق (الافتراضي مع Let's Encrypt). تتحقق OV (Organization Validation) إضافياً من الشركة (مستخرج السجل التجاري). EV (Extended Validation) هي الأكثر صرامة، مع التحقق من العنوان الفعلي. منذ 2019 لم تعد المتصفحات تُظهر فرقاً مرئياً، فتكفي DV في 99 % من الحالات.

جميع منتجات KernelHost

هل تحتاج إلى أكثر من مجرد أدوات؟ اطلع على باقات الاستضافة التجارية لدينا.