آموزش کاربردی خط فرمان ویندوز (CMD) آشنایی با قواعد و دستورات، استفاده از یک رابط کاربری حرفه ای برای انجام کارهای روزانه، 100% تضمینی، گارانتی بازگشت وجه بدون غید و شرط، در حال حاضر این دوره آموزشی با 59% تخفیف ویژه ارائه میشه، فکر میکنم پیشنهاد منصفانه ای به شما باشه

تنظیم فایروال ویندوز با CMD

در سیستم عامل ویندوز Firewall یا دیوار آتش نقش بسزایی در تضمین امنیت سیستم عامل دارد چراکه فایروال کلیه ارتباطات ورودی (Inbound) و خروجی (Outbound) ویندوز را طبق قوانین (Firewall Rules) نوشته شده اش کنترل و مدیریت کرده و در واقع همانند یک دیوار آتشین از ورود هر گونه ارتباط نا خواسته جلوگیری میکند. در این آموزش قصد دارم نحوه تنظیم و پیکربندی فایروال ویندوز را با CMD توضیح دهم پس در ادامه همراه با تی ام ال منیجر باشید.

پیشنهاد: اگر میخواهید فایروال ویندوز را به صورت گرافیکی تنظیم کنید میتوانید از آموزش تنظیم فایروال ویندوز استفاده کنید.

تنظیم و پیکربندی Firewall با CMD

برای تنظیم و پیکربندی فایروال ویندوز میتوانید از دستور Netsh Advfirewall استفاده کنید برای این منظور ابتدا Command Prompt را به صورت Run As Administrator اجرا کنید تا مجوز کافی برای ویرایش و مدیریت سیستم عامل ویندوز را داشته باشید سپس میتوانید وارد محیط دستور Netsh شوید و از آنجا با وارد کردن دستور Advfirewall وارد محیط پیکربندی فایروال شوید. برای مثال:

Netsh -c advfirewall

دستور netsh advfirewall

فعال کردن و غیر فعال کردن فایروال بر اساس نوع پروفایل شبکه

برای فعال کردن یا غیر فعال کردن فایروال ویندوز بر اساس نوع پروفایل شبکه میبایست از دستور Set در محیط Advfirewall با نوع پروفایل شبکه مورد نظر و پارامتر State استفاده کنید. مثلا برای غیر فعال کردن پروفایل دامین دستور netsh به صورت زیر نوشته میشود:

Netsh -c advfirewall

Set domainprofile state off

نکته: توجه کنید شما میتوانید از دستور Netsh برای پیکربندی فایروال به صورت کامل استفاده کنید. یعنی به طور کلی نیاز نیست ابتدا وارد محیط AdvFirewall دستور Netsh شوید. برای مثال:

Netsh Advfirewall set domainprofile state off

غیر فعال کردن فایروال با cmd

برای فعال سازی مجدد فایروال دامنه میبایست بجای استفاده از مقدار off از کلمه on استفاده کنید. برای مثال:

Netsh advfirewall set domainprofile state on
  • برای تنظیم پروفایل دامنه باید از domainprofile استفاده کنید.
  • برای تنظیم پروفایل عمومی باید از publicprofile استفاده کنید.
  • برای تنظیم پروفایل خصوصی باید از privateprofile استفاده کنید.
  • برای تنظیم همه پروفایل ها باید از allprofile استفاده کنید.
  • برای تنظیم پروفایل جاری باید از currentprofile استفاده کنید.

بررسی وضعیت پروفایل های فایروال

برای بررسی وضعیت پروفایل های فایروال میبایست از دستور show در مد Advfirewall استفاده کنید و در جلوی آن نام پروفایل مد نظر خود را وارد کنید. مثلا برای بررسی وضعیت پروفایل Private دستور Netsh Advfirewall به شکل زیر نوشته میشود:

Netsh advfirewall show privateprofile

نمایش پروفایلهای فایروال با cmd

همانطور که در تصویر بالا مشاهده میکنید دستور Netsh Advfirewall وضعیت فعلی پروفایل Private را به نمایش گذاشته است. در جلوی State وضعیت فعال بودن یا غیر فعال بودن فایروال ویندوز مشخص شده (مقدار On به معنای فعال بودن است) و در جلوی Firewall Policy سیاست های اصلی ارتباطات ورودی و خروجی مشخص شده است.

برای بررسی وضعیت کلیه پروفایل ها میبایست از مقدار Allprofile در جلوی دستور Show استفاده کنید. برای مثال:

Netsh Advfirewall show allprofile

سیاست های اصلی برای ورودی ها و خروجی های فایروال

همانطور که میدانید فایروال ویندوز سه نوع پروفایل برای نوع شبکه ها دارد، پروفایل Domain برای زمانیکه به یک دامنه ملحق شده باشید پروفایل Public برای زمانیکه به شبکه های عمومی مثل رستوران یا هتل ها متصل شده باشید و پروفایل Private برای زمانیکه در شبکه خانگی یا شبکه شخصی باشید.

هر کدام از این پروفایل ها دارای یک ورودی (Inbound) و یک خروجی (Outbound) هستند تا ارتباطات شبکه ای سیستم را توسط قوانین نوشته شده برای این ورودی ها و خروجی ها (Inbound and Outbound rules) کنترل و مدیریت کنند.

به طور کلی برای ورودی و خروجی اصلی هر پروفایل چند سیاست وجود دارد که به شرح زیر میباشند:

  • اگر قانونی (Rule) برای ارتباط ورودی یا خروجی نوشته شده بود باید طبق آن قانون با ارتباط برخورد شود در غیر اینصورت آن ارتباط باید مسدود و متوقف شود. (گزینه Blockinbound و Blockoutbound)
  • کلیه ارتباطات ورودی باید مسدود شوند حتی ارتباط های که برای آنها قانون نوشته شده است. (گزینه Blockinboundalways)
  • اگر قانونی برای ارتباطات خروجی نوشته نشده بود، آن ارتباط میتواند برقرار شد. (گزینه allowoutbound)

تنظیم سیاست های ورودی و خروجی هر پروفایل

برای تنظیم سیاست های اصلی هر پروفایل میتوانید از دستور Netsh Advfirewall با پارامتر Set و مشخص کردن نوع پروفایل و پارامتر firewallpolicy برای تعیین سیاست ورودی و خروجی استفاده کنید.

مثلا برای جلوگیری از کلیه ارتباطات ورودی به سیستم (حتی ارتباط های که برای آنها قانون تعیین شده است) و کلیه ارتباطات خروجی که برای آنها قانون تعیین نشده است از طریق پروفایل Domain دستور Netsh به شکل زیر نوشته میشود:

Netsh Advfirewall set domainprofile firewallpolicy blockinboundalways,blockoutbound

در دستور بالا مشخص شده کلیه ارتباطات ورودی از طریق شبکه Domain که برای آنها قانون نوشته یا ننوشته شده باشد باید توسط سیاست Block Inbound Always مسدود و متوقف شوند و همچنین با گزینه Blockoutbound مشخص شده کلیه ارتباطات خروجی که برای آنها قانونی ننوشته شده باشد هم باید متوقف شوند.

حال فرض کنید میخواهیم کلیه ارتباطات ورودی از شبکه private طبق قانون های نوشته شده در فایروال با آنها برخورد شود و کلی ارتباطات خروجی هم اگر قانونی برای آنها نوشته نشده بود مجوز برقراری ارتباط را داشته باشند. برای این منظور دستور Netsh Advfirewall به شکل زیر نوشته میشود:

Netsh Advfirewall Set privateprofile firewallpolicy blockinbound,allowoutbound

مسدود سازی دسترسی به یک آدرس IP با CMD

بعد از تنظیم پروفایل فایروال میتوانید دوباره از دستور Netsh advfirewall show برای مشاهده تنظیمات انجام شده پروفایل فایروال خود استفاده کنید.

نوشتن قانون در فایروال با دستور Netsh

برای نوشتن قانون در فایروال با دستور Netsh میبایست از مد Firewall در Advfirewall استفاده کنید سپس میتوانید با دستور Add قانون مورد نظر خود را به صورت inbound یا Outbound اضافه کنید یا با دستور Set قوانین موجود در فایروال را ویرایش کنید. ابتدا بگذارید پارامترهای دستور Add را به شما توضیح دهم. اگر دستور Netsh Advfirewall را به صورت زیر وارد کنید فهرست پارامترهای آنرا مشاهده خواهید نمود:

Netsh advfirewall firewall add rule /?

اضافه کردن rule در فایروال با cmd

توضیح پارامتر های ایجاد Rule در فایروال

پارامتر ها توضیحات
Dir مشخص کردن نوع قانون in به معنای Inbound میباشد و out به معنای Outbound
Action مشخص کردن نوع عملکرد قانون برای منع دسترسی از Block و برای مجوز دادن از Allow و برای دور زدن از Bypass استفاده میشود.
Program مسیر برنامه مد نظر خود را میتوانید در جلوی Program مشخص کنید.
Service نام مخفف سرویس (مثل Audiosrv) مد نظر خود را میبایست در جلوی پارامتر Service مشخص کنید.
Description برای اضافه نمودن توضیحات به قانون مد نظر خود میتوانید از پارامتر Description استفاده کنید
Enable برای فعال بودن یا غیر فعال بودن قانون ایجاد شده میبایست از گزینه Enable استفاده کنید. به صورت پیشفرض قانون بعد از اضافه شدن فعال میباشد. (Yes)
Profile نوع پروفایل شبکه را میتوانید در جلوی این پارامتر مشخص کنید. مقدار های قابل استفاده Public و Private یا Domain میباشد و برای مشخص کردن همه پروفایل ها باید از مقدار Any استفاده کنید.
LocalIP برای مشخص کردن آدرس مبدا باید از پارامتر Localip استفاده کنید. میتوان از آدرس IPv4 یا IPv6 یا یک Subnet و یا یک Range از آدرسها را مشخص کنید. برای مشخص کردن همه آدرس ها باید از مقدار Any استفاده کنید.
RemoteIP برای مشخص کردن آدرس IP شبکه مقصد میبایست از پارامتر RemoteIP استفاده کنید. مقدارهای قابل استفاده در جلوی این دستور Any برای مشخص کردن همه آدرس ها، IPv4 یا IPv6 یا DNS یا DHCP یا WINS یا Default Gateway یا Subnet و یا یک Range از آدرسها را میتوانید مشخص کنید.
LocalPort در جلوی پارامتر LocalPort میتوانید عدد پورت مورد نظر خود را وارد کنید. مقدار Any به معنای همه Port ها میباشد عدد پورت میتواند از 0 تا 65535 باشد همچنین میتوانید از مقدار RPC یا IPHTTPS یا RPC-EPMap هم استفاده کنید.
RemotePort برای مشخص کردن عدد پورت های شبکه مقصد میتوانید از پارامتر RemotePort استفاده کنید. مقدار های قابل استفاده از عدد 0 تا 65535 میباشد و همچنین میتوانید از مقدار Any برای مشخص کردن همه Port ها استفاده کنید.
Protocol برای مشخص کردن Protocol میتوانید از عدد 0 تا 255 یا نام پروتکل های مورد نظر خود استفاده کنید. مثلا میتوانید از مقدار های ICMPv4 یا ICMPv6 یا ICMPv4:Type,Code یا ICMPv6:Type,Code یا TCP یا UDP و یا مقدار Any برای مشخص کردن همه پروتکل ها استفاده کنید.
InterfaceType برای مشخص کردن نوع کارت شبکه میتوانید از InterfaceType استفاده کنید. مقدارهای قابل استفاده در جلوی این پارامتر، Wireless یا LAN یا RAS یا مقدار Any برای مشخص کردن همه انوع کارت شبکه ها میباشد.
RmtComputerGrp احراز هویت و تایید ارتباط کامپیوتر مقصد با مشخص کردن مقدار SSDL آن
RmtUserGrp احراز هویت و تایید ارتباط کاربر مقصد با مشخص کردن مقدار SDDL آن
Edge مقدار های قابل استفاده در جلوی این پارامتر Deferapp یا DeferUser و یا No میباشد. مقدار پیشفرض No است.
Security مقدارهای قابل استفاده در جلوی این پارامتر authenticate یا authenc یا authdynenc یا authnoencap یا notrequired است که به صورت پیشفرض آخرین گزینه یعنی notrequired استفاده میشود.

چند مثال از اضافه نمودن Rule در فایروال

حال بگذاری چند مثال کاربردی از نحوه اضافه نمودن Rule در فایروال ویندوز بزنم. فرض کنید برای امنیت ارتباطات کاربر با وبسایت های اینترنتی کاربر نباید از پروتکل نا امن HTTP برای دسترسی به وبسایت ها استفاده کند از اینرو میتوانیم پروتکل HTTP را به صورت کامل از طریق فایروال مسدود سازیم. برای مثال:

Netsh Adv Fir Ad Ru Name="Block HTTP Traffics" Dir=Out Action=Block Protocol=TCP RemotePort=80

اضافه کردن قانون در فایروال ویندوز با CMD

همانطور که در تصویر بالا مشاهده میکنید دستور Netsh تا جای ممکن به صورت مخفف وارد شده تا فرایند اضافه نمودن Rule هرچه سریع تر انجام شود.

جلوگیری از دسترسی برنامه ها به اینترنت

برای جلوگیری از دسترسی برنامه ها به شبکه اینترنت میبایست از پارامتر Program استفاده کنید. مثلا برای جلوگیری از دسترسی نرم افزار Google Chrome به شبکه اینترنت دستور Netsh به شکل زیر نوشته میشود.

Netsh adv fir ad ru Name="Chrome Traffic Blocker" Dir=Out Program="C:\Program Files (x86)\Google\Chrome\Application\Chrome.exe" Action=Block

مسدود کردن دسترسی به یک آدرس IP مشخص

برای مسدود کردن دسترسی سیستم به یک آدرس IP مشخص میبایست از پارامتر RemoteIP استفاده کنید. مثلا برای جلوگیری از دسترسی سیستم به آدرس آی پی 10.10.10.10 دستور Netsh به شکل زیر نوشته میشود.

Netsh adv fir ad rul Name="Block Specific IP" Dir=Out Action=Block RemoteIP=10.10.10.10

مسدود سازی دسترسی از یک آدرس مبدا مشخص به آدرس مقصد

با استفاده از پارامتر LocalIP میتوان آدرس مبدا را نیز مشخص نمود مثلا برای جلوگیری از دسترسی سیستم با آدرس مبدا 10.1.1.10 به آدرس مقصد 10.10.10.1 دستور به شکل زیر نوشته میشود:

Netsh adv fir ad ru Name="IP Blocker" Dir=out Action=Block LocalIP=10.1.1.10 RemoteIP=10.10.10.1

مسدود کردن دسترسی به شبکه بسته به نوع کارت شبکه

با استفاده از دستور Netsh Advfirewall میتوان قانونی نوشت که هنگام استفاده از کارت شبکه Wireless یا LAN یا RAS دسترسی به یک آدرس آی پی منع یا مجوز داده شود. مثلا برای جلوگیری از دسترسی به آدرس 78.233.121.123 در هنگام استفاده از کارت شبکه وایرلس دستور Netsh به شکل زیر نوشته میشود:

netsh adv fi ad ru Name="Block Network By Interface Type" Dir=Out Action=Block InterfaceType=Wireless RemoteIP=78.233.121.123

نمایش Rule های نوشته شده در فایروال

برای فهرست گیری و نمایش قوانین نوشته شده در فایروال ویندوز میتوانید از دستور Show در محیط Firewall استفاده کنید. مثلا برای بررسی کلیه Rule های ورودی دستور Netsh به شکل زیر نوشته میشود:

Netsh Adv Fir Show Rule Name=All Dir=In

نمایش rule های فایروال

توجه کنید در دستور بالا با پارامتر Name=All مشخص شده کلیه Rule‌ های ورودی باید به نمایش گذاشته شوند اگر میخواهید یک به یک این Rule ها را بررسی کنید بهتر است خروجی دستور Netsh‌ را به دستور More منتقل کنید. برای مثال:

Netsh Adv Fir Show Rule Name=All Dir=Out | More

برای بررسی جزئیات یک Rule باید در جلوی پارامتر Name بجای مقدار All از نام Rule مد نظر خود استفاده کنید. مثلا برای نمایش جزئیات Rule های مربوط به AnyDesk دستور Netsh به شکل زیر نوشته میشود:

Netsh Adv Fir Show Rule Name=AnyDesk

ویرایش Rule های نوشته شده در فایروال

برای ویرایش قوانین نوشته شده در فایروال میبایست از دستور Set در مد Firewall استفاده کنید. برای این منظور کافیست بعد پارامتر Set از پارامتر Rule و بعد از آن نام Rule مد نظر خود را با پارامتر های خط اول زیر مشخص کنید. پارامتر های قابل استفاده در جلوی دستور Set Rule از قرار زیر میباشند:

Group | Name – Dir – Profile – Program – Service – LocalIP – RemoteIP – LocalPort – RemotePort – Protocol

Name – Dir – Program – Service – Action – Description – Enable – Profile – LocalIP – RemoteIP – LocalPort – RemotePort – Protocol – InterfaceType – RmtComputerGrp – RmtUserGrp – Edge – Security

نکته: توجه کنید در خط اول پارامتر های مشخص کننده Rule های موجود مشخص شده است و در خط دوم پارامتر های که میتوانید از آنها برای تنظیم مجدد Rule ها استفاده نمود.

مثلا برای تنظیم مجدد نام یک Rule از Network Blocker به Specific Host Blocker دستور Netsh به شکل زیر نوشته میشود:

Netsh Adv fir set Ru Name="Network Blocker" new Name="Specific Host Blocker"

غیر فعال کردن Rule ها با دستور Set

برای فعال کردن یا غیر فعال کردن Rule ها با دستور Netsh Advfirewall باید از پارامتر Enable استفاده کنید. مثلا برای غیر فعال کردن قانون Network Blocker دستور Netsh به شکل زیر نوشته میشود:

Netsh Adv Fir set Ru Name="Specific Host Blocker" New Enable=No

توجه کنید برای تنظیم مجدد یا ویرایش یک Rule حتما باید آن Rule نوشته شده باشد در غیر اینصورت با خطا مواجه خواهید شد.

حذف Rule های فایروال با دستور Netsh

برای حذف قوانین نوشته شده در فایروال میبایست از دستور Delete در مد Firewall استفاده کنید. برای این منظور کافیست بعد از دستور Delete از پارامتر Rule و بعد از آن از پارامتر Name و جزئیات قانون مد نظر خود استفاده کنید. مثلا برای حذف کلیه Rule های که نام آنها Specific Host Blocker میباشد باید به صورت زیر عمل کنید:

Netsh Adv Fir Del Ru Name="Specific Host Blocker"

پارامتر های قابل استفاده برای حذف یک Rule از قرار زیر میباشند:

Name – Dir – Profile – Program – Service – LocalIP – RemoteIP – LocalPort – RemoteProt – Protocol

در صورت داشتن هر گونه سوال یا انتقاد نسبت به آموزش تنظیم فایروال ویندوز با CMD تی ام ال منیجر را از محبت خود محروم نکنید.

آموزش کاربردی خط فرمان ویندوز (CMD) آشنایی با قواعد و دستورات، استفاده از یک رابط کاربری حرفه ای برای انجام کارهای روزانه، 100% تضمینی، گارانتی بازگشت وجه بدون غید و شرط، در حال حاضر این دوره آموزشی با 59% تخفیف ویژه ارائه میشه، فکر میکنم پیشنهاد منصفانه ای به شما باشه

محمد برغمدی

محمد برغمدی

امام علی علیه السلام: با مردم آنگونه معاشرت كنيد، كه اگر مرديد بر شما اشك ريزند، و اگر زنده مانديد، با اشتياق سوي شما آيند.

4 دیدگاه برای «تنظیم فایروال ویندوز با CMD»

  • Avatar
    تیر 16, 1398 در t 18:48
    Permalink

    سلام وقتتون بخیر. اگر همین اموزشها رو بصورت فایل pdf درست میکردین خیلی بهتر بود.ممنون

    پاسخ دادن
    • محمد برغمدی
      تیر 17, 1398 در t 21:54
      Permalink

      سلام
      تو نسخه اپلیکیشن تی ام ال منیجر همه مطالب رو میتونید به صورت PDF دریافت کنید ولی متاسفانه هنوز توسعه داده نشده
      ممنون از صبر تون 🙂

      پاسخ دادن
  • Avatar
    شهریور 17, 1398 در t 14:36
    Permalink

    با سلام
    در قسمت مسدود کردن دسترسی به شبکه بسته به نوع کارت شبکه میخوام فقط یکی از دو تا کارت شبکه ام مسدود بشه
    چه دستوری باید بهش اضافه کنم؟

    پاسخ دادن
    • محمد برغمدی
      شهریور 17, 1398 در t 22:24
      Permalink

      سلام شایان
      شما میتونید از پارامتر LocalIP استفاده کنید و آدرس کارت شبکه مد نظرت رو در جلوش مشخص کنی

      پاسخ دادن

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *