Использование ISA Server 2004 для ограничения доступа приложений в Internet
В брандмауэре ISA реализованы некоторые технологии, которые могут использоваться для описания того, какие приложения, протоколы и пользователи в защищенной брандмауэром ISA сети могут получить к ней доступ. Брандмауэр ISA обеспечивает дополнительные возможности контроля состояния пакетов и контроля на уровне приложений. При активизации функции инспекции состояния пакетов удается остановить атаки на сетевом и транспортном уровне TCP/IP. Включение инспекции уровня приложений позволяет контролировать сетевой доступ на уровне приложений. Брандмауэр ISA выполняет инспекцию уровня приложений как через proxy-соединения (Web и Winsock), так и через соединения, установленные в обход proxy.
Вы можете настроить брандмауэр ISA таким образом, чтобы можно было обращаться в Internet через сетевые приложения, используемые определенным кругом пользователей, и в то же время запретить такой доступ всем остальным пользователям. Это решает проблему дифференциального доступа и, кроме того, позволяет реализовать строгий аудит для отслеживания обращений пользователей к тем или иным сайтам в любой момент времени для любого используемого сетевого приложения. В частности, можно использовать три метода контроля доступа высокого уровня при работе сетевых приложений через брандмауэр.
- Метод 1: использование правил доступа (access rules) для блокировки обращений к опасным сайтам.
- Метод 2: использование HTTP Security Filter для блокировки неутвержденных Web-приложений.
- Метод 3: использование клиента ISA Server 2004 Firewall для блокировки неутвержденных приложений.
МЕТОД 1. Использование правил доступа для блокировки обращений к опасным сайтам
Правила доступа (access rules) регламентируют исходящий доступ через брандмауэр ISA. Концепция исходящего доступа через ISA Server 2004 несколько отличается от того, как она была реализована в ISA в предыдущих версиях. В ISA Server 2004 отсутствует понятие trusted network (доверенная, надежная сеть). Идея исходящего доступа из внутренней, доверенной сети наружу, во внешнюю сеть, в ISA Server 2004 больше не применяется. В ISA Server 2004 исходящий доступ всегда настраивается через правила доступа; входящий доступ всегда настраивается через Web-правила или правила публикаций (publishing rules) сервера. Правила доступа определяют доступ приложений через брандмауэр на основе следующих параметров:
- исходный IP-адрес хоста, сформировавшего запрос;
- адрес назначения или полное имя Fully Qualified Domain Name (FQDN) запрошенного ресурса;
- исходный порт и порт назначения, содержащиеся в запросе;
- пользователь, сформировавший запрос;
- время, когда запрос был создан.
Правила доступа удобны в том случае, когда приложению (такому, как HTTPTunnel) требуется доступ к специфическим номерам портов или серверам. Например, существует целый класс приложений, которые могут использоваться вредоносными программами для дискредитации брандмауэра и сетевой политики, осуществляемой путем туннелирования других протоколов приложения, описанных в заголовке HTTP, что, собственно, и делает HTTP транспортом для туннельных протоколов приложения. Заголовок HTTP может применяться для инкапсуляции протоколов, таких как Internet Relay Chat (IRC), Network News Transfer Protocol (NNTP), POP3 и SMTP. Эти протоколы приложения затем могут быть использованы для передачи данных в корпоративную сеть и из нее, если брандмауэр настроен на разрешение исходящих соединений через порт TCP 80 (стандартный Web-порт) или порт 443 (защищенный порт Web).
Можно настроить ISA на запрет использовать опасные туннельные HTTP-приложения с помощью запрета на установку подключений к хорошо известным туннельным proxy-шлюзам HTTP. Этот метод позволяет запретить подключение к шлюзу приложения независимого разработчика и не дать пользователям каким-либо иным образом задействовать неутвержденный протокол.
Блокирование доступа к подобным туннельным http-proxy решает еще одну проблему. Туннельные приложения часто используют SSL/TLS-шифрование (Secure Sockets Layer/Transport Layer Security) для преодоления фильтрации HTTP на стороне брандмауэра (например, на сервере ISA) на основе инспекции заголовков приложения в исходящем трафике HTTP. Брандмауэр ISA может выполнить инспекцию HTTP входящих шифрованных сессий SSL, но не проверяет исходящие сессии SSL.
Ниже приведен пример использования правила доступа для блокирования соединений к туннельному HTTP-proxy с именем www.httptunnel.com.
- Запустите в Microsoft Management Console (MMC) оснастку ISA Server Management, откройте контекстное меню узла Firewall Policy в левой части и выберите New, Access Rule. Присвойте имя правилу доступа и щелкните Next.
- На странице Rule Action выберите Deny и щелкните Next.
- На странице Protocols выберите настройку по умолчанию (All outbound traffic) и нажмите Next.
- На странице Access Rule Sources щелкните Add. В окне Add Network Entities щелкните Network Sets и дважды — All Protected Networks. Нажмите Close и затем Next.
- На странице Access Rule Destinations щелкните Add. В окне Add Network Entities нажмите New и затем Domain Name Set.
- В окне New Domain Name Set Policy Element (см. экран 1) введите имя нового набора — в данном случае HTTP Tunneling Sites. Чтобы заблокировать другие туннельные сайты HTTP, которые могут появиться в будущем, можно использовать только что созданный Domain Name Set и постепенно добавлять в него новые домены. Щелкните New, затем наберите имя первого домена, работу с которым хотите заблокировать (httptunnel.com), и нажмите Enter. Необходимо создать две записи для сайта, как показано на экране 1, поскольку групповой символ — звездочка (*) в данном случае — блокирует только хосты и субдомены httptunnel.com.
- Щелкните на имени каталога Domain Name Sets. Дважды щелкните запись HTTP Tunneling Sites. В окне Add Network Entities нажмите Close. Щелкните Next.
- На странице User Sets выберите настройку по умолчанию и нажмите Next.
- На странице Completing the New Access Rule Wizard щелкните Finish, а затем Apply для сохранения изменений политики брандмауэра.
Экран 1. Блокировка доступа к туннельным сайтам HTTP |
Брандмауэр ISA просматривает правила доступа сверху вниз. Вообще говоря, следует поместить правила Deny над правилами Allow, чтобы по невнимательности не разрешить установку подключения, которое должно быть заблокировано. Не забудьте переместить только что созданное новое правило на самый верх списка правил. Или, по крайней мере, поместите новое правило над любым другим правилом, касающимся протокола HTTP.
МЕТОД 2. Использование HTTP Security Filter для блокировки не утвержденных Web-приложений
Фильтром HTTP Security Filter можно воспользоваться для инспекции фактически любых характеристик исходящего трафика HTTP, в котором не применяется SSL-шифрование, и заблокировать подключение на основе информации уровня приложения в HTTP. Основное преимущество HTTP Security Filter заключается в том, что ISA Server размещает фильтры в разрешающих правилах (allow rules). Следовательно, появляется возможность разрешить HTTP-трафик к надежным узлам и заблокировать подозрительные коммуникации.
HTTP Security Filter особенно полезен при блокировании коммуникаций типа точка-точка (P2P) в приложениях, применяющих HTTP. Многие компании стремятся задействовать исходящие коммуникации HTTP через брандмауэр без ограничений на сайты, к которым могли бы подключиться пользователи, но при этом не хотят иметь дело с P2P-приложениями, использующими HTTP для доступа в Internet. Вы можете задействовать HTTP Security Filter для блокировки P2P-приложений и в то же время предоставить HTTP-доступ другим приложениям.
В следующем примере показано, как заблокировать исходящий трафик через порт TCP 80 для клиента Kazaa.
- Воспользуйтесь методом, описанным в первом примере, для создания правила доступа, разрешающего исходящий доступ по HTTP.
- Откройте контекстное меню нового правила доступа и выберите Configure HTTP.
- В окне Configure HTTP policy for rule перейдите на вкладку Signatures и щелкните Add.
- В окне Signature (см. экран 2) введите имя сигнатуры — в данном случае это Kazaa Req header #1 — и заполните, если нужно, поле Description. Выберите Request headers из списка Search in. Наберите P2P-Agent в поле HTTP header и затем наберите Kazaa. Нажмите ОК.
- В окне HTTP policy for rule щелкните ОК и затем Apply для сохранения изменений в политике брандмауэра.
Помните, что ISA применяет политику брандмауэра сверху вниз. Даже для правила Allow будут блокироваться подключения по HTTP, в которых присутствуют строки, указанные в сигнатуре. Следовательно, нужно поместить данное правило доступа над любыми другими правилами доступа Allow.
Экран 2. Блокировка доступа специфических приложений |
Можно воспользоваться сетевым анализатором для построения трассы пакетов и обнаружения заголовков http-приложений, которые должны быть заблокированы. Перед этим советую познакомиться с опубликованным Microsoft списком сигнатур наиболее распространенных приложений (http://www.microsoft.com/technet/prodtechnol/isa/2004/plan/common applicationsignatures.mspx). Также с сайта Джима Харрисона ISA Server Tools Repository (http://www.isatools.org) можно загрузить сценарии, которые помогут автоматически настроить HTTP Security Filter для защиты от наиболее распространенных программ взлома.
МЕТОД 3. Использование клиента ISA Server 2004 Firewall для блокировки не утвержденных приложений
Клиент брандмауэра относится к типу клиентов Winsock-proxy. В отличие от SOCKS, для работы с которым необходимо настроить каждое приложение с указанием адреса и порта SOCKS-proxy, клиент брандмауэра принимает Windows-вызовы ото всех сетевых приложений, использующих Winsock, — он для них «прозрачен».
Клиент брандмауэра перехватывает все запросы Windows от Winsock-приложений и пересылает их на ISA согласно настройкам клиента. Эти настройки управляются централизованно на сервере ISA, в том числе устанавливается:
- какие приложения клиент брандмауэра обрабатывает;
- с какими целевыми объектами клиент брандмауэра может работать;
- с какими целевыми портами клиент брандмауэра работать не может.
В дополнение к «прозрачным» proxy-соединениям между станциями — клиентами брандмауэра и сервером ISA, клиент брандмауэра также передает учетные данные пользователя по шифрованному каналу серверу ISA. Это делается для детализированного разбора прав пользователя на основе данных о нем и его принадлежности к той или иной группе по отношению ко всем приложениям Winsock, проходящим через брандмауэр. Вы можете создать собственную сетевую инфраструктуру маршрутизации, прозрачную для клиента брандмауэра, которому нужно знать только маршрут к IP-адресу системы ISA. При этом нет необходимости включать или изменять настройки сетевых маршрутизаторов.
Давайте посмотрим, как запретить клиенту брандмауэра использовать приложения (в нашем примере это Kazaa Lite) для обращения к ресурсам Internet.
- В консоли ISA Server Management нужно раскрыть имя сервера в левой панели консоли и узел Configuration. Щелкните узел General, затем пройдите по ссылке Define Firewall Client Settings в средней панели.
- В окне Firewall Client Settings следует перейти на вкладку Application Settings и щелкнуть New.
- Наберите имя приложения в поле Application (в данном случае Kazaa Lite), как показано на экране 3. Выберите Disable в списке Key и установите значение Value равным 1 (1 — включение настройки, 0 — отключение). Щелкните ОК и затем Apply для сохранения изменений политики брандмауэра.
Изменения, внесенные в настройки ISA, вступают в силу немедленно, но может потребоваться до 6 часов для распространения новых настроек на все клиентские системы сети. Чтобы не ждать, пока закончится автоматическое обновление настроек клиентов брандмауэра, можно вручную обновить все настройки при помощи клиентского приложения на станции клиента брандмауэра или перезапустить программный агент клиента.
Экран 3. Запрет использования приложений клиентом Firewall |
Другой способ блокировать запуск приложений на станции клиента брандмауэра в глобальном масштабе заключается в блокировании выбранных портов для всех приложений. Это препятствует установлению любого соединения с использованием указанных портов через ISA. Блокировка выбранных портов для всех приложений особенно полезна для защиты трафика от сетевых червей, у которых отсутствуют предсказуемые имена. Например, червь MyDoom сам себе назначает имя неким случайным образом. Из-за такой особенности поведения сетевых червей невозможно использовать имя специфического приложения для блокировки исходящих соединений от зараженного червем MyDoom клиента брандмауэра. Но поскольку известно, что MyDoom для распространения по сети использует порты TCP в диапазоне от 3127 до 3198, можно сконфигурировать настройки клиента брандмауэра таким образом, что клиент не сможет установить удаленное соединение с ISA, если приложение клиента пытается задействовать для установления соединения запрещенные порты. При этом запрет будет касаться всех приложений. Можно использовать этот тип конфигурации, чтобы помешать распространению червя через брандмауэр и возникновению ситуации «отказ в обслуживании» (Denial of Service, DоS) на брандмауэре.
Экран 4. Запрет доступа приложений к определенным портам |
Следующий пример глобальной конфигурации клиентов брандмауэра относится к блокировке выбранных портов.
- В консоли ISA Server Management следует раскрыть имя сервера в левой панели, а затем — узел Configuration. Щелкните узел General, затем ссылку Define Firewall Client Settings в средней панели.
- В окне Firewall Client Settings нужно перейти на вкладку Application Settings и щелкнуть New.
- В окне Application Entry Setting следует ввести символ «звездочка» (*) в поле Application, как показано на экране 4. Наберите DontRemoteOutboundTcpPorts в поле Key и укажите в поле Value номера портов, которые нужно заблокировать (для отделения номеров друг от друга используйте запятую). Чтобы запретить клиенту брандмауэра задействовать порты UDP, можно использовать ключ DontRemoteOutboundUdpPorts. Щелкните ОК, затем Apply для сохранения изменений политики брандмауэра. Заметьте, что возможность запрета удаленного соединения через указанные порты для всех приложений доступна только для версии ISA Server 2004 Enterprise Edition.
Мощная комбинация
Итак, сочетая возможности правил доступа ISA Server 2004, HTTP Security Filter и централизованной настройки конфигурации клиента Firewall, можно построить отличную систему контроля использования приложений — кто, когда и куда обращается. Одновременно вы таким образом защитите свою сеть и рабочие станции от вредоносного кода, который может дискредитировать ISA.
Томас Шиндер - ведущий автор сайта http://www.isaserver.org. Совладелец компании TACteam (Trainers, Authors, Consultants), которая готовит материалы для технических и маркетинговых документов крупных корпораций, в том числе Microsoft. Соавтор книги Configuring ISA Server 2000 (издательство Syngress). tshinder@isaserver.org
Дебра Шиндер - совладелец компании TACteam, редактор WinXPnews и соавтор книги Scene of the Cybercrime (издательство Syngress). dshinder@tacteam.net
Краткое описание задачи
ПРОБЛЕМА: наличие у пользователей различных потребностей, с одной стороны, создает трудности при попытке блокировать доступ приложений в Internet, а с другой — открывает сеть для вторжения извне.
РЕШЕНИЕ: используйте ISA Server 2004 Firewall для блокировки доступа приложений.
ЧТО НЕОБХОДИМО ИМЕТЬ: ISA Server 2004 Standard Edition или ISA Server 2004 Enterprise Edition, установленный на сервере с двумя или более сетевыми картами; Web-браузеры, которые могут быть настроены на работу с proxy-сервером; клиент брандмауэра для ISA Server 2004.
СЛОЖНОСТЬ: 2 из 5.
СПОСОБЫ РЕШЕНИЯ:
- Установите правила для блокирования доступа приложений к опасным сайтам.
- Воспользуйтесь HTTP Security Filter для блокирования работы неутвержденных Web-приложений.
- Настройте клиент брандмауэра ISA Server 2004 для блокирования работы неутвержденных приложений.
Согласно политике компании, касающейся использования сетевых ресурсов, необходимо блокировать доступ в Internet некоторым сетевым приложениям. В то же время отдельные пользователи или группы нуждаются именно в этих приложениях при работе в Internet. Решение: развернуть в компании брандмауэр Microsoft Internet Security and Acceleration (ISA) Server 2004 и с его помощью настроить дифференцированные правила работы с приложениями и службами, которые дадут пользователям возможность проходить брандмауэр и работать в Internet.