Платформа фильтрации ip пакетов windows заблокировала подключение. Брандмауэр Windows в режиме повышенной безопасности – диагностика и решение проблем

Начиная с Server 2008 и Vista в винду был встроен механизм WFP,
представляющий собой набор API и системных сервисов. С помощью него стало можно
запрещать и разрешать соединения, управлять отдельными пакетами. Эти
нововведения были предназначены для упрощения жизни разработчиков различных
защит. Внесенные в сетевую архитектуру изменения затронули как kernel-mode, так
и user-mode части системы. В первом случае необходимые функции экспортируются
fwpkclnt.sys, во втором - fwpuclnt.dll (буквы "k" и "u" в названиях библиотек
означают kernel и user соответственно). В этой статье мы расскажем о применении
WFP для перехвата и фильтрации трафика, а после ознакомления с основными
определениями и возможностями WFP мы напишем свой простой фильтр.

Основные понятия

Перед началом кодинга нам совершенно необходимо ознакомиться с терминологией
Microsoft - и для понимания статьи будет полезно, и дополнительную литературу
читать будет проще:). Итак, поехали.

Классификация - процесс определения того, что нужно делать с пакетом.
Из возможных действий: разрешить, блокировать или вызвать callout.

Callouts - это набор функций в драйвере, которые проводят инспекцию
пакетов. Они имеют специальную функцию, выполняющую классификацию пакетов. Эта
функция может принять следующее решение:

  • разрешить (FWP_ACTION_PERMIT);
  • блокировать (FWP_ACTION_BLOCK);
  • продолжить обработку;
  • запросить больше данных;
  • прервать соединение.

Фильтры (Filters) - правила, указывающие, в каких случаях вызывается
тот или иной callout. Один драйвер может иметь несколько callout’ов, а
разработкой драйвера с callout’ом мы и займемся в этой статье. Кстати, колауты
есть и встроенные, например, NAT-callout.

Layer - это признак, по которому объединяются различные фильтры (или,
как говорят в MSDN, "контейнер").

По правде говоря, документация от Microsoft, выглядит достаточно мутно, пока
не заглянешь в примеры в WDK. Поэтому, если вдруг надумаешь разрабатывать что-то
серьезное, нужно непременно с ними ознакомиться. Ну что ж, теперь плавно
перейдем к практике. Для успешной компиляции и тестов тебе потребуется WDK (Windows
Driver Kit), VmWare, виртуальная машина с установленной Вистой и отладчик WinDbg.
Что касается WDK, то у меня лично установлена версия 7600.16385.0 - там есть все
необходимые либы (поскольку мы будем разрабатывать драйвер, нам нужны только
fwpkclnt.lib и ntoskrnl.lib) и примеры использования WFP. Ссылки на весь
инструментарий уже неоднократно приводились, поэтому повторяться не будем.

Coding

Для инициализации callout’а я написал функцию BlInitialize. Общий алгоритм
создания callout и добавления фильтра таков:

  1. FWPMENGINEOPEN0 осуществляет открытие сеанса;
  2. FWPMTRANSACTIONBEGIN0 - начало операции с WFP;
  3. FWPSCALLOUTREGISTER0 - создание нового callout;
  4. FWPMCALLOUTADD0 - добавление объекта callout’а в систему;
  5. FWPMFILTERADD0 - добавление нового фильтра(ов);
  6. FWPMTRANSACTIONCOMMIT0 - сохранение изменений (добавленных
    фильтров).

Обрати внимание, что функции оканчиваются на 0. В Windows 7 некоторые из этих
функций были изменены, например, появилась FwpsCalloutRegister1 (при
сохраненной FwpsCalloutRegister0). Отличаются они аргументами и, как следствие,
прототипами классифицирующих функций, но для нас это сейчас неважно - 0-функции
универсальны.

FwpmEngineOpen0 и FwpmTransactionBegin0 не особо нам интересны - это
подготовительный этап. Самое интересное начинается с функции
FwpsCalloutRegister0:

Прототип FwpsCalloutRegister0

NTSTATUS NTAPI FwpsCalloutRegister0
__inout void *deviceObject,
__in const FWPS_CALLOUT0 *callout,
__out_opt UINT32 *calloutId
);

Я уже говорил, что callout - это набор функций, теперь пришло время
рассказать об этом подробнее. Структура FWPS_CALLOUT0 содержит указатели на три
функции - классифицирующую (classifyFn) и две уведомляющие (о
добавлении/удалении фильтра (notifyFn) и закрытии обрабатываемого потока (flowDeleteFn)).
Первые две функции являются обязательными, последняя нужна только в случае, если
ты хочешь мониторить сами пакеты, а не только соединения. Также в структуре
содержится уникальный идентификатор, GUID колаута (calloutKey).

Код регистрации callout

FWPS_CALLOUT sCallout = {0};
sCallout.calloutKey = *calloutKey;
sCallout.classifyFn = BlClassify;
// классифицирующая функция
sCallout.notifyFn = (FWPS_CALLOUT_NOTIFY_FN0)BlNotify;
// функция, уведомляющая о добавлении/удалении фильтра
// создаем новый колаут
status = FwpsCalloutRegister(deviceObject, &sCallout, calloutId);

DWORD WINAPI FwpmCalloutAdd0(
__in HANDLE engineHandle,
__in const FWPM_CALLOUT0 *callout,
__in_opt PSECURITY_DESCRIPTOR sd,
__out_opt UINT32 *id
);
typedef struct FWPM_CALLOUT0_ {
GUID calloutKey;
FWPM_DISPLAY_DATA0 displayData; // описание callout
UINT32 flags;
GUID *providerKey;
FWP_BYTE_BLOB providerData;
GUID applicableLayer;
UINT32 calloutId;
} FWPM_CALLOUT0;

В структуре FWPM_CALLOUT0 нам интересно поле applicableLayer - уникальный
идентификатор уровня, на который добавляется callout. В нашем случае это
FWPM_LAYER_ALE_AUTH_CONNECT_V4. "v4" в названии идентификатора означает версию
протокола Ipv4, есть также FWPM_LAYER_ALE_AUTH_CONNECT_V6 для Ipv6. Учитывая
малую распространенность Ipv6 на настоящий момент, работать мы будем только с
Ipv4. CONNECT в названии означает, что мы контролируем только установку
соединения, о входящих и исходящих на этот адрес пакетах речи не идет! Вообще
уровней, помимо использованного нами, много - они объявлены в заголовочном файле
fwpmk.h из WDK.

Добавление объекта-callout в систему

// название callout
displayData.name = L"Blocker Callout";
displayData.description = L"Blocker Callout";
mCallout.calloutKey = *calloutKey;
mCallout.displayData = displayData;
// описание callout
//FWPM_LAYER_ALE_AUTH_CONNECT_V4
mCallout.applicableLayer = *layerKey;
status = FwpmCalloutAdd(gEngineHandle, &mCallout, NULL, NULL);

Итак, после того, как callout успешно добавлен в систему, нужно создать
фильтр, то есть указать, в каких случаях будет вызываться наш callout, а именно
- его классифицирующая функция. Новый фильтр создается функцией FwpmFilterAdd0,
которой в качестве аргумента передается структура FWPM_FILTER0.

В FWPM_FILTER0 есть одна или несколько структур FWPM_FILTER_CONDITION0 (их
число определяется полем numFilterConditions). Поле layerKey заполняется GUID’ом
уровня (layer), к которому мы хотим присоединиться. В данном случае указываем
FWPM_LAYER_ALE_AUTH_CONNECT_V4.

Теперь подробнее рассмотрим заполнение FWPM_FILTER_CONDITION0. Во-первых, в
поле fieldKey нужно явно указать, что мы хотим контролировать - порт, адрес,
приложение или что-то еще. В данном случае WPM_CONDITION_IP_REMOTE_ADDRESS
указывает системе, что нас интересует IP-адрес. Значение fieldKey определяет,
значения какого типа будут в структуре FWP_CONDITION_VALUE, входящей в
FWPM_FILTER_CONDITION0. В данном случае в ней содержится ipv4-адрес. Идем
дальше. Поле matchType определяет, каким образом будет производиться сравнение
значения в FWP_CONDITION_VALUE с тем, что пришло по сети. Тут вариантов много:
можно указать FWP_MATCH_EQUAL, что будет означать полное соответствие условию, а
можно - FWP_MATCH_NOT_EQUAL, то есть, фактически, мы можем добавить таким
образом исключение фильтрации (адрес, соединение с которым не отслеживается).
Еще есть варианты FWP_MATCH_GREATER, FWP_MATCH_LESS и другие (см. энум
FWP_MATCH_TYPE). В данном случае у нас стоит FWP_MATCH_EQUAL.

Я не стал сильно заморачиваться и просто написал условие на блокирование
одного выбранного IP-адреса. В случае, когда какое-то приложение попытается
установить соединение с выбранным адресом, будет вызвана классифицирующая
функция нашего callout’а. Код, обобщающий сказанное, ты можешь посмотреть на
врезке "Добавление фильтра в систему".

Добавление фильтра в систему

filter.flags = FWPM_FILTER_FLAG_NONE;
filter.layerKey = *layerKey;
filter.displayData.name = L"Blocker Callout";
filter.displayData.description = L"Blocker Callout";
filter.action.type = FWP_ACTION_CALLOUT_UNKNOWN;
filter.action.calloutKey = *calloutKey;
filter.filterCondition = filterConditions;
// одно условие фильтрации
filter.numFilterConditions = 1;
//filter.subLayerKey = FWPM_SUBLAYER_UNIVERSAL;
filter.weight.type = FWP_EMPTY; // auto-weight.
// добавляем фильтр на удаленный адрес
filterConditions.fieldKey = FWPM_CONDITION_IP_REMOTE_ADDRESS;
filterConditions.matchType = FWP_MATCH_EQUAL;
filterConditions.conditionValue.type = FWP_UINT32;
filterConditions.conditionValue.uint32 = ntohl(BLOCKED_IP_ADDRESS);
// добавляем фильтр
status = FwpmFilterAdd(gEngineHandle, &filter, NULL, NULL);

Вообще, конечно, фильтрующих условий может быть много. Например, можно
указать блокирование соединений с определенным удаленным или локальным портом (FWPM_CONDITION_IP_REMOTE_PORT
и FWPM_CONDITION_IP_LOCAL_PORT соответственно). Можно вылавливать все пакеты
определенного протокола или определенного приложения. И это еще не все! Можно,
например, заблокировать трафик определенного пользователя. В общем, есть где
разгуляться.

Впрочем, вернемся к фильтру. Классифицирующая функция в нашем случае просто
блокирует соединение с указанным адресом (BLOCKED_IP_ADDRESS), возвращая
FWP_ACTION_BLOCK:

Код нашей classify-функции

void BlClassify(
const FWPS_INCOMING_VALUES* inFixedValues,
const FWPS_INCOMING_METADATA_VALUES* inMetaValues,
VOID* packet,IN const FWPS_FILTER* filter,
UINT64 flowContext,FWPS_CLASSIFY_OUT* classifyOut)
{
// заполняем структуру FWPS_CLASSIFY_OUT0
if(classifyOut){ // блокируем пакет
classifyOut->actionType =
FWP_ACTION_BLOCK;
// при блокировании пакета нужно
сбрасывать FWPS_RIGHT_ACTION_WRITE
classifyOut->rights&=~FWPS_RIGHT_ACTION_WRITE;
}
}

На практике функция классификации также может установить FWP_ACTION_PERMIT,
FWP_ACTION_CONTINUE и др.

И в заключение при выгрузке драйвера нужно удалить все установленные
callout’ы (угадай, что будет, если система попытается вызвать callout
выгруженного драйвера? Правильно, BSOD). Для этого существует функция
FwpsCalloutUnregisterById. В качестве параметра ей передается 32-битный
идентификатор callout’а, возвращенный функцией FwpsCalloutRegister.

Завершение работы callout’а

NTSTATUS BlUninitialize(){
NTSTATUS ns;
if(gEngineHandle){
FwpmEngineClose(gEngineHandle);

}
if(gBlCalloutIdV4){
ns =FwpsCalloutUnregisterById(gBlCalloutIdV4);
}
return ns;
}

Как видишь, программирование WFP-фильтра - не такая сложная задача, поскольку
MS предоставили нам весьма удобный API. Кстати, в нашем случае мы устанавливали
фильтр в драйвере, но это можно делать и из юзермода! Например, семпл из wdk
msnmntr (монитор трафика MSN Messenger-а) так и поступает - это позволяет не
перегружать kernel-mode часть фильтра.

Свой GUID

Для регистрации callout ему нужен уникальный идентификатор. Для того, чтобы
получить свой GUID (Globally Unique Identifier), используй guidgen.exe, входящий
в Visual Studio. Лежит тулза в (VS_Path)\Common7\Tools. Вероятность коллизии
очень мала, поскольку длина GUID составляет 128 бит, и всего доступно 2^128
идентификаторов.

Отладка фильтра

Для отладки дров удобно использовать связку Windbg+VmWare. Для этого нужно
настроить как гостевую систему (в виде которой выступает Vista), так и отладчик
WinDbg. Если у WinXP для удаленной отладки нужно было редактировать boot.ini, то
для Vista+ есть консольная утилита bcdedit. Как обычно, нужно включить отладку:

BCDedit /dbgsettings SERIAL DEBUGPORT:1 BAUDRATE:115200 BCDedit /debug
ON (или BCDedit /set debug ON)

Теперь все готово! Запускаем батник с нижеприведенным текстом:

start windbg -b -k com:pipe,port=\\.\pipe\com_1,resets=0

и лицезреем отладочный вывод в окне windbg (см. картинку).

Заключение

Как видишь, область применения WFP довольно широка. Тебе решать, как
применить эти знания - во зло или во благо 🙂

Межсетевой экран (брандмауэр или файрволл) Windows не вызывает уважения. Слегка изменившись при переходе с XP на Vista, он не плохо справляется со своей простой задачей, однако ему не хватает амбиций, чтобы стать лучшим персональным файрволлом. Впрочем, несмотря на то, что файрволл Windows 7 получил несколько новых возможностей, все-таки он не получил того, что я ожидал в нем увидеть.

Зависание с Домашней группой

Во время установки Windows 7 предлагает создать “домашнюю группу”. По мере обнаружения в сети других компьютеров с Windows 7, им также предлагается присоединиться к группе. И все что им для этого надо – это пароль к ней. Однако, имея один компьютер под Windows 7, я не видел процесса входа в группу других компьютеров, хотя уведомление об этом не помешает. Впрочем, если любой компьютер с Windows 7 может присоединиться к домашней группе, то компьютеры под Windows 7 Home Basic и Windows 7 Starter не могут создать ее.

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

В своей домашней сети пользователь может расшаривать свой контент и для других компьютеров и устройств, и даже для компьютеров не под Windows 7 и даже для не компьютеров вовсе. В частности, Microsoft показывала примеры, как можно расшарить контент для Xbox 360. Впрочем, компания не предлагает подключить к сети Wii. Увы, но Wii компания не квалифицировала, как устройство потокового медиа.

Итак, насколько же домашняя сеть в Windows 7 более безопасна? Обычно пользователи, потерпевшие неудачу с расшариванием файлов и папок, начинают отключать все вокруг, включая файлволл, антивирус и т.п., что, по их мнению, может мешать этому процессу. В то же время, если сделать расшаривание простым, то отключения всего вокруг можно и избежать.

Если Vista разделяет сети на публичные (Public) и приватные (Private), то Windows 7 разделяет приватную сеть на домашнюю (Home) и рабочую (Work). Домашняя группа (HomeGroup) доступна только при выборе домашней сети. Однако и в рабочей сети ваш компьютер все-таки может видеть и подключаться к другим устройствам в ней. В свою очередь в публичной сети (вроде беспроводной в интернет-кафе), Windows 7 блокирует доступ к вам и от вас к другим устройствам, для вашей безопасности. Это небольшая, но приятная возможность.

Двухрежимный файрволл

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

Некоторые пользователи не понимают, зачем нужен файрволл. Если работает UAC, не является ли файрволл излишеством? В действительности, эти программы обладают совершенно разными целями. UAC следит за программами и их работой внутри локальной системы. Файрволл же пристально вглядывается во входящие и исходящие данные. Если представить две эти программы, как двух героев, стоящих спина к спине и отражающих атаки зомби, то, можно сказать, почти не ошибешься.

В первый момент меня заинтриговала новая возможность “Уведомляй меня, когда Windows Firewall блокирует новую программу”. Не является ли это признаком того, что Windows Firewall получил управление над программами и стал действительным двухсторонним файрволлом?. Меня съедало желание отключить эту возможность. И в результате Windows Firewall не получил большего уважения, чем имел.

Прошло уже десять лет с тех пор, как компания ZoneLabs популяризировала двухсторонний персональный файрволл. Ее программа ZoneAlarm скрывала все порты компьютера (что умеет и Windows Firewall) и также позволяла управлять доступом программ в Интернет (этого Windows Firewall не умеет до сих пор). Я не требую интеллектуального мониторинга поведения программ, как, например, в Norton Internet Security 2010 и в других пакетах. Но я надеюсь, что к выходу Windows 8 , Microsoft все-таки внедрит в свой файрволл набор возможностей десятилетней ZoneAlarm.

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

Будете ли вы его использовать или нет, Windows Firewall присутствует в каждой Windows 7, обладая при этом основательной интеграцией с операционной системой. Так не будет ли лучше, если приложения безопасности третьих фирм смогут использовать файлволл Windows в своих целях? Эта идея лежит за интерфейсом программирования, названным платформой фильтрации Windows - Windows Filtering Platform. Но будут ли пользоваться ей разработчики? Об этом в следующей части.

Безопасность Windows 7: Платформа фильтрации Windows - Windows Filtering Platform

Файрволлы должны работать с Windows 7 на очень низком уровне, что абсолютно ненавидят программисты Microsoft. Некоторые технологии Microsoft, вроде PatchGuard, присутствующие в 64-х битных изданиях Windows 7 (64-х битные Windows 7 обладают рядом преимуществ в безопасности над 32-х битными Windows 7), блокируют злоумышленников и также защищают ядро от доступа к нему. И все-таки Microsoft не предоставляет такого уровня безопасности, как у программ третьих лиц. Так что же делать?

Решением этой проблемы является платформа фильтрации Windows - Windows Filtering Platform (WFP). Последняя, по словам Microsoft, позволяет основывать файрволлы третьих фирм на ключевых возможностях Windows Firewall - позволяет добавлять в них настраиваемые возможности и выборочно включать и отключать части Windows Firewall. В результате пользователь может выбирать себе файрволл, который будет сосуществовать с Windows Firewall.

Но насколько это действительно полезно для разработчиков программ безопасности? Станут ли они этим пользоваться? Я опросил несколько человек и получил массу ответов.

BitDefender LLC

Менеджер по разработке продуктов Иулиан Костаче (Iulian Costache) заявил, что его компания в настоящее время использует эту платформу в Windows 7. Однако они столкнулись со значительными утечками памяти. Ошибка находится на стороне Microsoft, что крупнейший программный гигант уже подтвердил. Тем не менее, Иулиан не знает, когда она будет решена. Пока же они временно заменили новый драйвер WFP на старый TDI.

Check Point Software Technologies Ltd

Менеджер по связям с общественностью в Check Point Software Technologies Ltd Мирка Янус (Mirka Janus) заявил, что его компания начала использовать WFP еще с Vista. Также они используют платформу и под Windows 7. Это хороший, поддерживаемый интерфейс, но любая вредоносная программа или несовместимый драйвер могут быть опасными для продукта безопасности, опирающегося на него. ZoneAlarm всегда опирался на два слоя – слои сетевых соединений и пакетного уровня. Начиная с Vista, Microsoft предложила WFP как поддерживаемый способ фильтрации сетевых соединений. Начиная с Windows 7 SP1, Microsoft должна научить WFP включеню пакетной фильтрации.

“Использование поддерживаемых API означает улучшенную стабильность и уменьшенное число BSOD. Многие драйверы могут регистрироваться и каждому разработчику драйверов не надо беспокоиться о совместимости с другими. Если какой-либо драйвер, скажем, блокирован, ни один другой зарегистрированный не может обойти эту блокировку. С другой стороны, несовместимый драйвер может стать проблемой, обойдя все другие зарегистрированные. Мы не опираемся на один лишь WFP для сетевой безопасности”.

F-Secure Corporation

Старший исследователь в F-Secure Corporation Микко Хиппонен (Mikko Hypponen) заявил, что по какой-то причине WFP никогда не становился популярным среди разработчиков программ безопасности. В то же время его компания довольно долго использовала WFP, и была от этого счастлива.

McAfee, Inc.

В свою очередь ведущий архитектор McAfee Ахмед Салам (Ahmed Sallam) заявил, что WFP является более мощным и гибким интерфейсом сетевой фильтрации, чем предыдущий интерфейс, основанный на NDIS. McAfee активно использует WFP в своих продуктах безопасности.

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

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

Panda Security

Представитель Panda Security Педро Бустаманте (Pedro Bustamante) сказал, что его компания следит за платформой WFP, но в настоящее время ее не использует. Основными недостатками WFP компания считает, во-первых, отсутствие возможности создать технологию, которая бы комбинировала различные техники для максимизации защиты. Технология бесполезна, если компания не может взглянуть во входящие и исходящие пакеты в машину. Также она должна выступать датчиком для других технологий защиты. Ни одну из этих возможностей не предоставляет WFP. Во-вторых, WFP поддерживается лишь Vista и более новыми операционными системами. Обратной совместимости у платформы нет. И, в-третьих, WFP является довольно новой платформой, а компания предпочитает опираться на более старые и проверенные технологии.

Symantec Corp.

Директор по менеджменту потребительских продуктов в Symantec Ден Надир (Dan Nadir) заявил, что WFP пока не используется в их продуктах по причине относительной новизны. Тем не менее, со временем компания планирует мигрировать на нее, т.к. старые интерфейсы, на которые они опираются сейчас, не смогут предоставить всю полноту требуемой ими функциональности. WFP они считают хорошей платформой, т.к. она была специально разработана для обеспечения функциональной совместимости между множеством программ третьих фирм. В принципе, в будущем проблем совместимости у платформы должны быть еще меньше. WFP также хороша потому, что интегрирована с Microsoft Network Diagnostic Framework. Это чрезвычайно полезно, т.к. значительно облегчает поиск специфических программ, являющихся препятствием для сетевого трафика. И, наконец, WFP должна привести к улучшению производительности и стабильности операционной системы, т.к. платформа избегает эмуляции и проблем с конфликтами или стабильностью драйверов.

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

Trend Micro Inc.

Директор по исследованиям в Trend Micro Inc. Дале Льао (Dale Liao) сказал, что огромнейшим преимуществом платформы является совместимость с операционной системой. Также стандартный файрволл сейчас стал полезным. Поэтому теперь они могут сфокусироваться на действительно значимых его возможностях для пользователя. Плохо же в WFP то, что при обнаружении в платформе ошибки, компании приходится ждать ее исправления от Microsoft.

WFP: Вывод

В результате, большая часть опрошенных мною разработчиков программ безопасности уже использует WFP. Правда, некоторые параллельно с другими технологиями. Им нравится функциональная совместимость, нравится документированность и официальность платформы и также предполагаемая стабильность ее работы. С другой, отрицательной стороны, если все разработчики станут опираться на WFP, то платформа потенциально может стать для всех уязвимой точкой. И для ее исправления им придется опираться на Microsoft. Кроме того, платформа пока не предлагает фильтрации уровня пакетов.

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

Оснастка консоли управления (MMC) ОС Windows Vista™ – это брандмауэр, регистрирующий состояние сети, для рабочих станций, фильтрующий входящие и исходящие соединения в соответствии с заданными настройками. Теперь можно настраивать параметры брандмауэра и протокола IPsec с помощью одной оснастки. В этой статье описывается работа брандмауэра Windows в режиме повышенной безопасности, типичные проблемы и средства их решения.

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

Брандмауэр Windows в режиме повышенной безопасности – это брандмауэр, регистрирующий состояние сети, для рабочих станций. В отличие от брандмауэров для маршрутизаторов, которые развертывают на шлюзе между локальной сетью и Интернетом, брандмауэр Windows создан для работы на отдельных компьютерах. Он отслеживает только трафик рабочей станции: трафик, приходящий на IP-адрес данного компьютера, и исходящий трафик самого компьютера. Брандмауэр Windows в режиме повышенной безопасности выполняет следующие основные операции:

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

Список разрешенного трафика формируется двумя путями:

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

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

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

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

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

    Если для всех интерфейсов применяется аутентификация на контроллере домена, используется профиль домена.

    Если хотя бы один из интерфейсов подключен к частной сети, а все остальные – к домену или к частным сетям, используется частный профиль.

    Во всех остальных случаях используется общий профиль.

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

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

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

Ниже перечислены основные проблемы, возникающие при работе брандмауэра Windows в режиме повышенной безопасности:

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

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

    В дереве оснастки Брандмауэр Windows в режиме повышенной безопасности щелкните узел Наблюдение , а затем выберите раздел Брандмауэр .

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

Групповая политика препятствует применению локальных правил

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

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

    В оснастке Брандмауэр Windows в режиме повышенной безопасности , щелкните ссылку Свойства брандмауэра Windows .

    Выберите вкладку активного профиля.

    В разделе Параметры , нажмите кнопку Настроить .

    Если применяются локальные правила, раздел Объединение правил будет активен.

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

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

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

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

    Выберите вкладку Общие и проверьте, является ли выбранным значение переключателя Разрешить только безопасные подключения .

    Если для правила указан параметр Разрешить только безопасные подключения , разверните раздел Наблюдение в дереве оснастки и выберите раздел . Убедитесь в том, что для трафика, определенного в правиле брандмауэра, существуют соответствующие правила безопасности подключения.

    Предупреждение:

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

Невозможно разрешить исходящие подключения

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

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

Смешанные политики могут привести к блокировке трафика

Вы можете настраивать брандмауэр и параметры IPSec при помощи различных интерфейсов ОС Windows.

Создание политик в нескольких местах может привести к конфликтам и блокировке трафика. Доступны следующие точки настройки:

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

    Административный шаблон брандмауэра Windows. Данная политика настраивается при помощи редактора объектов групповой политики в разделе . Данный интерфейс содержит параметры брандмауэра Windows, которые были доступны до появления Windows Vista, и предназначен для настройки объекта групповой политики, который управляет предыдущими версиями Windows. Хотя данные параметры могут быть использованы для компьютеров под управлением Windows Vista, рекомендуется использовать вместо этого политику Брандмауэр Windows в режиме повышенной безопасности , поскольку она обеспечивает большую гибкость и безопасность. Обратите внимание на то, что некоторые из настроек доменного профиля являются общими для административного шаблона брандмауэра Windows и политики Брандмауэр Windows в режиме повышенной безопасности , поэтому Вы можете увидеть здесь параметры, настроенные в доменном профиле при помощи оснастки Брандмауэр Windows в режиме повышенной безопасности .

    Политики IPSec. Данная политика настраивается при помощи локальной оснастки Управление политиками IPSec или редактора объектов групповой политики в разделе Конфигурация компьютера\Конфигурация Windows\Параметры безопасности\Политики IP безопасности на «Локальный компьютер» . Данная политика определяет параметры IPSec, которые могут быть использованы как предыдущими версиями Windows, так и Windows Vista. Не следует применять одновременно на одном и том же компьютере данную политику и правила безопасности подключения, определенные в политике Брандмауэр Windows в режиме повышенной безопасности .

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

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

    Нажмите кнопку Пуск , перейдите в меню Все программы , затем в меню Стандартные и выберите пункт Выполнить .

    В текстовом поле Открыть ENTER .

    Продолжить .

    В меню Консоль выберите пункт .

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

    Нажмите кнопку ОК .

    Повторите шаги с 1 по 6, чтобы добавить оснастки Управление групповой политикой и Монитор IP безопасности .

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

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

    В командной строке введите mmc и нажмите клавишу ENTER .

    Если появится диалоговое окно контроля учетных записей пользователей, подтвердите выполнение запрашиваемого действия и нажмите кнопку Продолжить .

    В меню Консоль выберите пункт Добавить или удалить оснастку .

    В списке Доступные оснастки выберите оснастку Управление групповой политикой и нажмите кнопку Добавить .

    Нажмите кнопку ОК .

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

    Выберите значение переключателя Отображать параметры политики для из значений текущего пользователя либо другого пользователя . Если не нужно отображать параметры политики для пользователей, а только параметры политики для компьютера, выберите значение переключателя Не отображать политику пользователя (просмотр только политики компьютера) и дважды нажмите кнопку Далее .

    Нажмите кнопку Готово . Мастер результатов групповой политики создаст отчет в области сведений консоли. Отчет содержит вкладки Сводка , Параметры и События политики .

    Для проверки того, что конфликт с политиками IP безопасности отсутствует, после создания отчета выберите вкладку Параметры и откройте раздел Конфигурация компьютера\Конфигурация Windows\ Параметры безопасности\Параметры IP безопасности в службе каталогов Active Directory . Если последний раздел отсутствует, значит, политика IP безопасности не задана. В противном случае будут отображены название и описание политики, а также объект групповой политики, которому она принадлежит. При одновременном использовании политики IP безопасности и политики брандмауэра Windows в режиме повышенной безопасности с правилами безопасности подключений возможен конфликт данных политик. Рекомендуется использовать только одну из этих политик. Оптимальным решением будет использование политик IP безопасности вместе с правилами брандмауэра Windows в режиме повышенной безопасности для входящего или исходящего трафика. В том случае, если параметры настраиваются в разных местах и не согласованы между собой, могут возникать сложные в решении конфликты политик.

    Также могут возникать конфликты между политиками, определенными в локальных объектах групповой политики и сценариями, настроенными ИТ-отделом. Проверьте все политики IP безопасности при помощи программы «Монитор IP безопасности» или введя следующую команду в командной строке:

    Для просмотра параметров, определенных в административном шаблоне брандмауэра Windows, раскройте раздел Конфигурация компьютера\Административные шаблоны\Сеть\Сетевые подключения\Брандмауэр Windows .

    Для просмотра последних событий, связанных с текущей политикой, Вы можете перейти на вкладку Policy Events в той же консоли.

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

Для просмотра административных шаблонов откройте оснастку Групповая политика и в разделе Результаты групповой политики просмотрите, присутствуют ли параметры, наследуемые от групповой политики, которые могут привести к отклонению трафика.

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

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

Для остановки агента политики IPSec выполните следующие действия:

    Нажмите кнопку Пуск и выберите раздел Панель управления .

    Щелкните значок Система и ее обслуживание и выберите раздел Администрирование .

    Дважды щелкните значок Службы . Продолжить .

    Найдите в списке службу Агент политики IPSec

    Если служба Агент IPSec запущена, щелкните по ней правой кнопкой мыши и выберите в меню пункт Остановить . Также Вы можете остановить службу Агент IPSec из командной строки при помощи команды

Политика одноранговой сети может привести к отклонению трафика

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

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

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

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

    1. Щелкните раздел Основной режим , в области сведений консоли выберите подключение для проверки, затем нажмите ссылку Свойства в области действия консоли. Просмотрите свойства подключения для обоих узлов, чтобы убедиться в их совместимости.

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

    Если используется аутентификация Kerberos версии 5, убедитесь в том, что узел находится в том же или доверенном домене.

    Если используются сертификаты, убедитесь в том, что установлены необходимые флажки. Для сертификатов, использующих обмен ключами IPSec в Интернете (Internet Key Exchange, IKE), необходима цифровая подпись. Для сертификатов, использующих протокол IP с проверкой подлинности (AuthIP), необходима аутентификация клиентов (зависит от типа аутентификации сервера). Для получения дополнительной информации о сертификатах AuthIP обратитесь к статье Протокол IP с проверкой подлинности в Windows Vista AuthIP in Windows Vista на веб-узле Microsoft.

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

Настройки брандмауэра Windows в режиме повышенной безопасности недоступны (затенены), в следующих случаях:

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

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

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

Компьютер не отвечает на запросы проверки связи

Основным способом проверки подключения между компьютерами является использование утилиты Ping для проверки подключения к определенному IP-адресу. Во время проверки связи отправляется эхо-сообщение ICMP (также известное как запрос эхо ICMP), и в ответ запрашивается ответ эхо ICMP. По умолчанию брандмауэр Windows отклоняет входящие эхо-сообщения ICMP, поэтому компьютер не может отправить ответ эхо ICMP.

Разрешение входящих эхо-сообщений ICMP позволит другим компьютерам выполнять проверку связи (ping) с Вашим компьютером. С другой стороны, это сделает компьютер уязвимым для атак, использующих эхо-сообщения ICMP. Тем не менее, рекомендуется временно разрешить входящие эхо-сообщения ICMP в случае необходимости, после чего отключить их.

Для разрешения эхо-сообщений ICMP создайте новые правила для входящего трафика, разрешающие пакеты запросов эхо ICMPv4 и ICMPv6.

Для разрешения запросов эхо ICMPv4 и ICMPv6 выполните следующие действия:

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

    Настраиваемые и нажмите кнопку Далее .

    Укажите значение переключателя Все программы и нажмите кнопку Далее .

    В раскрывающемся списке Тип протокола выберите значение ICMPv4 .

    Нажмите кнопку Настроить для пункта Параметры протокола ICMP .

    Установите переключатель в значение Определенные типы ICMP , отметьте флажок Эхо-запрос , нажмите кнопку ОК и нажмите кнопку Далее .

    На этапе выбора локальных и удаленных IP-адресов, соответствующих данному правилу, установите переключатели в значения Любой IP-адрес или Указанные IP-адреса . Если Вы выберете значение Указанные IP-адреса , укажите необходимые IP-адреса, нажмите кнопку Добавить и нажмите кнопку Далее .

    Укажите значение переключателя Разрешить подключение и нажмите кнопку Далее .

    На этапе выбора профилей отметьте один или несколько профилей (профиль домена, частный или общий профиль), в котором Вы хотите использовать это правило, и нажмите кнопку Далее .

    В поле Имя введите имя правила, а в поле Описание – необязательное описание. Нажмите кнопку Готово .

    Повторите перечисленные выше шаги для протокола ICMPv6, выбрав на этапе Тип протокола значение выпадающего списка ICMPv6 вместо ICMPv4 .

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

Примечание

Настройки брандмауэра Windows могут изменять только администраторы и операторы сети.

Невозможно получить общий доступ к файлам и принтерам

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

Внимание:

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

Невозможно удаленное администрирование брандмауэра Windows

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

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

    Нажмите кнопку Пуск и выберите раздел Панель управления .

    Щелкните значок Система и ее обслуживание и выберите раздел Администрирование .

    Дважды щелкните значок Службы .

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

    Найдите в списке службу Агент политики IPSec и убедитесь, что она имеет статус «Работает».

    Если служба Агент IPSec остановлена, щелкните по ней правой кнопкой мыши и выберите в контекстном меню пункт Запустить . Также Вы можете запустить службу Агент IPSec из командной строки при помощи команды net start policy agent.

Примечание

По умолчанию служба Агент политики IPSec запущена. Данная служба должна работать если она не была остановлена вручную.

Средства устранения неполадок в работе брандмауэра Windows

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

Использование функций наблюдения в оснастке «Брандмауэр Windows в режиме повышенной безопасности»

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

Включение и использование аудита безопасности при помощи средства командной строки auditpol

По умолчанию параметры аудита неактивны. Для их настройки используйте средство командной строки auditpol.exe, изменяющее настройки политики аудита на локальном компьютере. Аuditpol можно использовать для включения или отключения отображения разных категорий событий и их дальнейшего просмотра в оснастке Просмотр событий .

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

  • Для просмотра списка подкатегорий, входящих в данную категорию (например, в категорию Изменение политики), введите в командной строке:

    auditpol.exe /list /category:"Изменение политики"
  • Для включения отображения категории или подкатегории введите в командной строке:

    /SubCategory:"ИмяКатегории "

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

auditpol.exe /set /category:"Изменение политики" /subcategory:"Изменение политики на уровне правил MPSSVC" /success:enable /failure:enable

Изменение политики

Изменение политики на уровне правил MPSSVC

Изменение политики платформы фильтрации

Вход/выход

Основной режим IPsec

Быстрый режим IPsec

Расширенный режим IPsec

Система

Драйвер IPSEC

Другие системные события

Доступ к объектам

Отбрасывание пакета платформой фильтрации

Подключение платформы фильтрации

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

secedit /refreshpolicy <название_политики>

После завершения диагностики, Вы можете отключить аудит событий, заменив в вышеприведенных командах параметр enable на disable и запустив команды повторно.

Просмотр событий, связанных с аудитом безопасности, в журнале событий

После включения аудита, используйте оснастку Просмотр событий для просмотра событий аудита в журнале событий безопасности.

Для открытия оснастки «Просмотр событий» в папке «Администрирование» выполните следующие действия:

  1. Нажмите кнопку Пуск .

    Выберите раздел Панель управления . Щелкните значок Система и ее обслуживание и выберите раздел Администрирование .

    Дважды щелкните значок Просмотр событий .

Для добавления оснастки «Просмотр событий» в консоль MMC выполните следующие действия:

    Нажмите кнопку Пуск , перейдите в меню Все программы , затем в меню Стандартные и выберите пункт Выполнить .

    В текстовом поле Открыть введите mmc и нажмите клавишу ENTER .

    Если появится диалоговое окно контроля учетных записей пользователей, подтвердите выполнение запрашиваемого действия и нажмите кнопку Продолжить .

    В меню Консоль выберите пункт Добавить или удалить оснастку .

    В списке Доступные оснастки выберите оснастку Просмотр событий и нажмите кнопку Добавить .

    Нажмите кнопку ОК .

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

В оснастке Просмотр событий раскройте раздел Журналы Windows и выберите узел Безопасность . В рабочей области консоли Вы можете просматривать события аудита безопасности. Все события отображаются в верхней части рабочей области консоли. Щелкните на событии в верхней части рабочей области консоли для отображения подробной информации внизу панели. На вкладке Общие размещено описание событий в виде понятного текста. На вкладке Подробности доступны следующие параметры отображения события: Понятное представление и Режим XML .

Настройка журнала брандмауэра для профиля

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

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

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

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

    Укажите имя и размещение файла журнала.

    Укажите максимальный размер файла журнала (от 1 до 32767 килобайт)

    В раскрывающемся списке Записывать пропущенные пакеты укажите значение Да .

    В раскрывающемся списке Записывать успешные подключения укажите значение Да и затем нажмите кнопку ОК .

Просмотр файлов журнала брандмауэра

Откройте файл, указанным Вами во время предыдущей процедуры «Настройка журнала брандмауэра для профиля». Для доступа к журналу брандмауэра Вы должны обладать правами локального администратора.

Вы можете просматривать файл журнала при помощи программы «Блокнот» или любого текстового редактора.

Анализ файлов журнала брандмауэра

Информация, регистрируемая в журнале, приведена в следующей таблице. Некоторые данные указываются только для определенных протоколов (флаги TCP, тип и код ICMP и т. д.), а некоторые данные указываются только для отброшенных пакетов (размер).

Поле

Описание

Пример

Отображает год, месяц и день, в который была сделана запись события. Дата записывается в формате ГГГГ-ММ-ДД, где ГГГГ – год, MM – месяц, а ДД – день.

Отображает час, минуту и секунду, в которую была сделана запись события. Время записывается в формате ЧЧ:ММ:СС, где ЧЧ – час в 24-часовом формате, ММ – минута, а СС – секунда.

Действие

Обозначает действие, выполненное брандмауэром. Существуют следующие действия: OPEN, CLOSE, DROP и INFO-EVENTS-LOST. Действие INFO-EVENTS-LOST обозначает, что произошло несколько событий, но они не были записаны в журнал.

Протокол

Отображает протокол, использовавшийся для подключения. Данная запись также может представлять собой число пакетов, не использующих протоколы TCP, UDP или ICMP.

Отображает IP-адрес компьютера-отправителя.

Отображает IP-адрес компьютера-получателя.

Отображает номер порта источника компьютера-отправителя. Значение порта источника записывается в форме целого числа от 1 до 65535. Корректное значение порта источника отображается только для протоколов TCP и UDP. Для других протоколов в качестве порта источника записывается «-».

Отображает номер порта компьютера-получателя. Значение порта назначения записывается в форме целого числа от 1 до 65535. Корректное значение порта назначения отображается только для протоколов TCP и UDP. Для других протоколов в качестве порта назначения записывается «-».

Отображает размер пакета в байтах.

Отображает контрольные флаги протокола TCP, обнаруженные в TCP-заголовке IP-пакета.

    Ack. Acknowledgment field significant
    (поле подтверждения)

    Fin. No more data from sender
    (нет больше данных для передачи)

    Psh. Push function
    (функция проталкивания)

    Rst. Reset the connection

  • Syn. Synchronize sequence numbers
    (синхронизация номеров очереди)

    Urg. Urgent Pointer field significant
    (поле срочного указателя задействовано)

Флаг обозначается первой заглавной буквой своего названия. Например, флаг Fin обозначается как F .

Отображает номер очереди TCP в пакете.

Отображает номер подтверждения TCP в пакете.

Отображает размер окна TCP пакета в байтах.

Тип в сообщении ICMP.

Отображает число, обозначающее поле Код в сообщении ICMP.

Отображает информацию в зависимости от выполненного действия. Например, для действия INFO-EVENTS-LOST значение данного поля обозначает число событий, произошедших, но не записанных в журнал за время, прошедшее с момента предыдущего появления события данного типа.

Примечание

Дефис (-) используется в полях текущей записи, не содержащих никакой информации.

Создание текстовых файлов netstat и tasklist

Вы можете создать два настраиваемых файла журнала, один – для просмотра сетевой статистики (список всех прослушиваемых портов) и другой – для просмотра списков задач служб и приложений. Список задач содержит Код процесса (process identifier, PID) для событий, содержащихся в файле сетевой статистики. Ниже описана процедура создания этих двух файлов.

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

    В командной строке введите netstat -ano > netstat.txt и нажмите клавишу ENTER .

    В командной строке введите tasklist > tasklist.txt и нажмите клавишу ENTER . Если необходимо создать текстовый файл со списком служб, введите tasklist /svc > tasklist.txt .

    Откройте файлы tasklist.txt и netstat.txt.

    Найдите в файле tasklist.txt код процесса, который Вы диагностируете и сравните его со значением, содержащимся в файле netstat.txt. Запишите использующиеся протоколы.

Пример выдачи файлов Tasklist.txt и Netstat.txt

Netstat.txt
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:XXX 0.0.0.0:0 LISTENING 122
TCP 0.0.0.0:XXXXX 0.0.0.0:0 LISTENING 322
Tasklist.txt
Image Name PID Session Name Session# Mem Usage
==================== ======== ================ =========== ============
svchost.exe 122 Services 0 7,172 K
XzzRpc.exe 322 Services 0 5,104 K

Примечание

Реальные IP-адреса изменены на «X», а служба RPC – на «z».

Убедитесь в том, что запущены основные службы

Должны быть запущены следующие службы:

    Служба базовой фильтрации

    Клиент групповой политики

    Модули ключей IPsec для обмена ключами в Интернете и протокола IP с проверкой подлинности

    Вспомогательная служба IP

    Служба агента политики IPSec

    Служба сетевого расположения

    Служба списка сетей

    Брандмауэр Windows

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

    Нажмите кнопку Пуск и выберите раздел Панель управления .

    Щелкните значок Система и ее обслуживание и выберите раздел Администрирование .

    Дважды щелкните значок Службы .

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

    Убедитесь в том, что службы, перечисленные выше, запущены. Если одна или несколько служб не запущены, щелкните правой кнопкой по названию службы в списке и выберите команду Запустить .

Дополнительный способ решения проблем

В качестве последнего средства Вы можете восстановить настройки брандмауэра Windows по умолчанию. После восстановления настроек по умолчанию будут утеряны все настройки, сделанные после установки ОС Windows Vista. Это может привести к тому, что некоторые программы перестанут работать. Также, если Вы управляете компьютером удаленно, подключение к нему будет разорвано.

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

Ниже описаны действия по сохранению конфигурации брандмауэра и восстановлению настроек по умолчанию.

Для сохранения текущей конфигурации брандмауэра выполните следующие действия:

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

Для восстановления настроек брандмауэра по умолчанию выполните следующие действия:

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

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

Заключение

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

    Использование функции Наблюдение для просмотра действий брандмауэра, правил безопасности подключений и сопоставлений безопасности.

    Анализ событий аудита безопасности, связанных с брандмауэром Windows.

    Создание текстовых файлов tasklist и netstat для сравнительного анализа.