Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции.docx
Скачиваний:
797
Добавлен:
10.05.2015
Размер:
378.13 Кб
Скачать

Классификация мэ

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

  • Мостовые МЭ

  • пакетные фильтры;

  • шлюзы уровня соединения (circuit-level gateway);

  • шлюзы прикладного уровня (application-level gateway);

Последние два типа МЭ используют технологию «Proxy», которая предусматривает наличие «посредника» между двумя взаимодействующими узлами.

Пакетные ф ильтры

Процесс фильтрации пакетов основан на проверке содержимого их заголовков.

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

Пакетный фильтр iptables в ОС Linux

Ядро ОС Linux имеет встроенные возможности фильтрации пакетов, а утилита, облегчающая процесс настройки, называется iptables (ядра версий 2.4.x). Структура пакетного фильтра iptables изображена на рисунке: Цепочка фильтрации -  это список правил. Вот функции цепочек фильтрации:

  • цепочка InPUT занимается фильтрацией пакетов, адресованных данному узлу

  • цепочка OUTPUT занимается фильтрацией пакетов, сгенерированных данным узлом

  • цепочка FORWARD занимается фильтрацией пакетов, проходящих транзитом.

Более подробно схема работы цепочек фильтрации при прохождении транзитного трафика приведена на следующем рисунке:

Кроме этого, имеются модули трансляции адресов. До маршрутизации срабатывает цепочка PREROUTInG, а после маршрутизации -  POSTROUTInG. В этих цепочках, кроме обычных правил фильтрации, могут присутствовать правила трансляции адресов.

Краткое описание каждой цепочки приведено в таблице:

Достоинства и недостатки пакетных фильтров

Достоинства пакетных фильтров:

  • Низкая стоимость

  • Прозрачность для приложений

  • Небольшая задержка прохождения пакетов

Недостатки пакетных фильтров:

  • «Открытость» (маршрутизируемое^) внутренней сети

  • Сложность конфигурирования правил фильтрации

  • Отсутствие дополнительных механизмов защиты (аутентификация и т. д.)

  • «Статичность», отсутствие контроля соединения

Иллюстрация статичности пакетных фильтров

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

Следующий пример, иллюстрирует этот основной недостаток пакетных фильтров. Если правила разрешают обращение по протоколу UDP из внутренней сети, то для нарушителя достаточно задать «правильный» порт источника, чтобы подключиться на порты 1024 и выше. С протоколом TCP ситуация в целом лучше, чем с UDP, но проблема остаётся. Например, правила в следующей таблице обеспечивают возможность отправки почты с помощью внешнего SMTP-сервера. При этом соединения разрешены только изнутри, но прохождение ответов с 25-го порта (с любого внешнего узла) разрешено, даже если не было запроса. Таким образом, нарушитель может посылать большое количество ответов, создавая тем самым ситуацию бесполезного расходования вычислительных ресурсов. Практическая реализация этой идеи -  троянец, клиентская часть которого подключается к серверной, используя только АСК-пакеты (http://www.ntsecurity.nu/toolbox/ackcmd/). Поскольку пакетный фильтр блокирует подключения к узлу, основываясь только на наличии флага SYN в заголовке, АСК-пакеты будут пропускаться.

Шлюзы уровня соединения

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

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

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

Для шлюзов уровня соединения, как правило, требуется установка на клиенте специального программного обеспечения, но это не всегда так. Главная особенность посредников уровня соединения -  статичность, т. е. они устанавливают соединение, основываясь исключительно на правилах политики безопасности, а не на особенностях конкретной службы. Например, если правила фильтрации разрешают ftp-соединение, то такой посредник всегда будет ретранслировать трафик на порт 20 (ftp-data), даже если отсутствует управляющее соединение (порт 21, ftp-control).

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

Примерами шлюзов уровня соединения могут служить узлы, использующие протокол SOCKS и узлы, осуществляющие трансляцию адресов (NAT).

Шлюзы прикладного уровня

Шлюзы прикладного уровня (application-level proxy), часто называемые ргоху-серверами, контролируют и фильтруют информацию на прикладном уровне модели OSI. Они различаются по поддерживаемым протоколам прикладного уровня. Наиболее часто  поддерживаются службы Web (HTTP), FTP, SMTP, POP3/IMAP, NNTP, Gopher, Telnet, DNS, RealAudio/RealVideo.

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

Для внешнего сервера посредник выступает в качестве клиента HTTP, а для внутреннего клиента — в качестве сервера HTTP. Аналогично посредник может работать и в случае внешнего клиента и внутреннего сервера. Работа посредников прикладного уровня основана на типе протокола прикладного уровня, в отличие от шлюзов уровня соединения, базирующихся на номерах портов.Кроме того, установление соединения является здесь обязательным требованием.

Яркий пример посредника прикладного уровня — широко известный SQUID.

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

Достоинства шлюза прикладного уровня:

  • Высокая степень контроля соединений за счет проверки содержимого пакетов

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

  • Гибкость правил фильтрации (критериями могут выступать имя пользователя, разрешённые часы работы и т. д.)

Недостатки:

  • Высокая стоимость

  • Отсутствие прозрачности для пользователей

  • Высокие системные требования к узлу

  • Замедление работы

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

Stateful inspection

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

  • Информацию о соединении -  информацию со всех уровней модели.

  • Состояние соединения -  состояние, полученное из предыдущих пакетов.Например, исходящая команда PORT сессии FTP могла бы быть запомнена для последующей проверки встречного входящего соединения FTP data.

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

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

Stateful Inspection -  технология нового поколения, удовлетворяет всем требованиям к безопасности, приведенным выше.

Технология инспекции пакетов с учетом состояния протокола на сегодня является наиболее передовым методом контроля трафика (она разработана и запатентована компанией Check Point Software Technologies).

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

Основываясь на технологии инспекции пакетов с учетом состояния протокола, МЭ обеспечивает наивысший уровень безопасности. Метод stateful inspection обеспечивает сбор информации из пакетов данных, как коммуникационного, так и прикладного уровня, что достигается сохранением и накоплением ее в специальных контекстных таблицах, которые динамически обновляются. Такой подход обеспечивает максимально возможный уровень безопасности, контролируя соединения на уровнях от 3 до 7 сетевой модели OSI, тогда как proxy посредники могут контролировать соединения только на 5 - 7 уровнях.

Обработка нового соединения при этом осуществляется следующим образом: После того как соединение занесено в таблицу, обработка последующих пакетов этого соединения происходит на основе анализа таблиц.

Метод stateful inspection обеспечивает контроль не только на уровне соединения, но и на прикладном уровне.