Часть 4. Контекст командной строки Netsh AdvFirewall Firewall

OSzone.net » Microsoft » Windows 7 » Администрирование » Брандмауэр Windows 7 в режиме повышенной безопасности » Часть 4. Контекст командной строки Netsh AdvFirewall Firewall
Автор: Dmitry_Bulanov
Иcточник: dimanb.spaces.live.com
Опубликована: 22.01.2010

В этой части статьи будет подробно рассказано о работе с контекстом Netsh Advfirewall Firewall. Этот контекст предназначен для создания правил входящих и исходящих подключений и эквивалентен узлам «Правила для входящих подключений» и «Правила для исходящих подключений» оснастки «Брандмауэр Windows в режиме повышенной безопасности». Несмотря на внешнюю схожесть, этот контекст сильно отличается от Netsh firewall. Контекст Netsh firewall предназначен для обратной совместимости с Windows XP и Windows Server 2003, но не поддерживает функционала брандмауэра Windows в режиме повышенной безопасности. Созданные правила можно экспортировать и применять на других компьютерах. Контекст Netsh advfirewall Firewall поддерживает четыре команды, которые описаны в последующих разделах.

Add

Подобно контексту Netsh Advfirewall Consec, команда Add также предназначена только для создания правил входящих и исходящих подключений, используя команду Add rule. При помощи этих правил можно создавать исключения для входящего или исходящего трафика, чтобы явно разрешить или запретить подключение через брандмауэр Windows. Синтаксис команды следующий:

Netsh Advfirewall Firewall Add rule name=ИмяПравила

где:

name = ИмяПравила. При помощи этого параметра вы можете указать имя нового правила для входящего или исходящего подключения. Имя правила должно быть уникальным и не может иметь значение "all".

dir = { in | out }. При помощи этого параметра вы можете указать, будет ли правило создаваться для входящего или исходящего трафика. У этого параметра может быть только два значения:

action = { allow | block | bypass }. При помощи этого параметра можно указать действие, которое будет выполнять сетевой фильтр с пакетами, которые указаны в текущем правиле. Этот параметр эквивалентен странице «Действия» мастера создания правила нового входящего (исходящего) подключения оснастки «Брандмауэр Windows в режиме повышенной безопасности». Для этого параметра существуют три параметра:

program = ПутьКПрограмме\ИмяПроцесса. При выборе этого параметра будут проверяться сетевые пакеты, посылаемые и принимаемые любой программой, выполняющейся на локальном компьютере. При выборе программы нужно вести себя осторожно. Например, применение правила к такому процессу как Svchost.exe, действие брандмауэра Windows в режиме повышенной безопасности может привести к непредсказуемым действиям.

service = { КороткоеИмяСлужбы | any }. При помощи этого параметра можно указать службу, к которой будет применяться правило. Короткие имена правил можно увидеть в свойствах указанной службы оснастки «Службы». Если service=any, правило действует только для служб.

description = Описание правила. При помощи этого параметра вы можете указать подробное описание для созданного правила.

enable = { yes |no }. При помощи этого параметра можно указать, должно ли быть включено правило после его создания. Значение по умолчанию – yes.

profile = { public | private | domain | any | [ ,... ] }. При помощи этого параметра вы можете указать профили, на которые будет распространяться текущее правило. Правило будет применяться только в том случае, если указанный в правиле профиль будет активным. Профиль домена применяется к сети, если для домена, в который входит локальный компьютер, обнаружен контроллер домена. Частный профиль применяется к сети, если она помечена администратором компьютера как частная и не является доменной сетью. Общий профиль применяется к сети в том случае, если компьютер непосредственно подключен к публичной сети, например в аэропорту или кафе.

localip = { Адреса }. Этот параметр используется для указания локальных и удаленных IP-адресов, сетевой трафик которых удовлетворяет данному правилу. Если ваш компьютер указан в списке локальных IP-адресов, то весь сетевой трафик, входящий или исходящий от любого из удаленных IP-адресов, удовлетворяет данному правилу. Этот параметр эквивалентен странице «Область» мастера создания правила нового входящего (исходящего) подключения оснастки «Брандмауэр Windows в режиме повышенной безопасности». Доступные параметры:

remoteip = { Адреса }. При помощи этого параметра вы можете указать удаленные IPv4- или IPv6-адреса, к которым применяется данное правило. Сетевой трафик удовлетворяет правилу, если IP-адрес назначения является одним из адресов в списке. Для этого параметра доступны следующие значения:

localport = { any | Целое число | rpc | rpc-epmap | iphttps | teredo | [ ,... ] }. При помощи этого параметра указывается, какие порты в сетевом пакете соответствуют данному правилу брандмауэра. Соответствовать правилу будет только тот сетевой трафик, который отвечает условиям, заданным на этой странице, и к нему будет применено действие. Доступны следующие значения:

remoteport = { any | Integer | [ ,... ] }. При помощи этого параметра указывается, какие удаленные порты в сетевом пакете, удовлетворяют данному правилу брандмауэра. Для этого параметра из значений доступны только целые числа и any.

protocol = { any | Integer | icmpv4 | icmpv6 | icmpv4:тип,код | icmpv6:тип,код | tcp | udp }. При помощи этого параметра задаются сведения о том, какие протоколы, указываемые в сетевом пакете, удовлетворяют данному правилу брандмауэра. Этот параметр эквивалентен странице «Протокол и порты» мастера создания правила нового входящего (исходящего) подключения оснастки «Брандмауэр Windows в режиме повышенной безопасности». Для этого параметра доступны следующие значения:

interfacetype = { any | wireless | lan | ras }. При помощи этого параметра вы можете указать, что с учетом требований текущего правила, сетевые подключения устанавливаются только средствами выбранных интерфейсов. Для этого параметра существует четыре значения:

rmtcomputergrp = SDDLСтрока. При помощи этого параметра вы можете задать компьютеры или группы компьютеров, которые могут соединяться с локальным компьютером. Для правил исходящих подключений эти параметры позволяют задать компьютеры или группы компьютеров, с которыми может соединяться локальный компьютер. В том случае, если этот параметр указан в строке команды, значением параметра security должно быть или authenticate, или authenc. Если в параметре action указано значение bypass, то список компьютеров или групп компьютеров должен быть указан в текущем параметре.

rmtusrgrp = SDDLСтрока. При помощи этого параметра вы можете определить, какие пользователи или группы пользователей могут соединяться с локальным компьютером. В том случае, если этот параметр указан в строке команды, значением параметра security должно быть или authenticate, или authenc. Если в параметре action указано значение bypass, то список учётных записей или групп учётных записей должен быть указан в текущем параметре

edge = { yes | deferapp | deferuser | no }. При помощи этого параметра вы можете указать, что трафик, который проходит через edge устройство, как Network Address Translation (NAT) и разрешается маршрутизатору, между локальным и удаленным компьютерами. Параметр edge можно указывать только для правил входящего трафика. Если значением данного параметра установлено deferapp или deferuser, то Windows позволяет приложению или пользователю получать входящий нежелательный трафик приложений от edge устройства.

security = { authenticate | authenc | authdynenc | authnoencap | notrequired }. При помощи этого параметра вы можете указать настройки безопасности для IPSec подключения. Для этого параметра доступно пять значений:

*В этом примере, разрешим весь входящий трафик для программы Windows Live Mail с требованиями безопасности:

add rule name="Windows Live Mail" dir=in program="%ProgramFiles%\Windows Live\Mail\wlmail.exe" security=authenticate action=allow

В этом примере разрешаются все входящие подключения для службы BranchCashe:

add rule name="BranchCashe" service=PeerDistSvc dir=in protocol=tcp localport=80 action=allow

В этом примере блокируется исходящий трафик для порта 443 по TCP протоколу:

add rule name="Запретить исходящий трафик по 443 порту" dir=out localport=443 protocol=TCP action=block

*
Увеличить рисунок

Заблокировать весь входящий сетевой трафик, который поступает по беспроводному интерфейсу можно следующим образом:

add rule name="Запретить исходящий трафик по беспроводному интерфейсу" dir=out interface=wireless action=block

Delete

При помощи команды Delete контекста Netsh Advfirewall Firewall вы можете удалить все правила или отдельные их параметры. При указании команды без параметров, команда delete удалит все созданные ранее правила входящих и исходящих подключений. При обнаружении нескольких совпадений удаляются все правила, удовлетворяющие условию. Синтаксис команды следующий:

Netsh Advfirewall Firewall Rule Параметр Значение

Все параметры, которые доступны для этой команды, идентичны некоторым параметрам команды Add. Для этой команды доступны следующие параметры:

name = { all | RuleName }, dir = { in | out }, profile = { public | private | domain | any | [ ,... ] }, program = ProgramPath\FileName, service = { ServiceShortName | any }, localip = { Addresses }, remoteip = { Addresses }, localport = { any | Integer | rpc | rpc-epmap | teredo | [ ,... ] }, remoteport = { any | Integer | [ ,... ] }, protocol = { any | Integer | icmpv4 | icmpv6 | icmpv4:type,code | icmpv6:type,code | tcp | udp }.

В следующем примере проиллюстрирован метод удаления всех правил для исходящего трафика с локальным портом 443:

delete rule name=all protocol=tcp localport=443

*
Увеличить рисунок

Set

При помощи команды Set контекста Netsh Advfirewall Firewall вы можете изменять и добавлять любые параметры и значения в заранее созданные правила. Для того чтобы в существующее правило входящих и исходящих подключений можно было добавить новый параметр, перед указанием параметров, введите set rule new. Если таких значений нет или же параметр new отсутствует, изменения не вносятся. Если правила не существует, команда завершается ошибкой. Для создания правил используется команда add, которая подробно описывалась в разделе AddAdd. Синтаксис команды следующий:

set rule name=ИмяПравила Параметр Значение

В том случае, если критерию соответствуют несколько правил, все соответствующие правила будут обновлены. В следующем списке отображены все параметры, которые вы можете задавать без параметра new:

Вместе с параметром new можно использовать все параметры, которые рассматривались в разделе Add.

*В этом примере, изменяются требования безопасности для программы Windows Live Mail:

set rule name="Windows Live Mail" new security= authnoencap

Для изменения удаленного IP-адреса для правила с именем BranchCashe, выполните следующие действия:

set rule name="BranchCashe" new remoteip=192.168.0.1

*
Увеличить рисунок

Show

При помощи команды Show контекста Netsh Advfirewall Firewall вы можете отобразить все экземпляры правил входящих и исходящих подключений, соответствующих указанному имени и, при необходимости, профилям и типу. При желании вы можете сделать выборку правил по имени, используя параметр name = { all | ИмяПравила }, по профилям, используя параметр profile = { public | private | domain | any } [ ,... ], по типу: type = { dynamic | static }, а также отобразить подробную информацию, используя параметр verbose.

Например, для того чтобы отобразить все правила входящих и исходящих подключений в названии которых присутствует текст «Windows Live Mail», выполните следующие действия:

show rule name=”Windows Live Mail”

*
Увеличить рисунок


Ссылка: http://www.oszone.net/11214/windows_firewall_part4