طرق أكثر أمانًا لاستخدام IPv6 العام

يحتاج بعض الأشخاص إلى استخدام IPv6 العام للعودة إلى المنزل، وعلى عكس VPN مثل tailscale/zerotier التي تحتاج إلى اجتياز الشبكة للاتصال المباشر، فإن العودة إلى المنزل عبر IPv6 تكون مباشرة، وغالبًا ما يكون لدى شبكات الهاتف المحمول IPv6، مما يجعل العودة إلى المنزل مريحة جدًا.

شاركت سابقًا مقالًا بعنوان تدهور خدمة الإنترنت لل broadband المنزلي عند استخدام نطاقات DDns الشائعة، حيث وصفت حفرة وضعتها شركات الاتصالات عند استخدام IPv6، باختصار، يتم فحص النطاقات، وكشف النطاق الخاص بك يساوي التعرض لـ IPv6، وبالتالي قد يتم فحصه، وعند اكتشاف الخدمات وزيادة الاتصالات الواردة، يتم تقليل خدمة الإنترنت.

لم يذكر ذلك المقال سوى فحص النطاقات، دون ذكر “مسح الفضاء الشبكي”، حيث يقوم هذا النوع من الفحص بمسح بركة IP مباشرة دون النظر إلى المعلومات المكشوفة، وهذه الحالة يصعب الدفاع عنها.

عادةً ما يشمل “مسح الفضاء الشبكي” الجوانب التالية:

  • كشف وجود IP: استخدام بروتوكولات مثل ARP و ICMP و TCP لتحديد المضيفين النشطين.
  • كشف المنافذ/الخدمات: من خلال مسح المنافذ لتحديد المنافذ المفتوحة في المضيفين النشطين والحصول على معلومات الخدمة والإصدار ونظام التشغيل.
  • كشف نظام التشغيل: من خلال تحليل حزم البيانات المستجيبة لاستنتاج نوع نظام التشغيل وإصدار المضيف المستهدف.
  • جمع حركة المرور: مراقبة حركة الشبكة لاكتشاف السلوكيات غير الطبيعية أو أنماط الهجوم.
  • تحليل الأسماء المستعارة: إنشاء علاقة تعيين بين عناوين IP وأجهزة التوجيه التي تحتوي على عناوين IP متعددة.
  • كشف DNS: إنشاء علاقة بين عناوين IP وأسماء النطاقات من خلال التحليل العكسي لعناوين IP.

إليك بعض الطرق لتجنب الكشف من خلال مسح الفضاء الشبكي:

  1. لا يعيد خادم DNS الداخلي سجلات AAAA
  2. لا يُسمح للخدمات الداخلية بالوصول عبر النطاق فقط، وليس عبر IP مباشرة
  3. استخدام خدمة DNS الخاصة AdGuardPrivate

لا يعيد خادم DNS الداخلي سجلات AAAA

عند التصفح إلى مواقع مختلفة على الإنترنت، يمكن لهذه الزيارات الطبيعية أن تكشف عن مصدر IPv6، حيث يمكن لخادم الطرف الآخر الحصول على مصدر IPv6، وإذا لم يكن لدى المستخدم جدار ناري مفتوح، يمكن وضع هذا IPv6 في بركة مسح الفضاء الشبكي ذات الأولوية.

كما يمكن وضع عناوين IPv6 ذات البادئة /56 في بركة المسح، والتركيز فقط على مسح 16位 منخفضة، مما يمكن أن يقلل بشكل كبير من نطاق المسح.

تجربتي الطويلة مع IPv6 تخبرني أنه مقارنةً بـ IPv4، لا يوجد فرق ملحوظ في التصفح اليومي. لذلك يمكننا التضحية بـ IPv6 للوصول الخارجي، واستخدامه فقط للاتصال المباشر بالمنزل.

طريقة إعداد عدم إرجاع تحليل IPv6

على خادم DNS الداخلي، قم بإعداد عدم إرجاع سجلات AAAA.

عادةً ما يستخدم خدمة DNS الداخلية AdGuardHome، وإعداد مرجعي:

إعداد禁用 IPv6

بعد الإعداد، ستستخدم الأجهزة الداخلية فقط IPv4 عند زيارة الإنترنت الخارجي، ولن تستخدم IPv6 بعد الآن.

لا يُسمح للخدمات الداخلية بالوصول عبر النطاق فقط

ربما يمكن للخدمات المنزلية المكشوفة الوصول إليها بناءً على المنفذ، وهذا يجعل من السهل جدًا اكتشافها.

من الأفضل عند إنشاء الخدمة ألا تقوم بالإعداد على الاستماع إلى 0.0.0.0 و ::، ويمكن لذوي الخبرة أن يلاحظوا أن جميع إعدادات بدء الخدمة الافتراضية تستمع فقط إلى 127.0.0.1 و ::1، وذلك لأن الاستماع إلى IP العام ينطوي على مخاطر.

طريقة إعداد وكيل عكسي لا يسمح بالوصول عبر النطاق فقط

مثال nginx

المفتاح هو إعداد server_name إلى النطاق، وعدم إعداده إلى _ أو IP.

server {
    listen 80;
    server_name yourdomain.com; # استبدل yourdomain.com بالنطاق الفعلي الخاص بك

    # إرجاع 403 Forbidden للمستخدمين الذين يحاولون الوصول عبر عنوان IP
    if ($host != 'yourdomain.com') {
        return 403;
    }

    location / {
        # هنا مجلد الجذر الخاص بالموقع及其他配置
        root /path/to/your/web/root;
        index index.html index.htm;
    }

    # 기타 إعدادات...
}

مثال IIS

المفتاح هو إعداد host name إلى النطاق، وعدم تركه فارغًا.

IIS مثال

استخدام خدمة DNS خاصة

أضف تحليلًا مخصصًا في خدمة DNS الخاصة بك فقط لتحويل النطاق المزيف إلى خدمة داخلية.

وظيفة إعادة كتابة DNS

هذا الإجراء له فوائد واضحة عديدة.

  1. أولاً، يمكن بناء النطاقات بشكل عشوائي، ولا حاجة لشراء نطاق، وتوفير تكلفة نطاق. إذا تم اكتشاف هذا النطاق المزيف، فسيحتاج المهاجم إلى طلب خدمة DNS الخاصة بك للحصول على نتيجة التحليل الصحيحة.
  2. يجب أيضًا إظهار عنوان خدمة DNS الخاصة بك واسم النطاق الافتراضي، ثم يحتاج ماسح الشبكة إلى تعديل منطق تحليل النطاق، وطلب تحليل النطاق من خادم DNS الخاص المكشوف، ثم ملء النطاق الافتراضي في رأس الطلب المبني، قبل أن يتمكن من البدء في المسح.
sequenceDiagram
  participant Scanner as ماسح الشبكة
  participant DNS as خادم DNS الخاص
  participant Service as خدمة داخلية

  Scanner->>DNS: 1. اكتشاف عنوان خادم DNS الخاص
  Scanner->>DNS: 2. طلب تحليل النطاق الافتراضي
  DNS-->>Scanner: 3. إرجاع IP للخدمة الداخلية
  Scanner->>Service: 4. استخدام النطاق الافتراضي لبناء Headers
  Note right of Service: إذا لم يكن النطاق الافتراضي في Headers صحيحًا<br/>يتم رفض الوصول
  alt Headers صحيح
    Service-->>Scanner: 5a. إرجاع استجابة الخدمة
  else Headers خاطئ
    Service-->>Scanner: 5b. إرجاع خطأ 403
  end

فقط عندما يكمل الماسح جميع الخطوات المذكورة أعلاه، يمكنه مسح الخدمة الداخلية، مما يزيد بشكل كبير من صعوبة المسح.

يمكن إنشاء خدمة DNS خاصة على AdGuardPrivate باستخدام وظيفة التحليل المخصص لإضافة نطاق افتراضي،当然也可以使用 dnspod.cn.

تختلف الخدمات المقدمة من两家 بشكل كبير، AdGuardPrivate هو في الأساس AdGuardHome الأصلي، مع وظائف أكثر بكثير من dnspod، يرجى تقييم ذلك بأنفسكم.

ملخص

  1. لا يعيد خادم DNS الداخلي سجلات AAAA
    • الشروط المسبقة
      • وجود IPv6 عام
      • وجود خادم DNS داخلي
    • الإعداد
      • عدم إرجاع سجلات AAAA
  2. لا يُسمح للخدمات الداخلية بالوصول عبر النطاق فقط، وليس عبر IP مباشرة
    • الشروط المسبقة
      • وجود نطاق خاص
      • مزود النطاق يوفر DDNS
      • وجود خدمة وكيل عكسي داخلية
    • الإعداد
      • إعداد مهمة DDNS
      • السماح بالوصول عبر النطاق فقط
  3. استخدام خدمة DNS خاصة
    • الشروط المسبقة
      • وجود خدمة DNS خاصة
      • خدمة DNS الخاصة توفر تحليلًا مخصصًا
      • خدمة DNS الخاصة توفر DDNS
    • الإعداد
      • إعداد مهمة DDNS
      • إضافة تحليل مخصص، تحويل النطاق الافتراضي إلى خدمة داخلية

أخيرًا،

  • أسهل وأكثر الطرق أمانًا للاتصال المباشر بالمنزل هي tailscale/zerotier الناجحة في اجتياز الشبكة، ولكن في بعض الأحيان قد لا تنجح بسبب أسباب شبكة مختلفة.
  • لا تقم بالاتصال بشبكة Wifi غريبة بسهولة، حيث يمكن أن تتسرب جميع المعلومات دفعة واحدة. احصل على بطاقة بيانات كبيرة، ومؤقتًا امنح الثقة لشركة الاتصالات، إذا كنت بحاجة إلى بطاقة بيانات كبيرة رخيصة، اتصل بي (ليس كذلك)، أنا أيضًا أحتاج إليها.