3. Технология и классификация МЭ

Данном разделе будет рассмотрена технология межсетевых экранов - принципы функционирования, классификация, основные характеристики, варианты возможного использования и недостатки МЭ. При этом рассмотрение будет проходить в контексте сертификации и тестирования МЭ.

3.1. Определения

Межсетевой Экран (МЭ)
это локальное (однокомпонентное) или функционально-распределенное программное (программно-аппаратное) средство (комплекс), реализующее контроль за информацией, поступающей в сеть СВТ и/или выходящей из нее. МЭ обеспечивает защиту всех СВТ локальной сети посредством фильтрации информации, т.е. ее анализа по совокупности критериев и принятия решения о ее распространении в (из) локальную сеть СВТ на основе заданных правил, проводя, таким образом, разграничение доступа субъектов из одной сети (локальной или глобальной) к объектам другой сети. Каждое правило запрещает или разрешает передачу информации определенного вида между субъектами и объектами. Как следствие, субъекты из одной сети получают доступ только к разрешенным информационным объектам из другой сети СВТ. Интерпретация набора правил выполняется последовательностью фильтров, которые разрешают или запрещают передачу данных (пакетов) на следующий фильтр или уровень протокола. Межсетевой экран может строиться с помощью экранирующих агентов (посредников уровня соединения или прикладного уровня), которые обеспечивают установление соединения между субъектом и объектом, а затем пересылают информацию, осуществляя контроль и/или регистрацию. Использование экранирующих агентов позволяет предоставить дополнительную защитную функцию - сокрытие от субъекта истинного объекта. В то же время, субъекту кажется, что он непосредственно взаимодействует с объектом. Обычно экран не является симметричным, для него определены понятия "внутри" и "снаружи". При этом задача экранирования формулируется как защита внутренней области от неконтролируемой и потенциально враждебной внешней.
Экранирование (screening)
функция МЭ, позволяющая поддерживать безопасность объектов внутренней области (локальной сети), игнорируя несанкционированные запросы из внешней области. В результате экранирования уменьшается уязвимость внутренних объектов, поскольку первоначально сторонний злоумышленник должен преодолеть экран, где защитные механизмы сконфигурированы особенно тщательно и жестко. Кроме того, экранирующая система, в отличие от универсальной, может и должна быть устроена более простым и, следовательно, более безопасным образом, на ней должны присутствовать только те компоненты, которые необходимые для выполнения функций экранирования. Экранирование дает также возможность контролировать информационные потоки, направленные во внешнюю область, что способствует поддержанию во внутренней области режима конфиденциальности. Помимо функций разграничения доступа, экраны осуществляют регистрацию информационных обменов.
Критерии фильтрации
параметры, атрибуты, характеристики, на основе которых осуществляется разрешение или запрещение дальнейшей передачи пакета (данных) в соответствии с заданными правилами разграничения доступа (правилами фильтрации). В качестве таких параметров могут использоваться служебные поля пакетов (данных), содержащие сетевые адреса, идентификаторы, адреса интерфейсов, портов и другие значимые данные, а также внешние характеристики, например, временные, частотные характеристики, объем данных и т.п.
Правила фильтрации (filtering rules)
перечень условий, по которым с использованием заданных критериев фильтрации осуществляется разрешение или запрещение дальнейшей передачи пакетов (данных) и перечень действий, производимых МЭ по регистрации и/или осуществлению дополнительных защитных функций.
Сетевые адреса (network addresses)
адресные данные, идентифицирующие субъекты и объекты и используемые протоколом сетевого уровня модели международной организации по стандартизации взаимодействия открытых систем (ISO OSI). Сетевой протокол выполняет управление коммуникационными ресурсами, маршрутизацию пакетов, их компоновку для передачи в сети. В этих протоколах решается возможность доступа к подсети, определяется маршрут передачи и осуществляется трансляция сообщения. Управление доступом на сетевом уровне позволяет отклонять нежелательные вызовы и дает возможность различным подсетям управлять использованием ресурсов сетевого уровня. Поэтому, в данных протоколах возможно выполнение требований по защите в части проверки подлинности сетевых ресурсов, источника и приемника данных, принимаемых сообщений, проведения контроля доступа к ресурсам сети.
Трансляция адреса (address translation)
функция МЭ, скрывающая внутренние адреса объектов (субъектов) от внешних субъектов.
Централизованное управление компонентами МЭ
выполнение с одного рабочего места (рабочей станции, узла) всех функций по сопровождению МЭ (его компонент), только со стороны санкционированного администратора, включая инициализацию, останов, восстановление, тестирование, установку и модификацию правил фильтрации данных, параметров регистрации, дополнительных защитных функций и анализ зарегистрированных событий.

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

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

Главный довод в пользу МЭ состоит в том, что без них системы подвергаются опасности со стороны таких заведомо незащищенных служб, как, например, NFS и NIS, а также зондированию и атакам с каких-либо других "доверенных" (trusted) компьютеров внутренней сети. В среде, не имеющей МЭ, безопасность целиком зависит от защиты всех компьютеров, подключенных к сети Интернет. Чем больше подсеть, тем более трудно поддерживать на всех компьютерах одинаковый уровень безопасности. Поскольку ошибки и лазейки в системе безопасности становятся обычным явлением, нарушения возникают не в результате сложных атак, а из-за ошибок в конфигурации и ненадежности паролей.

Подход с использованием МЭ предоставляет многочисленные преимущества, позволяя повысить общий уровень безопасности. Сертификация и тестирование вместе позволяют оценить гарантированный минимальный уровень сетевой безопасности систем сети, защищенной МЭ.

3.2. Достоинства МЭ

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

МЭ может препятствовать получению из защищенной подсети или внедрению в нее информации с помощью любых уязвимых служб, типа NFS.

МЭ также может обеспечить защиту от таких атак, как маршрутизация источника или попытки направить маршруты к скомпрометированным объектам сети через переназначения ICMP (Internet Control Message Protocol). МЭ может (и должен) отвергать все пакеты с маршрутизацией источника или переназначенные ICMP, а затем информировать администратора о попытках нарушения защиты.

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

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

Для некоторых приложений конфиденциальность имеет огромное значение, поскольку информация, считающаяся безобидной, на самом деле может содержать ключи, которыми может воспользоваться нарушитель. Например, обычно с помощью МЭ блокируются (ограничиваются) такие службы, как finger и DNS. Данные, полученные из этих служб, могут быть полезными и для нарушителя, который узнает насколько часто конкретный компьютер используется, список его активных пользователей, и можно ли его атаковать, не привлекая внимания.

Если весь доступ к и от сети Интернет осуществляется через МЭ, он может регистрировать все попытки доступа и предоставлять необходимую статистику об использовании как внутренних ресурсов извне, так и ресурсов глобальной сети с компьютеров локальной сети. МЭ также может сообщать с помощью соответствующих сигналов тревоги, которые генерируются при обнаружении какой-либо подозрительной сетевой деятельности.

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

МЭ предоставляет средства регламентирования порядка доступа к сети, тогда как без МЭ этот порядок целиком зависит от совместных действий пользователей компьютеров локальной сети.

3.3. Структура и функционирование МЭ

Основными компонентами технологии МЭ являются:

Рассмотрим их подробнее.

3.3.1. Сетевая политика безопасности

Существует два уровня сетевой политики безопасности, непосредственно влияющих на разработку, установку и использование МЭ. Политика более высокого уровня (принцип работы) определяет те службы, использование которых будет разрешено или явно исключено, как эти службы будут использоваться, и возможные исключения из этих правил. Политика более низкого уровня (режим доступа к службам) описывает, как фактически МЭ будет осуществлять фильтрацию и ограничение доступа к службам, определенным в политике более высокого уровня.

Принцип работы определяет наличие или отсутствие доступа к службам. Эти принципы нельзя разрабатывать без учета возможностей и ограничений, присущих конкретному МЭ, а также угроз, связанных с TCP/IP. Обычно МЭ реализует одну из двух основных политик: разрешено все, что не запрещено, или запрещено все, что не разрешено.

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

Первая политика менее предпочтительна, поскольку при ее реализации возникает больше путей для обхода МЭ, например, пользователи могут получать доступ к новым службам, которые политика в данный момент еще не запрещает, или реализовать запрещенные службы в нестандартных портах TCP/UDP, не запрещенных этой политикой. Некоторые службы, такие как XWindow, FTP, Archie и RPC нелегко отфильтровать и они лучше согласовываются с МЭ, реализующим первую политику. Вторая политика сильнее и надежнее, однако, она труднее для реализации, и пользователи могут столкнуться с тем, что им труднее осуществить доступ к некоторым службам.

Политика нижнего уровня состоит из описания порядка доступа к службам сети Интернет, а также касается ограничения внешнего доступа к сети (с помощью PPP, SLIP, dial-in доступ). Эта политика должна быть расширением общей организационной политики защиты информационных ресурсов. Для успешной работы МЭ политика доступа к службам должна быть безопасной, регламентированной и реалистичной.

Следует отметить, что при тестировании и сертификации конкретного МЭ проверяется качество (т.е. надежность, гарантированный уровень защиты) поддерживаемой МЭ политики безопасности.

3.3.2. Усиленная аутентификация

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

При аутентификации используется, как правило, принцип, основанный на "знаниях" - пользователь знает некоторое секретное слово (парольную фразу), которое он посылает серверу аутентификации в ответ на его запрос. Одной из схем аутентификации является использование стандартных UNIX-паролей. Эта схема является наиболее уязвимой с точки зрения безопасности - пароль может быть перехвачен и использован другим лицом. Чаще всего используются схемы с применением одноразовых паролей на основе. Даже будучи перехваченным, этот пароль будет бесполезен при следующей регистрации, а получение следующего пароля из предыдущего является вычислительно трудноразрешимой задачей. Для генерации одноразовых паролей используются как программные, так и аппаратные генераторы, представляющие собой устройства, вставляемые в слот компьютера. Знание секретного слова-пароля необходимо пользователю для приведения этого устройства в действие.

Ряд МЭ поддерживает систему Kerberos - один из наиболее распространенных методов аутентификации. Некоторые схемы требуют изменения клиентского программного обеспечения - шаг, который далеко не всегда приемлем. Как правило, все коммерческие МЭ поддерживают несколько различных схем, позволяя администратору сделать наиболее удобный для конкретных условий выбор. Одной из наиболее простых систем, не требующих дополнительных затрат на оборудование, но в то же время обеспечивающих хороший уровень защиты, является S/Key.

Кроме аутентификации с помощью одноразовых паролей все большее количество МЭ поддерживают режим аутентификации с помощью специальных интеллектуальных карт, предназначенных именно для цели аутентификации пользователя (например, с помощью карточек SecurID фирмы SecurDynamics).

3.3.3. Централизованное управление

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

3.3.4. Подсистема сбора статистики и предупреждения об атаке

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

При сертификации конкретного МЭ тестирование данной подсистемы заключается в проверке полноты и качества сбора статистики, а также в проверке генерации предупреждений для всех известных типов атак.

3.3.5. Простая фильтрация пакетов

Простая фильтрация пакетов - возможность некоторых МЭ по блокированию (уничтожению) пакетов, попадающих на МЭ, по заданному критерию на основе данных, содержащихся в заголовках пакетов и текущих параметров окружающей среды. Дополнительной возможностью являются: модификация некоторых полей в заголовках пакетов, трансляция адресов и номеров портов, протоколирование и ведение статистики, немедленное уведомление администратора о появлении пакетов, которые блокируются фильтром. Конструктивной особенностью простых фильтров пакетов является отсутствие памяти состояния соединения, т.е. они не являются в полном смысле протокольными автоматами. Простая фильтрация пакетов действует только на сетевом уровне. В качестве данных из заголовков IP-пакетов для фильтрации могут использоваться (в порядке убывания значимости):

  • цифровой адрес компьютера-источника,
  • цифровой адрес компьютера-приемника,
  • тип протокола транспортного уровня,
  • порт источника TCP/UDP,
  • порт приемника TCP/UDP,
  • дополнительные параметры TCP/UDP,
  • длина IP-пакета,
  • дополнительные параметры IP-пакета.

Параметрами окружающей среды, которые могут использоваться для фильтрации, являются:

  • интерфейс контроля,
  • направление передачи пакета, и
  • текущее время.

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

Однако злоумышленник может подменить свой адрес (из внешней сети) адресом внутренней сети, таким образом, делая невозможной надежную фильтрацию на основе только цифровых адресов, если необходимо запретить доступ к отдельным компьютерам извне, разрешив к ним доступ для внутренних пользователей. Поэтому очень необходимым параметром фильтрации является направление пакета: входящий во внутреннюю сеть или исходящий из нее.

Данные об интерфейсе при фильтрации необходимы, если СВТ содержит более двух сетевых интерфейсов, или если СВТ не имеет собственного сетевого адреса и содержит два сетевых интерфейса (как, например, маршрутизатор, физически разделяющий сеть на два сегмента и передающий пакеты между ними).

Текущее время может использоваться для запрещения доступа к некоторым ресурсам организации в нерабочее время и выходные дни. Кроме того, возможно запрещение доступа внешних пользователей в часы наибольшей загрузки локальной сети.

Длина IP-пакета может использоваться для блокирования слишком длинных пакетов, получение которых компьютером-приемником может привести к выведению последнего из строя ("зависанию" или перезагрузке).

Тип протокола транспортного уровня (TCP, UDP или ICMP) используется для более качественной фильтрации - можно блокировать весь ICMP-трафик, заблокировав тем самым атаки маршрутизации источника и ей аналогичные. Типы TCP и UDP совместно с номерами портов источника и приемника используются для блокирования доступа к отдельным службам на отдельных компьютерах. Следует отметить, что эффективную защиту службы можно организовать, только если данная служба имеет конкретный фиксированный порт, в противном случае приходиться полностью блокировать доступ к компьютеру, что зачастую неприемлемо.

Используя дополнительные параметры IP-пакета и TCP/UDP-заголовка, можно, например, запретить фрагментацию и сделать соответствующие атаки неэффективными. Некоторые пакетные фильтры предоставляют возможность изменения указанных параметров с той же целью.

Важной дополнительной возможностью МЭ на основе простой фильтрации пакетов является трансляция сетевых адресов и портов (network address & port translation) или изменение реальных адресов компьютеров внутренней сети на вымышленные (виртуальные), причем несколько (или все) реальных внутренних адресов могут транслироваться в один сетевой адрес (с изменением номеров портов). Кроме аспектов, связанных с аспектами защиты, данная возможность может использоваться в случае, если количество компьютеров, подключенных к сети Интернет, в организации больше, чем количество сетевых адресов, официально выделенных данной организации.

Рассмотрим метод задания политики фильтрации и принцип функционирования устройства, реализующего простую фильтрацию пакетов. Политика фильтрации задается с помощью упорядоченного набора правил. Каждое правило состоит из условия срабатывания правила и, собственно, действия. При получении очередного IP-пакета начинается просмотр всех правил. Правила просматриваются последовательно, начиная с первого. Просмотр правил заканчивается в случае нахождения первого правила, у которого выполняется условие его срабатывания, либо когда просмотрены все правила. Под условием срабатывания правила понимается совпадение всех контролируемых параметров, перечисленных ранее, с указанными в данном правиле, причем обычно в правиле можно задавать диапазон значений конкретных параметров (с помощью знаков '-', '?' и '*'). Комплексное действие правила состоит из действия по разрешению или блокированию пакета (с уведомлением об этом отправителя пакета или без него), действия по трансляции адреса и номера порта, действия по изменению дополнительных параметров TCP/UDP/IP-заголовка, действия по учету пакета (ведение статистики) и действия по возможному немедленному информированию администратора безопасности. Если подходящее правило не было найдено, то используется политика по умолчанию - либо разрешено все, что не запрещено, либо запрещено все, что не разрешено. На рисунке 3 приводится модель функционирования простого фильтра пакетов.

Рис.3 Модель функционирования простого фильтра

К положительным качествам простой пакетной фильтрации (по сравнению с другими методами фильтрации) следует отнести следующие:

  • относительно невысокая стоимость;
  • гибкость в определении правил фильтрации;
  • "прозрачность" связи;
  • небольшая задержка при прохождении пакетов.

Недостатки у простой фильтрации пакетов следующие:

  • локальная сеть видна (маршрутизируется) из сети Интернет;
  • не учитывается содержимое IP-пакетов;
  • правила фильтрации пакетов трудны в описании;
  • не учитывается состояние соединения транспортного и прикладного уровней;
  • при нарушении работоспособности МЭ все компьютеры за ним становятся полностью незащищенными либо недоступными;
  • аутентификацию с использованием IP-адреса (внешней сети) можно обмануть подменой адреса;
  • отсутствует аутентификация на пользовательском уровне.

3.3.6. Посредник уровня соединения

Посредник (транспортного) уровня соединения (circuit-level proxy) - это подсистема МЭ, осуществляющая посреднические услуги по передаче данных на уровне соединения TCP двумя компьютерами в сети. Посредничество заключается в том, что связь между двумя компьютерами физически осуществляется через систему-посредника и реально состоит из двух TCP-соединений. Весь процесс связи состоит из следующих шагов:

  1. компьютер-инициатор начинает процесс установки TCP-соединения с посредником;
  2. посредник проверяет допустимость установления связи компьютером-инициатором;
  3. посредник протоколирует попытку установки связи и/или уведомляет о ней администратора безопасности;
  4. если связь недопустима, то посредник завершает процесс связи, иначе процесс продолжается;
  5. посредник устанавливает TCP-соединение с компьютером-адресатом;
  6. посредник завершает установление связи с компьютером-инициатором;
  7. посредник копирует (пересылает) данные из одного соединения в другое в обоих направлениях и, возможно, протоколирует пересылаемые данные;
  8. посредник завершает процесс связи по требованию одной из сторон или по собственной инициативе;
  9. посредник протоколирует причину завершения связи, а также записывает статистическую информацию о состоявшемся сеансе связи.

Следует отметить, что компьютер-инициатор не передает посреднику имя компьютера-адресата - его цифровой адрес и номер TCP-порта фиксированы для конкретного посредника и известны. Из этого замечания следует, что, во-первых, связь через посредника осуществляется от многих к одному, а, во-вторых, посредники уровня соединения используются только для организации безопасного соединения от внешних компьютеров (удаленных рабочих станций) к внутреннему компьютеру (серверу поддержки локальной сети или информационному серверу). Тем не менее, возможен случай, когда компьютеров-адресатов будет несколько - случай применения техники "зеркального отображения" сервера. При этом посредник, поддерживающий этот случай, перед установлением связи с адресатом должен выбрать конкретный компьютер из нескольких идентичных. Алгоритм выбора может быть одним из следующих (или их комбинацией):

  • циклический выбор;
  • случайный выбор;
  • выбор наиболее доступного (с минимальным временем ответа на ping-запрос);
  • выбор с минимальным временем ответа на запрос установления связи;
  • выбор наименее загруженного (с минимальной текущей загрузкой процессора).

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

Проверка допустимости связи выполняется посредником непосредственно после запроса на соединение компьютером-инициатором и может основываться на данных из пакета-запроса на соединение, данных окружающей среды и статистических данных. В качестве данных пакета-запроса на соединение могут использоваться (в порядке убывания значимости):

  • IP-адрес компьютера-инициатора,
  • начальный номер (SYN) пакета TCP-соединения, и
  • дополнительные параметры TCP-соединения.

Возможными используемыми данными окружающей среды являются (в порядке убывания значимости):

  • ответ DNS-сервера на запрос о символьном имени компьютера-инициатора,
  • сетевой интерфейс контроля,
  • текущее время запроса соединения, и
  • текущее количество соединений с компьютером-адресатом (от компьютера-инициатора, от сети компьютера-инициатора, общее число и т.п.) через посредника.

Статистические данные (обновляемые после каждой попытки соединения) - это:

  • частота запроса соединений от данного компьютера-инициатора,
  • отношение количества отвергнутых запросов к общему числу запросов,
  • типичный объем и характер пересылаемых по TCP-соединению данных.

Наиболее важными из перечисленных выше являются IP-адрес компьютера-инициатора и ответ DNS-сервера, содержащий символьное имя (если таковое имеется) компьютера-инициатора, и текущее время запроса соединения. По цифровому адресу компьютера можно запретить доступ (или разрешить доступ только) для компьютеров из определенных сетей, а по символьному адресу - для компьютеров без имен или с именами, содержащими определенные символы или их последовательности, а также для компьютеров из определенных доменов. Текущее время используется для блокирования доступа к защищаемому сервису сети в нерабочее время или в периоды наиболее высокой сетевой активности внутренних пользователей.

Следует отметить, что и при передаче данных соединения возможен контроль некоторых параметров в целях улучшения защиты и качества соединения:

  • длительность соединения,
  • скорость передачи данных,
  • текущие параметры окна TCP-соединения, и
  • большое количество ошибок передачи данных.

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

Рассмотрим метод задания политики фильтрации и принцип функционирования части устройства, реализующей определение допустимости соединения. Политика фильтрации задается с помощью упорядоченного набора правил. Каждое правило состоит из условия срабатывания правила и, собственно, действия. При получении очередного запроса на соединение начинается просмотр всех правил. Правила просматриваются последовательно, начиная с первого. Просмотр правил заканчивается в случае нахождения первого правила, у которого выполняется условие его срабатывания, либо когда просмотрены все правила. Под условием срабатывания правила понимается совпадение всех контролируемых параметров, перечисленных ранее, с указанными в данном правиле, причем обычно в правиле можно задавать диапазон значений конкретных параметров (с помощью знаков '-', '?' и '*'). Комплексное действие правила состоит из действия по разрешению или запрещению данного соединения (с уведомлением об этом компьютера-инициатора или без него), условий передачи данных и завершения соединения по инициативе посредника (на основе параметров, контролируемых во время передачи данных), действия по учету попытки соединения (протоколирование и ведение статистики) и действия по возможному немедленному информированию администратора безопасности. Если подходящее правило не было найдено, то используется политика по умолчанию - соединение запрещается, а соответствующая попытка установления связи протоколируется. На рисунке 4 приводится полная модель функционирования (одноканального) посредника уровня соединения.

Рис.4 Модель функционирования посредника уровня соединения

К преимуществам посредников уровня соединения (по сравнению с другими методами фильтрации) следует отнести следующие:

  • локальная сеть может быть сделана невидимой из глобальной сети;
  • при нарушении работоспособности посредника пакеты обычно перестают проходить через него, тем самым не возникает угрозы для защищаемых им серверов;
  • наличие (элементарной) аутентификации компьютера-инициатора соединения по его символьному имени;
  • использование политики "запрещено все, что не разрешено";
  • способность гибкого регулирования (ограничения) пропускной способности;
  • возможность эффективного противостояния атакам с неправильной фрагментацией пакетов соединения;
  • возможность противостояния атакам с использованием протокола ICMP;
  • возможность использования статистической информации о соединениях для определения неоднократных попыток соединения злоумышленником и автоматического блокирования его действий;
  • возможность "прозрачного" использования для повышения надежности техники "зеркального отображения";
  • достаточно высокая пропускная способность (после установления связи).

Недостатками посредников этого типа являются:

  • видимость (и уязвимость) посредника из внешней сети;
  • отсутствие аутентификации пользователя;
  • нет фильтрации пересылаемых данных (нет фильтрации на прикладном уровне);
  • нет защиты целостности и конфиденциальности передаваемых данных;
  • возможность подмены злоумышленником IP-адреса компьютера-инициатора;
  • возможность подмены во время связи аутентифицированного компьютера-инициатора;
  • трудность фильтрации при отсутствии у сервиса фиксированного номера порта;
  • "непрозрачность" связи;
  • невозможность использования протокола UDP;
  • более высокая, чем у простых пакетных фильтров стоимость.

3.3.7. Посредник прикладного уровня

Посредник прикладного уровня (application proxy) - это подсистема МЭ, осуществляющая посреднические услуги по передаче данных и команд прикладного уровня двумя компьютерами в сети. Посредничество заключается в том, что связь между двумя компьютерами физически осуществляется через систему-посредника и реально состоит из двух соединений прикладного уровня. Весь процесс связи состоит из следующих шагов:

  1. компьютер-инициатор устанавливает соединение прикладного уровня с посредником;
  2. посредник аутентифицирует компьютер-инициатор и пользователя;
  3. компьютер-инициатор пересылает посреднику имя компьютера-адресата;
  4. посредник проверяет допустимость данной связи;
  5. посредник протоколирует попытку установки связи и уведомляет о ней администратора безопасности;
  6. если связь недопустима, то посредник завершает процесс связи, иначе процесс продолжается;
  7. посредник устанавливает соединение прикладного уровня с компьютером-адресатом;
  8. посредник пересылает данные и команды из одного соединения в другое в обоих направлениях, фильтруя их (перекодируя данные, организуя кэширование и т.п.), и протоколирует попытки выполнения неразрешенных команд;
  9. посредник завершает процесс связи по требованию одной из сторон или по собственной инициативе;
  10. посредник протоколирует причину завершения связи, а также записывает статистическую информацию о состоявшемся сеансе связи.

Следует отметить, что в общих чертах принцип работы посредника прикладного уровня такой же как и у посредника уровня соединения, однако функционирование на более высоком уровне и возможность поддержки специальных безопасных протоколов (SSH, SSL, S/MIME, SOCKS и др.) позволяют организовывать более качественную защиту внутренней сети с использованием посредников данного типа. Далее будут рассмотрены наиболее характерные отличия посредников прикладного уровня от посредников уровня соединения.

Прежде всего, необходимо отметить, что в отличие от посредника уровня соединения, ориентированного на один-единственный протокол TCP, посредников прикладного уровня существует много - под каждый протокол прикладного (и сеансового) уровня. Каждый посредник допускает и защищает только тот протокол, который он поддерживает (тем самым реализуется политика "запрещено все, что не разрешено"). Наиболее популярные поддерживаемые посредниками протоколы можно разделить на следующие группы:

  • гипертекстовые протоколы - HTTP, SHTTP, HTTPS, Gopher;
  • протокол пересылки файлов - FTP;
  • почтовые протоколы - SMTP, POP3, IMAP, NNTP;
  • протоколы удаленного доступа - Telnet, rlogin, rsh, rexec, RPC, XWindow;
  • протокол сетевой файловой системы - NFS, NetBEUI;
  • протокол службы имен - DNS;
  • "безопасные" протоколы сеансового уровня - SSH, SSL, S/MIME, SOCKS.

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

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

Способ реализации схемы усиленной аутентификации компьютера-инициатора и пользователя зависит от используемого протокола, поддержка посредником (и компьютером-инициатором) "безопасного" протокола позволяют не только увеличить надежность аутентификации, но и унифицировать процесс аутентификации.

Следует также отметить, что компьютер-инициатор в начале сеанса связи передает посреднику имя компьютера-адресата и запрашиваемого сервиса (в общем случае - URL), т.е. связь с через посредника может осуществляется от многих ко многим. Способ передачи этого имени зависит от используемого протокола. Здесь же может передаваться и имя пользователя, с правами которого будет осуществляться доступ.

Также возможен случай применения техники "зеркального отображения" сервера для повышения надежности. При этом посредник, поддерживающий этот случай, перед установлением связи с адресатом должен выбрать конкретный компьютер из нескольких идентичных, а алгоритм выбора должен работать так, чтобы один и тот же пользователь попадали на один и тот же "реальный" компьютер-сервер во время всех сеансов связи, т.к. сервер может хранить контекст каждого пользователя.

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

К преимуществам посредников прикладного уровня (по сравнению с другими методами фильтрации) следует отнести следующие:

  • локальная сеть может быть сделана невидимой из глобальной сети;
  • при нарушении работоспособности посредника пакеты обычно перестают проходить через него, тем самым не возникает угрозы для защищаемых им серверов;
  • возможность усиленной аутентификации компьютера-инициатора и пользователя;
  • использование политики "запрещено все, что не разрешено";
  • возможность использования посредника как для защиты внутренних серверов, так и для защиты внутренних рабочих станций;
  • способность гибкого регулирования (ограничения) пропускной способности;
  • возможность защиты от подмены во время связи аутентифицированного компьютера-инициатора;
  • возможность использования статистической информации о соединениях для определения неоднократных попыток соединения злоумышленником и автоматического блокирования его действий;
  • защита на уровне приложений позволяет осуществлять большое количество дополнительных проверок, снижая тем самым вероятность атаки с использованием "дыр" в конкретном программном обеспечении;
  • возможна защита целостности и конфиденциальности передаваемых данных и команд;
  • фильтрация пересылаемых команд и данных;
  • возможность "прозрачного" использования техники "зеркального отображения";
  • большая гибкость в протоколировании передаваемых команд и данных;
  • возможность кэширования данных.

Недостатками посредников этого типа являются:

  • видимость (и уязвимость) посредника из внешней сети;
  • необходимость в существовании нескольких посредников для разных сервисов;
  • трудность фильтрации при отсутствии у сервиса фиксированного номера порта;
  • низкая пропускная способность;
  • "непрозрачность" связи;
  • высокая стоимость (суммарная для всех необходимых посредников).

3.3.8. Пакетная фильтрация инспекционного типа

Пакетная фильтрация инспекционного типа (packet state-full inspection) - способность некоторых МЭ по блокированию (уничтожению) и изменению пакетов, проходящих через МЭ, по заданному критерию на основе данных, содержащихся в этих пакетах, данных контекстов соединений транспортного, сеансового и прикладного уровней, текущих параметров окружающей среды и статистических данных.

Технология фильтрации пакетов инспекционного (или экспертного) типа сочетает в себе элементы всех трех описанных выше технологий. Как и простая фильтрация пакетов, фильтрация инспекционного типа работает на сетевом уровне модели OSI, фильтруя входящие и исходящие пакеты на основе проверки IP-адресов и номеров портов и т.п. Фильтры пакетов инспекционного типа также выполняют функции посредника уровня соединения, определяя, относятся ли пакеты к соответствующему сеансу связи. И, наконец, фильтры инспекционного типа берут на себя функции многих посредников прикладного уровня (одновременно), оценивая и модифицируя содержимое каждого пакета в соответствии с политикой безопасности, выработанной в конкретной организации.

Как и посредник прикладного уровня, фильтр пакетов инспекционного типа может быть сконфигурирован для блокирования пакетов, содержащих определенные команды, например команду "put" службы FTP. Однако, в отличие от посредников прикладного уровня, при анализе данных прикладного уровня такой фильтр не нарушает модели клиент-сервер взаимодействия в сети - фильтр инспекционного типа допускает прямые соединения между компьютером-инициатором соединения и компьютером-адресатом. Для обеспечения защиты такие фильтры перехватывают и анализируют каждый пакет на прикладном уровне модели OSI. Вместо применения связанных с приложениями программ-посредников, фильтр пакетов инспекционного типа использует специальные алгоритмы распознавания и обработки данных на уровне приложений.

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

3.4. Недостатки, связанные с применением МЭ

Существуют угрозы, которым МЭ не может противостоять, его применение создает определенные трудности.

Наиболее очевидным недостатком МЭ является большая вероятность того, что он может заблокировать некоторые необходимые пользователю службы, такие как Telnet, FTP, XWindow, NFS и т.д. Однако, эти недостатки присущи не только МЭ, доступ к сети может быть ограничен также и на уровне отдельных СВТ, в зависимости от методики обеспечения безопасности сети.

Некоторые объекты могут обладать топологией, не предназначенной для использования МЭ, или использовать службы (сервисы) таким образом, что его использование потребовало бы полной реорганизации локальной сети.

Далее, МЭ не защищают системы локальной сети от проникновения через "люки" (backdoors). Например, если на систему, защищенную МЭ. все же разрешается неограниченный модемный доступ, злоумышленник может с успехом обойти МЭ. Связь через протоколы PPP (Point-to-Point) и SLIP (Serial Line IP) в рамках защищенной подсети является, по существу, еще одним сетевым соединением и потенциальным каналом нападения.

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

Кроме того, есть недостаток МЭ, связанный с низкой пропускной способностью - МЭ представляют собой потенциально узкое место, поскольку все соединения с сетью Интернет должны осуществляться через него и еще подвергаться фильтрации.

Существует также и возможность "общего риска" - в МЭ все средства безопасности сосредоточены в одном месте, а не распределены между системами сети. Компрометация МЭ ведет к нарушению безопасности для других, менее защищенных систем.

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