Особенности межсетевого экранирования
Брандмауэры поддерживают безопасность межсетевого взаимодействия на различных уровнях модели OSI. При этом функции защиты, выполняемые на разных уровнях эталонной модели, существенно отличаются друг от друга. Поэтому комплексный межсетевой экран удобно представить в виде совокупности неделимых экранов, каждый из которых ориентирован на отдельный уровень модели OSI. Чаще всего комплексный экран функционирует на сетевом, сеансовом и прикладном уровнях эталонной модели. Соответственно различают такие неделимые брандмауэры, как
· экранирующий маршрутизатор, работающий на третьем, сетевом уровне эталонной моделиOSI;
· экранирующий транспорт (шлюз сеансового уровня), работающий на пятом, сеансовом уровне модели OSI;
· экранирующий шлюз (шлюз прикладного уровня), работающий на седьмом, прикладном уровне модели OSI.
Учитывая, что используемые всетях протоколы (TCP/IP, SPX/IPX) не однозначно соответствуют модели OSI, то экраны перечисленных типов при выполнении своих функций могут охватывать и соседние уровни эталонной модели. Например, прикладной экран может осуществлять автоматическое шифрование сообщений при их передаче во внешнюю сеть, а также автоматическое расшифровывание криптографически закрытых принимаемых данных. В этом случае такой экран функционирует не только на прикладном уровне модели OSI, но и на уровне представления данных (шестой уровень). Шлюз сеансового уровня при своем функционировании охватывает транспортный и сетевой уровни модели OSI. Экранирующий маршрутизатор при анализе пакетов сообщений проверяет их заголовки не только сетевого, но и транспортного уровня.
Межсетевые экраны каждого из типов имеют свои достоинства и недостатки. Многие из используемых брандмауэров являются либо прикладными шлюзами, либо экранирующими маршрутизаторами, не поддерживая полную безопасность межсетевого взаимодействия. Надежную же защиту обеспечивают только комплексные межсетевые экраны, каждый из который объединяет экранирующий маршрутизатор, шлюз сеансового уровня, а также прикладной шлюз.
Экранирующий маршрутизатор
Экранирующий маршрутизатор, называемый еще пакетным фильтром, предназначен для фильтрации пакетов сообщений и обеспечивает прозрачное взаимодействие между внутренней и внешней сетями. Он функционирует на сетевом уровне модели OSI, но для выполнения своих отдельных функций может охватывать и транспортный уровень эталонной модели. Решение о том, пропустить или отбраковать данные, принимается для каждого пакета независимо на основе заданных правил фильтрации. Для принятия решения анализируются заголовки пакетов сетевого и транспортного уровней. В качестве анализируемых полей IP- и TCP (UDP)-заголовков каждого пакета выступают:
- адрес отправителя;
- адрес получателя;
- тип пакета;
- флаг фрагментации пакета;
- номер порта источника;
- номер порта получателя.
Первые четыре параметра относятся к IP-заголовку пакета, а следующие к TCP- или UDP-заголовку. Адреса отправителя и получателя являются IP-адресами. Эти адреса заполняются при формировании пакета и остаются неизменными при передаче по по сети. Поле типа пакета содержит код протокола ICMP, соответствующего сетевому уровню, либо код протокола транспортного уровня (TCP или UDP), к которому относится анализируемый IP-пакет. Флаг фрагментации пакета определяет наличие или отсутствие фрагментации IP-пакетов. Если флаг фрагментации для анализируемого пакета установлен, то данный пакет является подпакетом фрагментированного IP-пакета. Номера портов источника и получателя добавляются драйвером TCP или UDP к каждому отправляемому пакету сообщения и однозначно идентифицируют приложение-отправитель, а также приложение, для которого предназначен пакет. Например, при использовании протокола передачи файлов FTP реализация данного протокола на сервере по умолчанию получает номер TCP-порта 21. Каждый Telnet-сервер по умолчанию имеет ТСР-порт 23. Для возможности фильтрации пакетов по номерам портов необходимо знание принятых в сети соглашений относительно выделения номеров портов протоколам высокого уровня. При обработке каждого пакета экранирующий маршрутизатор последовательно просматривает заданную таблицу правил, пока не найдет правила, с которым согласуется полная ассоциация пакета. Здесь под ассоциацией понимается совокупность параметров, указанных в заголовках данного пакета. Если экранирующий маршрутизатор получил пакет, не соответствующий ни одному из табличных правил, он применяет правило, заданное по умолчанию.Из соображений безопасности это правило обычно указывает на необходимость отбраковки всех пакетов, не удовлетворяющих ни одному из других правил.
В качестве пакетного фильтра может использоваться как обычный маршрутизатор, так и работающая на сервере программа, сконфигурированные таким образом, чтобы фильтровать входящие и исходящие пакеты. Современные маршрутизаторы, например, маршрутизирующие устройства компаний Bay Networks и Cisco, позволяют связывать с каждым портом несколько десятков правил и фильтровать пакеты как на входе, так и на выходе.
К достоинствам экранирующих маршрутизаторов относятся:
- простота самого экрана, а также процедур его конфигурирования и установки;
-прозрачность для программных приложений и минимальное влияние на производительность сети;
- низкая стоимость, обусловленная тем, что любой маршрутизатор в той или иной степени представляет возможность фильтрации пакетов.
Однако экранирующие маршрутизаторы не обеспечивают высокой степени безопасности, так как проверяют только заголовки пакетов и не поддерживают многие необходимые функции защиты, например, аутентификацию конечных узлов, криптографическое закрытие пакетов сообщений, а также проверку их целостности и подлинности. Экранирующие маршрутизаторы уязвимы для таких распространенных сетевых атак, как подделка исходных адресов и несанкционированное изменение содержимого пакетов сообщений. "Обмануть" межсетевые экраны данного типа не составляет труда — достаточно сформировать заголовки пакетов, которые удовлетворяют разрешающим правилам фильтрации.
Шлюз сеансового уровня
Шлюз сеансового уровня, называемый еще экранирующим транспортом, предназначен еще для контроля виртуальных соединений и трансляции IP-адресов при взаимодействии с внешней сетью. Он функционирует на сеансовом уровне модели OSI, охватывая в процессе своей работы также транспортный и сетевой уровни эталонной модели. Защитные функции экранирующего транспорта относятся к функциям посредничества. Защитные функции экранирующего транспорта относятся к функциям посредничества.
Контроль виртуальных соединений заключается в контроле квитирования связи, а также контроле передачи информации по установленным виртуальным каналам. При контроле квитирования связи шлюз сеансового уровня следит за установлением виртуального соединения между рабочей станцией внутренней сети и компьютером внешней сети, определяя, является ли запрашиваемый сеанс связи допустимым. Такой контроль основывается на информации, содержащейся в заголовках пакетов сеансового уровня протоколаTCP. Однако, если пакетный фильтр при анализе TCP-заголовков проверяет только номера портов источника и получателя, то экранирующий транспорт анализирует другие поля, относящиеся к процессу квитирования связи.
Чтобы определить, является ли запрос на сеанс связи допустимым, шлюз сеансового уровня выполняет следующие действия. Когда рабочая станция (клиент) запрашивает связь с внешней сетью, шлюз принимает этот запрос, проверяя, удовлетворяет ли он базовым критериям фильтрации, например, может ли DNS-сервер определить IP-адрес клиента и ассоциированное с ним имя. Затем, действуя от имени клиента, шлюз устанавливает соединение с компьютером внешней сети и следит за выполнением процедуры квитирования связи по протоколуTCP. Эта процедура состоит из обмена TCP-пакетами, которые помечаются флагами SYN (синхронизировать) и АСК (подтвердить)
Первый пакет сеанса TCP, помеченный флагом SYN и содержащий произвольнoe число, например 100, является запросом клиента на открытие сеанса. Компьютер внешней сети, получивший этот пакет, посылает в ответ пакет, помеченный флагом АСК и содержащий число, на единицу большее, чем вк принятом пакете (в нашем случае 101), подтверждая, таким образом, прием пакета SYN от клиента. Кроме того, осуществляя обратную процедуру, компьютер внешней сети посылает также клиенту пакет SYN, но уже с порядковым номером байта передаваемых данных (например, 200), а клиент подтверждает его получение передачей пакета АСК, содержащего число 201. На этом процесс квитирования связи завершается.
Для шлюза сеансового уровня запрошенный сеанс считается допустимым только в том случае, если при выполнении процедуры квитирования связи флаги SYN и АСК, а также числа, содержащиеся и заголовках TCP-пакетов, оказываются логически связанными между собой. После того как шлюз определил, что рабочая станция внутренней сети и компьютер внешней сети являются авторизованными участниками сеанса TCP, и проверил допустимость данного сеанса, он устанавливает соединение. Начиная с этого момента шлюз копирует и перенаправляет пакеты туда и обратно, контролируя передачу информации по установленному виртуальному каналу. Он поддерживает таблицу установленных соединений, пропуская данные, относящиеся к одному из сеансов связи, которые зафиксированы в этой таблице. Когда сеанс завершается, шлюз удаляет соответствующий элемент из таблицы и разрывает цепь, использовавшуюся в данном сеансе.
В процессе контроля передачи информации по виртуальным каналам фильтрация пакетов экранирующим транспортом не осуществляется. Однако шлюз сеансового уровня способен отслеживать количество передаваемой информации и разрывать соединения после превышения определенного предела, препятствуя тем самым несанкционированному экспорту информации. Возможно также накопление регистрационной информации о виртуальных соединениях.
Для контроля виртуальных соединений в шлюзах сеансового уровня используются специальные программы, которые называют канальными посредниками (pipe proxies). Эти посредники устанавливают между внутренней и внешней сетями виртуальные каналы, а затем контролируют передачу по этим каналам пакетов, генерируемых приложениями TCP/IP. Канальные посредники ориентированы на конкретные службы TCP/IP. Поэтому шлюзы сеансового уровня могут использоваться для расширения возможностей шлюзов прикладного уровня, работа которых основывается на программах-посредниках конкретных приложений.
На практике большинство шлюзов сеансового уровня не являются самостоятельными продуктами, а поставляются в комплекте со шлюзами прикладного уровня. Примерами таких шлюзов являются CyberGuard Firewall компании CyberGuard, и Gauntlet Firewall компании Network Associates. CyberGuard Firewall использует канальные посредники с посредниками прикладного уровня для каждой из шести служб TCP/IP, к которым относятся, например, FTP, HTTP (Hype.rText Transport Protocol) и Telnet.
Шлюз сеансового уровня обеспечивает также трансляцию внутренних адресов сетевого уровня (IP-адресов) при взаимодействии с внешней сетью. Трансляция внутренних адресов выполняется по отношению ко всем пакетам, следующим из внутренней сети во внешнюю. Для этих пакетов IP-адреса компьютеров-отправителей внутренней сети автоматически преобразуются в один IP-адрес, ассоциируемый с экранирующим транспортом. В результате все пакеты, исходящие из внутренней сети, оказываются отправленными межсетевым экраном, что исключает прямой контакт между внутренней и внешней сетью. IP-адрес шлюза сеансового уровня становится единственным активным IP-адресом, который попадает во внешнюю сеть.
Трансляция адресов, с одной стороны, вызвана необходимостью усиления защиты путем скрытия от внешних пользователей структуры защищаемой внутренней сети. При трансляции внутренних IP-адресов шлюз сеансового уровня экранирует, то есть заслоняет внутреннюю сеть от внешнего мира. В то же время субъектам внутренней сети кажется, что они напрямую общаются с компьютерами внешней сети. Кроме повышения безопасности трансляция адресов позволяет иметь внутри сети собственную систему адресации, не согласованную с адресацией во внешней сети, например, в сети Internet. Это эффективно решает проблему расширения адресного пространства внутренней сети и дефицита адресов внешней.
С другой стороны, трансляция адресов вызвана тем, что канальные посредники создают новое соединение каждый раз, когда они активизируются. Посредник принимает запрос от рабочей станции внутренней сети и затем инициирует новый запрос к компьютеру внешней сети. Поэтому компьютер внешней сети воспринимает запрос как исходящий от посредника, а не от действительного клиента.
С точки зрения реализации шлюз сеансового уровня представляет собой довольно простую, а значит, надежную программу. Он дополняет экранирующий маршрутизатор функциями контроля виртуальных соединений и трансляции внутренних IP-адресов.
Недостатки у шлюза сеансового уровня те же, что и у экранирующего маршрутизатора — не обеспечивается контроль и защита содержимого пакетов сообщений, не поддерживаются аутентификация пользователей и конечных узлов, а также другие функции защиты локальной сети. Поэтому шлюз сеансового уровня применяют как дополнение к прикладному шлюзу.
Прикладной шлюз
Прикладной шлюз, называемый также экранирующим шлюзом, функционирует на прикладном уровне моделиOSI, охватывая также уровень представления, и обеспечивает наиболее надежную защиту межсетевых взаимодействий. Защитные функции прикладного шлюза, как и экранирующею транспорта, относятся к функциям посредничества. Однако прикладной шлюз, в отличие от шлюза сеансового уровня, может выполнять существенно большее количество функций защиты, к которым относятся следующие:
-идентификация и аутентификация пользователей при попытке установления соединений через брандмауэр;
-проверка подлинности информации, передаваемой через шлюз;
- разграничение доступа к ресурсам внутренней и внешней сетей;
- фильтрация и преобразование потока сообщений, например, динамический поиск вирусов и прозрачное шифрование информации;
- регистрация событий, реагирование на задаваемые события, а также анализ зарегистрированной информации и генерация отчетов;
- кэширование данных, запрашиваемых из внешней сети.
Учитывая, что функции прикладного шлюза относятся к функциям посредничества, он представляет собой универсальный компьютер, на котором функционируют программные посредники (экранирующие агенты) — по одному для каждого обслуживаемого прикладного протокола (HTTP, FTP, SMTP, NNTP и др.).
Посредник каждой службы TCP/IP ориентирован на обработку сообщений и выполнение функций защиты, относящихся именно к этой службе. Так же, как и шлюз сеансового уровня, прикладной шлюз перехватывает с помощью соответствующих экранирующих агентов входящие и исходящие пакеты, копирует и перенаправляет информацию через шлюз, и функционирует в качестве сервера-посредника, исключая прямые соединения между внутренней и внешней сетью. Однако посредники, используемые прикладным шлюзом, имеют важные отличия от канальных посредников шлюзов сеансового уровня. Во-первых, посредники прикладного шлюза связаны с конкретными приложениями (программными серверами), а во-вторых, они могут фильтровать поток сообщений на прикладном уровне модели OSI.
Прикладные шлюзы используют в качестве посредников специально разработанные для этой цели программные серверы конкретных служб TCP/IP — серверы HTTP, FTP, SMTP, NNTP и др. Эти программные серверы функционируют на брандмауэре в резидентном режиме и реализуют функции защиты, относящиеся к соответствующим службам TCP/IP. Трафик UDP обслуживается специальным транслятором содержимого UDP-пакетов.
Как и в случае шлюза сеансового уровня, для связи между рабочей станцией внутренней сети и компьютером внешней сети соответствующий посредник прикладного шлюза образует два соединения: от рабочей станции до брандмауэра и от брандмауэра до места назначения. Но, в отличие от канальных посредников, посредники прикладного шлюза пропускают только пакеты, сгенерированные теми приложениями, которые им поручено обслуживать. Например, программа-посредник службы HTTP может обрабатывать лишь трафик, генерируемый этой службой. Если в сети работает прикладной шлюз, то входящие и исходящие пакеты могут передаваться лишь для тех служб, для которых имеются соответствующие посредники. Так, если прикладной шлюз использует только программы-посредники HTTP, FTP и Telnet, то он будет обрабатывать лишь пакеты, относящиеся к этим службам, блокируя при этом пакеты всех остальных служб.
Фильтрация потоков сообщений реализуется прикладными шлюзами на прикладном уровне модели OSI. Соответственно посредники прикладного шлюза, в отличие от канальных посредников, обеспечивают проверку содержимого обрабатываемых пакетов. Они могут фильтровать отдельные виды команд или информации в сообщениях протоколов прикладного уровня, которые им поручено обслуживать. Например, для службы FTP возможно динамическое обезвреживание компьютерных вирусов в копируемых из внешней сети файлах. Кроме того, посредник данной службы может быть сконфигурирован таким образом, чтобы предотвращать использование клиентами команды PUT, предназначенной для записи файлов на FTP-сервер. Такое ограничение уменьшает риск случайного повреждения хранящейся на FTP сервере информации и снижает вероятность заполнения его гигабайтами ненужных данных.
При настройке прикладного шлюза и описании правил фильтрации сообщений используются такие параметры, как название сервиса, допустимый временной диаазон его использования, ограничения на содержимое сообщений, связанных с данным сервисом, омпьютеры, с которых можно пользоваться сервисом, идентификаторы пользователей, схемы аутентификации.
Шлюз прикладного уровня обладает следующими важными достоинствами:
- за счет возможности выполнения подавляющего большинства функции посредничества обеспечивает наиболее высокий уровень защиты локальной сети;
- защита на уровне приложений позволяет осуществлять большое количество дополнительных проверок, уменьшая тем самым вероятность проведения успешных атак, основанных на недостатках программного обеспечения;
- при нарушении работоспособности прикладного шлюза блокируется сквозное прохождение пакетов между разделяемыми сетями, что не снижает безопасность защищаемой сети в случае возникновения отказов.
Не считая высокой стоимости, к недостаткам прикладного шлюза относятся:
- довольно большая сложность самого брандмауэра, а также процедур его установки и конфигурирования;
- высокие требования к производительности и ресурсоемкости компьютерной платформы;
- отсутствие "прозрачности" для пользователей и снижение пропускной способности при реализации межсетевых взаимодействий.
Последний недостаток рассмотрим более подробно.
Технология функционирования прикладного шлюза основана на использовании посредников, проверяющих подлинность обращающихся к ним клиентов, а также устанавливающих необходимые соединения и выполняющих другие функции защиты межсетевого взаимодействия. Посредники выступают в качестве промежуточного звена передачи пакетов между сервером и клиентом. Вначале устанавливается соединение с посредником, а уже затем посредник принимает решение о том, создавать соединение с адресатом или нет. Соответственно прикладной шлюз в процессе своего функционирования дублирует любое разрешенное соединение. Следствием этого является отсутствие прозрачности для пользователей и дополнительные накладные расходы на обслуживание соединений.
Для устранения этого недостатка фирмы Check Point и ON Technology разработали новую технологию фильтрации пакетов, которую иногда называют фильтрацией экспертного уровня или фильтрацией с контролем состояния соединения (statefull inspection). Фильтрация осуществляется на основе специальных методов многоуровневого анализа состояния пакетов (Stateful Multi-Layer Technique — SMLT). Эта гибридная технология позволяет отслеживать состояние сетевого соединения, перехватывая пакеты на сетевом уровне и извлекая из них информацию прикладного уровня, которая используется для контроля за соединением. Быстрое сравнение проходящих пакетов с известным состоянием (state) "дружественных" пакетов позволяет значительно сократить время обработки по сравнению с брандмауэрами уровня приложений.
Межсетевые экраны, в основу функционирования которых положена описанная технология фильтрации, называют экранами экспертного уровня. Такие брандмауэры сочетают в себе элементы экранирующих маршрутизаторов и прикладных шлюзов. Как и экранирующие маршрутизаторы, они обеспечивают фильтрацию пакетов по содержимому их заголовков сетевого и транспортного уровней модели OSI. Брандмауэры экспертного уровня также выполняют все функции прикладного шлюза, касающиеся фильтрации пакетов на прикладном уровне модели OSI. Они оценивают содержимое каждого пакета в соответствии с заданной политикой безопасности.
Помимо "прозрачности" для пользователей и более высокой скорости обработки информационных потоков к достоинству межсетевых экранов экспертного уровня относится также то, что эти брандмауэры не изменяют IP-адресов проходящих через них пакетов. Это означает, что любой протокол прикладного уровня, использующий IP-адреса, будет корректно работать с этими брандмауэрами без каких-либо изменений или специального программирования. Однако, поскольку данные межсетевые экраны допускают прямое соединение между авторизованным клиентом и компьютером внешней сети, они обеспечивают менее высокий уровень защиты. Поэтому на практике технология фильтрации экспертного уровня используется для повышения эффективности функционирования комплексных межсетевых экранов. Примерами комплексных межсетевых экранов, реализующих технологию фильтрации экспертного уровня, являются брандмауэры FireWall-1 компании Check Point и CyberGuard Firewall компании CyberGuard.
К настоящее время фильтрация экспертного уровня становится одной из функций новых маршрутизаторов. Например, компании Bay Networks и Сheck Point заключили партнерское соглашение с целью переноса разработанной Check Point архитектуры брандмауэра экспертного уровня на маршрутизаторы Bay. Компания Cisco Systems разработала собственную технологию брандмауэра экспертного уровня и реализовала ее в продукте Cisco PIХ FireWall.