В наши дни модель безопасности целиком строится на концепции уровней безопасности. Если средства защиты вашей сети окажутся скомпрометированными, уровни безопасности могут, по меньшей мере, ограничить фронт атаки злоумышленников или ослабить удар. .
Профили брандмауэров
Пользователи системы Server 2008 R2 могут применять три различных профиля Windows Firewall. В каждый момент активным может быть только один из них.
- Профиль домена (Domain profile). Этот профиль активен в ситуации, когда сервер подключен к домену Active Directory (AD) по внутренней сети. Как правило, в активном состоянии бывает именно этот профиль, поскольку серверы по большей части являются членами домена AD.
- Частный профиль (Private profile). Этот профиль активен, когда сервер является членом рабочей группы. Для данного профиля специалисты Microsoft рекомендуют использовать настройки с более строгими ограничениями, чем для профиля домена.
- Общий профиль (Public profile). Этот профиль активен, когда сервер подключен к домену AD через общедоступную сеть. Microsoft рекомендует применять для него настройки с самыми строгими ограничениями.
Открыв оснастку Firewall with Advanced Security, вы можете увидеть, какой профиль брандмауэра активен в данный момент. Хотя специалисты Microsoft указывают на возможность применения различных настроек безопасности в зависимости от параметров профиля сетевого экрана, я обычно настраиваю брандмауэр так, как если бы внешнего сетевого экрана не было вовсе. При таких настройках, если какие-либо порты на внешних брандмауэрах случайно останутся открытыми, трафик будет заблокирован экраном Windows Firewall в Server 2008. Как и в предыдущих версиях продукта Windows Firewall, в версии Server 2008 R2 все входящие соединения блокируются, а все исходящие от сервера по умолчанию беспрепятственно функционируют (если только в данный момент не действует правило Deny).
В организации, где я работаю, используются описанные выше параметры, так что конфигурация наших брандмауэров напоминает среду общих профилей. Создавая некое правило, мы активируем его для всех трех профилей. Используя единообразную для всех трех доменных профилей конфигурацию сетевых экранов, мы устраняем угрозу возможного и нежелательного открытия портов в случае изменения профиля брандмауэра Windows Firewall.
IPsec и изоляция доменов
С помощью реализованного в Windows Firewall компонента IPsec администраторы могут осуществлять изоляцию доменов. Изоляция домена препятствует установлению соединения между не входящим в домен компьютером и системой, которая является членом домена. Администратор может настроить брандмауэр таким образом, чтобы при установлении связи между двумя членами домена весь трафик между двумя компьютерами шифровался средствами IPsec. Такая конфигурация может быть полезной в сети, где наряду со «своими» пользователями работают и гости, которым не следует предоставлять доступ к компьютерам, являющимся частью домена. Эту конфигурацию можно использовать в качестве альтернативы виртуальным локальным сетям Virtual LAN (VLAN) или как дополнение к ним. Более подробные сведения об изоляции доменов с помощью туннелей IPsec можно найти в подготовленной специалистами сайта Microsoft TechNet статье «Domain Isolation with Microsoft Windows Explained», опубликованной по адресу technet.microsoft.com/enus/library/cc770610(WS.10).aspx.
Не отключайте брандмауэр
Я рекомендую при первоначальной установке системы Server 2008 R2 не отключать брандмауэр. В наши дни почти все приложения достаточно «интеллектуальны», чтобы автоматически открывать нужный порт в сетевом экране в процессе установки (что снимает необходимость вручную открывать на сервере порты для приема запросов интернет-клиентов). Одно из оснований не отключать брандмауэр в ходе установки состоит в том, чтобы обеспечить защиту операционной системы до того, как вы получите возможность применить новейшие обновления.
Брандмауэр интегрирован с ролями и средствами диспетчера Server Manager. Когда на сервере добавляется роль или функция, брандмауэр автоматически открывает соответствующие порты для приема интернет-запросов. Система управления базами данных SQL Server по умолчанию использует порт TCP 1433. Поэтому администратор должен вручную создать правило для приема запросов, санкционирующее трафик для SQL Server через порт TCP 1433. Альтернативное решение — изменить настройки по умолчанию.
Создание правил для обработки входящего трафика
Если вы не будете отключать брандмауэр, вам, скорее всего, придется в тот или иной момент вручную создавать правило для приема запросов. Существует немало правил, созданных (но отключенных по умолчанию) для большого числа популярных приложений Windows.
Перед тем как приступать к созданию правила, удостоверьтесь, что правило, санкционирующее обработку интересующего вас трафика, пока не составлено. Если такое правило уже существует, вы можете просто активировать его и, возможно, изменить заданную по умолчанию область применения. Если же найти подходящее правило не удается, вы всегда можете создать его, что называется, с чистого листа.
В меню Start выберите пункт Administrative Tools, а затем щелкните на элементе Windows Firewall with Advanced Security. На экране появится окно оснастки Firewall with Advanced Security. Я покажу на примере, как создать правило, санкционирующее входящий трафик SQL Server через порт TCP 1433 с интерфейсного сервера Microsoft Office SharePoint Server.
Правой кнопкой мыши щелкните на пункте Inbound Rules и выберите элемент New Rule. Как показано на экране 1, в качестве типа правила (rule type) можно указать Program, Port, Predefined или Custom. Я обычно выбираю тип Custom, поскольку в этом случае система предлагает ввести область применения правила. Для продолжения нажмите кнопку Next.
Экран 1. Выбор типа для нового правила обработки входящего трафика |
В открывшемся диалоговом окне, показанном на экране 2, можно указать программы или службы, к которым будет применяться правило. В нашем примере я выбрал пункт All programs, так что трафик будет управляться в зависимости от номера порта.
Экран 2. Указание программы, к которой будет применяться новое правило обработки входящего трафика |
Затем, как видно на экране 3, я в качестве протокола указал TCP, а в раскрывающемся меню Local port выбрал пункт Specific Ports и указал порт 1433, по умолчанию применяющийся при работе с SQL Server. Поскольку удаленные порты относятся к категории динамических, я выбрал пункт All Ports.
Экран 3. Указание протокола и портов для нового правила обработки входящего трафика |
В диалоговом окне Scope, показанном на экране 4, я в качестве локального IP-адреса указал 192.168.1.11, а в качестве удаленного IP-адреса — 192.168.1.10 (это IP-адрес интерфейсного сервера SharePoint нашей организации). Я настоятельно рекомендую указывать диапазон для каждого правила — на тот случай, если данный сервер вдруг окажется открытым для доступа из нежелательных подсетей.
Экран 4. Определение локального и удаленного IP-адресов в области применения нового правила обработки входящего трафика |
В диалоговом окне Action на экране 5 я выбрал пункт Allow the connection, так как хотел разрешить входящий трафик для системы SQL Server. Можно использовать и другие настройки: разрешить трафик только в том случае, если данные зашифрованы и защищены средствами Ipsec, или вообще заблокировать соединение. Далее требуется указать профиль (профили), для которого будет применяться данное правило. Как показано на экране 6, я выбрал все профили (оптимальный метод). Затем я подобрал для правила описательное имя, указал разрешенную службу, область и порты, как показано на экране 7. И завершаем процесс создания нового правила для обработки входящего трафика нажатием кнопки Finish.
Экран 5. Указание действий, которые необходимо предпринять, если при соединении выполняется условие, заданное в новом правиле обработки входящего трафика |
Экран 6. Назначение профилей, к которым будет применяться новое правило обработки входящего трафика |
Экран 7. Именование нового правила обработки входящего трафика |
Создание правил для обработки исходящего трафика
Во всех трех профилях брандмауэра (то есть в доменном, открытом и частном) входящий трафик по умолчанию блокируется, а исходящий пропускается. Если воспользоваться настройками по умолчанию, вам не придется открывать порты для исходящего трафика. Можете прибегнуть к другому способу: заблокировать исходящий трафик (но тогда вам придется открыть порты, необходимые для пропускания исходящих данных).
Создание правил для обработки исходящего трафика аналогично созданию правил для входящего; разница лишь в том, что трафик идет в противоположном направлении. Если на сервер попал вирус, который пытается атаковать другие компьютеры через те или иные порты, вы можете заблокировать исходящий трафик через эти порты с помощью оснастки Firewall with Advanced Security.
Управление параметрами брандмауэра
Правила для брандмауэров создаются не только с помощью оснастки Firewall with Advanced Security. Для этой цели можно воспользоваться командами Netsh. Более подробную информацию об использовании этих команд для настройки Windows Firewall можно найти в статье «How to use the ‘netsh advfirewall firewall’ context instead of the ‘netsh firewall’ context to control Windows Firewall behavior in Windows Server 2008 and in Windows Vista» по адресу support.microsoft.com/kb/947709.
Кроме того, управлять параметрами брандмауэра можно с помощью групповой политики. Один из самых простых способов формирования правил для брандмауэров с помощью групповой политики состоит в следующем. Сначала нужно создать правило, используя оснастку Firewall with Advanced Security, затем экспортировать его и, наконец, импортировать правило в редактор Group Policy Management Editor. После этого вы можете передать его на соответствующие компьютеры. Более подробная информация о том, как управлять брандмауэром Windows Firewall с помощью групповых политик, приведена в статье «Best Practice: How to manage Windows Firewall settings using Group Policy», опубликованной по адресу http://bit.ly/aZ4 HaR.
Диагностика
Если при попытке подключиться к серверу у вас возникают трудности, попробуйте активировать процедуру регистрации; это позволит получить информацию о том, блокируются ли нужные вам порты. По умолчанию функция входа в систему через брандмауэр отключена. Для ее включения следует правой кнопкой мыши щелкнуть на оснастке Windows Firewall with Advanced Security и в открывшемся меню выбрать пункт Properties. Теперь в разделе Logging перейдите на вкладку Active Profile (Domain, Private, or Public) и выберите пункт Customize.
По умолчанию журнал регистрации брандмауэра располагается по адресу C:\Windows\system32\Log Files\Firewall\pfirewall.log. Выясняя причины неполадок в функционировании средств подключения, я, как правило, регистрирую только потерянные пакеты, как показано на экране 8; иначе журналы могут заполниться массой ненужных сведений об успешных соединениях. Откройте журнал в редакторе Notepad и выясните, происходит ли потеря пакетов при прохождении брандмауэра.
Экран 8. Активация журнала брандмауэра для доменного профиля |
Еще один совет из области диагностики: отключите брандмауэр; вероятно, после этого возможности соединения будут восстановлены. Если вам удалось восстановить соединение с отключенным сетевым экраном, откройте окно командной строки и введите команду Netstat -AN; таким образом вы сможете просмотреть детали соединения. Если приложение подключается по протоколу TCP, вы сможете определить порты приложения, просмотрев локальные и «чужие» IP-адреса с состоянием Established. Это особенно удобно в ситуациях, когда вы не знаете наверняка, какой порт (или порты) то или иное приложение использует для установления соединения.
Доступное по адресу technet.microsoft.com/en-us/sysinternals/bb897437 инструментальное средство TCPView из набора утилит Windows Sysinternals можно уподобить «усиленному» варианту Netstat. Это средство отображает детальную информацию о соединениях по протоколу TCP и может быть полезным при диагностике неполадок в средствах сетевого соединения.
Ваш помощник — сетевой экран
Системы Server 2008 R2 и Server 2008 — это первые версии Windows Server, допускающие возможность функционирования корпоративной среды без отключения сетевого экрана. Важно только не отключать брандмауэр при установке на сервере какой-либо программы. Таким образом вы сможете испытывать средства подключения сервера до их развертывания в производственной сети. Чтобы узнать, имеет ли место потеря пакетов при прохождении через сетевой экран, установите настройку Log dropped packets. Тем, кто решит активировать брандмауэр на сервере после того, как этот сервер в течение некоторого времени проработал в производственной сети, я рекомендую для начала поместить его в лабораторную среду и определить, какие порты необходимы для открытия брандмауэра.
Алан Сугано (asugano@adscon.com) — президент компании ADS Consulting Group, специализирующейся на разработках в области Microsoft.NET, SQL Server и сетевых технологиях