Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/metablaster/windowsfirewallruleset
البرمجة النصية والأتمتةتدقيق التكوينأمن الشبكاتArchived
GitHubmetablaster/windowsfirewallruleset

WindowsFirewallRuleset

نصوص PowerShell لإنشاء قواعد لـ Windows firewall تلقائياً

عرض المستودعالموقع الإلكتروني
17941منذ سنة واحدةتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

Windows Firewall Ruleset

Alt Text

جدول المحتويات

  • Windows Firewall Ruleset
    • جدول المحتويات
    • حول إعداد قواعد جدار الحماية لـ Windows
      • قواعد جدار الحماية
      • إطار عمل جدار الحماية
    • رؤية هذا الجدار الناري
    • الترخيص
    • المتطلبات
      • تفاصيل المتطلبات
      • لا أستوفي المتطلبات
    • المستخدم لأول مرة
      • تحذير
      • ملاحظة
      • بداية سريعة
    • إدارة جدار الحماية
      • نشر جدار الحماية تلقائياً وتفاعلياً
      • إدارة قواعد GPO
      • نشر مجموعات قواعد فردية
      • حذف القواعد
      • تصدير/استيراد القواعد
    • نشر جدار الحماية عن بُعد
    • الدعم، التحديثات والتوثيق
    • المستقبل

حول إعداد قواعد جدار الحماية لـ Windows

إصدار ألفا

حل آلي بالكامل لجدار الحماية في Windows باستخدام PowerShell

يقوم Windows Firewall Ruleset بتكوين جدار حماية Windows تلقائياً ويطبق قواعد جدار حماية مقيدة خاصة بالنظام المستهدف والبرامج المثبتة عليه.

حالة هذا المشروع لا تزال ألفا، انقر على شارة "الحالة" أعلاه لمعرفة المزيد.
يتكون هذا المشروع من جزأين رئيسيين، قواعد جدار الحماية وإطار عمل جدار الحماية كما يلي:

قواعد جدار الحماية

قواعد جدار حماية Windows مرتبة في نصوص PowerShell فردية حسب:

  • مجموعة القواعد
  • اتجاه حركة المرور (مثل الوارد، الصادر أو IPSec)
  • نوع البرنامج والناشر
  • إصدار IP (IPv4 / IPv6)

مثل على سبيل المثال:

  • حركة ICMP
  • قواعد المتصفح
  • برامج نظام التشغيل المضمنة
  • تطبيقات المتجر
  • خدمات Windows
  • ألعاب متعددة اللاعبين
  • برامج Microsoft
  • برامج الطرف الثالث
  • حركة البث (broadcast)
  • حركة الإرسال المتعدد (multicast)

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

  • يتكون إطار عمل جدار الحماية من عدد من وحدات PowerShell، ونصوص برمجية وتوثيق يُستخدم لجمع معلومات البيئة ذات الصلة لبناء ونشر جدار حماية مخصص للنظام المستهدف مثل:

    • أجهزة الكمبيوتر على الشبكة
    • البرامج المثبتة
    • حسابات الشبكة الفرعية IP
    • مستخدمو النظام البعيد أو المحلي
    • تكوين الشبكة
    • تكوين GPO
    • إدارة جدار الحماية
    • تحليل سريع لتتبع الحزم وسجلات التدقيق
    • وظائف متنوعة لاستكشاف الأخطاء وإصلاحها، وجدار الحماية، والنظام والشبكة
  • وبالتالي فإن هذا المستودع هو نقطة انطلاق جيدة لتوسيع جدار الحماية الخاص بك بسهولة لتشمل المزيد من القواعد والوظائف حسب الرغبة.

  • يوجد حالياً حوالي 800+ قاعدة لجدار الحماية، و10+ وحدات مع 100+ دالة، والعديد من النصوص البرمجية وجزء جيد من التوثيق المفيد.

  • يمكنك اختيار القواعد التي تريدها بشكل تفاعلي، ونشرها فقط، أو يمكنك أتمتة العملية ونشر جميع القواعد والإعدادات الضرورية على جدار الحماية الخاص بك.

جدول المحتويات

رؤية هذا الجدار الناري

مدار في VSCode PowerShell

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

  2. على عكس قواعد جدار الحماية في لوحة التحكم، يتم تحميل هذه القواعد في جدار حماية GPO (نهج المجموعة المحلي)، مما يعني أن تغييرات إعدادات النظام أو البرامج العشوائية التي تقوم بتثبيت قواعد كجزء من عملية التثبيت لن يكون لها أي تأثير على جدار الحماية ما لم تقم صراحةً بعمل استثناء.

  3. القواعد المبنية على البرامج والخدمات سيتم التحقق من ملفها التنفيذي المحدد بحثاً عن التوقيع الرقمي وسيتم فحصها على VirusTotal في حالة فقدان التوقيع الرقمي، لأسباب أمنية لا يتم إنشاء القاعدة أو تحميلها في جدار الحماية إذا فشل هذا التحقق. (يمكن فرضه)

  4. الاتجاه الافتراضي للصادر هو "منع" ما لم تكن هناك قاعدة للسماح بحركة مرور الشبكة، في معظم جدران الحماية هذا غير ممكن ما لم تحتفظ بقواعد لكل برنامج أو خدمة محتملة، وبفضل هذه المجموعة من القواعد، فإن تعيين الافتراضي للصادر على منع يتطلب القليل جداً من العمل الإضافي أو لا يتطلب أي عمل.

  5. على عكس السيناريو المعتاد، ستعرف أي القواعد لم تعد لها تأثير أو أصبحت زائدة عن الحاجة بسبب مثلاً برنامج تم إلغاء تثبيته، أو خدمة نظام مفقودة لم تعد موجودة، أو ملف تنفيذي تمت إعادة تسميته بعد تحديث Windows وأسباب مشابهة.

  6. على عكس قواعد جدار حماية Windows المحددة مسبقاً، هذه القواعد أكثر تقييداً مثل أنها مرتبطة بحسابات مستخدمين صريحة، تنطبق على منافذ محددة، واجهات شبكة، ملفات تنفيذية محددة، خدمات إلخ. وكل ذلك يتم تعلمه تلقائياً من النظام المستهدف.

  7. تحديث أو تصفية أو البحث عن القواعد والسمات مثل المنافذ والعناوين وما شابه ذلك أسهل بكثير لأن هذه القواعد موجودة في نصوص برمجية، يمكنك استخدام أدوات المحرر مثل التعبير المنتظم، المؤشر المتعدد أو CTRL + F لإجراء عمليات مجمعة على قواعدك، القيام بذلك في أي واجهة مستخدم لجدار الحماية غير ممكن بسبب قيود واجهة المستخدم.

  8. جزء كبير من الكود مخصص لتقديم حل آلي لبناء وتحديد جدار حماية متخصص للنظام المستهدف والمستخدمين، مما يقلل الحاجة للقيام بأي شيء يدوياً وبالتالي يوفر لك الكثير من الوقت الإداري الثمين.

جدول المحتويات

الترخيص

رخصة MIT

هذا المشروع Windows Firewall Ruleset مرخص بموجب رخصة MIT.

بعض النصوص البرمجية، الملفات أو الوحدات ليست مرخصة بموجب MIT أو قد يكون لها أصحاب حقوق نشر خاصة بهم، لهذا السبب يتم الاحتفاظ بإشعارات الترخيص وحقوق النشر "لكل ملف".

المتطلبات

Windows

يسرد الجدول التالي أنظمة التشغيل التي تم اختبار Windows Firewall Ruleset عليها


  1. Windows PowerShell 5.1 أو PowerShell Core 7.3.x تحميل PowerShell Core
  2. .NET Framework 4.5 (فقط لـ Windows PowerShell) تحميل .NET Framework
  3. sigcheck64.exe (موصى به بشدة) تحميل sigcheck
  4. Git (اختياري) تحميل Git
  5. Visual Studio Code (موصى به) تحميل VSCode
  6. دعم PowerShell لـ VSCode (موصى به) تحميل الإضافة
  7. PSScriptAnalyzer (موصى به) تحميل PSScriptAnalyzer

جدول المحتويات

تفاصيل المتطلبات

  • جميع أنظمة Windows 10.0 (الرئيسي 10، الثانوي 0) وما فوق باستثناء إصدارات Home مدعومة، ولكن فقط الإصدارات المدرجة في الجدول أعلاه تم اختبارها.
    يشير عمود "الإصدار" إلى الإصدارات التي تم اختبارها، ومع ذلك يتم اختبار أحدث إصدارات النظام فقط بشكل مستمر.
    قائمة الأنظمة المدعومة الأخرى غير المختبرة والميزات موجودة في المستقبل

  • PowerShell Core غير مدمج في Windows، ستحتاج إلى تثبيته بشكل منفصل أو استخدام Windows PowerShell وهو جزء من نظام التشغيل.

  • .NET Framework الحد الأدنى للإصدار 4.5 مطلوب إذا كنت تستخدم Windows PowerShell (إصدار سطح المكتب) بدلاً من PowerShell Core.
    يأتي Windows 10 مع حد أدنى .NET 4.6 (الذي يتضمن .NET 4.5)، ويأتي Windows 11 مع حد أدنى .NET 4.8

  • sigcheck64.exe (أو sigcheck.exe 32 بت) هي أداة تحقق من التوقيع الرقمي يمكنك تنزيلها من موقع Microsoft ويجب وضعها إما في دليل C:\tools أو في متغير البيئة %PATH%.
    سيستخدمها Windows Firewall Ruleset لإجراء تحليل ضار عبر الإنترنت يعتمد على التجزئة على VirusTotal لكل ملف قابل للتنفيذ غير موقع رقمياً قبل إنشاء قاعدة جدار حماية لذلك الملف القابل للتنفيذ.
    هذه مجرد توصية، إذا لم يكن هناك sigcheck64.exe في فسيُعرض عليك تنزيله، وإذا رفضت فلن يتم إجراء تحليل ضار. باستخدام هذه الوظيفة فإنك توافق على ، و

جدول المحتويات

لا أستوفي المتطلبات

في الوقت الحالي، تم اختبار هذا الجدار الناري وتصميمه لأحدث إصدارات Windows Desktop/Servers وهي معروفة بالعمل، لاستخدامه على أنظمة أقدم يتطلب عملاً إضافياً.

يتم الاختبار على Windows 64 بت، وجزء صغير من القواعد لن يعمل على نظام 32 بت ويتطلب تعديلاً، والوظائف الكاملة لنظام 32 بت هي قيد العمل.
في الوقت الحالي يمكنك تحميل القواعد على نظام 32 بت بشكل جيد مع استثناء بعض القواعد التي ربما لا تكون ذات صلة بتكوينك.

للحصول على معلومات حول كيفية استخدام هذا الجدار الناري على أنظمة Windows القديمة مثل Windows 7 أو Windows Server 2008، انظر دعم الإصدارات القديمة

جدول المحتويات

المستخدم لأول مرة

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

تحذير

  • قد تفقد اتصال الإنترنت لبعض برامجك أو في حالات نادرة تفقد الاتصال بالإنترنت تماماً، إذا حدث ذلك، يمكنك إما السماح مؤقتاً بالشبكة الصادرة في GPO أو تشغيل
    .\Scripts\Reset-Firewall.ps1 -Remoting -Service، لإعادة تعيين جدار حماية GPO إلى إعدادات النظام الافتراضية، وإزالة جميع القواعد واستعادة WinRM والخدمات المعدلة إلى الإعدادات الافتراضية للنظام. (بعد ذلك يلزم إعادة تشغيل PowerShell)

  • داخل دليل docs يوجد ResetFirewall.md، دليل حول كيفية القيام بذلك يدوياً، يدوياً، إذا كنت غير قادر على تشغيل البرنامج النصي لسبب ما، أو أن البرنامج النصي لا يحل مشاكلك.

  • لن يتم حذف القواعد الموجودة لديك ما لم يكن لديك قواعد في GPO بنفس أسماء المجموعات تماماً مثل القواعد من هذه المجموعة، ومع ذلك لا ينطبق هذا على Scripts\Reset-Firewall.ps1 الذي سيقوم بمسح قواعد GPO بالكامل وترك فقط تلك الموجودة في لوحة التحكم.

  • إذا كنت تريد أن تكون متأكداً 100%، فيرجى تصدير قواعد GPO الخاصة بك كما هو موضح في تصدير/استيراد القواعد

  • سيُطلب منك تحديد القواعد التي سيتم تحميلها (إذا اخترت النشر التفاعلي، انظر لاحقاً)، لتقليل مشكلة اتصال الإنترنت، يجب نشر على الأقل جميع القواعد العامة للشبكات ونظام التشغيل المسماة "CoreNetworking"، "ICMP"، "WindowsSystem"، "WindowsServices"، "Multicast" بما في ذلك جميع القواعد التي لديك برامج مثبتة عليها في النظام، أيضاً لا تتجاهل IPv6، فـ Windows يحتاج IPv6 حتى لو كنت على شبكة IPv4.
    سيكون من السهل حذف ما لا تحتاجه في GPO بدلاً من التنقيب لاحقاً في الكود للعثور على ما فاتك.

  • التكوين الافتراضي سيحدد سلوك جدار الحماية العام الذي لا يمكن تكوينه في GPO، مثل Stateful FTP و PPTP أو إعدادات IPSec العامة، إذا كنت بحاجة إلى إعداد معين، يرجى زيارة وإلقاء نظرة على . لاحظ أن يتم استدعاؤه تلقائياً بواسطة

جدول المحتويات

ملاحظة

  • تحميل القواعد في GPO فارغ يجب أن يكون سريعاً جداً، ومع ذلك فإن التحميل في GPO يحتوي بالفعل على قواعد سيكون أبطأ بشكل ملحوظ (يعتمد على عدد القواعد الموجودة في GPO)

  • سيتم حفظ جميع الأخطاء والتحذيرات في دليل Logs، يمكنك مراجعة هذه السجلات لاحقاً إذا كنت ترغب في إصلاح مشكلة ما، يمكن تجاهل معظم التحذيرات وحتى بعض الأخطاء بأمان، في حالات معينة قد ترغب في حل الأخطاء إذا أمكن.

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

  • إذا تم تنزيل المستودع يدوياً، أو نقله من كمبيوتر آخر أو وسيط، فيجب عليك أولاً إلغاء حظر جميع الملفات في المستودع لتجنب أسئلة YES/NO المزعجة لكل نص برمجي يتم تنفيذه، عن طريق تشغيل Scripts\Unblock-Project.ps1
    النص البرمجي الرئيسي Scripts\Deploy-Firewall.ps1 يقوم بذلك في حال نسيت، ولكن أسئلة YES/NO الأولية ستظل موجودة في هذه الحالة.

  • إذا كان لديك "حماية من برامج الفدية" ممكّنة (في Windows Defender)، تأكد من إدراج pwsh.exe (إصدار Core) أو powershell.exe (إصدار سطح المكتب) أو كليهما في القائمة البيضاء، وإلا ستحدث أخطاء في وضع التطوير أثناء تثبيت الوحدات.
    إذا تم تنزيل كود المستودع إلى مجلد تحت حماية برامج الفدية، فقد يتم حظر أي شيء.
    قد تحتاج وحدة التحكم PowerShell إلى إعادة التشغيل حتى تسري تغييرات "الوصول المتحكم به إلى المجلد".

  • بشكل افتراضي، يتم إنشاء القواعد لمجموعة Users بينما لمجموعة Administrators فقط إذا لزم الأمر، التوصية هي أن يكون لديك حساب مستخدم قياسي تستخدمه للحوسبة اليومية لأسباب أمنية. إذا كنت مسؤولاً ولا ترغب في إنشاء حساب قياسي على جهاز الكمبيوتر الخاص بك، فسيتعين عليك تعديل متغير في وتحديد .

جدول المحتويات

بداية سريعة

  1. إذا لم يكن لديك مفاتيح ssh وإعدادات أخرى مطلوبة للاستنساخ عبر SSH، فإما أن تستنسخ باستخدام HTTPS أو تقوم بتنزيل ملف zip من الإصدارات من Releases، ثم لأحدث إصدار تحت "assets" قم بتنزيل ملف zip.
    هذه الخطوات هنا تفترض أنك قمت بتنزيل ملف zip من قسم "assets" ضمن "Releases".

  2. قم باستخراج الأرشيف الذي تم تنزيله في مكان ما، هذه الخطوات تفترض أنك قمت باستخراج ملف zip (الدليل الجذر للمستودع) في محرك C:\ مباشرة.

  3. إذا كنت ترغب في استخدام Windows PowerShell، انظر كيفية فتح Windows PowerShell
    وإلا فإن الإجراء لكل من PowerShell Core و Windows PowerShell مشابه:
    افتح المجلد المستخرج، انقر بزر الماوس الأيمن على مساحة فارغة وهناك خيار لتشغيل PowerShell Core كمسؤول (يفترض أنك قمت بتفعيل قائمة السياق أثناء تثبيت PowerShell Core) إذا لم يكن الأمر كذلك فافتحه يدوياً.

  4. إذا لم يكن لديك قائمة سياق PowerShell، فانتقل إلى محرك C:\ الجذر عن طريق تنفيذ السطرين التاليين (اكتب أو انسخ/الصق الأوامر واضغط Enter لكل منهما)، هذا هو المكان الذي قمت باستخراج ملف zip الذي تم تنزيله فيه

    root@kitploit:~
    c:
    cd \
    
  5. انتقل إلى المجلد الذي تم تنزيله:

    root@kitploit:~
    cd WindowsFirewallRuleset*
    
  6. لرؤية سياسة التنفيذ الحالية، اكتب الأمر التالي واضغط Enter:
    (تلميح: يمكنك استخدام مفتاح TAB للإكمال التلقائي أثناء الكتابة)

    root@kitploit:~
    Get-ExecutionPolicy
    

    تذكر ناتج الأمر أعلاه، لاحظ أن PowerShell Core الافتراضي هو بينما Windows PowerShell الافتراضي هو على إصدارات غير الخادم.

إذا كنت بحاجة إلى مساعدة في تحديد ما إذا كنت ستشغّل مجموعة قواعد أم لا، اكتب ? عندما يُطلب منك تشغيل مجموعة القواعد واضغط على Enter للحصول على مزيد من المعلومات.
إذا أردت لأي سبب مقاطعة وإلغاء النشر (مثلاً لبدء نشرة جديدة) اضغط CTRL + C على لوحة المفاتيح أثناء تركيز PowerShell وأعد تشغيل وحدة تحكم PowerShell.

  1. اتبع مخرجات المطالبة (مثل اضغط على Enter لقبول الإجراء الافتراضي)، سيستغرق الأمر حوالي 15 دقيقة من انتباهك.

    ملاحظة: إذا كان حساب المسؤول يستخدم حساب Microsoft لتسجيل الدخول إلى الكمبيوتر، سيُطلب منك بيانات الاعتماد، والتي يجب أن تكون بريدًا إلكترونيًا وكلمة مرور من Microsoft بغض النظر عن استخدامك لـ Windows hello أم لا، فلن يعمل تحديد PIN مثلًا ولا تُدعم طرق مصادقة Windows hello الأخرى.

    إذا تم تقديم بيانات اعتماد غير صالحة، ستحصل على خطأ يقول Access is denied.
    إذا حدث هذا، ستحتاج إلى إعادة تشغيل وحدة تحكم PowerShell والمحاولة مرة أخرى.

    لمزيد من المعلومات عن سبب ضرورة ذلك، راجع الأسئلة الشائعة

  2. إذا واجهت أخطاء، يمكنك إما تجاهل الأخطاء أو تحديث البرنامج النصي الذي أنتج الخطأ ثم إعادة تشغيل ذلك البرنامج النصي المحدد مرة أخرى لاحقًا.

  3. عند الانتهاء، قد ترغب في تعديل بعض القواعد في نهج المجموعة المحلي، ليست كل القواعد مفعلة افتراضيًا أو قد ترغب في تبديل السلوك الافتراضي للسماح/المنع.
    قد لا تغطي القواعد جميع البرامج المثبتة على نظامك، وفي هذه الحالة يجب إنشاء القواعد المفقودة.

  4. الآن تفضل واختبر اتصالك بالإنترنت (مثل باستخدام متصفح ويب أو برنامج آخر)، إذا كنت غير قادر على الاتصال بالإنترنت بعد نشر هذه القواعد، فلديك عدة خيارات:

    • فتح جدار الحماية الصادر مؤقتًا في GPO أو تعطيل جدار الحماية
    • استكشاف المشكلات وإصلاحها: دليل تفصيلي لاستكشاف أخطاء الشبكة
    • يمكنك إعادة تعيين جدار الحماية إلى الحالة السابقة
    • ألقِ نظرة على دليل docs لمزيد من خيارات استكشاف الأخطاء وإصلاحها والوثائق
  5. كمتطلب مسبق لنشر جدار الحماية، تم بدء تشغيل بعض خدمات النظام وضبطها على بدء تشغيل تلقائي، داخل دليل Logs ستجد ملف Services_<DATE>.log لمساعدتك في استعادة هذه الخدمات إلى الوضع الافتراضي إذا رغبت في ذلك. على سبيل المثال، يجب ألا تعمل خدمة إذا لم تكن مطلوبة (الافتراضي هو بدء تشغيل "يدوي")

جدول المحتويات

إدارة جدار الحماية

يقدم القسم التالي بعض التلميحات لإدارة جدار الحماية بسهولة

نشر جدار الحماية تلقائيًا وتفاعليًا

يدعم البرنامج النصي Deploy-Firewall.ps1 عدة وسائط لتتيح لك تخصيص أتمتة النشر كما يلي:

  • لتشغيل جميع القواعد تلقائيًا بدون مطالبة وبإخراج موجز ولكن فقط للبرامج الموجودة على النظام، قم بتشغيل:```powershell .\Scripts\Deploy-Firewall.ps1 -Force -Quiet
root@kitploit:~
- للمضي قدماً خطوة بخطوة والمطالبة بتأكيد أي مجموعات قواعد سيتم تحميلها
ومحاولة حل المشكلات أثناء التشغيل:```powershell
.\Scripts\Deploy-Firewall.ps1 -Interactive
  • لتتم مطالبتك فقط لاختيار مجموعة القواعد، قم بتشغيل Deploy-Firewall دون أي معلمات:```powershell .\Scripts\Deploy-Firewall.ps1
root@kitploit:~
لتتعلم معنى المعاملات (parameters) لتتمكن من دمجها بنفسك، اطلع على تعليق السكربت `Deploy-Firewall.ps1` أو قم بتشغيل الأمر التالي:```powershell
Get-Help .\Scripts\Deploy-Firewall.ps1 -Detailed

إدارة قواعد GPO

هناك طريقتان لإدارة قواعد GPO:

  1. استخدام نهج المجموعة المحلي، هذه الطريقة تمنحك حرية محدودة فيما يمكنك فعله بالقواعد من هذا المستودع، مثل تعطيلها، أو تغيير بعض السمات، أو إضافة قواعد جديدة.
    لمزيد من المعلومات انظر: إدارة جدار حماية GPO

  2. تحرير نصوص PowerShell، هذه الطريقة تمنحك تحكمًا كاملاً، يمكنك تغيير أو إزالة القواعد الحالية بدون قيود أو إضافة قواعد جديدة.

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

يتم تحميل القواعد في نهج المجموعة المحلي، إذا قبلت أثناء إعداد جدار الحماية إنشاء اختصار لوحدة تحكم إدارة جدار الحماية الشخصية، يمكنك تشغيل الاختصار، وإلا اتبع الخطوات المذكورة في إدارة جدار حماية GPO

لمزيد من المعلومات حول GPO انظر: تكوين إعدادات نهج الأمان

جدول المحتويات

نشر مجموعات قواعد فردية

إذا كنت تريد نشر قواعد محددة فقط، فهناك طريقتان للقيام بذلك:

  1. تنفيذ Scripts\Deploy-Firewall.ps1 واختيار نعم فقط لمجموعات القواعد التي تريدها، وإلا اختر لا واضغط على Enter لتخطي مجموعة القواعد الحالية.

  2. في وحدة تحكم PowerShell، انتقل باستخدام cd إلى الدليل الذي يحتوي على برنامج مجموعة القواعد الذي تريده وقم بتنفيذ البرنامج الفردي.
    على سبيل المثال cd .\Rules\IPv4\Outbound\Software متبوعًا بـ .\Adobe.ps1 لتحميل قواعد Adobe.

قد ترغب في تشغيل Scripts\Complete-Firewall.ps1 بعد ذلك لتطبيق سلوك جدار الحماية الافتراضي إذا لم يتم تعيينه بالفعل، أو يمكنك القيام بذلك يدويًا في GPO ولكن بقدرة محدودة. "قدرة محدودة" تعني أن Scripts\Complete-Firewall.ps1 يقوم بتكوين بعض معلمات جدار الحماية التي لا يمكن تعديلها في واجهة جدار الحماية الرسومية.

في كلتا الحالتين، سيتم حذف جميع القواعد التي تطابق مجموعة القواعد، DisplayGroup، قبل تحميل القواعد في GPO.

جدول المحتويات

حذف القواعد

يوجد حاليًا ثلاثة خيارات لحذف قواعد جدار الحماية:

  1. الطريقة الأسهل هي تحديد جميع القواعد التي تريد حذفها في GPO، والنقر بزر الماوس الأيمن ثم الحذف.

  2. لحذف القواعد وفقًا لملف، هناك وظيفة لهذا الغرض، موجودة في:
    Modules\Ruleset.Firewall\Public\Remove-FirewallRule.ps1
    ومع ذلك، تحتاج أولاً إلى تصدير جدار الحماية إلى ملف قبل استخدامها.

  3. للعودة إلى حالة جدار الحماية القديمة (تلك الموجودة في لوحة التحكم)، ستحتاج إلى حذف جميع القواعد من GPO، وتعيين جميع الخصائص إلى غير مكون بعد النقر بزر الماوس الأيمن على العقدة:
    Windows Defender Firewall with Advanced Security - Local Group Policy Object

يمكن أيضًا حذف جميع القواعد أو العودة إلى الحالة السابقة باستخدام Scripts\Reset-Firewall.ps1
لاحظ أنك ستحتاج أيضًا إلى إعادة استيراد قواعد GPO المصدرة إذا كانت لديك.

جدول المحتويات

تصدير/استيراد القواعد

إذا كنت تريد تصدير القواعد من GPO، فهناك طريقتان متاحتان:

  1. التصدير في نهج المجموعة المحلي عن طريق النقر على قائمة تصدير السياسة...، بعد النقر بزر الماوس الأيمن على العقدة:
    Windows Defender Firewall with Advanced Security - Local Group Policy Object

  2. للتصدير باستخدام PowerShell، قم بتشغيل Scripts\Backup-Firewall.ps1
    إذا كنت تريد تخصيص التصدير الخاص بك، فاطلع على وظيفة Export-RegistryRule الموجودة في وحدة Ruleset.Firewall ، والتي تتيح لك تخصيص التصدير بأي طريقة تقريبًا تريدها.

إذا كنت تريد استيراد القواعد، فإن الاستيراد باستخدام GPO هو نفسه بالنسبة للتصدير، وللاستيراد باستخدام PowerShell، فقط قم بتشغيل Scripts\Restore-Firewall.ps1 والذي سيلتقط ملفات التصدير السابقة الخاصة بك.

لتخصيص التصدير/الاستيراد، يرجى إلقاء نظرة على Modules\Ruleset.Firewall\Public، حيث ستجد وصفًا لكيفية استخدام وظائف وحدة التصدير/الاستيراد.

ملاحظة: وظيفة Export-FirewallRule بطيئة حقًا، يُنصح بتشغيل وظيفة Export-RegistryRule بدلاً من ذلك فهي بأسرع ما يمكن.

جدول المحتويات

نشر جدار الحماية عن بُعد

هذا القسم والوظيفة حاليًا تجريبيان وغير مكتملين بالكامل، في الوقت الحالي يتم دعم النشر إلى كمبيوتر بعيد واحد.

تحت الإنشاء

في نشر جدار الحماية عن بُعد، هناك على الأقل جهازي كمبيوتر مشاركين،
يسمى أحدهما كمبيوتر الإدارة (العميل) ويسمى البعض الآخر أجهزة كمبيوتر مُدارة (خوادم).

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

للحصول على تفاصيل التنفيذ، انظر وحدة Modules\Ruleset.Remote

ملاحظة: وظيفة الاتصال عن بُعد ليست حصرية لنشر جدار الحماية عن بُعد، فالنشر إلى localhost يتطلب بطبيعته تكوين WinRM و PS عن بُعد عاملاً أيضًا.

قبل أن يتم تنفيذ النشر عن بُعد، يجب تكوين الكمبيوتر البعيد (الخادم) لقبول الاتصال، مثال على كيفية إنشاء اتصال SSL كما يلي:

للسماح بالتنفيذ، قم بتكوين خدمة WinRM والتسجيل عن بُعد على كمبيوتر الخادم عن طريق تشغيل:

ملاحظة: إذا كنت تستخدم PowerShell core، فاحذف -Protocol HTTPS من Enable-WinRMServer أدناه، سيؤدي هذا إلى تمكين كل من HTTP و HTTPS وهو حل مؤقت لتوافق الوحدة النمطية للعمل في جلسة عن بُعد.```powershell

On server computer

Set-ExecutionPolicy -Scope LocalMachine RemoteSigned Set-Location C:\Path\to\WindowsFirewallRuleset Import-Module .\Modules\Ruleset.Remote Enable-WinRMServer -Protocol HTTPS -KeepDefault -Confirm:$false Enable-RemoteRegistry -Confirm:$false

root@kitploit:~
بعد تنفيذ هذه الخطوات، داخل دليل `\Exports` ستجد ملف شهادة SSL (*.cer)
والذي يجب نسخه إلى جهاز الإدارة أيضًا داخل دليل `\Exports`.\
افتراضيًا، يتم إنشاء شهادة SSL موقعة ذاتيًا إذا لم يكن جهاز الخادم يمتلك واحدة بالفعل.

**ملاحظة:** يتم تكوين جهاز الخادم يدويًا مرة واحدة فقط للإعداد الأولي،
لا تحتاج إلى تكرار ذلك للنشرات اللاحقة.

الخطوة التالية هي الانتقال إلى جهاز الإدارة وتشغيل البرامج النصية حسب الرغبة، على سبيل المثال:```powershell
# On management computer
cd C:\Path\to\WindowsFirewallRuleset\Scripts
Deploy-Firewall -Domain "RemoteComputerName"

يجب تشغيل مجموعتي الأوامر أعلاه في نفس الإصدار من PowerShell، على سبيل المثال إذا تم تكوين الخادم في PowerShell Core فإن جهاز العميل يحتاج أيضًا إلى PowerShell Core للنشر.
إذا كان الخادم أو جهاز الإدارة عبارة عن محطة عمل (على سبيل المثال ليس خادم Windows أو جزءًا من مجال) فيجب تعيين ملف تعريف الشبكة الخاص به إلى ملف تعريف خاص.

يمكن تخصيص النشر عن بعد بتفصيل كبير في المواقع التالية:

  • لتخصيص خدمة WinRM راجع: Modules\Ruleset.Remote\Scripts\WinRMSettings.ps1
  • لتخصيص تكوين جلسة WSMan راجع: Modules\Ruleset.Remote\Scripts\*Firewall.pssc
  • لتخصيص شهادة SSL الموقعة ذاتيًا راجع: Modules\Ruleset.Remote\Public\Register-SslCertificate.ps1
  • لتخصيص تكوين جلسة PS و CIM راجع: Modules\Ruleset.Remote\Scripts\SessionSettings.ps1

لمزيد من المعلومات ونصائح استكشاف الأخطاء وإصلاحها، راجع أيضًا مساعدة عن بعد

جدول المحتويات

الدعم والتحديثات والتوثيق

للحصول على الدعم أو الإبلاغ عن المشكلات أو الاقتراحات أو تخصيص هذا المستودع وطرق تحديث جدار الحماية هذا بشكل دوري، يرجى الرجوع إلى SUPPORT.md

جدول المحتويات

المستقبل

الميزات التالية مطلوبة وقد تكون متاحة في وقت ما في المستقبل:

  1. إدارة جدار الحماية عن بعد

    • نشر تكوين جدار الحماية إلى أجهزة كمبيوتر متعددة عن بعد على نطاق المجال أو الشبكات المنزلية
  2. مجموعات شاملة لقواعد جدار الحماية لإصدارات Windows Server وأنظمة البوابة المخصصة.

  3. فحص السجل عند الطلب أو بشكل مجدول للتحقق من سلامة سياسة تصفية جدار الحماية النشطة وإعدادات جدار الحماية

    • يتم الإبلاغ عن أي قاعدة أو إعداد لجدار الحماية في السجل ليس جزءًا من هذا المستودع للمراجعة.
    • لأن البرامج الضارة والمتسللين وحتى البرامج الموثوقة يمكنها محاولة تجاوز جدار الحماية في أي وقت
  4. وظائف كاملة للإصدارات التالية غير المختبرة بعد من Windows 10.0

    • Windows 10 & 11 Pro for Workstations
    • Windows 10 & 11 IoT Core Blast
    • Windows 10 & 11 IoT Enterprise
    • Windows 10 & 11 S
  5. وظائف لأنظمة x86

جدول المحتويات

تنزيل الأداة
OSالإصدارالإصدارالبنية
Windows 10Pro1809 - 22H2x64
Windows 10Pro Education20H2x64
Windows 10Enterprise1809 - 20H2x64
Windows 10Education20H2 - 22H2x64
Windows 11Pro Education21H2x64
Windows 11Pro22H2 - 23H2x64
Windows 11Enterprise22H2x64
Windows Server 2019Essentials1809x64
Windows Server 2019Standard1809x64
Windows Server 2019Datacenter1809x64
Windows Server 2022Standard21H2x64
Windows Server 2022Datacenter21H2x64
PATH

شروط خدمة VirusTotal
سياسة خصوصية VirusTotal
شروط ترخيص برامج Sysinternals
  • قد ترغب في الحصول على git للتحقق من التحديثات، والتبديل بسهولة بين الفروع أو المساهمة بالكود.

  • VS Code هو المحرر المفضل والموصى به للتنقل في الكود و/أو تحرير النصوص البرمجية لاحتياجاتك الخاصة أو للمساهمة.

  • إذا حصلت على VSCode، فستحتاج أيضاً إلى إضافة PowerShell للتنقل في الكود وميزات لغة PowerShell.

  • للتنقل وتحرير الكود باستخدام VSCode، يُوصى بشدة باستخدام PSScriptAnalyzer، وإلا فقد تكون تجربة التحرير غريبة بسبب إعدادات المستودع المختلفة.

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

  • Scripts\Complete-Firewall.ps1
    Set-NetFirewallSetting

    Scripts\Complete-Firewall.ps1
    Scripts\Deploy-Firewall.ps1
  • تتطلب بعض النصوص البرمجية أن تكون (محول الشبكة) متصلاً بالشبكة، على سبيل المثال لتحديد عنوان البث IPv4. (وإلا قد يتم إنشاء أخطاء)

  • يجب أن يكون كل شيء على النظام محدثاً، وإلا قد يتم تخطي بعض القواعد أو تكون غير صحيحة، ويشمل ذلك تحديثات Windows، وتطبيقات متجر Microsoft وجميع البرامج الأخرى.


  • DefaultGroup
    Config\ProjectSettings.ps1
    Administrators

    انظر SecurityAndPrivacy.md لمزيد من المعلومات حول سبب عدم التوصية باستخدام حساب المسؤول لأسباب أمنية.
    يجب أن يكون لحساب المسؤول الخاص بك المستخدم لنشر جدار الحماية كلمة مرور محددة.

  • قد تؤدي تحديثات البرامج أو Windows إلى إعادة تسمية الملفات القابلة للتنفيذ أو مواقعها، كما قد يتم إعادة تسمية حسابات المستخدمين بواسطة المسؤول، لذلك من المهم إعادة تحميل قواعد محددة من وقت لآخر حسب الحاجة لتحديث جدار الحماية لتغييرات النظام التي قد تحدث في أي وقت.
    يسمى هذا السلوك التراجع البرمجي

  • قبل نشر جدار الحماية، يوصى بتحديث النظام وبرامج المستخدم على الكمبيوتر المستهدف بما في ذلك تطبيقات متجر Windows، خاصة إذا كان النظام مثبتاً حديثاً لأن التحديث لاحقاً قد يتطلب إعادة تحميل بعض القواعد.

  • RemoteSigned
    Restricted
  • قم بتعيين سياسة التنفيذ إلى unrestricted لتتمكن من إلغاء حظر ملفات المشروع، (لاحظ أن RemoteSigned سيعمل فقط بمجرد إلغاء حظر النصوص البرمجية)

    root@kitploit:~
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Unrestricted
    

    قد يُطلب منك قبول تغيير سياسة التنفيذ، إذا كان الأمر كذلك، اكتب Y واضغط Enter للقبول.
    لمزيد من المعلومات، انظر حول سياسات التنفيذ

  • في هذه المرحلة، يجب "إلغاء حظر" جميع ملفات المستودع أولاً عن طريق تنفيذ نص برمجي يسمى
    Scripts\Unblock-Project.ps1، بالمناسبة، تم حظر ملفات المستودع بواسطة Windows لمنع المستخدمين من تشغيل كود نصي غير موثوق تم تنزيله من الإنترنت:

    root@kitploit:~
    .\Scripts\Unblock-Project.ps1
    

    إذا تم السؤال، تأكد من أن إجابتك هي R أي [R] تشغيل مرة واحدة عدة مرات حسب الحاجة لإلغاء حظر المشروع. (تقريباً حتى 8 مرات)

  • بمجرد إلغاء حظر ملفات المستودع، قم بتغيير سياسة التنفيذ إلى RemoteSigned:

    root@kitploit:~
    Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy RemoteSigned
    

    قد يُطلب منك مرة أخرى قبول تغيير سياسة التنفيذ، اكتب Y واضغط Enter للقبول.

  • تعتمد قواعد البرامج مثل متصفح الويب والألعاب وما إلى ذلك على متغيرات التثبيت.
    يتم البحث عن معظم المسارات تلقائياً ويتم تحديث المتغيرات بشفافية، وإلا تحصل على تحذير ووصف لكيفية إصلاح المشكلة.
    إذا لزم الأمر، يمكنك العثور على متغيرات التثبيت هذه في النصوص البرمجية الفردية داخل دليل Rules.
    يوصى بإغلاق جميع وحدات تحكم إدارة MMC مثل gpedit.msc أو secpol.msc قبل تشغيل البرنامج النصي الرئيسي في الخطوة التالية.

  • عد إلى وحدة تحكم PowerShell وقم بتشغيل أحد أمرَي Deploy-Firewall أدناه:

    لنشر جدار الحماية تلقائياً مع أقل عدد ممكن من المطالبات، قم بتشغيل:

    root@kitploit:~
    .\Scripts\Deploy-Firewall.ps1 -Force
    

    وإلا ليتم المطالبة بشكل تفاعلي حول القواعد التي سيتم تحميلها، قم بتشغيل:

    root@kitploit:~
    .\Scripts\Deploy-Firewall.ps1
    ```اضغط على Enter وسيُطرح عليك أسئلة مثل نوع مجموعات القواعد التي تريدها.\
    

  • Windows Remote Management