Сканирование
Фильтры IPSec
Для установки фильтров на порты отдельных компьютеров лучше использовать фильтры протокола IPSec. Эти фильтры явились побочным результатом новой реализации протокола IPSec для Windows 2000 и были с успехом использованы командами разработчиков сетей Openhack и windows2000test.com. Фильтры IPSec обрабатывают пакеты в стеке сети и просто-напросто выбрасывают те из них, которые не удовлетворяют характеристикам фильтра. В отличие от фильтров TCP/IP фильтры IPSec можно применять к отдельным интерфейсам. Кроме того, они блокируют запросы ICMP (однако они не настолько "тонки", чтобы блокировать отдельные подтипы запросов ICMP, скажем, эхо, отклики на эхо-запросы, временные метки и т.д.).
Для вступления в силу фильтров IPSec перезагрузка не требуется (хотя изменение параметров фильтров может привести к разрыву существующих соединений IPSec). Такие фильтры обеспечивают решение проблемы для сервера и неприменимы в качестве средства обеспечения функциональности брандмауэра для рабочих станций, поскольку подобно фильтрам TCP/IP они будут блокировать загрузку информации, инициированную даже допустимыми соединениями (если не будут открыты все порты с более высокими номерами).
Фильтры IPSec можно создать с помощью аплета Administrative Tools › Local Security Policy (secpol.msc). Щелкните правой кнопкой на элементе IPSec Policies On Local Machine в левой панели окна, а затем выберите из контекстного меню команду Manage IP Filter Lists And Filter Actions.
Для управления фильтрами IPSec автор книги предпочитает использовать утилиту командной строки ipsecpol.exe. Ее можно применять при создании сценариев, а, кроме того, пользоваться ею гораздо проще, чем утилитой управления политикой IPSec с графическим интерфейсом. Утилиту ipsecpol.exe можно найти по адресу http://www.microsoft.com/technet/security/tools.asp среди средств конфигурирования безопасности Windows 2000 Internet Server. Следующие команды утилиты ipsecpol. ехе позволяют оставить открытым на данном компьютере только порт 80.
ipsecpol \\имя_компыотера -w REG -p "Web" -о ipsecpol \\имя_компьютера -х -w REG -p "Web"-r "BlockAll" -n BLOCK – 0+* ipsecpol \\имл_комльютера -x -w REG -p "Web" -r "OkHTTP" -n PASS -f 0:80+*::TCP
Две последние команды создают политику IPSec под названием Web, включающую два правила фильтрации. Первое из них, BlockAll, блокирует все протоколы поступающих и исходящих сообщений для данного компьютера и всех других компьютеров, а второе, OkHTTP, разрешает трафик через порт 80 данного и всех остальных компьютеров. Если нужно разрешить использование утилиты ping, или других программ, работающих на базе протокола ICMP (чего мы настоятельно не рекомендуем делать без особой необходимости), то в политику Web можно включить такое правило.
ipsecpol \\имя_компыотера -х -w REG -p "Web" -r "OkICMP" -n PASS -f 0+*::ICMP
В этом примере политика устанавливается для всех адресов, однако ее можно легко модифицировать на случай одного IP-адреса с помощью ключа -f (табл. 6.2) и направить действие этого правила на один интерфейс. Если система сконфигурирована с помощью этого примера, то при сканировании портов будет виден только порт 80. После отключения политики все порты снова станут доступными.
Описание всех аргументов, использованных в примере, приводится в табл. 6.2 (для получения полной информации о возможностях утилиты ipsecpol запустите команду ipsecpol -?).
Следует отметить, что фильтры IPSec не блокируют порт 500 (UDP) или, на контроллерах домена WIN 2000, порт 88 (TCP/UDP), используемые для аутентификации IPSec (порт 88 применяется протоколом Kerberos, a 500 – для обмена ключами IKE (Internet Key Exchange)). Сервисный пакет Service Pack 1 включает новый параметр реестра, позволяющий закрыть порты Kerberos путем отмены привилегий для драйвера IPSec:
HKLM\SYSTEM\CurrentControlSet\ Services\IPSEC\NoDefaultExempt Type: DWORD Max: 1 Min: 0 Default: 0
Трафик IKE всегда был привилегированным, и параметры системного реестра на него не влияли. Если же этот параметр реестра принимает значение 1, то все "льготы" для протоколов Kerberos и RSVP отменяются по умолчанию.