Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Tema_3_4_Mezhsetevye_ekrany

.doc
Скачиваний:
23
Добавлен:
07.02.2015
Размер:
58.88 Кб
Скачать

Тема 3.4 Межсетевые экраны

Внешний контур защиты АС обеспечивается межсетевыми экранами.

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

Устанавливается на один из межсетевых соединителей (маршрутизатор или шлюз). Собственно транспортировка пакетов обеспечивается этим соединителем, экран лишь разрешает или запрещает каждую операцию по пересылке пакетов <- классический подход. Существуют комплексные экраны, выполняющие и функции межсетевого соединителя (обычно шлюза) в рамках одного продукта. Применяются, когда штатные соединители отсутствуют (win9x), либо их функциональность недостаточна. Обычно поддерживаемые дополнительные функциональные возможности: сбор статистики (account), расчет платы за использование ресурсов (billing), агент системы управления, включая СОИБ.

Классификация:

  • Фильтрующие маршрутизаторы

  • Шлюзы сеансового уровня

  • Шлюзы уровня приложений

6.1.Фильтрующие маршрутизаторы

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

Функционирует на сетевом и транспортном уровнях модели OSI. Осуществляет фильтрацию пакетов на основе информации, содержащейся в заголовках пакетов используемых уровней. (Для IP сетей - пакеты протоколов IP, TCP,UDP). Обычно используют следующие поля заголовков:

  1. IP адрес отправителя

  2. IP адрес получателя

  3. Порт отправителя

  4. Порт получателя

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

Для Linux с ядрами весий 2.0.x используется утилита ipfwadm, с ядрами 2.2.x – ipchains, с ядрами 2.4.x - iptables

При конфигурировании вначале задается правила фильтрации пакетов по умолчанию (ipchains –P). Используются 2 возможных подхода:

  • Запретить прохождение всех пакетов( действие DENY – запретить, пакет уничтожается, либо REJECT – отказать пакету в прохождении, пакет уничтожается и отправляется ICMP сообщение об ошибке) – рекомендуется

  • Разрешить прохождение всех пакетов ( действие ACCEPT )

Затем задаются правила фильтрации пакетов (с указанными значениями полей и действиями (-j <действие>) DENY, REJECT, ACCEPT) в виде некоторой цепочки правил. Правила задаются для обрабатываемых входных (input), выходных (output) и маршрутизируемых (forward) пакетов. В последнем случае может также задаваться действие MASQ. Для каждого правила задаются адреса и, возможно, порты отправителя и получателя:

-s <адрес> [<порт>]

-d <адрес> [<порт>]

порт может быть задан виде диапазона: <порт>:<порт>

Может также быть указан протокол (используются имена и номера из ?etc/protocols), к пакетам которого должно применяться правило:

-p <протокол>

и интерфейс: -i <интерфейс>

При необходимости задается протоколирование выполняемого действия в системном журнале(-l).

Задаваемые правила могут добавляться в конец (ipchains –A) или в начало (ipchains –I) цепочки, либо удаляться (ipchains –F)

Пример:

ANYWERE=”any/0”

UNPRIVPORTS=”1024:65535”

ipchains –F

ipchains –P input DENY

ipchains –P output REJECT

ipchains –P forward DENY

ipchains –A input –i $LOOPBACK –j ACCEPT

ipchains –A output –i $LOOPBACK –j ACCEPT

ipchains –A input –i $EXT –p tcp –s $ANYWERE $UNPRIVPORTS \

-d $IPADDR 80 –j ACCEPT

ipchains –A output –i $EXT –p tcp \

-s $IPADDR 80

–d $ANYWERE $UNPRIVPORTS –j ACCEPT

ipchains –A forward –i $EXT –s $LAN1 –j MASQ

Недостатки: информация в заголовках пакетов, используемая МЭ, может быть фальсифицирована (атака типа подмена адреса). Аутентификация принципиально отсутствует. Правила фильтрации пакетов трудны в описании и отладке. Cisco – проверка соответствия MAC и IP адресов (выборочно).

6.2. Шлюзы сеансового уровня

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

Активная сторона Пассивная сторона

  • -----SYN(1000)---->

  • <--ACK(1001), SYN(2000)------

  • -------ACK(2002)--->

Соединение установлено:

<------Данные, ACK ----->

Перед установлением соединения шлюз проверяет, является ли запрашиваемое соединение допустимым:

  • Авторизирован ли клиент

  • Удовлетворяет запрос критериям фильтрации

После установления соединения контроль отсутствует, содержимое передаваемых пакетов не проверяется.

Простейший шлюз реализуется Linux при указании опции –y для задаваемой ipchains цепочки (признак распространения правила на пакеты TCP с установленным битом SYN и сброшенными битами ACK и FIN).

Дополнительно совместно с inetd используют оболочку tcpd. Она запускается вместо сервера сетевой службы, использующего TCP и проверяет, разрешено ли удаленному хосту использование данной службы. При положительном результате проверки запускается сервер, имя которого передается tcpd в качестве параметра. Кроме того, операция протоколируется в системном журнале. Управление доступом осуществляется при помощи списков /etc/hosts.allow(разрешение доступа) и /etc/hosts.deny(запрет доступа).

Каждая запись этих файлов имеет формат:

<список служб>:<список узлов>[:<команда>]

список служб – содержит имена служб из /etc/services или клычеваы слова ALL и EXCEPT (кроме …).

список узлов содержит имена узлов, их IP адреса либо ключевые слова ALL, LOCAL (имя не содержит точки), UNKNOWN (адрес не удалось определить),

PARANOID(имя не удалось преобразовать в IP адрес).

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

Пример hosts.deny:

in.ftpd: ALL EXCEPT LOCAL, .abc.com: \

echo “request from %d@%h” >> /var/log/tcpd.log

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

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

Обеспечивает:

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

  • Возможность фильтрации пакетов протоколов прикладного уровня. Например, для ftp может быть запрещено использование операции put.

  • Возможность прозрачного преобразования потока сообщений. Например, шифрование.

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

  • Возможность кэширования данных, запрашиваемых из внешней сети.

  • Упрощение правил фильтрации маршрутизатора. Он должен пропускать трафик шлюза и блокировать весь остальной.

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

  • относительно низкую производительность

  • высокую сложность и -> стоимость.

  • Отсутствие «прозрачности» для клиентов

В последнее время с целью смягчения указанных недостатков были разработаны комбинированные технологии т.н. фильтрации экспертного уровня (первоначальная разработка фирм Check Point и ON Technology, в настоящее время реализована Bay Networks и Cisco ). Фильтрующий маршрутизатор анализирует проходящие чечрез него пакеты, извлекая из них информацию вплоть до прикладного уровня. Используются методы многоуровнего анализа состояния пакетов SMLT(Statefull Multi-Layer Technique). Состояние (state) проходящих пакетов сравнивается с набором известных состояний, что позволяет обеспечить малое время обработки. Обеспечивают прозрачность для клиентов, поскольку не изменяют IP адресов проходящих через них пакетов. Однако, допуская прямые соединения, обеспечивают меньший уровень защиты. Поэтому практически они используются для повышения эффективности фильтрующих маршрутизаторов.

6.4. Типовые схемы защиты на базе межсетевых экранов.

Обычно требуется иметь в составе сети сегменты с разными уровнями защищенности:

  • Свободно доступный сегмент (Пр.: WEB-сервер)

  • Сегмент с ограниченным доступом(Например, для доступа с удаленных узлов)

  • Закрытый сегмент (внутренняя локальная сеть).

Различные схемы подключения МЭ отличаются наличием или отсутствием таких сегментов и различными схемами доступа к ним.

Схема с единой защитой локальной сети показана на рис. 6.1.

Защищаемая сеть

Внешняя сеть

МЭ

Рис. 6.1. Схема с единой защитой локальной сети.

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

Схема с раздельной защитой закрытого и открытого сегмента показана на рис. 6.2.

Внешняя сеть

МЭ

МЭ

Защищаемая

подсеть

Рис. 6.2. Схема с раздельной защитой закрытого и открытого сегмента сети.

Схема с тремя сегментами показана на рис. 6.3.

Внешняя сеть

МЭ

МЭ

Защищаемая

подсеть

Подсеть с ограниченным доступом

Рис. 6.3. Схема с тремя сегментами