Настройка HTTP-фильтра ISA Server 2006
В этой статье я дам вам общий обзор HTTP-фильтра ISA Server 2006. Я покажу, как использовать этот HTTP-фильтр для защиты вашей внутренней сети от некоторых типов атак в сценариях публикации на веб-сервере. Мы также увидим, как запретить пользователям использовать универсальный протокол обхода брандмауэра (HTTP) для обхода брандмауэра для сетевого трафика, такого как Microsoft Live Messenger, Yahoo Messenger или других, которые имеют функцию использования HTTP вместо своих собственных протоколов. Чтобы полностью понять концепцию и технологии протокола HTTP, я бы посоветовал прочитать эту статью.
Давайте начнем с некоторых основ веб-фильтра в ISA Server 2006.
Что такое веб-фильтр
Веб-фильтр в ISA Server 2006 представляет собой набор библиотек динамической компоновки (DLL), основанных на модели IIS ISAPI (Internet Server Application Programming Interface).
Веб-фильтр в ISA Server 2006 загружается из фильтра веб-прокси. Если веб-фильтр загружен, вся информация будет перенаправлена в фильтр веб-прокси. Фильтр веб-прокси отвечает за определение того, какие типы событий следует отслеживать. Каждый раз, когда происходят такие события, Webproxy Filter будет уведомлен.
На следующем рисунке показана надстройка HTTP-фильтра из ISA Server 2006.
Функциональность веб-фильтра
Веб-фильтр в ISA Server 2006 отвечает за следующие задачи:
- Сканирование и изменение HTTP-запросов
- Анализ сетевого трафика
- Сканирование и изменение ответов HTTP
- Блокировка определенных HTTP-ответов
- Шифрование и сжатие данных
и многое другое.
Важный:
Фильтр HTTP в ISA Server 2006 зависит от правила, за исключением настройки максимальной длины заголовка. Максимальная длина заголовка одинакова для всех правил брандмауэра с определениями протокола HTTP.
Внимание:
Фильтр HTTP в ISA Server 2006 также способен фильтровать трафик HTTPS, но только в сценариях обратной публикации веб-сервера, где используется мост HTTPS. Если вы хотите использовать проверку исходящего HTTPS через HTTP-фильтр ISA Server 2006, вы должны использовать стороннее программное обеспечение.
Конфигурация HTTP-фильтра
Если вы хотите начать настройку фильтра HTTP, щелкните правой кнопкой мыши правило, содержащее определение протокола HTTP, и выберите в контекстном меню пункт «Настроить HTTP».
Заголовок запроса:
Максимальная длина заголовков (байт):
Максимальная длина заголовка указывает максимальное количество байтов в URL-адресе и заголовке HTTP для HTTP-запроса, пока ISA Server не заблокирует запрос.
Запрос полезной нагрузки:
Максимальная длина полезной нагрузки (байты):
С помощью этого параметра можно ограничить максимальную длину в байтах, которую пользователь может отправить через HTTP POST в сценарии публикации на веб-сервере.
URL-защита:
Максимальная длина URL-адреса (байты): максимальная длина разрешенного URL-адреса.
Максимальная длина запроса (байты): максимальная длина URL-адреса в HTTP-запросе.
Проверить нормализацию
Вы можете установить этот флажок, чтобы указать, что запросы с URL-адресами, содержащими escape-символы, после нормализации будут заблокированы. Нормализация — это процесс, при котором запросы с кодировкой URL будут декодированы. После декодирования URL-адреса URL-адрес будет снова нормализован, чтобы убедиться, что ни один процесс не использует символ % для кодирования URL-адреса. Если HTTP-фильтр обнаружит разницу в URL-адресе после второй нормализации, запросы будут отклонены.
Блокировать символ старшего бита
URL-адреса, содержащие двухбайтовые символы (DBCS) или Latin1, будут заблокированы, если этот параметр активен. Активный параметр регулярно блокирует языки, которым требуется более восьми бит для отображения всех символов, характерных для языка.
Исполняемые файлы
Блокировать ответы, содержащие исполняемый контент Windows. Этот параметр блокирует загрузку и выполнение исполняемого содержимого, такого как EXE-файлы.
Далее мы должны настроить разрешенные или заблокированные методы HTTP.
В этом примере мы блокируем команду HTTP POST, чтобы никто не мог загружать контент на внешние веб-сайты.
Блокировать исполняемые файлы
С помощью этой опции можно заблокировать или разрешить определенные расширения файлов в конкретном правиле брандмауэра.
Блокировать запросы, содержащие неоднозначные расширения
Этот параметр указывает HTTP-фильтру блокировать все расширения файлов, которые ISA Server 2006 не может определить.
В этом примере мы блокируем доступ к файлу с расширением.EXE.
Обработка заголовков HTTP
Когда веб-клиент отправляет запросы на веб-сервер или веб-сервер отвечает на запросы, первой частью ответа является HTTP-запрос или HTTP-ответ. После запроса HTTP или ответа HTTP клиент или сервер отправляет заголовок HTTP. Поле заголовка запроса позволяет клиенту отправлять дополнительную информацию на сервер. Заголовок HTTP содержит информацию о браузере, информацию об операционной системе, сведения об авторизации и многое другое. Заголовок клиента использует атрибут User-Agent, который определяет, какое приложение отвечает за запрос.
С помощью HTTP-фильтра можно заблокировать определенные заголовки HTTP.
Параметры в поле «Заголовок сервера» позволяют администраторам удалить заголовок HTTP из ответа или изменить заголовок HTTP в ответе и некоторые другие параметры.
В следующем примере мы используем функцию заголовка HTTP в ISA Server 2006, чтобы заблокировать Kazaa, информация о котором находится в заголовке запроса.
Сигнатуры HTTP-фильтра
Подпись HTTP может существовать в теле HTTP или в заголовке HTTP. Вы можете использовать подписи HTTP, чтобы запретить выполнение определенных приложений. Чтобы найти конкретную подпись HTTP, вы должны знать, какую подпись использует приложение. В Интернете есть несколько документов, которые могут предоставить вам некоторую информацию о конкретных подписях HTTP, но также можно использовать анализатор сети для определения подписей HTTP. Позже в этой статье я покажу вам, как использовать сетевой сниффер.
Важный:
Фильтрация подписей HTTP в ISA Server 2006 работает, только если запросы и ответы имеют кодировку UTF-8.
В следующем примере мы блокируем доступ для протокола Windows Live Messenger.
Если вы хотите узнать больше о подписях приложений, нажмите здесь.
Важный:
ISA Server 2006 проверяет только первые 100 байт тела запроса и ответа. Можно увеличить максимальное количество байтов, но это может привести к некоторому снижению производительности Сервера.
Сообщение об ошибке HTTP, если фильтр HTTP блокирует некоторый контент
Как обнаружить определенные заголовки HTTP
Чтобы определить неизвестные вам подписи HTTP, можно использовать анализатор сети, такой как Windows Netmon 3.0, для отслеживания сетевого трафика HTTP.
На следующем рисунке показан пример вывода трассировки сети из Microsoft Netmon 2.0, но вы можете использовать любой другой сетевой монитор, например Wireshark (бывший Ethereal).
В этом примере показаны тип запроса (GET), заголовок HTTP-запроса (HTTP/1.1), агент пользователя (Mozilla/4.0) и подпись (MSIE 6.0).
HTTPFILTERCONFIG.VBS
Вы можете использовать HTTPFILTERCONFIG.VBS из каталога C:PROGRAMMEMICROSOFT ISA SERVER 2006 SDKSDKSAMPLESADMIN из ISA Server 2006 SDK для импорта и экспорта конфигураций HTTP-фильтра.
Вывод
В этой статье я попытался показать вам, как работает HTTP-фильтр ISA Server 2006. Фильтр HTTP в ISA Server 2006 — отличный инструмент для блокировки опасного содержимого для защиты от вредоносного кода, троянов и червей. Вы также можете использовать фильтр HTTP для блокировки определенных подписей HTTP. Блокировка этих подписей помогает администраторам блокировать некоторые типы приложений, таких как Windows Live Messenger, которые можно туннелировать через HTTP, если обычный протокол заблокирован ограничениями брандмауэра.