Блокирование нежелательного контента по URL, ключевому слову, сигнатуре или типу файла

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

Эти примеры свидетельствуют о необходимости фильтровать контент: анализировать информацию, проходящую через брандмауэр, и принимать решение о ее доставке пользователю. Фильтр в Microsoft Internet Security and Acceleration (ISA) Server проверяет на соответствие заданным условиям не только пакеты (запрещает или разрешает протоколы целиком), но и контент. С его помощью можно исследовать содержимое пакетов, передаваемых через сеть, и принимать решение об их дальнейшей судьбе. Чтобы повысить безопасность сети, ISA Server обеспечивает ряд методов фильтрации Web-контента. В данной статье представлено несколько примеров блокирования контента: по имени DNS или конкретному URL-пути, по особым ключевым словам внутри Web-контента, запрошенного пользователем, и по типу файла. Во всех примерах используется ISA Server 2004.

Блокирование по URL

Чтобы блокировать определенный Web-узел или группу узлов, необходимо задать набор URL-адресов как часть правила брандмауэра внутри существующей конфигурации ISA Server. Основное различие между стандартным правилом политики брандмауэра и правилом фильтрации контента такого типа — тип места назначения. Место назначения, заданное в правиле брандмауэра, — сетевой объект (отдельный узел или группа IP-адресов, например сеть External, заранее определенная в ISA Server). Принимая решение о создании фильтра контента, администратор определяет набор URL-адресов как место назначения и задает политику запрета всего трафика.

Таблица. Назначение правила брандмауэра

Предположим, требуется, чтобы ни один сотрудник компании не мог обращаться к Web-узлу Playboy из корпоративной сети. Адрес http://www.playboy.com выбран для пояснения фильтрации контента как широко известный источник материалов «для взрослых». Сначала строится типовое правило брандмауэра со значениями, приведенными в таблице. Набор URL-адресов составляется впервые, и готовых вариантов нет. Поэтому следует щелкнуть на кнопке New, чтобы создать новый набор URL-адресов, который будет применен к правилу брандмауэра. На экране 1 показано диалоговое окно New URL Set Rule Element.

Как мы видим, заданный набор URL-адресов содержит один путь: http://*.playboy.com. Использование универсального подстановочного символа (*) позволяет успешно блокировать все серверы в DNS-зоне playboy.com. В целом этот подход предпочтительнее, чем запрет доступа к сайтам, внесенным в список (например, www.playboy.com, server1.playboy.com, server2.playboy.com). После того как будет создано правило, следует применить изменения к брандмауэру, чтобы они вступили в силу.

Экран 1. Назначение набора URL-адресов

После того как новая политика начнет действовать, следует обратиться к одному из блокированных Web-узлов с рабочей станции внутри организации. Если все сделано правильно, то на экране появится сообщение об ошибке браузера The page cannot be displayed. В разделе Technical Information в нижней части сообщения об ошибке поясняется, что ISA Server блокировал обращение к указанному URL.

Чтобы избежать лишних обращений в службу технической поддержки и напомнить пользователям о политиках компании относительно нежелательных узлов, можно связать с правилом блокировки URL-набора специальную HTML-страницу с информацией, поясняющей причину возникновения ошибки.

В диалоговом окне Properties для правила нужно перейти к вкладке Action (экран 2), чтобы установить флажок Redirect HTTP requests to this Web page и указать URL-адрес.

Экран 2. Настраиваем сообщение об ошибке

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

Следует помнить, что, как и другие правила ISA Server для брандмауэра, правила фильтрации контента обрабатываются от первого к последнему. ISA Server ищет совпадение для каждого запроса, проходящего через сеть, начиная с правила №1 в наборе правил брандмауэра. Если совпадений не обнаружено, то ISA Server сопоставляет запрос с правилом № 2, затем с правилом № 3 и т. д. до тех пор, пока не обнаружится совпадение или трафик будет обработан в соответствии с правилом Default Deny (которое всегда должно стоять последним). После того как ISA Server обнаружит совпадение, другие правила не обрабатываются. Поэтому правила для блокирования определенных Web-узлов должны стоять выше правил, которые разрешают пользователям просматривать Web-контент.

Кроме того, полезно помнить, что правило фильтрации контента можно применять в определенное время. Например, компания может блокировать Web-узлы виртуального футбола только в рабочие часы. В этом случае правило составляется как обычно, но применяется по расписанию.

Фильтрация по ответной строке

URL-фильтрация обеспечивает тщательный контроль безопасности сети. Можно блокировать даже домен верхнего уровня целой страны (например, *.cn — Китай) для пользователей внутри компании. Нельзя предугадать заранее все возможные неприемлемые URL-адреса. Кроме того, некоторые Web-узлы с сомнительным информационным наполнением работают не с URL, а исключительно с IP-адресами. Для таких ситуаций ISA Server располагает дополнительным инструментом фильтрации ответных строк.

Рассмотрим механизм действия ответных строк. Предположим, требуется запретить все Web-узлы, содержащие ссылки на раздел 2257 уложения 18 Соединенных Штатов (United States Code 18, section 2257). Это типовое заявление об отказе от ответственности, публикуемое на входной странице сайтов с контентом «только для взрослых», подтверждает, что они действуют в рамках закона. Как правило, сокращенная запись имеет вид 18 U.S.C. 2257. Если это сочетание символов приведено на Web-странице, то, вероятно, она является частью Web-узла «для взрослых».

Настроить ISA Server на поиск таких записей и фильтровать отклики — дополнительная мера защиты, которая не требует больших усилий. В приведенном ниже сценарии показано, как обнаружить 18 U.S.C. 2257 на Web-странице и блокировать контент.

Компонент ISA Server, который обеспечивает фильтрацию такого типа, известен как Web Proxy Filter. Он обрабатывает запросы, исходящие от сети компании, а затем фильтрует запрошенный контент. По умолчанию Web Proxy Filter не действует, его необходимо активизировать.

В наборе правил следует отыскать правило, которое позволяет пользователям просматривать Web. Если исходящий из сети компании трафик разрешен по протоколам, следует назначить специальное правило, разрешающее HTTP и HTTP Secure (HTTPS). Необходимо найти это правило, щелкнуть правой кнопкой мыши на HTTP и выбрать пункт Properties.

В области Application Filters в нижней части диалогового окна HTTP Properties показано несколько доступных фильтров; все они не задействованы. Нужно отыскать и выбрать Web Proxy Filter, а затем нажать OK. Щелкните на кнопке Apply, чтобы применить изменения к брандмауэру. Теперь фильтрация HTTP действует. Рассмотрим ряд возможных правил.

Щелкнем правой кнопкой мыши на имени правила, которое обеспечивает пользователям доступ в Web. В меню для этого правила должен появиться новый пункт: Configure HTTP. С его помощью можно определить дополнительные HTTP-фильтры для входящих и исходящих запросов сети. В первый раз при выборе Configure HTTP на экране появляется диалоговое окно Configure HTTP policy for rule с пятью вкладками.

Пять основных разделов HTTP-политики, примененной к правилу, соответствуют вкладкам: общий, методы (например, GET/POST), расширения файлов, заголовки и сигнатуры.

Применяемые настройки внутри HTTP-политики специфичны для индивидуального правила Allow сервера ISA. Благодаря этому можно создать различные наборы HTTP-фильтров на основе правил брандмауэра. Например, кому-то из пользователей, но не всем можно разрешить загружать выполняемые файлы.

Чтобы фильтровать Web-страницы, содержащие строку 18 U.S.C. 2257, требуется выбрать вкладку Signatures в диалоговом окне Configure HTTP policy for rule. На этой вкладке можно выполнить сложную фильтрацию строк и подписей в HTTP-запросах и ответах. Естественно, поначалу диалоговое окно — пустое, и разрешено прохождение всего трафика. Следует щелкнуть на кнопке Add, чтобы ввести в это диалоговое окно контент, например добавить новую сигнатуру (экран 3).

Экран 3. Ввод сигнатуры

Чтобы отыскать в Web-странице конкретную строку, следует выбрать для поиска область Response body, а затем ввести искомый текст в пространство Signature. Поэтому, если ISA Server обнаружит такую строку в HTTP-ответе (в границах байтового диапазона) Web-сервера, страница будет блокирована. По умолчанию байтовый диапазон начинается с 1 и кончается 100. Бывает полезно увеличить верхнюю границу диапазона. Однако просмотр больших фрагментов запрошенной страницы приводит к падению производительности, поэтому необходимо взвесить преимущества и плату за них. Как показано на экране 3, установлена верхняя граница 4096 байт.

Если пользователь (сознательно или случайно) обращается к странице, содержащей запрещенную сигнатуру, то в браузере появляется сообщение об ошибке The page cannot be displayed. В разделе Technical Information в нижней части страницы ошибки объясняется, что HTTP-фильтр отверг запрос к целевому Web-узлу.

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

Фильтрация по ключевым словам в теле HTML-страницы — полезный метод, который повышает безопасность компании, но один из самых эффективных способов применения HTTP-сигнатур — блокировать вредный программный код, встроенный в Web-страницы, напрямую сопоставляя сигнатуру.

Пример вредного кода, который требуется блокировать, — download.ject. Эта угроза распространяется по браузерам, посылая некорректные данные в заголовках ответа на HTTP-запрос (не в теле самой страницы), которые затем обрабатываются компьютером, обратившимся к соответствующей странице.

Томас Шиндер, специалист по ISA Server и Web-мастер сайта ISAserver.org, опубликовал статью, в которой объясняется, как настроить HTTP-фильтр ISA Server, чтобы обнаружить и блокировать опасный программный код, встроенный в HTTP-ответ. В рамках метода создается сигнатура на основе заголовков ответа (не тела), а в качестве сопоставляемой сигнатуры вводится C: (экран 4).

Экран 4. Сигнатура HTTP для обнаружения download.ject

Авторы вредных программ продолжают нацеливать свои атаки на порт 80 (Code Red I и Code Red II — примеры атак через порт 80), так как почти каждая компания должна разрешить трафик через порт 80. Типичные брандмауэры с проверкой на соответствие заданным условиям просто принимают положительное или отрицательное решение на основании адресов и портов, но фильтры прикладного уровня, такие как ISA Server, могут работать на прикладном уровне и защищать компанию на основе кода, встроенного в HTTP-запросы и ответы.

Блокирование загружаемых файлов по типу файла

Рассмотрим другой режим HTTP-фильтрации, полезный для многих администраторов: блокирование загружаемых файлов по типу файла (расширению). В диалоговом окне Configure HTTP policy for rule следует перейти на вкладку Extensions (экран 5).

Экран 5. Фильтрация HTTP по расширению файла

В этом диалоговом окне можно указать любое число расширений файлов, которые следует разрешить или блокировать. Например, если политика безопасности указывает, что пользователи должны загружать только документы, то можно установить режим Specify the action taken for file extensions, чтобы разрешить лишь указанные расширения и внести в эту страницу разрешенные типы (например, .doc, .xls, .ppt, .pdf, .rtf, .txt).

На экране 5 показан противоположный подход. Пользователи, находящиеся под прикрытием ISA Server, могут загружать файлы любых типов, кроме явно блокированных: нескольких типов выполняемых файлов (.exe, .pif, .scr) и .zip-файлов. После того как правило вступит в действие, любая попытка загрузить файл с одним из указанных расширений приводит к сообщению об ошибке, в котором объясняется, почему запрос отвергнут HTTP-фильтром.

Ниже перечислены широко распространенные типы файлов, которые многие компании фильтруют с использованием почтового сервера или Web-proxy фильтра, такого как ISA Server. Многие из этих типов файлов полезно задействовать в HTTP-фильтре, применяемом к трафику рядовых пользователей. У администратора будет меньше проблем, если он запретит пользователям загружать сомнительный контент и будет пресекать уловки, применяемые для обмана браузера.

Настоятельно рекомендуется блокировать вложенные файлы со следующими расширениями: .com, .bat, .chm, .cmd, .eml, .dll., .exe, .js, .msi, .pif, .scr, .shs, .vb, and .vbs. Желательно также блокировать вложенные файлы со следующими расширениями: .asx, .ade, .adp, .bas, .bin, .cpl, .crt, .hiv, .hlp, .hta, .inf, .ins, .isp, .jse, .jtd, .mht, .msc, .msp, .mst, .nws, .ocx, .oft, .ovl, .pcd, .pl, .plx, .sct, .sh, .shb, .sys, .vbe, .vss, .vst, .vxd, .wsc, .wsf и .wsh.

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

Дуглас Тумбс - редактор Windows IT Pro и автор книги Keeping Your Business Safe from Attack: Monitoring and Managing Your Network Security (издательство Windows IT Pro eBooks). help@toombs.us