كيفية إدارة قواعد جدار حماية Windows باستخدام PowerShell

يحتوي Windows على جدار حماية متقدم قوي وسهل الاستخدام، وباستخدام PowerShell 7 يمكننا بسهولة تكوين جدار الحماية من سطر الأوامر. تتناول هذه المقالة الأوامر الشائعة المستخدمة في جدار حماية Windows والأماكن التي يمكن استخدامها فيها.




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

UFW 

أو

IPTables 

على لينكس.


تحميل NetSecurity الوحدة النمطية

ال NetSecurity تحتوي الوحدة المضمنة والمقدمة من Microsoft على كافة الوظائف اللازمة لإضافة قواعد جدار الحماية وإزالتها وتعديلها. لتحميل الوحدة، ما عليك سوى استيراد الوحدة كما هو موضح أدناه.

Import-Module -Name 'NetSecurity'

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

الأمر cmdlet، Get-NetFirewallRule سوف تظهر كافة قواعد جدار الحماية الموجودة. هناك العديد منها، بشكل افتراضي، ولتوضيح ذلك، نقوم بإخراج العشرة الأولى.

Get-NetFirewallRule | Select-Object DisplayName, Enabled, Direction, Action -First 10
<img src="https://static0.howtogeekimages.com/wordpress/wp-content/uploads/csit/2020/03/dbfa394e.png" alt="" width="941" height="281" />

هناك العديد من الخصائص التي يتم إرجاعها بواسطة Get-NetFirewallRule. على الرغم من أننا ندرج فقط الخصائص المذكورة أعلاه، قيد التشغيل Get-NetFirewallRule | Select-Object * -First 1، سيتم سرد كل ما هو متاح.


/wordpress/wp-content/uploads/csit/2020/03/c532d1db.png

إنشاء قاعدة جدار الحماية الجديدة

هناك العديد من الطرق المختلفة لإنشاء قاعدة جدار حماية جديدة ولكن الأمر الذي يقوم بذلك هو (Net-NewFirewallRule)(). الخصائص الأساسية التي يجب ملؤها هي:

  • DisplayName – الاسم المألوف لقاعدة جدار الحماية
  • Direction – ما إذا كان سيتم منع حركة المرور الخارجة من الكمبيوتر Outbound أو الدخول إلى الكمبيوتر Inbound
  • Action – ما الإجراء الذي يجب اتخاذه في حالة استيفاء القاعدة، Allow أو Block

$Params = @{ "DisplayName" = 'Block WINS' "Direction" = 'Inbound' "Action" = 'Block' "RemoteAddress" = 'WINS' }

New-NetFirewallRule @Params

إذا Name لم يتم استخدام المعلمة، ثم يتم استخدام GUID عشوائي. ال DisplayName قد تكون قابلة للقراءة من قبل الإنسان ولكن Name نفسه تعيين GUID عشوائي.


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

ماذا لو أردنا تعديل قاعدة موجودة دون إزالة القاعدة وإعادة إنشائها بالكامل. للقيام بذلك، يجب علينا تشغيل Set-NetFirewallRule، وسوف يسمح لنا بتعديل قاعدة جدار الحماية حسب الضرورة.

$Params = @{
"DisplayName" = 'Block WINS'
"Action" = 'Allow'
}

Set-NetFirewallRule @Params

القدرات المفيدة الأخرى التي Set-NetFirewallRule لديه القدرة على العمل على قواعد متعددة في وقت واحد. يمكن القيام بذلك عن طريق تحديد موقع القواعد بواسطة إحدى المعلمات الثلاثة.

  • Nameهذا هو الإعداد الافتراضي، وإذا تم تعيين الأسماء عبر المسار أو مصفوفة سلسلة، فسيتم التصرف بناءً على كل منها.
  • DisplayNameمماثلة ل Name، ستقوم الكائنات المتعددة المسارات أو مصفوفة السلسلة بتعديل هذه القواعد وفقًا لذلك.
  • DisplayGroup أو Groupإذا تم تجميع القواعد معًا، فيمكن التصرف بناءً على كل هذه القواعد المجمعة مرة واحدة.

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

وأخيرًا، نود إزالة القاعدة الحالية لأنه ربما لم تعد هناك حاجة إليها. للقيام بذلك، قم بتشغيل الأمر Remove-NetFirewallRule. عند القيام بذلك، غالبًا ما يكون من الحكمة استخدام WhatIf المعلمة للتحقق من أن القاعدة هي القاعدة الصحيحة المراد إزالتها.


Remove-NetFirewallRule -DisplayName "Block WINS"

من المهم أن نلاحظ أن Remove-NetFirewallRule يمكن إزالة قواعد متعددة في وقت واحد. يوجد أدناه مثال على هذا النوع من الوظائف. ستقوم القاعدة أدناه بإزالة جميع القواعد المعطلة الموجودة في السياسة firewall_gpo في ad.local.test اِختِصاص.

Remove-NetFirewallRule -Enabled 'False' -PolicyStore 'ad.local.test\firewall_gpo'

هناك أمر مفيد قيد التشغيل، ولكنه قد يكون خطيرًا Remove-NetFirewallFule في حد ذاته والذي يزيل كافة قواعد جدار الحماية المحلية الثابتة التي تم إنشاؤها. إذا كان لديك مجال GPO يحدد قواعد جدار الحماية، فسيؤدي ذلك إلى إزالة أي قواعد قد تتعارض مع قواعد GPO المحددة.

وظائف إضافية

هناك العديد من الأوامر الأخرى المتاحة داخل NetSecurity وحدة. على الرغم من أننا لا نغطيها جميعًا هنا، إلا أن بعض الأوامر البارزة موضحة أدناه لتوضيح مدى شمول الوحدة.


  • Copy-NetFirewallRuleسيقوم هذا الأمر بنسخ قاعدة جدار الحماية الموجودة وجميع عوامل التصفية المرتبطة بها إلى مخزن السياسة نفسه أو مخزن سياسة مختلف.
  • Disable-NetFirewallRuleسيؤدي هذا إلى تعطيل قاعدة جدار الحماية التي تم تمكينها مسبقًا. ستظل القاعدة موجودة، ولكن لن يتم تعديل أي بيانات شبكة بشكل فعال. إذا قمت بتشغيل هذا الأمر دون أي معلمات، فسيتم تعطيل كافة القواعد النشطة على الكمبيوتر الهدف. يُنصح دائمًا بتشغيل هذا الأمر باستخدام الملف WhatIf المعلمة إذا لم تكن تستهدف قاعدة معينة أو مجموعة من القواعد.
  • Enable-NetFirewallRuleمثل Disable-NetFirewallRule، فسيعمل هذا الأمر على تمكين قاعدة أو مجموعة من القواعد التي تم تعطيلها مسبقًا. إذا تم تشغيل هذا الأمر بدون أية معلمات، فسوف يقوم بتمكين جميع القواعد التي تم تعطيلها مسبقًا. يُنصح دائمًا بتشغيل هذا الأمر باستخدام الملف WhatIf المعلمة إذا لم تكن تستهدف قاعدة معينة أو مجموعة من القواعد.
  • Get-NetFirewallProfileيعرض هذا الأمر الخيارات التي تم تكوينها حاليًا لملف تعريف محدد، مثل Domain, Private، أو Public الملفات الشخصية.
  • Get-NetFirewallSettingيمكن استرداد إعدادات جدار الحماية العامة باستخدام Get-NetFirewallSetting يأمر. تتضمن هذه الإعدادات خيارات مثل خيارات الشهادات أو قائمة انتظار الحزم أو قوائم التفويض.
  • Rename-NetFirewallRuleلإعادة تسمية قاعدة جدار الحماية الموجودة، استخدم الأمر Rename-NetFirewallRule يأمر. يعد هذا مفيدًا إذا تم إنشاء قاعدة بدون اسم محدد، وبالتالي يتم تلقي معرف GUID عشوائي كاسم لها، ويفضل تعيين اسم يمكن قراءته بواسطة الإنسان.
  • Set-NetFirewallProfileلتعيين إعدادات محددة لملفات التعريف الفردية، استخدم Set-NetFirewallProfile يأمر. يتيح ذلك لكل ملف تعريف أن يكون له إعدادات مميزة.
  • Set-NetFirewallSettingيقوم هذا الأمر بتكوين سلوكيات جدار الحماية العامة التي يتم تطبيقها بغض النظر عن ملف تعريف الشبكة المستخدم حاليًا.
  • Show-NetFirewallRuleسيُظهر هذا الأمر المساعد قواعد جدار الحماية والكائنات المرتبطة بها في قائمة منسقة.


توجد وظائف IPSec واسعة النطاق داخل الوحدة. الأوامر المذكورة أعلاه هي تلك التي تعمل على إعدادات جدار حماية Windows القياسية.

خاتمة

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

(العلامات للترجمة)مايكروسوفت

أضف تعليق