Изучая брандмауэр Windows Vista
🕛 08.02.2008, 18:58
В давние времена, в палеокомпьютерную эру никто не задумывался об установке брандмауэра на каждый отдельный компьютер. Да и зачем? Тогда вряд ли кто-либо слышал об Интернете, никто не знал про TCP/IP, а маршруты протоколов локальный сетей не выходили за пределы здания или за территорию предприятия. Важные данные хранились на мэйнфрейме или файловых серверах - информация, которую люди держали на своих настольных компьютерах, была не особо важной, а собственный вес компьютера обеспечивал немалую степень физической безопасности. Если имелось подключение к Интернету, использовалось несколько преобразователей протоколов и маршрутизатор с фильтрацией пакетов (я имею в виду “брандмауэр”) на границе сети, который, скорее всего, требовал настройки огромного числа правил и исключений.Современные компьютерные среды значительно отличаются от таких древних. Всё вокруг подключено к Интернету (и использует протокол TCP/IP), а мобильные устройства - просто обыденность. Работодатель обеспечивает вас переносным компьютером не потому, что заботится о вас - он заботится о том, чтобы получить от вас больше пользы. Он хочет, чтобы вы работали всегда, когда у вас появится пять свободных минут и подключение по Wi-Fi. Переносные компьютеры стоят дороже, чем настольные, но это полностью окупается производительностью. Как вы понимаете, именно мобильность делает их столь привлекательными для вас и ваших конкурентов.
Зададимся таким вопросом: какой процент от общего количества времени, в течение которого ваш компьютер включен и подсоединен к какой-либо сети, составляет время подключения к вашей корпоративной сети? Если вы работаете в режиме, похожем на мой, то не больше 20 процентов. Это означает, что только 20 процентов времени мой переносной компьютер находится в безопасности в пределах корпоративной сети корпорации Майкрософт, защищенный от внешних атак механизмами демилитаризованной зоны.Но как же быть с теми 80 процентами времени, когда мой переносной компьютер с различными целями подключается напрямую к Интернету? (А я очень часто подключаюсь к самым опасным сетям в мире: к ЛВС отеля во время конференции по компьютерной безопасности!) Да и при подключении к корпоративной сети - как насчет угроз, исходящих от других компьютеров в этой среде?
Средства безопасности разрабатываются после, а иногда значительно позже, появления угроз. Вирусы были клиентской проблемой, потому что люди широко использовали дискеты, и поэтому первая антивирусная программа появилась на клиентском компьютере. Позже, когда с ростом популярности электронной почты вредоносные программы превратились в сетевых червей, которые распространялись по ней, программы защиты от вредоносного ПО также эволюционировали, и появились шлюзы электронной почты. С развитием Интернета к вредоносным программам добавились трояны, и вслед за этим антивирусное программное обеспечение переместилось на прокси-серверы доступа в Интернет. Это широко известный эволюционный путь, который никто не ставит под сомнение.
А теперь давайте применим ту же логику к брандмауэрам. Для защиты от компьютерных угроз вчерашнего дня брандмауэра на границе сети хватало. Теперь его недостаточно, потому что угрозы многочисленнее, сложнее и все быстрее распространяются. При этом мы еще не касаемся того, что оборудование и способы работы значительно отличаются от используемых в прошлом. Многие компьютеры содержат секретную информацию, хранимую локально, и они могут длительное время находиться далеко от корпоративной сети (то есть за границей сети). Поэтому брандмауэру суждено стать защитным механизмом каждого отдельного клиента. Для клиентов брандмауэры больше не являются необязательными. Не делайте этой ошибки: не пренебрегайте ими. Для защиты компьютера от вашей собственной корпоративной сети и от Интернета клиентские брандмауэры жизненно важны.
Клиентские брандмауэры и “театр безопасности”
Многие люди не знали о том, что первый выпуск Windows® XP содержал клиентский брандмауэр. Это и не удивительно, так как по умолчанию брандмауэр был выключен, а включить его можно было, сделав довольно много щелчков мышью. Брандмауэр просто появился, причем достаточно скрытно, при этом не настаивая на своем использовании и не давая руководств по применению. Но он действительно работал. Если бы вы включили этот брандмауэр, то он защитил бы вас от вирусов Nimda, Slammer, Blaster, Sasser, Zotob и любых других попыток передать непрошенный трафик через порт вашей сети. Понимания важность защиты клиента, разработчики пакета обновления 2 (SP2) для Windows XP включили брандмауэр по умолчанию, создали два профиля (Интернет и корпоративная сеть) и интегрировали его с групповыми политиками.
К сожалению, два фактора замедлили восприятие брандмауэра Windows XP SP2: проблемы с приложениями и “театр безопасности”. Многие боялись, что брандмауэр помешает правильной работе их приложений. Такое, однако, случалось нечасто, что объясняется принципом работы брандмауэра. Он позволял любому исходящему трафику покинуть компьютер, но при этом блокировал весь входящий трафик, который не являлся ответом на некоторый предыдущий исходящий запрос. Единственный случай, когда такая схема нарушала работу клиентского приложения, - если оно создавало прослушивающий сокет и ожидало получения входящих запросов. Брандмауэр Windows XP обеспечивал простые настройки исключений для программ или портов (но, к сожалению, не с помощью групповой политики).
Большим препятствием являлся “театр безопасности”, устраиваемый производителями других клиентских брандмауэров. Некоторые люди полагали, что принципа работы брандмауэра Windows XP, а именно разрешения исходящему трафику беспрепятственно покидать компьютер, для полнофункциональной работы клиентского брандмауэра недостаточно. Аргументом было то, что клиентский брандмауэр должен задерживать весь трафик, входящий и исходящий, до тех пор, пока пользователь не даст явного разрешения.
Давайте разберемся. Здесь возникают два сценария.
* Если вы работаете с правами локального администратора, и ваш компьютер заражен вредоносной программой, то она просто отключит брандмауэр. Вы проиграли. * Если вы не работаете как локальный администратор, и ваш компьютер заразился вредоносной программой, то эта программа заставит брандмауэр стороннего производителя открыть диалоговое окно, которое содержит иностранный текст (там что-то про порты и IP-адреса) и задает очень серьезный вопрос: “Вы разрешаете это сделать?”. Единственным ответом, конечно, будет “Да, да, да, тупой компьютер, и прекрати меня доставать!” И как только этот диалог исчезнет с экрана, исчезнет и ваша безопасность. Или, что еще чаще случается, вредоносная программа просто внедрится в существующий сеанс программы, действия которой уже одобрены, и вы даже не увидите диалогового окна. Вы опять проиграли.
Существует важный постулат безопасности, который необходимо усвоить: защита относится к ресурсу, который вы хотите защитить, а не к тому, от чего вы защищаетесь. Правильный подход - это запустить простой, но эффективный брандмауэр Windows на каждом компьютере вашей организации для защиты каждого компьютера от других компьютеров по всему миру. Если вы пытаетесь заблокировать исходящие подключения от компьютера, безопасность которого уже нарушена, то как вы можете быть уверены, что компьютер делает то, что вы просите? Ответ прост: никак. Исходящая защита - это “театр безопасности”, это уловка, которая только создает впечатление улучшения безопасности, при этом не делая ничего для действительного ее улучшения. Вот почему исходящей защиты не было в брандмауэре Windows XP и вот почему ее нет и в брандмауэре Windows Vista™. (Далее я еще остановлюсь на управлении исходящим трафиком в Windows Vista.)
Что нового в Windows Vista?
Основой для брандмауэра Windows Vista является платформа фильтрации Windows, часть нового сетевого стека. Как и Windows XP, Windows Vista по умолчанию блокирует входящий трафик. В зависимости от того, какой профиль используется на компьютере, применяется несколько стандартных исключений для сетевых служб (о профилях я расскажу далее). При желании можно написать правила, разрешающие входящие подключения. Так же, как и Windows XP, Windows Vista по умолчанию пропускает весь исходящий трафик интерактивных процессов, но ограничивает исходящий трафик служб, который определен в ограничениях служб. И, опять же, можно написать правила для блокировки дополнительных исходящих подключений.
Серьезным отличием Windows Vista от Windows XP является новый интерфейс повышенной безопасности и полная поддержка групповых политик в области настроек и правил (см. рис. 1). Старая панель управления в интерфейсе пользователя осталась практически без изменений, только настройки журнала и протокола ICMP переместились в новый интерфейс. Этот новый интерфейс пользователя, оснастка MMC “Повышенная безопасность”, обеспечивает новые возможности и гибкость. Имеется также новый контекст netsh advfirewall в команде netsh, с помощью которого можно запускать сценарии добавления и удаления правил, настраивать и показывать глобальные и профильные политики и просматривать состояние активности брандмауэра. Для вас, разработчики: файлы FirewallAPI.dll и Netfw.h обеспечивают программное управление всеми параметрами брандмауэра.
Рис. 1 Брандмауэр Windows в режиме повышенной безопасности (Щелкните изображение, чтобы уменьшить его)
Рис. 1 Брандмауэр Windows в режиме повышенной безопасности
Рис. 1 Брандмауэр Windows в режиме повышенной безопасности (Щелкните изображение, чтобы увеличить его)
Управление в оснастке MMC “Повышенная безопасность” осуществляется с помощью мастера. При создании правила вы можете выбрать один из четырех типов: для программы, для порта, предопределенное или пользовательское. Пояснения см. на рис2.
При написании правил можно использовать множество элементов - все они доступны для локальных правил и правил, применяемых с помощью групповой политики. В их число входят: учетные записи и группы пользователей и компьютеров службы Active Directory®, исходные и конечные IP-адреса, исходные и конечные порты TCP и UDP, номера протоколов IP, программы и службы, типы интерфейсов (проводной, беспроводной или удаленный доступ) и типы и коды ICMP.
Будучи настроенным, брандмауэр обрабатывает правила в следующем порядке.
Ограничения служб Некоторые службы в Windows Vista ограничивают себя для снижения вероятности новой атаки типа Blaster. Одно из ограничений - это список портов, которые необходимы данной службе. Брандмауэр следит за этим и запрещает использование (или указание использовать) данной службой другого порта.
Правила безопасности подключения Оснастка MMC “Повышенная безопасность” наряду с поддержкой брандмауэра отвечает и за работу протокола IPsec. Любые правила, которые включают политики IPsec, выполняются во вторую очередь.
Обход проверки подлинности Это позволяет определенным компьютерам, прошедшим проверку подлинности, обойти другие правила.
Блокирующие правила Эти правила явно блокируют определенный входящий и исходящий трафик.
Разрешающие правила Эти правила явно разрешают определенный входящий и исходящий трафик.
Правила брандмауэра хранятся в реестре, но где именно, я не скажу. Ну... ладно, вы найдете их здесь:
* HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Defaults\FirewallPolicy\FirewallRule * HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\FirewallRules * HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\RestrictedServices\Static\System
Но только не редактируйте эти правила прямо в реестре. Иначе мы найдем вас, выкрадем вашего домашнего любимца и продадим на eBay! Ну, может, до этого и не дойдет, но единственный поддерживаемый способ редактировать правила - это использовать MMC режима повышенной безопасности.
Сетевые профили
В Windows Vista определено три сетевых профиля: доменный, частный и общий. Если компьютер принадлежит домену, и вход в домен успешно выполнен, автоматически применяется профиль домена - самостоятельно сделать этот выбор вы не можете. Когда компьютер подключен к внутренней сети, в которой нет домена (например к домашней сети или сети в небольшом офисе), вы (или администратор) должны применить частный профиль. Наконец, когда компьютер подключен непосредственно к Интернету, следует применить общий профиль.
Как Windows Vista определяет, куда поместить ваш компьютер? Если происходит изменение сети (получен новый IP-адрес, обнаружен новый шлюз, применяемый по умолчанию, или получен новый интерфейс), служба сетевого расположения (NLA) выявляет это изменение. Она создает сетевой профиль, который включает информацию о существующих интерфейсах, о том, прошел ли компьютер проверку подлинности при подключении к контроллеру домена, MAC-адрес шлюза и т.д., и присваивает этому профилю GUID. Затем NLA уведомляет брандмауэр, и тот применяет соответствующую политику (для каждого из трех существующих профилей определена своя политика).
Если интерфейс новый и компьютер ранее с ним не сталкивался, а служба NLA не выбрала профиль домена, вы увидите диалоговое окно, в котором вас попросят указать тип сети, к которой вы подключаетесь. Как ни странно, вариантов три: домашняя, рабочая и публичная. Вы можете подумать, что “рабочая” означает профиль домена, но на самом деле это не одно и то же. Помните, что профиль домена вы не увидите, так как при подключении компьютера к домену служба NLA выбирает его автоматически. На самом деле оба варианта - “домашняя” и “рабочая” - относятся к частному профилю. Функционально они одинаковы - отличаются только значки. (Примечание. Чтобы выбрать частный профиль, вы должны быть локальным администратором или иметь возможность повысить права до локального администратора.) Как и следовало ожидать, “публичная” относится к общему профилю.
В Windows Vista сетевой профиль применяется ко всем интерфейсам компьютера. Вот краткое описание алгоритма дерева решений службы NLA.
1. Исследовать все подключенные сети. 2. Имеется ли интерфейс, подключенный к сети, определенной как публичная? Если да, настроить профиль компьютера как общий и выйти. 3. Имеется ли интерфейс, подключенный к сети, определенной как частная? Если да, настроить профиль компьютера как частный и выйти. 4. Все ли интерфейсы видят контроллер домена и выполнил ли компьютер успешный вход в него? Если да, настроить профиль компьютера как доменный и выйти. 5. Иначе настроить профиль компьютера как общий.
Целью является выбор как можно более ограничивающего профиля. Однако здесь есть два очевидных побочных эффекта. Во-первых, если порт Ethernet вашего компьютера подключен к вашей корпоративной сети, а его адаптер беспроводной связи подключен к сети кафе Starbucks этажом ниже, компьютер выберет общий профиль, а не профиль домена. Во-вторых, если ваш компьютер подключен прямо к Интернету (в общем профиле) или подключен к вашей домашней ЛВС (в частном профиле), и вы устанавливаете VPN-подключение к корпоративной сети, ваш компьютер остается в общем или частном профиле.
Что это может означать? Политика брандмауэра для профиля домена включает правила для удаленной поддержки, удаленного администрирования, общего доступа к файлам и принтеру и т.д. Если вы используете эти правила, чтобы удаленно подключиться к клиенту, у вас ничего не получится, если клиент выбрал какой-либо другой профиль. Но не расстраивайтесь - можно написать правила брандмауэра, которые разрешают необходимые вам входящие подключения, а затем применить их только к VPN-подключениям.Теперь можно выполнять администрирование ваших клиентов с помощью VPN, даже если они не используют профиль домена.
Управление исходящими подключениями
Ранее я упоминал, что исходящая защита в клиентских брандмауэрах - не более чем “театр безопасности”. Однако один из видов управления исходящей защитой очень полезен: это административное управление определенными типами трафика, которые вы определенно не хотите разрешать. Брандмауэр Windows Vista уже делает это для ограничений служб. Он позволяет службе использовать необходимые ей порты и блокирует любые другие ее действия. Можно создать дополнительные правила, которые будут разрешать или блокировать определенный трафик в соответствии политикой безопасности вашей организации (см. рис. 3).
Рис. 3 Мастер создания правила для нового входящего подключения (Щелкните изображение, чтобы увеличить его)
Скажем, вы вдруг захотели запретить пользователям работать с определенным клиентом мгновенной передачи сообщений. Вы можете создать правило (конечно, в групповой политике) для блокировки подключений этого клиента к регистрационным серверам.
Но на пути применения такого подхода есть практические ограничения. Например, Windows Live™ Messenger (который вы, возможно, все еще знаете как MSN® Messenger) имеет множество различных серверов, которые могут использоваться для входа, и их список постоянно меняется. Кроме того, если используемый по умолчанию порт 1863/tcp заблокирован, он переключится на порт 80/tcp. Правило для блокировки подключения Windows Live Messenger к регистрационным серверам будет слишком сложным и подверженным постоянным корректировкам. Я привел этот пример, чтобы проиллюстрировать, что административное управление исходящим трафиком может быть полезным, но оно не заменяет политик ограниченного использования программ, если необходимо соблюдать строгий контроль программного обеспечения, которое пользователям разрешено устанавливать и запускать.
Защитите свой компьютер
Демилитаризованной зоны больше нет. Теперь каждый компьютер должен следить за собственной безопасностью. Как программы защиты от вредоносного программного обеспечения были перенесены с клиентского компьютера на границу, так и брандмауэры должны быть перемещены с границы на клиентов. Вы можете сделать это мгновенно, включив брандмауэр, который у вас уже установлен.
Если вы работаете в операционной системе Windows XP или уже перешли на Windows Vista, брандмауэр Windows доступен всем вашим клиентам и обеспечит защиту, которая необходима для улучшения безопасности в пределах организации - даже если ваши мобильные сотрудники находятся за тысячи километров от офиса.
Стив Райли (Steve Riley), старший специалист по разработке стратегий безопасности в группе корпорации Майкрософт по вопросам надежного использования компьютерной техники и пишущий редактор журнала TechNet Magazine. Он постоянно летает по всему миру, выступая на конференциях и помогая заказчикам в обеспечении безопасности. Его последняя книга - Protect Your Windows Network (Защита сети Windows. Издательство Addison-Wesley, 2005 г.). С ним можно связаться по адресу steve.riley@microsoft.com.