Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Брандмауэр в режиме повышенной безопасности.docx
Скачиваний:
3
Добавлен:
05.08.2019
Размер:
961.35 Кб
Скачать

Часть 1. Введение

Введение

В последние годы все больше компьютеров подключены к корпоративным сетям и Интернету. В компаниях компьютеры могут быть как членами рабочих групп, так и являться частью доменов, сайтов и лесов. Домашние пользователи могут быть подключены к Интернету средствами беспроводного доступа и мобильной связи, что позволяет им подключаться не только из своего дома, но и на улице, в аэропортах и т.п. Они даже могут иметь доступ к своим корпоративным ресурсам при помощи подключений VPN и DirectAccess. Но, несмотря на все это, ваши домашние и рабочие компьютеры могут быть подвержены заражению потенциально опасным программным обеспечением, а также взломам недоброжелателями.

Для защиты, как рабочих, так и домашних компьютеров от несанкционированного доступа в Интернете и локальной сети, операционной системе Windows помогает встроенный брандмауэр Windows. Брандмауэр Windows в режиме повышенной безопасности позволяет создать гибкую модель безопасности ваших компьютеров. Принцип работы брандмауэра Windows в режиме повышенной безопасности основан на методе двусторонней фильтрации сетевого трафика, отсеивая несанкционированный трафик. Также, в том случае, если на вашем компьютере несколько сетевых адаптеров и подключений, брандмауэр Windows применяет определенные параметры безопасности для тех типов сетей, к которым в данный момент подключен пользователь. В операционной системе Windows 7 брандмауэр Windows вместе с настройками Internet Protocol Security (IPSec) расположены в оснастке консоли управления Microsoft (MMC), которая называется «Брандмауэр Windows в режиме повышенной безопасности». Протокол IPSec представляет собой систему открытых стандартов, предназначенных для обеспечения защищенных конфиденциальных подключений через IP-сети с использованием криптографических служб безопасности. Протокол IPsec поддерживает одноранговую проверку подлинности на уровне сети, проверку подлинности источника данных, целостность данных, их конфиденциальность (шифрование) и защиту повторения. Управлять брандмауэром можно как при помощи этой оснастки, так и средствами программы сетевой оболочки командной строки, которая позволяет настраивать и отображать состояние различных компонентов для сетевых подключений, установленных на компьютере с операционной системой Windows. Команды netsh выполняют все те же функции, что и оснастка консоли управления (MMC) для любого компонента.

В этом руководстве я расскажу о способах настройки брандмауэра Windows в режиме повышенной безопасности средствами командной строки.

Нововведения в брандмауэре Windows в режиме повышенной безопасности

В брандмауэре Windows в режиме повышенной безопасности появился ряд новых функций, некоторые из них:

  • Несколько активных профилей

В операционных системах Windows Vista и Windows Server 2008 одновременно может быть активен только один профиль. В том случае, если компьютер одновременно подключен более чем к одной сети, то применяются для всех сетей самые строгие правила. В Windows 7 и Windows Server 2008 R2, каждому сетевому адаптеру назначается свой профиль, независимо от любых других сетевых адаптеров компьютера;

  • Исключения авторизации

При создании входящего правила брандмауэра, определяющего компьютер или пользователя, которому разрешен доступ к локальному компьютеру по сети, Windows 7 и Windows Server 2008 R2 поддерживает возможность указать исключения из утвержденного правила. Можно добавить группу в список уполномоченных, при этом ввести пользователя или компьютер в список исключений, которые являются членами уполномоченных групп.

  • Динамическое шифрование

Правила брандмауэра операционных систем Windows 7 и Windows Server 2008 R2 поддерживают динамическое шифрование, упрощая создание правил безопасности подключений IPsec, которые требуются для настроек шифрования каждого порта. Вы можете создать одно правило безопасности, как на клиенте, так и на сервере, которое обеспечивает защиту IPsec между сервером и всеми клиентами.

  • Аутентификация с нулевыми инкапсуляциями

Вы можете создавать правила безопасности подключения с указанием аутентификации, кроме защиты от пакетов данных Encapsulating Security Payload (ESP) или Authenticated Header (AH). Эта функция позволяет создать защиту аутентификации в средах с сетевым оборудованием, которое несовместимо с ESP и AH.

  • Авторизация Tunnel-mode

В правилах брандмауэра можно указать, что только компьютеры и пользователи, прошедшие проверку подлинности могут устанавливать входящий туннель на сервер шлюза IPSec. В Windows 7 и Windows Server 2008 R2, вы можете определить группы пользователей или компьютеров, которым разрешено установить туннель на локальном компьютере.

  • Несколько основных групп режима конфигурации

В системах Windows 7 и Windows Server 2008 R2 появился новый контекст Netsh «MainMode», который включает команды, предназначенные для создания предложения основного режима для конкретного назначения IP-адреса или профиля. Каждая конфигурация основного режима может включать в себя обмен ключами шифрования, целостности и параметры подлинности алгоритма.

  • События брандмауэра Windwos и IPSec теперь пишутся в отдельный журнал «Просмотра событий»

В системах Windows Vista и Windows Server 2008 все события брандмауэра записывались в журнал «Аудит», и записывались только в том случае, если была включена соответствующая категория аудита. В Windows 7 и Windows Server 2008 R2 все события брандмауэра записываются в журнал «Журналы приложений и служб\Microsoft\Windows\Windows Firewall with Advanced Security».

Использование команд Netsh для управления брандмауэром Windows

Команды утилиты Netsh для брандмауэра Windows в режиме повышенной безопасности предоставляют командной строке альтернативные возможности управления брандмауэром. При помощи команд Netsh можно настраивать и просматривать правила, исключения и конфигурацию брандмауэра.

Контекст Netsh firewall служит только для обратной совместимости с предыдущими версиями операционной системы Windows. Команда firewall работает на компьютерах под управлением Windows 7, Windows Server 2008 R2, Windows Vista, и Windows Server 2008, но не позволяет использовать новый функционал брандмауэра Windows, который появился в этих операционных системах. Также при помощи этой команды нельзя управлять и настраивать брандмауэр на удаленных компьютерах.

Во всех операционных системах, начиная с Windows Vista использовать контекст firewall не рекомендуется, в связи с тем, что при помощи этой команды можно создавать и изменять правила брандмауэра Windows только для домена и стандартного профиля. Правилами для общественных профилей при помощи контекста firewall можно управлять только в том случае, если они выполняются под текущим профилем

В операционных системах Windows 7 и Windows Server 2008 R2 можно использовать контекст netsh firewall, но при выводе команды вам будет показано следующее предупреждение, которое также показано на скриншоте:

«ВНИМАНИЕ! Команда успешно выполнена. Тем не менее, команда "netsh firewall" устарела, вместо нее следует использовать "netsh advfirewall firewall". Дополнительные сведения об использовании команд "netsh advfirewall firewall" вместо "netsh firewall" см. в статье базы знаний 947709 на веб-сайте http://go.microsoft.com/fwlink/?linkid=121488».

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

Для управления правилами входящих и исходящих подключений брандмауэра Windows в режиме повышенной безопасности, рекомендуется использовать контекст netsh advfirewall, которая предназначена для создания и управления этих правил, а также ведением мониторинга брандмауэра Windows. Команду netsh advfirewall можно использовать только на компьютерах с операционной системой Windows Vista и более поздними версиями. Политики брандмауэра и IPSec, созданные средствами этого контекста не могут применяться для настройки компьютеров, оснащённых системой Windows Server 2003 или более ранними версиями. Для использования этого контекста в устаревших операционных системах нужно использовать утилиту Ipseccmd.exe, которая находится в папке \Support\Tools инсталляционного диска операционной системы. Этот контекст может оказаться полезным в следующих случаях:

  • При развертывании брандмауэра Windows в режиме повышенной безопасности на компьютерах, которые находятся удаленно. Конечно, для этого вы можете воспользоваться оснасткой брандмауэра Windows, но для обеспечения наилучшей производительности лучше использовать контекст advfirewall утилиты netsh.

  • При одновременном развертывании брандмауэров Windows в режиме повышенной безопасности на нескольких компьютерах удобно использовать команды netsh в пакетном режиме для автоматизации сценариев и повторяющихся административных задач.

Для выполнения команд netsh вам нужно состоять в группе «Администраторы» или «Операторы настройки сети». В противном случае вы сможете только просматривать настройки и правила брандмауэра Windows, но у вас не будет разрешений для создания и изменения конфигурации. Также, если на вашем компьютере включен контроль учетными записями пользователей, для использования функционала конфигурирования брандмауэра Windows в режиме повышенной безопасности вам потребуется выполнять команды из командной строки с повышенными правами. Для открытия командной строки с повышенными правами, нажмите на кнопку «Пуск» для открытия меню, в поле поиска введите Командная, в найденных результатах нажмите правой кнопкой мыши на командной строке и из контекстного меню выберите команду «Запуск от имени администратора». При появлении запроса контроля учетных записей пользователей предоставьте подтверждение.

Брандмауэр Windows в режиме повышенной безопасности является полноценным брандмауэром. Существует два типа брандмауэров – межсетевые экраны и индивидуальные брандмауэры. Межсетевые экраны – это сетевые брандмауэры, которые обычно расположены на границе между внутренней сетью и внешними сетями, такими как Интернет. Такие продукты бывают аппаратными, программными и комбинированными. Некоторые также обеспечивают функции прокси для приложений. Неплохими примерами межсетевых экранов являются ISA-Server и ForeFront Thread Management Getaway. К основным преимуществам межсетевых экранов можно отнести исследование пакетов, управление сетевым трафиком, исследование состояния всех соединений между узлами, а также обеспечения проверки подлинности и шифрования IPsec. Индивидуальные брандмауэры, примером которых является Брандмауэр Windows в режиме повышенной безопасности, защищают узел от несанкционированного доступа и атак. Также можно настроить Брандмауэр Windows в режиме повышенной безопасности на блокирование определенных типов исходящего трафика. Индивидуальные брандмауэры обеспечивают дополнительный уровень защиты в сети и выступают в качестве неотъемлемого компонента стратегии полной защиты. Этот тип брандмауэров проверяет и фильтрует все пакеты протокола IP версий 4 (IPv4) и 6 (IPv6). В отличие от межсетевых экранов, которые обычно разворачиваются между внутренней сетью и Интернетом, в брандмауэре Windows в режиме повышенной безопасности входящие пакеты проверяются и сравниваются со списком разрешенного трафика. Если этот пакет соответствует записи в списке, брандмауэр Windows передает пакет протоколу TCP/IP на дальнейшую обработку. В том случае, если он не соответствует записи в списке, то брандмауэр Windows удаляет пакет и создает запись в файле журнала брандмауэра Windows, если функция журналирования активна. Список разрешенного трафика может пополняться следующими способами:

  • Если брандмауэру Windows в режиме повышенной безопасности разрешается отправлять пакеты, то брандмауэр создает запись в списке таким образом, что ответ на трафик будет разрешен. Ответ на трафик является входящим трафиком;

  • Если создать разрешающее правило в брандмауэре Windows в режиме повышенной безопасности.

Профиль брандмауэра - это способ объединения настроек, применяемых к компьютеру в зависимости от места подключения. Каждому сетевому адаптеру назначается профиль брандмауэра, соответствующий обнаруженному типу сети. В отличие от Windows Vista и Windows Server 2008, Windows 7 и Windows Server 2008 R2 поддерживают несколько активных профилей сетевых адаптеров. Существует три типа профилей: домен, общий и частный. В том случае, если соединение проходит проверку подлинности на контроллере домена, то сеть классифицируется как тип доменного размещения сети. Все остальные сети, которые не являются доменными, сначала попадают в категорию общедоступных профилей. Сети, через которые выполняется прямое подключение к Интернету или которые находятся в таких местах общего пользования, как аэропорты и кафе, следует указывать общедоступными. Операционная система Windows позволяет пользователю определить сеть. Домашняя сеть предназначена для использования компьютера дома или в офисе. Сеть предприятия предназначена для использования компьютера внутри организации. Для изменения классификации сети, пользователь должен иметь права администратора. Общий профиль считается наиболее строгим, далее следует частный профиль, а профиль домена считается наименее строгим.

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

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

  • Netsh AdvFirewall

  • Netsh AdvFirewall Consec

  • Netsh AdvFirewall Firewall

  • Netsh AdvFirewall MainMode

  • Netsh AdvFirewall Monitor

  • Netsh Firewall

В следующих частях статьи по брандмауэру Windows в режиме повышенной безопасности будет подробно рассказано о контекстах Netsh advfirewall, а также о настройках брандмауэра при помощи групповых политик, изоляции доменов и серверов, и о настройке IPSec средствами контекста Netsh Ipsecdosprotection.

Часть 2. Контекст командной строки Netsh advfirewall

Контекст Netsh AdvFirewall используется в командной строке с повышенными правами. Для использования этого контекста, в командной строке введите netsh и нажмите на клавишу Enter, после чего введите advfirewall и нажмите на клавишу Enter. Команды всех контекстов могут быть использованы для изменения политик брандмауэра Windows и IPSec в разных местах хранения, такие как локальные хранилища политик, а также объекты групповых политик, расположенных в Active Directory. Контекст Netsh AdvFirewall поддерживает команды:

  • Dump

  • Export

  • Import

  • Reset

  • Set

  • Show

Dump

Эта команда создает сценарий, который содержит текущую конфигурацию. Если сохранить его в файле, то такой сценарий может быть использован для восстановления измененных параметров. Эта команда Netsh доступна для нескольких контекстов, но она не реализована в контексте Netsh advfirewall или в любом его подконтексте. Когда команда dump используется в корневом контексте, в данных вывода команды не выводится никакой конфигурационной информации брандмауэра Windows или IPSec.

Export

Эта команда экспортирует конфигурационные данные текущей политики брандмауэра Windows в режиме повышенной безопасности в отдельный файл. Этот файл может использоваться командой import для восстановления конфигурации брандмауэра Windows в режиме повышенной безопасности на текущем или другом компьютере. Брандмауэр Windows в режиме повышенной безопасности, на котором выполняется команда экспорта, определяется командой set store. Данная команда эквивалентна команде «Политика экспорта» в оснастке «Брандмауэр Windows в режиме повышенной безопасности». Синтаксис команды следующий:

Export [Path] Имя_файла

Параметр Path задает путь к файлу и его имя, в котором будет записана конфигурация брандмауэра Windows в режиме повышенной безопасности. В том случае, если в пути файла, или его имени присутствуют пробелы, весь путь необходимо заключить в кавычки. Если вы указываете только имя файла, то он будет сохранен в текущей папке. Расширение файла должно быть *.wfw. Пример использования:

Export c:\config\advfirewall_config.wfw

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

Import

Эта команда импортирует конфигурационные данные брандмауэра Windows в режиме повышенной безопасности из сохраненного заранее файла, который создается командой export. Данная команда эквивалентна команде «Импортировать политику» в оснастке «Брандмауэр Windows в режиме повышенной безопасности». При выполнении команды импорта, текущая политика перезаписывается без предупреждения. У каждой экспортируемой политики для разных операционных систем есть свой номер версии. Причем, если импортировать политику на более раннюю версию Windows, то будут импортироваться только те настройки, которые поддерживает данная операционная система. Синтаксис команды следующий:

Import [Path] Имя_файла

Параметр Path задает путь к файлу, в который ранее экспортировалась конфигурация брандмауэра Windows в режиме повышенной безопасности. В том случае, если в пути к файлу, или его имени присутствуют пробелы, весь путь необходимо заключить в кавычки. Если вы указываете только имя файла, то утилита netsh будет его искать в текущей папке. Расширение файла должно быть *.wfw. Пример использования:

Import c:\config\advfirewall_config.wfw

Reset

Эта команда восстанавливает все настройки и правила брандмауэра Windows в режиме повышенной безопасности в состояние по умолчанию. Перед выполнением этой команды рекомендуется воспользоваться командой export. Данная команда эквивалентна команде «Восстановить политику по умолчанию» в оснастке «Брандмауэр Windows в режиме повышенной безопасности». В том случае, если данная команда выполняется на текущем локальном компьютере, то изменения вступят в силу моментально. Если ваш компьютер настроен при помощи групповых политик, то сбросятся настройки для всех политик, состояние которых «Не задано». Если к политике применяется правило групповой политики, то команде reset не получится сбросить параметры для этой политики. Синтаксис команды следующий:

Reset [Export [Path] Имя_файла]

Причем, если указать команду export, то перед тем как команда восстановит политики, созданные по умолчанию, текущая конфигурация будет сохранена в файл. Пример использования:

Reset Export c:\config\advfirewall.wfw

Set

Эта команда позволяет настроить как глобальные параметры, так и параметры отдельных профилей брандмауэра Windows в режиме повышенной безопасности. При помощи команды set можно воспользоваться следующим функционалом:

  • set {ProfileType}

  • set global

  • set store

Рассмотрим каждое расширение команды:

set {ProfileType}

Эта команда настраивает профиль, который связан с расположением сети. В операционных системах Windows Vista и Windows Server 2008 если компьютер был подключен одновременно к нескольким сетям, брандмауэр Windows в режиме повышенной безопасности ко всем сетям применял самый строгий профиль. В операционных системах Windows 7 и Windows Server 2008 R2 можно настраивать и одновременно использовать несколько профилей в том случае, если вы подключены к нескольким сетям. Для того чтобы просмотреть, какие у вас на компьютере существуют профили, воспользуйтесь командой netsh advfirewall show currentprofile, которая будет подробно описана немного ниже. Команда set {ProfileType} эквивалентна настройкам вкладок «Профиль домена», «Общий профиль» и «Частный профиль» диалога свойств оснастки «Брандмауэр Windows в режиме повышенной безопасности». Синтаксис команды следующий:

Set ПараметрПрофиля Значение

Доступные параметры типов профилей:

  • Allprofiles – настраивает параметры профиля для всех профилей.

  • Currentprofile – настраивает параметры профиля для текущего активного профиля.

  • Domainprofile – настраивает параметры профиля домена.

  • Privateprofile – настраивает параметры личного профиля.

  • Publicprofile – настраивает параметры общего профиля.

У параметра set {ProfileType} существуют четыре дополнительных параметра:

State

Команда Set {ProfileType} state настраивает общее состояние брандмауэра Windows в режиме повышенной безопасности. После установки или обновления операционной системы не ниже Windows Vista, состояние по умолчанию для всех профилей на компьютерах включено. Для компьютеров, которые были обновлены с более старой версии Windows, состояние брандмауэра Windows в режиме повышенной безопасности сохраняется из состояния брандмауэра Windows предыдущей системы. Если при обновлении системы брандмауэр Windows был включен, то по завершению обновления, он будет включен для всех профилей. А в том случае, если при обновлении системы брандмауэр Windows был отключен, то по завершению обновления, он будет отключен для всех доступных профилей. Синтаксис команды следующий:

Set ТипПровиля state {on | off | notconfigured}

Параметр on включает брандмауэр Windows в режиме повышенной безопасности для указанного профиля.

Параметр off отключает брандмауэр Windows в режиме повышенной безопасности для указанного профиля.

Значение параметра notconfigured действительно только для хранилища групповой политики. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

Пример использования для включения брандмауэра Windows в режиме повышенной безопасности для всех профилей:

set allprofiles state on

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

Firewallpolicy

Команда set {ProfileType} firewallpolicy настраивает действия брандмауэра для входящего и исходящего трафика по умолчанию, а также обеспечивает фильтрацию, которая используется, когда трафик не соответствует правилам в настоящее время. Синтаксис команды следующий:

Set ТипПрофиля firewallpolicy ВходящийТрафик, Исходящий трафик

Доступные значения для входящего трафика:

  • Blockinbound – блокирует входящие подключения, которые не соответствуют правилу входящего трафика;

  • Blockinboundalways – блокирует все входящие подключения, даже если подключение соответствует правилу. Разрешается только трафик, который отправляется в ответ на исходящий запрос.

  • Allowinbound – разрешает входящие подключения, которые не соответствуют правилу.

  • Notconfigured – возвращает значение в ненастроенное состояние. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

Доступные значения для исходящего трафика:

  • Blockoutbound – блокирует исходящие подключения, которые не соответствуют правилу.

  • Allowoutbound – разрешает исходящие подключения, которые не соответствуют правилу.

  • Notconfigured - возвращает значение в ненастроенное состояние. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

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

set currentprofile firewallpolicy blockinbound,allowoutbound

Settings

Команда set {ProfileType} settings настраивает параметры брандмауэра Windows и IPSec для каждого указанного профиля. Синтаксис команды следующий:

Set ТипПрофиля settings Параметр {enable | disable | notconfigured}

Доступные параметры:

Localfirewallrules – слияние локальных правил брандмауэра с правилами групповой политики. Этот параметр действителен при настройке хранилища групповой политики. Доступные значения: enable – применяет к компьютеру слияние правил брандмауэра Windows и объектов групповой политики; disable – игнорирует слияние правил брандмауэра Windows и объектов групповой политики, а значение параметра notconfigured действительно только для хранилища групповой политики. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

Localconsecrules – слияние локальных правил безопасности подключения с правилами групповой политики. Доступные значения: enable – применяет к компьютеру слияние правил безопасности IPSec подключения и объектов групповой политики; disable - игнорирует слияние правил безопасности IPSec подключения и объектов групповой политики, а значение параметра notconfigured действительно только для хранилища групповой политики. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

Inboundusernotification – уведомление пользователя о том, что приложение прослушивает входящие подключения. Доступные значения: enable – система уведомляет пользователя о том, когда программа или служба пытается прослушивать входящий трафик; disable – система не отображает уведомления, когда какая-то программа или служба пытается прослушать входящий трафик, а значение параметра notconfigured действительно только для хранилища групповой политики. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

Remotemanagement – разрешает удаленное управление брандмауэром Windows в режиме повышенной безопасности. Доступные параметры: enable – включается возможность удаленного управления брандмауэром Windows в режиме повышенной безопасностью для пользователей, у которых есть права на удаленное управление компьютером; disable – возможность удаленного управления брандмауэром Windows в режиме повышенной безопасности отключается, а значение параметра notconfigured действительно только для хранилища групповой политики. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

Unicastresponsetomulticast – управляет одноадресным ответом с памятью состояний на многоадресную рассылку. Доступные параметры: enable – разрешает получать одноадресные ответы на исходящие многоадресные или широковещательные рассылки; disable – запрещает получать одноадресные ответы на исходящие многоадресные или широковещательные рассылки, а значение параметра notconfigured действительно только для хранилища групповой политики. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

Примеры использования:

В ключение возможности удаленного управления брандмауэром Windows в режиме повышенной безопасности для частного профиля:

set privateprofile settings remotemanagement enable

Logging

Команда set {ProfileType} logging настраивает параметры ведения журнала брандмауэра Windows в режиме повышенной безопасности. Синтаксис команды следующий:

Set ТипПрофиля logging Параметр {Значение}

Доступные параметры:

Allowedconnections – регистрирует разрешенные подключения. Доступные значения: enable – позволяет записывать в журнал все разрешенные входящие и исходящие подключения; disable – полное отключение журналирования для брандмауэра Windows в режиме повышенной безопасности, а значение параметра notconfigured действительно только для хранилища групповой политики. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

Droppedconnections – регистрирует разорванные подключения. Доступные значения: enable – записывает в журнал все входящие и исходящие подключения, которые запрещены политикой; disable – запрещает ведение журналирования для разорванных подключений, а значение параметра notconfigured действительно только для хранилища групповой политики. После применения этого значения, состояние активной политики переводится в состояние «Не задано».

Filename – позволяет изменять имя и место расположения файла журнала. Доступные значения: путь к файлу и его имя, в который будут записываться события журнала, связанного с брандмауэром Windwos в режиме повышенной безопасности, а также значение notconfigured. Значение по умолчанию - %windir%\system32\logfiles\firewall\pfirewall.log

Maxfilesize – максимальное значение размера файла журнала в килобайтах, где значением может быть или число от 1 до 32767, или значение notconfigured. Значение по умолчанию – 4096.

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

Set currentprofile logging filename c:\config\advfirewall.log

Set currentprofile logging maxfilesize 2048

Set global

Эта команда позволяет настраивать глобальные свойства, которые относятся к брандмауэру Windows и параметрам IPSec, не зависимо от того, какой профиль используется на текущий момент. Рассмотрим подробно все параметры и значения для этой команды.

Statefulftp

Команда set global statefulftp позволяет настраивать средствами брандмауэра Windows в режиме повышенной безопасности FTP трафик, который используется для предварительного подключения на один порт для запроса передачи данных на второй. Поддерживается как активный, так и пассивный FTP.

При наличии активного FTP, клиент устанавливает соединение с сервером по TCP порту 21 и использует команду PORT для того чтобы указать FTP серверу номер порта, к которому стоит обращаться. На клиентской машине, брандмауэр будет блокировать подключение как нежелательный входящий трафик.

В случае с пассивным FTP, клиент устанавливает соединение с сервером по TCP порту 21 и использует команду PASV. Сервер отвечает TCP-порту 21, номер которого клиент должен использовать для дальнейшей передачи данных. После чего клиент устанавливает соединение с сервером по указанному порту. В этом случае, брандмауэр на сервере будет блокировать весь входящий нежелательный трафик. Синтаксис команды следующий:

Set global statefulftp {enable | disable | notconfigured}

У этой команды может быть три значения: enable, disable и notconfigured. Когда значение параметра enable – брандмауэр анализирует запросы PORT и PASV для других номеров портов, после чего разрешает соответствующим данным связываться с номером порта, который был предложен. В случае с выбором значения disable, который установлен по умолчанию, брандмауэр не отслеживает исходящие команды запросов PORT и PASV поэтому блокирует входящие данные, как нежелательные входящие подключения.

В следующем примере разрешается данным FTP трафика использовать команды PORT и PASV:

set global statefulftp enable

Ipsec

Команда set global ipsec позволяет настраивать параметры безопасности IPSec. Синтаксис команды следующий:

Set global ipsec Параметр Значение

Доступные параметры:

Strongcrlcheck – определяет порядок списков подлинности отзыва сертификата CLR, и реакцию на сертификат, расположенный на CLR. Доступные значения:

  • 0 – отключение проверки CLR (установлен по умолчанию);

1 – завершение со сбоем при отзыве сертификата;

2 – завершение со сбоем при любой ошибке;

notconfigured – возврат значения в ненастроенное состояние.

Saidletimemin – настройка времени простоя для сопоставления безопасности в минутах. Доступны значения от 5 до 60. Значение по умолчанию – 5. Также доступно значение notconfigured.

Defaultexemptions – настройка исключений IPSec по умолчанию. Значение можно указывать списком с разделенными запятыми. По умолчанию из IPSec исключается протокол обнаружения соседей IPv6 (neighbordiscovery) и протокол DHCP. Доступны следующие значения:

  • none – не исключается ни один из протоколов;

  • neighbordiscovery – исключается протокол обнаружения соседей IPv6;

  • icmp – исключается трафик по протоколу ICMP (IPv4 и IPv6);

  • dhcp – исключается протокол DHCP (IPv4 и IPv6), notconfigured.

Ipsecthroughnat – настройка возможности сопоставления безопасности (SA) с компьютером, расположенным за преобразователем сетевых адресов (NAT). Доступны следующие значения:

  • never – указывает на то, что SA не может располагаться за NAT;

  • serverbehindnat – указывает на то, что SA может быть расположен за NAT, только если сервер расположен в частной подсети;

  • serverandclientbehindnat – указывает на то, что SA может быть расположен за NAT, если оба компьютера принадлежат частной подсети;

  • notconfigured

Authzcomputergrp – настройка компьютеров, уполномоченных на создание туннельных соединений. Доступны следующие значения:

  • none – указывает на то, что доступ на создание туннельных соединений не ограничивается на основе учетной записи компьютера;

  • <строка SDDL> - строка, в которой указывается компьютер или группа учетных записей и разрешений с наличием или отсутствием доступа к учетным записям;

  • notconfigured

Authzusergrp – настройка пользователей, уполномоченных на создание туннельных соединений. Для этого параметра доступы те же значения, что и у параметра Authzcomputergrp.

На следующем примере указывается время простоя SA:

set global ipsec saidletimemin 15

Mainmode

Команда set global mainmode позволяет просматривать и настраивать правила конфигурации IPSec основного режима. Основной режим – это папка, в которой перечислены все сопоставления безопасности основного режима с подробными сведениями об их параметрах и конечных точках. Данную папку можно использовать для просмотра IP-адресов конечных точек. Синтаксис команды следующий:

set global mainmode Параметр Значение

Доступные параметры:

Mmkeylifetime – настройка времени жизни ключа основного режима в минутах или сеансах. Использование команды set global с параметром mmkeylifetime следующее: минут,сеансов. Минуты могут варьироваться от 1 до 2880, а сеансы от 0 до 2147483647. Также как и во всех командах, netsh advfirewall, доступно значение notconfigured.

Mmsecmethods – отображает схему обмена ключами Диффи — Хеллмана, позволяющую двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены, канал связи. Синтаксис команды следующий:

keyexch:enc-integrity,keyexch:enc-integrity[,...]

где keyexch это dhgroup1 | dhgroup2 | dhgroup14 | ecdhp256 | ecdhp384, enc - des | 3des | aes128 | aes192 | aes256, а integrity - md5 | sha1 | sha256 | sha384.

Можно вводить несколько комбинаций enc-алгоритмов целостности в том случае, если они используют тот же механизм, что и у первой пары enc-целостности, разделенные запятыми. Значение, указанное по умолчанию - dhgroup2:aes128-sha1,dhgroup2:3des-sha1

Mmforcedh – использование DH для защиты обмена ключами основного режима IPSec при использовании AuthIP. Доступные значения: yes, no, notconfigured.

Примеры использования:

У казание истечения сессии после четырех часов либо 1000 сессий:

set global mainmode mmkeylifetime 240min,1000sess

Изменение схемы основного режима IPSec:

set global mainmode mmsecmethods dhgroup2:des-md5,3des-sha1

Set store

При помощи этой команды можно изменять хранилище последующих настроек для команд Netsh advfirewall. В качестве хранилища политики, эта команда задает объект групповой политики (GPO), определяемый именем компьютера, именем домена и именем объекта GPO, уникальным идентификатором GPO или локальным хранилищем политик. Обычно при первом запуске команды Netsh, по умолчанию вы работаете с локальным хранилищем политик (set store = local). Синтаксис команды следующий:

set store { local | gpo = ИмяКомпьютера | gpo = localhost | gpo = domain\GPOName | gpo = domain\GPOUniqueID }

Доступные параметры:

gpo = ComputerName – при помощи этого параметра вы можете указать, что все последующие изменения для команд будут применяться к тому компьютеру, который указан в объекте групповой политики. Локальные GPO и локальные политики безопасности расположены в разных хранилищах. В отличие от политик безопасности, локальные GPO хранятся не в Active Directory, а только на локальном компьютере.

gpo = localhost – при помощи этого параметра вы можете указать изменения, которые будут применяться к специальным объектам групповых политик на локальном компьютере. Для применения идентичных настроек на других компьютерах, после настройки текущих параметров, их можно экспортировать при помощи команды export, о которой рассказывалось выше.

gpo = Domain \ GPOName – при помощи этого параметра вы можете указать изменения, которые будут применяться для объектов групповой политики, которые хранятся в домене. Причем, имя домена должно быть указано в форме полного доменного имени (FQDN).

gpo = domain \ GPOUniqueID - при помощи этого параметра вы можете указать изменения, которые будут применяться для объектов групповой политики, которые хранятся в домене и идентифицируются по GUID.

Пример использования:

set store gpo=dc.domain.com\marketing

Show

Эта команда позволяет отображать параметры, которые применяются к конфигурационным профилям или глобально к брандмауэру Windows в режиме повышенной безопасности. При помощи команды show можно пользоваться следующим функционалом:

  • show {ProfileType}

  • show global

  • show store

Рассмотрим каждое расширение команды.

Show {ProfileType}

Эта команда позволяет отобразить профиль, который связан с расположением сети. Команда show {ProfileType} эквивалентна информации, которая отображается во вкладках «Профиль домена», «Общий профиль» и «Частный профиль» диалога свойств оснастки «Брандмауэр Windows в режиме повышенной безопасности». Синтаксис команды следующий:

Show ИмяПрофиля Параметр

Где:

Имена профилей: allprofiles, currentprofile, domainprofile, privateprofile, publicprofile

Доступные параметры: state, firewallpolicy, settings, logging.

Каждый параметр подробно описан в разделе set {ProfileType}.

Далее приводится пример, где при выводе команды отобразятся параметры журналирования для активного профиля:

show currentprofile logging

Show Global

Эта команда позволяет отобразить значения глобальных свойств брандмауэра Windows в режиме повышенной безопасности. Если для команды не задаются параметры, то отображается вся доступная информация. Синтаксис команды следующий:

show global [ { ipsec | mainmode | statefulftp } ]

Где параметрами могут быть ipsec (отображает специальные параметры IPSec), mainmode (отображает параметры основного режима) или statefulftp (отображает поддержку FTP с отслеживанием состояния), которые были описаны в разделе Set global.

Далее приводится пример, где при выводе команды отобразятся параметры основного режима:

Show global mainmode

Show store

Эта команда отображает текущее хранилище политики для netsh advfirewall. В связи с тем, что хранилище политики может быть единым на компьютере, для этой команды не существует параметров.

Пример использования:

Show store

Часть 3. Контекст командной строки Netsh Consec

  • Add

  • Delete

  • Set

  • Show

В предыдущих частях статьи подробно рассматривались общее описания термина брандмауэр и команд контекста netsh advfirewall. В этой части статьи будут подробно описаны методы создания и изменения правил безопасности для брандмауэра Windows в режиме повышенной безопасности средствами контекста Netsh advfirewall consec. Команды Netsh advfirewall consec эквивалентны командам «Правилам безопасности подключений» оснастки «Брандмауэр Windows в режиме повышенной безопасности». Контекст Netsh advfirewall consec поддерживает пять команд, которые описаны в последующих разделах. Команда dump рассматриваться в рамках этой части статьи не будет, так как эта команда идентична команде dump контекста Netsh advfirewall.

Add

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

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

где:

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

endpoint1 = Адреса. При помощи этого параметра вы можете указать компьютеры, на которые распространяются условия текущего правила. Компьютеры, указанные в endpoint1 могут связываться с компьютерами, указанными в параметре endpoint2 только в том случае, когда выполняются требования текущего правила. При указании конкретных IP-адресов, они должны относиться к одной и той же версии протокола IP. Помимо этого, при настройке динамических туннелей, конечные точки туннелей могут задаваться как any. Локальную туннельную конечную точку задавать для клиентской политики необязательно. Также необязательно указывать удаленные конечные точки туннелей для политики шлюза. Для параметров endpoint1 и endpoint2 доступны следующие значения:

  • any – адреса компьютеров IPv4 или IPv6;

  • localsubnet – любые компьютеры, расположенные в той же подсети, что и локальный компьютер;

  • Dns | dhcp | wins | defaultgateway – любые компьютеры, которые настроены как сервера;

  • IPАдрес – только адреса IPv4 или IPv6 компьютеров, у которых статический адрес;

  • IPПодсеть – адреса IPv4 или IPv6 подсети, которые соответствуют любому компьютеру, расположенному в указанной подсети. Формат подсети – начальный адрес, после чего идет символ «/», а затем любое число бит маски подсети;

  • IPДиапазон – диапазон адресов IPv4 или IPv6, который соответствует любому компьютеру, находящемуся в указанном диапазоне. Формат диапазона – начальный адрес и конечный адреса диапазона, разделенные знаком «-».

endpoint2 = Адреса. Значения этого параметра идентичны параметру Endpoint1. Адреса или диапазоны endpoint1 и endpoint2 должны быть указаны через запятую.

action = { requireinrequestout | requestinrequestout | requireinrequireout | requireinclearout | noauthentication }. При помощи этого параметры вы можете указать проверку подлинности, которая будет применяться к созданному правилу. С подробной информацией об алгоритмах и методах проверки подлинности вы можете ознакомиться в следующем ресурсе: IPsec Algorithms and Methods Supported in Windows. У этого параметра есть пять возможных значений:

  • requireinrequestout – при помощи этого значения, указываются все входящие сетевые подключения на локальном компьютере, которые соответствуют текущему правилу и должны успешно пройти проверку подлинности. Соединение будет разрешено даже при неудачной проверке. В противном случае весь сетевой трафик отбрасывается. В средах с изоляцией серверов и доменов этот параметр, как правило, используется для компьютеров, которые находятся в пограничной зоне;

  • requestinrequestout – при помощи этого значения, указываются все входящие и исходящие сетевые подключения, которые соответствуют текущему правилу и должны успешно пройти проверку подлинности. Также соединение будет разрешено, даже если попытка проверки подлинности закончится неудачей;

  • requireinrequireout – при помощи этого значения, указываются среды с изоляцией серверов и доменов, которые используется для компьютеров, находящихся в пограничной зоне;

  • requireinclearout – при помощи данного значения, указываются подключения, которые применяются ко входящему сетевому трафику туннеля от клиентов при создании правила туннельного режима на компьютере, который обслуживает конечную точку туннеля для удаленных клиентов. Только новые исходящие подключения, которые поступают через туннель, отсылаются обратно;

  • noauthentication – при помощи этого значения, вы можете указать, что для создания правила исключения из проверки подлинности соединений не требуется защита с помощью протокола IPsec.

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

mode = { transport | tunnel }. При помощи этого параметра указывается режим подключения для правила безопасности подключений IPSec. Значениями этого параметра могут быть transport, или tunnel. Если параметр mode не указан, то режимом, установленным по умолчанию, является transport. Значение requireinclearout параметра action недопустимо в режиме mode=Transport.

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

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

type = { dynamic | static }. При помощи этого параметра вы можете указать, как будет применяться правило для текущей сессии, и где оно будет храниться. Для этого параметра есть два значения:

  • dynamic – при указании этого значения, правило брандмауэра Windows в режиме повышенной безопасности сразу применяется к текущей сессии и не привязывается к адресу компьютера. При этом ни одна политика не сохраняется и правило не будет активно после перезагрузки компьютера;

  • static – правило будет сохраняться в текущем хранилище политики, указанном при помощи команды advfirewall set store. Правило не будет применяться до тех пор, пока политики не будут активными.

По умолчанию установлен параметр static.

localtunnelendpoint = { IPAddress | any }. Для использования этого параметра необходимо, чтобы значением параметра mode было tunnel. Локальная конечная точка туннеля - это шлюз, в который компьютер в конечной точке 1 передает сетевые пакеты, адресованные компьютеру в конечной точке 2. Локальная конечная точка получает сетевой пакет от компьютера в конечной точке 1, инкапсулирует его в новый сетевой пакет и пересылает в удаленную конечную точку туннеля. Трафик передается с IP-адреса, указанного в этом параметре на адрес, определенный в параметре remotetunnelendpoint.

remotetunnelendpoint = { IPAddress | any }. Для использования этого параметра необходимо, чтобы значением параметра mode было tunnel. Удаленная конечная точка туннеля извлекает инкапсулированный исходный пакет, помещает его в сеть, соединенную с компьютерами в конечной точке 2, и пересылает пакет в место назначения.

Если указать значение any, то компьютер в конечной точке 1 также будет являться локальной конечной точкой туннеля для данного подключения. Компьютер в конечной точке 1 инкапсулирует его собственные сетевые пакеты и пересылает их в удаленную конечную точку туннеля, которая извлекает и пересылает данные компьютеру назначения в конечной точке 2. Версия протокола IP для адресов конечных точек туннеля должна быть одной и той же. Например, если задан адрес IPv4 для одного конца, для другого конца также должен быть задан адрес IPv4. Можно указать оба протокола - и IPv4, и IPv6.

port1 = { any | Integer or Range } [ ,… ]. Этот параметр доступен в том случае, если выбран протокол TCP или UDP. Используйте этот параметр для того, чтобы указать номер порта компьютера, который является частью конечной точки 1. Вы можете указать как определенный порт, например 80, диапазон портов, например 5000 – 5200, так и несколько определенных портов и диапазонов, разделенных запятыми. Если выбрать параметр any, то весь сетевой трафик для выбранного протокола будет удовлетворять данному правилу безопасности подключения. Диапазон портов можно указывать от 0 до 65535.

port2 = { any | Integer or Range } [ ,… ]. Значения этого параметра идентичны параметру port1.

protocol = { any | tcp | udp | icmpv4 | icmpv6 | Integer }. При помощи этого параметра вы можете выбрать протокол, сетевой трафик которого необходимо защищать с помощью данного правила брандмауэра. Для того чтобы можно было указывать порты, выберите протокол TCP или UDP, сетевой трафик которого необходимо защищать с помощью данного правила брандмауэра. Также для создания правил доступны значения ICMPv4 и ICMPv6. По умолчанию установлено значение any.

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

  • any – установив это значение, к правилу применяются любые типы интерфейсов;

  • wireless – установив это значение, правило применяется только в том случае, если подключение осуществляется через беспроводную сеть.

  • lan – установив это значение, правило применяется только в том случае, если подключение к сети осуществляется при помощи сетевого адаптера.

  • ras – установив это значение, правило применяется только в том случае, если подключение к сети осуществляется при помощи RAS интерфейса, VPN или Dial-Up.

auth1 = { computerkerb | computercert | computercertecdsap256 | computercertecdsap384 | computerpsk | computerntlm | anonymous | [ , ...] }. Этот параметр отвечает за использование проверки подлинности компьютера IPSec для основного режима на основе сертификата компьютера. Можно указывать несколько значений, разделенных запятыми без пробелов. Для того чтобы при помощи созданного правила компьютеры могли между собой общаться, проверка подлинности должна пройти успешно. Обязательно должен быть указан как минимум один метод проверки подлинности. Методы computerpsk и computerntlm нельзя указывать совместно с auth1. Для этого параметра доступны следующие значения:

  • computerkerb – при выборе этого значения для проверки подлинности компьютера будет использоваться протокол Kerberos V5;

  • computercert – при выборе этого значения для проверки подлинности, компьютер использует сертификат, выданный центром сертификации (CA), который подписывается с помощью алгоритма шифрования с открытым ключом RSA;

  • computercertecdsap256 – при выборе этого значения для проверки подлинности, компьютер использует сертификат, выданный центром сертификации (CA), который подписывается с помощью алгоритма цифровой подписи на эллиптических кривых с 256-битным уровнем криптостойкости ключа;

  • computercertecdsap384 – при выборе этого значения для проверки подлинности, компьютер использует сертификат, выданный центром сертификации (CA), который подписывается с помощью алгоритма цифровой подписи на эллиптических кривых с 384-битным уровнем криптостойкости ключа;

  • computerpsk – при выборе этого значения для проверки подлинности, компьютер использует данные, введенного вручную общего ключа на двух компьютерах для передачи данных. Этот ключ хранится в незашифрованном виде и в связи с этим, рекомендуется не использовать это значение;

  • computerntlm – при выборе этого значения для проверки подлинности учетной записи компьютера используется метод NTLMv2. Это значение нельзя использовать совместно со значением computerpsk;

  • anonymous – этот параметр не рекомендуется выбирать без других значений, а также со значением computerpsk. При применении этого значения с вышеперечисленными значениями, его рекомендуется добавлять в последнюю очередь.

auth1psk = PreSharedKey. Данный параметр можно использовать только в том случае, если в значениях параметра auth1 присутствует computerpsk. При помощи этого параметра можно задать дополнительные значения ключа, который используется для проверки подлинности. Это значение хранится в незашифрованном виде.

auth1ca = "CAName [ certmapping: { yes | no } ] [ excludecaname: { yes | no } ] [ catype: { root | intermediate } ] [ | ... ]". При помощи этого параметра вы можете указать сертификат, подписанный с помощью алгоритма шифрования с открытым ключом RSA. Этот параметр может быть активным только в том случае, если у параметра auth1 было установлено значение computercert. Вы можете указать несколько сертификатов, разделив их символом |. Все значения параметра должны быть заключены в кавычки. Для этого параметра есть несколько значений:

  • CAName – при помощи этого значения укажите имя издателя сертификата, который используется для проверки подлинности. Формат выражения должен соответствовать стандартам сертификатов (CN, OU…). Имя центра сертификации обязательно должно иметь префикс “CN=”;

  • Certmapping – при помощи этого значения укажите, следует ли включить отображение certificate-to-account;

  • Excludecaname – при помощи этого значения указывается, следует ли исключить имя доверенного корневого центра сертификации, от имени которого принимается сертификат.

  • Catype – Параметр catype можно использовать для указания типа центра сертификации - catype=root/intermediate.

auth1healthcert = { yes | no }. Этот параметр ограничивает используемые сертификаты компьютеров, которые помечены как сертификаты работоспособности. Сертификаты работоспособности публикуются центром сертификации для поддержки развертывания защиты доступа к сети (NAP). Служба защиты доступа к сети (NAP) помогает определять и применять политики работоспособности, чтобы обеспечить минимальную вероятность доступа в сеть компьютерам, не отвечающим сетевым требованиям (например, компьютерам без антивирусных программ или на которых не установлены последние обновления программного обеспечения). Этот параметр может быть активным только в том случае, если у параметра auth1 было установлено значение computercert.

auth1ecdsap256ca = "CAName [ certmapping: { yes | no } ] [ excludecaname: { yes | no } ] [ catype: { root | intermediate } [ | ... ]". При помощи этого параметра вы можете указать сертификат, подписанный с помощью алгоритма цифровой подписи на эллиптических кривых с 256-битным уровнем криптостойкости ключа. Этот параметр может быть активным только в том случае, если у параметра auth1 было установлено значение computercertecdsap256.

auth1ecdsap256healthcert = { yes | no }. Этот параметр по своему назначению и значениям идентичен параметру auth1healthcert.

auth1ecdsap384ca = "CAName [ certmapping: { yes | no } ] [ excludecaname: { yes | no } ] [ catype: { root | intermediate } [ | ... ]". При помощи этого параметра вы можете указать сертификат, подписанный с помощью алгоритма цифровой подписи на эллиптических кривых с 384-битным уровнем криптостойкости ключа. Этот параметр может быть активным только в том случае, если у параметра auth1 было установлено значение computercertecdsap384.

auth1ecdsap384healthcert = { yes | no }. Этот параметр по своему назначению и значениям идентичен параметру auth1healthcert.

auth2 = { userkerb | userntlm | usercert | usercertecdsap256 | usercertecdsap384 | computercert | computercertecdsap256 | computercertecdsap384 | anonymous | [ ,... ] }. По существу, значение этой команды незначительно отличается от команды auth1, но у текущей команды есть несколько дополнительных параметров:

  • userkerb – при выборе этого значения для проверки подлинности пользователя будет использоваться протокол Kerberos V5;

  • userntlm – при выборе этого значения для проверки подлинности учетной записи пользователя используется метод NTLMv2;

  • usercert – при выборе этого значения для проверки подлинности, используется сертификат пользователя, выданный центром сертификации (CA), если сертификат подписывается с помощью алгоритма шифрования с открытым ключом RSA;

  • usercertecdsap256 – при выборе этого значения для проверки подлинности, используется сертификат пользователя, выданный центром сертификации (CA), если сертификат подписывается с помощью алгоритма цифровой подписи на эллиптических кривых с 256-битным уровнем криптостойкости ключа;

  • usercertecdsap384 – при выборе этого значения для проверки подлинности, используется сертификат пользователя, выданный центром сертификации (CA), если сертификат подписывается с помощью алгоритма цифровой подписи на эллиптических кривых с 384-битным уровнем криптостойкости ключа.

Значение команд auth2ca, auth2ecdsap256ca и auth2ecdsap384ca не отличаются от идентичных команд для auth1, auth1 и auth2, они могут задаваться в виде списков параметров, разделенных запятыми. Метод computercert нельзя указывать с учетными данными пользователя.

qmpfs = { dhgroup1 | dhgroup2 | dhgroup14 | ecdhp256 | ecdhp384 | mainmode | none }. Этот параметр используется для создания быстрой пересылки. Режим qmpfs=mainmode использует параметр обмена ключами основного режима для PFS. Не рекомендуется использовать DES, MD5 и DHGroup1. Эти криптографические алгоритмы предоставляются исключительно для обратной совместимости.

qmsecmethods = [ authnoencap:integrity [ +Lifemin ] [ +datakb ] ; ] ah:Integrity+esp:Integrity-Encryption+[Lifemin]+[Datakb] | default. При помощи этого параметра можно указать один или несколько быстрых режимов безопасности, разделенных запятыми без указания пробелов. Доступны следующие параметры:

  • authnoencap – использование authnoencap означает, что компьютеры будут использовать только проверку подлинности, и не будут использовать какие-либо алгоритмы пакетной инкапсуляции или шифрования для защиты последующих сетевых пакетов, передаваемых в рамках этого подключения. Параметр AuthNoEncap должен сопровождаться хотя бы одним комплектом обеспечения целостности AH или ESP. После завершения проверки подлинности, остальные сетевые пакеты, связанные с подключением передаются в незашифрованном виде;

  • Integrity – этот параметр отвечает за целостность алгоритма. Для параметра qmsecmethods целостность=md5|sha1|sha256|aesgmac128|aesgmac192|aesgmac256|aesgcm128|aesgcm192|aesgcm256. В том случае, если вам не нужно указывать AH, просто не включайте ah:Integrity в команду;

  • Encryption – этот параметр отвечает за шифрование алгоритма. Для параметра qmsecmethods шифрование=3des|des|aes128|aes192|aes256|aesgcm128|aesgcm192|aesgcm256. Если указаны параметры aesgcm128, aesgcm192 или aesgcm256, то их необходимо использовать как для ESP-целостности, так и для шифрования;

  • Life – этот параметр отвечает за цикл жизни сессии в минутах. Значение по умолчанию – 60 минут. Значение должно находиться в интервале от 5 до 2880 минут;

  • Data – этот параметр отвечает за объем цикла жизни сессии в килобайтах. По истечению указанного объема, создается новая сессия. Значение по умолчанию – 100000КВ. Значение должно находиться в интервале от 20480 до 2147483647КВ.

exemptipsecprotectedconnections = { yes | no }. Этот параметр можно указывать только для правил туннельного режима. Присвоив этому параметру значение "Yes", можно исключить ESP-трафик из туннеля. Трафик, относящийся только к AH, не будет исключаться из туннеля.

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

В этом примере создается правило с пользовательскими предположениями быстрого режима:

add rule name="Правило быстрого режима" endpoint1=195.38.1.1 endpoint2=195.68.255.255 qmsecmethods=authnoencap:sha1,ah:aesgmac256+esp:aesgmac256-none action=requireinrequestout

Причем, если перейти в настройки этого правила в оснастке брандмауэра Windows в режиме повышенной безопасности, можно увидеть, что оно содержит свойства, которые не поддерживаются графическим интерфейсом:

В этом примере создается правило для изоляции домена, где не требуется защита с помощью протокола IPsec:

add rule name="Изоляция домена" endpoint1=any endpoint2=any action=noauthentication

В этом примере создается правило, где для входящих подключений требуется проверка подлинности на основе одного из двух сертификатов. Также проверка подлинности запрашивается для исходящих подключений, но подключение будет разрешено, даже если проверка подлинности не будет пройдена. Если указывается несколько сертификатов, то они должны разделяться вертикальной чертой (|):

add rule name="Проверка подлинности с использованием сертификата" endpoint1=any endpoint2=any action=requireinrequestout auth1=computercert auth1ca="C=US,O=MSFT,CN=\'Microsoft Root Authority\'|C=US,O=MYORG,CN=\'TestCompany Trusted Certificate\'"

Создать правило туннельного режима из подсети A (10.1.1.0, внешний IP-адрес=192.157.15.1) в подсеть B (22.1.1.0, внешний IP-адрес=192.168.0.1) можно следующим образом:

add rule name="Туннельное подключение" mode=tunnel endpoint1=10.1.1.0/16 endpoint2=22.1.1.0/16 remotetunnelendpoint=192.168.0.1 localtunnelendpoint=195.57.15.1 action=requireinrequireout

Delete

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

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

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

name = { all | RuleName }, type = { dynamic | static }, profile = { public | private | domain | any | [ ,... ] }, endpoint1 = Адрес, endpoint2 = Адрес, port1 = { any | Integer or Range } [ ,… ], port2 = { any | Integer or Range } [ ,… ], protocol = { any | tcp | udp | icmpv4 | icmpv6 | Integer }.

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

delete rule name=all type=dynamic

Set

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

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

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

  • name = { all | RuleName }

  • type = { dynamic | static }

  • profile = { public | private | domain | any | [ ,... ] }

  • endpoint1 = Addresses

  • endpoint2 = Addresses

  • port1 = { any | Integer } [ ,… ]

  • port2 = { any | Integer } [ ,… ]

  • protocol = { any | tcp | udp | icmpv4 | icmpv6 | Integer }

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

В первом примере попробуем переименовать одно из правил:

set rule name="Правило быстрого режима" new name="Откорректированное правило быстрого режима"

В этом примере изменяется проверка подлинности правила быстрого режима:

netsh advfirewall consec>set rule name="Откорректированное правило быстрого режима" new endpoint1=any endpoint2=any qmsecmethods=authnoencap:aesgmac256,ah:aesgmac256+esp:aesgmac256-none

Show

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

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

show rule name=all

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

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

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

  • Add

  • Delete

  • Set

  • Show

Add

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

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

где:

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

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

  • in – правило создается только для входящего трафика и в оснастке «Брандмауэр Windows в режиме повышенной безопасности» его можно будет найти в узле «Правила для входящих подключений».

  • out – правило создается только для исходящего трафика и в оснастке «Брандмауэр Windows в режиме повышенной безопасности» его можно будет найти в узле «Правила для исходящих подключений».

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

  • allow – разрешает сетевые пакеты, которые отвечают всем условиям в правиле брандмауэра;

  • block – позволяет явно заблокировать любой сетевой пакет, который отвечает условиям правила брандмауэра. Действие блокирования имеет преимущество перед действием разрешения;

  • b ypass – разрешает только подключения, защищенные с помощью протокола IPsec. Параметры IPsec определяются в отдельных правилах безопасности подключения. Если для параметра dir указано значение in, то данный параметр является активным для правил, которые распространяются на одну и более учетных записей, которые указаны в параметре rmtcomputergrp или группе удаленных компьютеров в параметре rmtusrgrp. При указании пользователей или компьютеров необходимо использовать метод проверки подлинности, включающий сведения о пользователях или компьютерах, потому что Брандмауэр Windows в режиме повышенной безопасности будет использовать метод проверки подлинности, указанный в правиле безопасности подключения, чтобы убедиться, что пользователи и компьютеры ему удовлетворяют. При выборе dir=out – настройки будут применяться для исходящего трафика. В этом случае не обязательно указывать учетные записи и компьютеры, но если они будут указаны, то условия правила будут соблюдаться только для указанных данных.

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

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

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

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

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

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

  • any – адреса компьютеров IPv4 или IPv6;

  • I PАдрес – указывается только тот сетевой трафик, который используется одним из адресов IPv4 или IPv6, указанных в поле локального IP-адреса. Если у локального компьютера нет сетевого адаптера, настроенного на один из указанных IP-адресов, то правило не применяется;

  • IPПодсеть – Адреса IPv4 или IPv6 подсети, которые соответствуют любому компьютеру, расположенному в указанной подсети. Формат подсети – начальный адрес, после чего идет символ «/», а затем любое число бит маски подсети;

  • IPДиапазон – диапазон адресов IPv4 или IPv6, который соответствует любому компьютеру, находящемуся в указанном диапазоне. Формат диапазона – начальный адрес и конечный адреса диапазона, разделенные знаком «-».

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

  • any – адреса компьютеров IPv4 или IPv6;

  • localsubnet – любые компьютеры, расположенные в той же подсети, что и локальный компьютер;

  • Dns | dhcp | wins | defaultgateway – любые компьютеры, которые настроены как сервера;

  • IPАдрес – только адреса IPv4 или IPv6 компьютеров, у которых статический адрес;

  • IPПодсеть – адреса IPv4 или IPv6 подсети, которые соответствуют любому компьютеру, расположенному в указанной подсети. Формат подсети – начальный адрес, после чего идет символ «/», а затем любое число бит маски подсети;

  • IPДиапазон – диапазон адресов IPv4 или IPv6, который соответствует любому компьютеру, находящемуся в указанном диапазоне. Формат диапазона – начальный адрес и конечный адреса диапазона, разделенные знаком «-».

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

  • any – при указании этого значения весь сетевой трафик для выбранного протокола будет удовлетворять данному правилу безопасности подключения;

  • Целое число – при помощи этого значения вы можете указать как определенный порт, например 80, диапазон портов, например 5000 – 5200, так и несколько определенных портов и диапазонов, разделенных запятыми.

  • Rpc – при помощи этого значения локальный компьютер будет получать входящие запросы RPC через порт TCP 135 для сопоставления конечных точек RPC (RPC-EM). В запросе к RPC-EM указывается сетевая служба и запрашивается номер порта, по которому прослушивается указанная сетевая служба. RPC-EM сообщает номер порта, на который удаленный компьютер должен будет передавать сетевой трафик для данной службы. Этот параметр также позволяет RPC-EM принимать RPC-запросы по HTTP. Это значение доступно только для правил входящих подключений по протоколу TCP.

  • rpc-epmap – при помощи этого значения локальный компьютер будет получать входящие сетевые пакеты RPC через порты, назначенные средой выполнения RPC. Порты из временного диапазона RPC блокируются брандмауэром Windows, если они не были назначены исполняемым модулем RPC определенной сетевой службе RPC. Только программа, для которой исполняемым модулем RPC назначен порт, может принимать входящий через этот порт трафик. Это значение доступно только для правил входящих подключений по протоколу TCP;

  • iphttps – при помощи этого значения локальному компьютеру разрешается принимать входящие пакеты IPTHTTPS от удаленного компьютера. IPHTTPS является протоколом туннелирования, который поддерживает внедрение пакетов IPv6 в сетевые пакеты IPv4 HTTPS. Это позволяет трафику IPv6 проходить через IP-прокси, которые не поддерживают IPv6 или некоторые другие технологии туннелирования IPv6, например Teredo или 6to4. Это значение доступно только для TCP портов;

  • teredo – при помощи этого значения локальному компьютеру разрешается получать входящие сетевые пакеты Teredo. Это значение доступно только для правил входящих подключений по протоколу UDP портов.

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

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

  • any – при указании этого значения, все сетевые протоколы будут удовлетворять данному правилу безопасности подключения;

  • I nteger – при помощи этого значения вы сможете вручную указать номера протоколов, которые будут использоваться в этом правиле. Со списком доступных протоколов можно ознакомиться в этом руководстве: Firewall Rule Properties Page: Protocols and Ports Tab;

  • Icmpv4 – при помощи этого значения для правила будут применяться все ICMPv4 пакеты;

  • Icmpv6 – при помощи этого значения для правила будут применяться все ICMPv6 пакеты;

  • Icmpv4:Тип,Код – при помощи этого значения для правила вы сможете указать ICMPv4 пакеты с заданным типом и кодом. Протоколы можно указывать в диапазоне от 0 до 255;

  • Icmpv6:Тип,Код – при помощи этого значения для правила вы сможете указать ICMPv6 пакеты с заданным типом и кодом. Протоколы можно указывать в диапазоне от 0 до 255.

  • TCP – при помощи этого значения вы можете указать, что для данного правила будет использоваться TCP трафик с указанными портами с помощью параметров localport и remoteport;

  • UDP – при помощи этого значения вы можете указать, что для данного правила будет использоваться UDP трафик с указанными портами с помощью параметров localport и remoteport.

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

  • any – установив это значение, к правилу применяются любые типы интерфейсов;

  • wireless – установив это значение, правило применяется только в том случае, если подключение осуществляется через беспроводную сеть;

  • lan – установив это значение, правило применяется только в том случае, если подключение к сети осуществляется при помощи сетевого адаптера;

  • ras – установив это значение, правило применяется только в том случае, если подключение к сети осуществляется при помощи RAS интерфейса, VPN или Dial-Up.

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 подключения. Для этого параметра доступно пять значений:

  • authenticate – при указании authenticate в качестве значения параметра security, для данного правила разрешаются только те сетевые пакеты, которые прошли проверку IPSec. В этом случае, для аутентификации сетевого трафика вам понадобится создать отдельное правило безопасности подключения;

  • authenc – при указании authenc в качестве значения параметра security, для данного правила разрешаются только те сетевые пакеты, которые прошли проверку IPSec и шифруются. В этом случае, для аутентификации сетевого трафика вам понадобится создать отдельное правило безопасности подключения;

  • authdynenc – при указании authdynenc в качестве значения параметра security, системы динамически согласовывают использование шифрования трафика, соответствующего данному правилу брандмауэра Windows. Шифрование согласуется в соответствии со свойствами существующего правила безопасности соединения. Этот параметр позволяет компьютеру принять первый пакет TCP или UDP входящего соединения IPsec, при условии, что он защищен, но не зашифрован, с помощью IPsec. Как только первый пакет будет обработан, сервер повторно согласует соединение и обновит его;

  • authnoencap – при указании authnoencap в качестве значения параметра security, компьютеры будут использовать только проверку подлинности и не будут использовать какие-либо алгоритмы пакетной инкапсуляции или шифрования для защиты последующих сетевых пакетов, передаваемых в рамках этого подключения. Параметр AuthNoEncap должен сопровождаться хотя бы одним комплектом обеспечения целостности AH или ESP. После завершения проверки подлинности, остальные сетевые пакеты, связанные с подключением передаются в незашифрованном виде. В этом случае, для аутентификации сетевого трафика вам понадобится создать отдельное правило безопасности подключения. AuthEnc и authnoencap нельзя использовать вместе. Если задан параметр authnoencap, то параметр security=authenticate становится необязательным;

  • Notrequired – при указании notrequired в качестве значения параметра security, любой сетевой пакет соответствует этому правилу. В этом случае отдельное правило безопасности создавать не обязательно.

В этом примере, разрешим весь входящий трафик для программы 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:

  • group = GroupName | name = { all | RuleName }

  • dir = { in | out }

  • profile = { public | private | domain | any } [ ,... ]

  • program = ProgramPath\FileName

  • service = { ServiceShortName | any }

  • localip = Addresses

  • remoteip = Addresses

  • localport = { any | rpc | rpc-epmap | teredo | iphttps | Integer | [ ,... ] }

  • remoteport = { any | Integer | [ ,... ] }

  • protocol = { any | Integer | icmpv4 | icmpv6 | icmpv4:type,code | icmpv6:type,code | tcp | udp }

Вместе с параметром 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”

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

В этой части статьи будет подробно рассказано о работе с контекстом Netsh Advfirewall MainMode. Основной режим появился в операционной системе Windows 7 и Windows Server 2008 R2. Этот функционал согласовывает обмен ключами в Интернете (IKE) и устанавливает защищенный канал между двумя компьютерами путем определения набора криптографических комплектов защиты, обмена материалом ключа для создания общего секретного ключа и проверки учетных данных компьютеров и пользователей. Сопоставление безопасности (SA) по протоколу ISAKMP - это информация о защищенном канале, хранящаяся на локальном компьютере и позволяющая ему осуществлять обмен данными с удаленным компьютером. Можно осуществлять наблюдение за сопоставлениями безопасности основного режима для получения информации о текущих установленных одноранговых подключениях к данному компьютеру и комплекте защиты, использованном для создания сопоставления безопасности.

Основной режим функционирует при условии соблюдений режима Common Criteria (для изучения этого режима и работы с группой криптографических операторов вы можете ознакомиться со следующим ресурсом: Description of the Crypto Operators security group that was added to Windows Vista Service Pack 1 to configure Windows Firewall for IPsec in Common Criteria mode). Если на компьютере этот режим включен, то администраторы компьютера могут создавать и управлять правилами основного режима. Для того чтобы можно было использовать все команды для основного режима, ваша административная учетная запись также должна состоять в группе «Криптографические операторы». Созданные правила можно экспортировать и применять на других компьютерах. Контекст Netsh advfirewall MainMode поддерживает четыре команды, которые описаны в последующих разделах.

  • Add

  • Delete

  • Set

  • Show

Add

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

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

где:

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

mmsecmethods = { KeyExch:Encryption-Integrity [ ,… ] | default }. При помощи этого параметра вы можете указать схему обмена ключами Диффи — Хеллмана, позволяющий двум сторонам получить общий секретный ключ, используя незащищенный от прослушивания, но защищённый от подмены, канал связи. Синтаксис части команды в этом случае будет следующий:

keyexch:enc-integrity,keyexch:enc-integrity[,...]

где keyexch это dhgroup1 | dhgroup2 | dhgroup14 | ecdhp256 | ecdhp384, enc - des | 3des | aes128 | aes192 | aes256, а integrity - md5 | sha1 | sha256 | sha384.

Также вы можете вводить несколько комбинаций enc-алгоритмов целостности в том случае, если они используют тот же механизм, что и у первой пары enc-целостности, разделенные запятыми. Значение, указанное по умолчанию - dhgroup2:aes128-sha1,dhgroup2:3des-sha1

mmforcedh = { yes | no }. Этот параметр предназначен для использования DH в защите обмена ключами основного режима IPSec при использовании AuthIP. Доступные значения: yes, no.

mmkeylifetime = Lifemin,Numsess. При помощи этого параметра вы можете настраивать время жизни ключа основного режима в минутах или сеансах, либо же обоими способами. Минуты могут варьироваться от 1 до 2880, а сеансы от 0 до 2147483647. Также доступно значение notconfigured.

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

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

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

endpoint1 = Адреса. При помощи этого параметра вы можете указать компьютеры, на которые распространяются условия текущего правила. Компьютеры, указанные в endpoint1 могут связываться с компьютерами, указанными в endpoint2 только в том случае, когда выполняются требования текущего правила. При указании конкретных IP-адресов они должны относиться к одной и той же версии протокола IP. Помимо этого, при настройке динамических туннелей конечные точки туннелей могут задаваться как any. Локальную туннельную конечную точку задавать для клиентской политики необязательно (т.е. any). Также необязательно указывать удаленные конечные точки туннелей для политики шлюза (т.е. any). Для параметров endpoint1 и endpoint2 доступны следующие значения:

  • any – адреса компьютеров IPv4 или IPv6;

  • localsubnet – любые компьютеры, расположенные в той же подсети, что и локальный компьютер;

  • Dns | dhcp | wins | defaultgateway – любые компьютеры, которые настроены как сервера;

  • IPАдрес – только адреса IPv4 или IPv6 компьютеров, у которых статический адрес;

  • IPПодсеть – адреса IPv4 или IPv6 подсети, которые соответствуют любому компьютеру, расположенному в указанной подсети. Формат подсети – начальный адрес, после чего идет символ «/», а затем любое число бит маски подсети;

  • IPДиапазон – диапазон адресов IPv4 или IPv6, который соответствует любому компьютеру, находящегося в указанном диапазоне. Формат диапазона – начальный адрес и конечный адреса диапазона, разделенные знаком «-».

auth1 = { computerkerb | computercert | computercertecdsap256 | computercertecdsap384 | computerpsk | computerntlm | anonymous | [ , ...] }. Этот параметр отвечает за использование проверки подлинности компьютера IPSec для основного режима на основе сертификата компьютера. Можно указывать несколько значений, разделенных запятыми без пробелов. Для того чтобы при помощи созданного правила компьютеры могли между собой общаться, проверка подлинности должна пройти успешно. Обязательно должен быть указан как минимум один метод проверки подлинности. Для этого параметра доступны следующие значения:

  • computerkerb – при выборе этого значения для проверки подлинности компьютера будет использоваться протокол Kerberos V5;

  • computercert – при выборе этого значения для проверки подлинности, компьютер использует сертификат, выданный центром сертификации (CA), который подписывается с помощью алгоритма шифрования с открытым ключом RSA;

  • computercertecdsap256 – при выборе этого значения для проверки подлинности, компьютер использует сертификат, выданный центром сертификации (CA), который подписывается с помощью алгоритма цифровой подписи на эллиптических кривых с 256-битным уровнем криптостойкости ключа;

  • computercertecdsap384 – при выборе этого значения для проверки подлинности, компьютер использует сертификат, выданный центром сертификации (CA), который подписывается с помощью алгоритма цифровой подписи на эллиптических кривых с 384-битным уровнем криптостойкости ключа;

  • computerpsk – при выборе этого значения для проверки подлинности, компьютер использует данные, введенного вручную общего ключа на двух компьютерах для передачи данных. Этот ключ хранится в незашифрованном виде и в связи с этим, рекомендуется не использовать это значение;

  • computerntlm – при выборе этого значения для проверки подлинности учетной записи компьютера используется метод NTLMv2. Это значение нельзя использовать совместно со значением computerpsk;

  • anonymous – этот параметр не рекомендуется выбирать без других значений, а также со значением computerpsk. При применении этого значение, его рекомендуется добавлять в последнюю очередь.

auth1psk = PreSharedKey. Данный параметр можно использовать только в том случае, если в значениях параметра auth1 присутствует computerpsk. При помощи этого параметра можно задать дополнительные значения ключа, который используется для проверки подлинности. Это значение хранится в незашифрованном виде.

auth1ca = "CAName [ certmapping: { yes | no } ] [ excludecaname: { yes | no } ] [ catype: { root | intermediate } ] [ | ... ]". При помощи этого параметра вы можете указать сертификат, подписанный с помощью алгоритма шифрования с открытым ключом RSA. Этот параметр может быть активным только в том случае, если у параметра auth1 было установлено значение computercert. Вы можете указать несколько сертификатов, разделив их символом |. Все значения параметра должны быть заключены в кавычки. Для этого параметра есть несколько необходимых значений:

  • CAName – при помощи этого значения укажите имя издателя сертификата, который используется для проверки подлинности. Формат выражения должен соответствовать стандартам сертификатов (CN, OU…). Имя центра сертификации обязательно должно иметь префикс “CN=”;

  • Certmapping – при помощи этого значения укажите, следует ли включить отображение certificate-to-account;

  • Excludecaname – при помощи этого значения указывается, следует ли исключить имя доверенного корневого центра сертификации, от имени которого принимается сертификат.

  • Catype – Параметр catype можно использовать для указания типа центра сертификации - catype=root/intermediate.

auth1healthcert = { yes | no }. Этот параметр ограничивает используемые сертификаты компьютеров теми, которые помечены как сертификаты работоспособности. Сертификаты работоспособности публикуются центром сертификации для поддержки развертывания защиты доступа к сети (NAP). Служба защиты доступа к сети (NAP) помогает определять и применять политики работоспособности, чтобы обеспечить минимальную вероятность доступа в сеть компьютерам, не отвечающим сетевым требованиям (например, компьютерам без антивирусных программ или на которых не установлены последние обновления программного обеспечения). Этот параметр может быть активным только в том случае, если у параметра auth1 было установлено значение computercert.

auth1ecdsap256ca = "CAName [ certmapping: { yes | no } ] [ excludecaname: { yes | no } ] [ catype: { root | intermediate } [ | ... ]". При помощи этого параметра вы можете указать сертификат, подписанный с помощью алгоритма цифровой подписи на эллиптических кривых с 256-битным уровнем криптостойкости ключа. Этот параметр может быть активным только в том случае, если у параметра auth1 было установлено значение computercertecdsap256.

auth1ecdsap256healthcert = { yes | no }. Этот параметр по своему назначению и значениям идентичен параметру auth1healthcert.

auth1ecdsap384ca = "CAName [ certmapping: { yes | no } ] [ excludecaname: { yes | no } ] [ catype: { root | intermediate } [ | ... ]". При помощи этого параметра вы можете указать сертификат, подписанный с помощью алгоритма цифровой подписи на эллиптических кривых с 384-битным уровнем криптостойкости ключа. Этот параметр может быть активным только в том случае, если у параметра auth1 было установлено значение computercertecdsap384.

auth1ecdsap384healthcert = { yes | no }. Этот параметр по своему назначению и значениям идентичен параметру auth1healthcert.

type = { dynamic | static }. При помощи этого параметра вы можете указать, как будет применяться правило для текущей сессии, и где оно будет храниться. Для этого параметра есть два значения:

  • dynamic – при указании этого значения, правило брандмауэра Windows в режиме повышенной безопасности сразу применяется к текущей сессии и не привязывается к адресу компьютера. При этом ни одна политика не сохраняется и правило не будет активно после перезагрузки компьютера;

  • static – правило будет сохраняться в текущем хранилище политики, указанном при помощи команды advfirewall set store. Правило не будет применяться до тех пор, пока политики не будут активными.

По умолчанию установлен параметр static

П ример использования:

add rule name="Пример использования" description="Это пример создания правила для основного режима" Mmsecmethods=dhgroup2:3des-sha256,ecdhp384:3des-sha384 auth1=computercert,computercertecdsap256 auth1ca="C=US, O=MSFT, CN=\'Microsoft North, South, East, and West Root Authority\'" auth1healthcert=no auth1ecdsap256ca="C=US, O=MSFT, CN=\'Microsoft North, South, East, and West Root Authority\'" auth1ecdsap256healthcert=yes mmkeylifetime=2min profile=domain

Delete

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

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

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

name = { all | RuleName }, profile = { public | private | domain | any | [ ,... ] }, type = { dynamic | static }

Для того чтобы удалить созданное правило основного режима, выполните следующие действия:

delete rule name="Пример использования"

Set

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

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

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

  • name = RuleName

  • profile = { public | private | domain | any } [ , ...]

  • type = { dynamic | static }

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

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

set rule name="Пример использования" new name="Основной режим" description="Новое описание"

Для того чтобы изменить параметры mmescmethods и mmkeylifetime, выполните следующее:

set rule name="Основной режим" new Mmsecmethods=dhgroup2:3des-sha256,ecdhp384:3des-sha384 auth1=computerntlm mmkeylifetime=15min

Show

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

Например:

show rule name="Основной режим"

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

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

Контекст Netsh advfirewall Monitor поддерживает только две команды, которые описаны в последующих разделах.

  • Delete

  • Show

Delete

При помощи этой команды вы можете удалять указанные сопоставления безопасности (SA) для основного и быстрого режимов. Синтаксис команды следующий:

Delete { mmsa | qmsa } { IPv4AddressPair | IPv6AddressPair | all }

где:

Mmsa – при помощи этого параметра вы можете удалить сопоставления безопасности основного режима с указанными адресами;

Qmsa – при помощи этого параметра вы можете удалить сопоставления безопасности быстрого режима с указанными адресами;

IPv4AddressPair | IPv6AddressPair | all – при помощи этого параметра указывается источник и назначение адреса IPv4 или IPv6, для которых будут удаляться сопоставления безопасности. Необходимо указывать адрес пар – источника и назначения, где порядок не играет никакой роли. Если указать значение all, то удалятся все сопоставления для указанного типа.

И спользуя этот пример, вы можете удалить сопоставления безопасности основного режима между двумя адресами:

delete mmsa 192.168.0.3 192.168.0.4

Show

При помощи этой команды вы можете отобразить информацию о брандмауэре Windows в режиме повышенной безопасности и настройки IPSec для указанного компьютера. Для этой команды существуют шесть параметров. Почти у всех параметров есть еще по три дополнительных параметра:

  • rule name, при помощи которого можно делать выборку по имени правила;

  • profile, при помощи которого вы можете осуществлять выборку по профилям (доступные значения public, private, domain, active и any, что соответственно означает общий профиль, частный, доменный, активные профили и все доступные);

  • и параметр verbose, при помощи которого можно отображать подробную информацию.

Consec

При помощи этого параметра вы можете отобразить все или выбранные правила безопасности IPSec для всех доступных сетевых профилей брандмауэра Windows в режиме повышенной безопасности. По умолчанию информация отображается в краткой форме. Для получения подробной информации, в конце команды используйте параметр verbose. В следующем примере можно увидеть, как отобразить подробную информацию о текущих сведениях безопасности подключения, относящихся к общему профилю:

show consec rule name=all profile=public verbose