Windows еквівалент iptables?


58

Німе запитання:

Чи є еквівалент iptables в Windows? Чи можу я встановити його через cygwin?

Справжнє питання: як я можу в Windows зробити те, що я можу досягти за допомогою iptables? Просто шукаю основні функції брандмауера (наприклад, блокування певних IP-адрес)


6
Немає такого, як німе запитання
Марк Хендерсон

4
Звичайно, є таке поняття, як німе питання, це просто не одне.
Завдання

Відповіді:


37

Один із способів був би за допомогою netshкоманди:


8
+1 - netsh advfirewallце абсолютне необхідне правило, щоб дізнатися, хто розробляє сценарії будь-якої безпеки, пов’язаної з Windows Server
Марк Хендерсон

Чи netsh advfirewallпідтримує URL-адреси чи лише IP-адреси?
Паркер

Просто IP-адреси та ін., Хоча вони також можуть фільтруватись на основі виконуваного мережевого трафіку, що надсилається або приймає, або облікових даних AD для залученого користувача / групи / комп'ютера. Для фільтрування URL-адрес потрібно шукати проксі-сервера для фільтрування .
James Sneeringer

6

Нижче наведено: https://support.microsoft.com/en-us/kb/947709

Приклад 1: Увімкнути програму

Стара команда Нова команда

netsh firewall add allowedprogram C:\MyApp\MyApp.exe "My Application" ENABLE    
netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=Domain   netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain
netsh firewall add allowedprogram program=C:\MyApp\MyApp.exe name="My Application" mode=ENABLE scope=CUSTOM addresses=157.60.0.1,172.16.0.0/16,LocalSubnet profile=ALL  

Виконайте такі команди:

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=domain

netsh advfirewall firewall add rule name="My Application" dir=in action=allow program="C:\MyApp\MyApp.exe" enable=yes remoteip=157.60.0.1,172.16.0.0/16,LocalSubnet profile=private

Щоб отримати додаткові відомості про те, як додати правила брандмауера, запустіть таку команду:

netsh advfirewall firewall add rule ?

Приклад 2: Увімкніть порт

Стара команда Нова команда

netsh firewall add portopening TCP 80 "Open Port 80"    
netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80

Щоб отримати додаткові відомості про те, як додати правила брандмауера, запустіть таку команду:

netsh advfirewall firewall add rule ?

Приклад 3: Видалити включені програми або порти

Стара команда Нова команда

netsh firewall delete allowedprogram C:\MyApp\MyApp.exe netsh advfirewall firewall delete rule name=rule name program="C:\MyApp\MyApp.exe"
delete portopening protocol=UDP port=500    netsh advfirewall firewall delete rule name=rule name protocol=udp localport=500

Щоб отримати додаткові відомості про те, як видалити правила брандмауера, запустіть таку команду:

netsh advfirewall firewall delete rule ?

Приклад 4: Налаштування параметрів ICMP

Стара команда Нова команда

netsh firewall set icmpsetting 8    netsh advfirewall firewall add rule name="ICMP Allow incoming V4 echo request" protocol=icmpv4:8,any dir=in action=allow
netsh firewall set icmpsetting type=ALL mode=enable netsh advfirewall firewall add rule name="All ICMP V4" protocol=icmpv4:any,any dir=in action=allow
netsh firewall set icmpsetting 13 disable all   netsh advfirewall firewall add rule name="Block Type 13 ICMP V4" protocol=icmpv4:13,any dir=in action=block

Для отримання додаткової інформації про те, як налаштувати параметри ICMP, запустіть таку команду:

netsh advfirewall firewall add rule ?

Приклад 5: Встановлення журналу

Стара команда Нова команда netsh firewall set logging %systemroot%\system32\LogFiles\Firewall\pfirewall.log 4096 ENABLE ENABLE Виконайте такі команди:

netsh advfirewall set currentprofile logging filename %systemroot%\system32\LogFiles\Firewall\pfirewall.log

netsh advfirewall set currentprofile logging maxfilesize 4096
netsh advfirewall set currentprofile logging droppedconnections enable

netsh advfirewall set currentprofile logging allowedconnections enable

Для отримання додаткової інформації виконайте таку команду:

netsh advfirewall set currentprofile ?

Якщо ви хочете встановити журнал для певного профілю, використовуйте один із наведених нижче варіантів замість опції "
currentprofile ": Domainprofile
Privateprofile
Publicprofile

Приклад 6: Увімкнути брандмауер Windows

Стара команда Нова команда

netsh firewall set opmode ENABLE    netsh advfirewall set currentprofile state on
netsh firewall set opmode mode=ENABLE exceptions=enable 

Виконайте такі команди:

Netsh advfirewall set currentprofile state on 

netsh advfirewall set currentprofile firewallpolicy blockinboundalways,allowoutbound
netsh firewall set opmode mode=enable exceptions=disable profile=domain 

Виконайте такі команди:

Netsh advfirewall set domainprofile state on 

netsh advfirewall set domainprofile firewallpolicy blockinbound,allowoutbound
netsh firewall set opmode mode=enable profile=ALL   Run the following commands:

netsh advfirewall set domainprofile state on 

netsh advfirewall set privateprofile state on

Для отримання додаткової інформації виконайте таку команду:

netsh advfirewall set currentprofile ?

Якщо ви хочете встановити стан брандмауера для певного профілю, скористайтеся одним із наведених нижче варіантів замість опції "currentprofile": Domainprofile
Privateprofile
Publicprofile

Приклад 7: Відновлення стандартних параметрів політики

Стара команда Нова команда

netsh firewall reset
netsh advfirewall reset

Для отримання додаткової інформації запустіть таку команду: netsh advfirewall reset? Приклад 8: Увімкнути конкретні послуги

Стара команда Нова команда сервісу встановлення мережевого брандмауера FileAndPrint netsh advfirewall брандмауер встановлена ​​група правил = "Обмін файлами та принтерами" новий увімкнути = Так сервіс встановлення брандмауера netsh RemoteDesktop увімкнути netsh advfirewall firewall set rule group = "віддалений робочий стіл" new enable = Так netsh set firewall сервіс RemoteDesktop enable profile = ВСЕ Виконайте такі команди:

netsh advfirewall firewall set rule group = "віддалений робочий стіл" new enable = Так профіль = домен

netsh advfirewall firewall set rule group = "віддалений робочий стіл" new enable = Так профіль = приватний


3
Можливо, ви хочете попрацювати над форматуванням. В даний час це жахливо читати, запрошуючи низових кадрів.
Джеральд Шнайдер

1
Також
вирваний


3

Існує вбудований брандмауер у XP, Server 2003 та новіших версіях.

Він має API, за допомогою якого можна програмно змінювати, включати та вимикати правила.


1
Я хочу щось, до чого можу отримати доступ програмно - додати IP-адреси в брандмауер зсередини скрипту чи програмного модуля.
Аарон Ф.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.