Check-Host.cc

فحص سجل CNAME العالمي

سجل CNAME (Canonical Name) بيشتغل كاسم مستعار (Alias) على مستوى الدومين. بدل ما يوجه الـ Hostname مباشرة لـ IP Address، الـ CNAME بيقول للـ DNS Resolver إن الهدف هو دومين تاني. ولما الـ Resolver بيقابل CNAME، بيرستر عملية الـ Lookup من الأول، وبيستعلم عن الدومين الجديد لحد ما يوصل في النهاية لسجل A أو AAAA نهائي. المطورين بيستخدموا ده كتير جداً لما بيربطوا منصات SaaS خارجية، أو شبكات توصيل المحتوى (CDNs)، أو بيئات PaaS زي Vercel و Heroku، اللي مبيكونش مضمون فيها إن الـ IPs تكون ثابتة (Static) والبنية التحتية بتتغير باستمرار.

قيود الـ Apex Domain (حسب RFC 1034)

من أشد القواعد الصارمة في معمارية الـ DNS، والمحددة في RFC 1034، إن سجل CNAME مينفعش يتواجد على نفس الـ Node مع أي نوع سجل تاني. وعشان الـ Root Apex بتاع أي دومين (زي example.com) رياضياً مطلوب منه يكون فيه سجلات SOA (Start of Authority) و NS (Name Server) عشان يشتغل، فمستحيل تحط CNAME عادي في الـ Root. لو حاولت تعمل كده، الـ Zone هتبوظ، وهتسبب أعطال كارثية في الإيميلات (MX) والـ Routing عموماً. عشان نتجاوز القيود دي، مزودي خدمة الـ DNS المدارة الحديثة (زي Cloudflare و AWS Route 53 و DNSimple) طوروا سجلات وهمية خاصة بيهم زي "CNAME Flattening" أو "ALIAS". الأنظمة دي بتعمل Resolve لهدف الـ CNAME داخلياً على السيرفر وبتبعت سجل A مُصنّع (Synthetic) مباشرة للعميل اللي بيطلب، مع الحفاظ على التوافق التام مع الـ RFC.

الاستيلاء على الدومينات الفرعية (Subdomain Takeovers) والسجلات المعلقة (Dangling)

سجلات CNAME بتعمل ثغرة أمنية خطيرة معروفة بـ Subdomain Takeover. ده بيحصل لما الـ Admin يعمل CNAME يوجه Subdomain (زي docs.example.com) لخدمة خارجية زي GitHub Pages أو Endpoint في Zendesk. لو الشركة بعدين مسحت حسابها على Zendesk بس نسيت تمسح سجل CNAME من منطقة الـ DNS، الاسم المستعار ده بيبقى "Dangling" (معلق). أي مخترق يقدر بعد كده يسجل الـ Endpoint المهجور ده عند مزود الخدمة الخارجي ويسيطر فوراً على الـ Subdomain الموثوق فيه، وده بيفتح الباب لهجمات Phishing وسرقة Cookies. المراجعة الدورية (Auditing) لسلاسل الـ CNAME بتعتبر ممارسة أمنية إجبارية.

عقوبات الـ Resolution والـ Infinite Loops

ربط أكتر من Alias ببعض (يعني مثلاً Alias A بيشير لـ Alias B، اللي بيشير لـ Alias C) بيسبب عقوبة كبيرة في الأداء (Performance Penalty). كل نطة (Hop) بتجبر العميل إنه يعمل DNS Lookup إضافي، وده بيزود أجزاء من الثانية ملحوظة على وقت أول بايت (TTFB). كمان، الإعدادات الغلط ممكن بسهولة تعمل Infinite Loops في الـ Routing، وتخلي الـ Resolver يلغي الـ Lookup ويرجع خطأ NXDOMAIN. التحقق من هيكل الـ Aliases بتاعتك على مستوى العالم بيضمن إن التوجيه يكون مباشر وفعال.