- •Технологии межсетевых экранов
- •Развитие технологий межсетевых экранов
- •Фильтрация пакетов
- •Межсетевые экраны уровня соединения
- •It (less than) — меньше чем;
- •Межсетевые экраны прикладного уровня
- •Межсетевые экраны с динамической фильтрацией пакетов
- •Межсетевые экраны инспекции состояний
- •Межсетевые экраны уровня ядра
- •Персональные межсетевые экраны
Фильтрация пакетов
Сначала данная технология применялась на сетевом уровне, поэтому фильтрации подвергались только IP-адреса источника и назначения. В настоящее время анализ сетевого трафика при фильтрации пакетов проводится и на транспортном уровне.
Каждый IP-пакет исследуется на соответствие множеству правил. Эти правила устанавливают разрешение связи по содержанию заголовков сетевого и транспортного уровней модели TCP/IP, анализируется и направление передвижения пакета.
Фильтры пакетов контролируют:
физический интерфейс, откуда пришел пакет;
1Ри (IP-адрес источника);
1Рн (IP-адрес назначения);
тип транспортного уровня (TCP, UDP, ICMP);
транспортные порты источника и назначения.
Схема архитектуры фильтра пакетов приведена на рис. 3.2.
Трансляция сетевых адресов. МЭ, фильтрующий пакеты, часто переадресует сетевые пакеты так, что выходной трафик осуществляется с другими адресами. Такая схема называется схемой трансляции адресов (NAT, Network Address Translation) и описана в RFC 1631.
Применение схемы NAT позволяет, во-первых, спрятать топологию и схему адресации доверенной сети, а во-вторых, использовать внутри организации пул IP-адресов меньшего размера. Схема функционирования трансляции адресов представлена на рис. 3.3.
Различают статическую и динамическую трансляцию адресов. При статической трансляции используется блок внешних адресов, которые назначаются запросам хостов локальной сети. При динамической трансляции все запросы хостов локальной сети имеют один и тот же адрес. Для динамической трансляции используется форма (NAT Overloading), которая ставит в соответствие множеству адресов локальной сети единственный IP-адрес, используя различные номера портов (Port Address Translation, PAT).
Трансляция адресов, кроме скрытия внутренних адресов хостов локальной сети, выполняет важную функцию защиты. Если атакующий направит пакет на хост внутренней сети, то он будет отброшен, так как для него нет соответствующей строки в таблице NAT.
Процесс фильтрации пакетов. При фильтрации пакетов, если пакет удовлетворяет правилам, то он (в зависимости от направления от или к удаленному хосту) перемещается по сетевому стеку для дальнейшей обработки или передачи.
Все входные пакеты проверяются на соответствие заданным правилам фильтрации. Пакет уничтожается или разрешается для перемещения в сетевой стек для доставки. В такой архитектуре применяется ограниченное множество команд для анализа одного или нескольких сетевых протоколов, но она осуществляет анализ в пространстве ядра. Фильтр пакетов не разбирает, какой прикладной протокол будет использоваться. Правила содержат два списка: список запрещения (deny) и список разрешения (permit). Сетевой пакет проходит проверку на оба списка.
Общая схема исследования пакетов:
если правило разрешает, то пакет допускается;
если правило запрещает, то пакет удаляется;
если ни одно правило не применено, то пакет удаляется. Схема обработки пакетов при фильтрации приведена на рис. 3.4. Технология фильтрации пакетов послужила основой создания
различных средств защиты и реализована практически во всех типах маршрутизаторов. Основные достоинства и недостатки данной технологии приведены в табл. 3.1.
Списки контроля доступа. Для реализации процесса фильтрации пакетов применяются правила, называемые списками контроля доступа (Access Control List, ACL или просто Access List, AL).
В качестве примера рассмотрим реализацию фильтров в маршрутизаторах компании Cisco. Маршрутизатор Cisco выполняет фильтрацию пакетов посредством списка управления доступом, которые включены в Cisco Internetwork Operating System (IOS).
Список контроля доступа содержит перечень элементов в заголовках пакетов, которые будут проверяться. Маршрутизаторы Cisco определяют списки доступа как последовательный набор запрещающих и разрешающих условий. Каждый пакет проверяется на соответствие правилам списка. Если пакет соответствует правилу,
то он отбрасывается (если это запрещающее правило) или передается далее (если это правило разрешающее). Если пакет соответствует правилу, то он уже не будет проверяться на соответствие остальным правилам. Поэтому порядок правил в списке доступа играет важную роль.
Существуют несколько типов списков контроля доступа. Простейшей фильтрации пакетов соответствует стандартный список управления доступом. При описании синтаксиса списков управления доступом Cisco значения, указанные в фигурных скобках, являются обязательными, а значения в квадратных скобках — необязательными. Жирным шрифтом будем выделять ключевые слова списка.
Синтаксис стандартного списка контроля управления доступом:
access-list list-number {permit/deny} source {mask} [log]
Здесь list-number — номер данного списка доступа (для стандартных списков допустимы номера с 1 по 99). Ключевое слово permit разрешает прохождение пакета, удовлетворяющего условию, a deny — запрещает прохождение. При удалении пакета посылается сообщение ICMP о недостижимости назначения. Слово source определяет источник (хост или сеть), из которого послан пакет. Источник может быть определен IP-адресом или ключевым словом any. Слово mask определяет биты маски для заданного адреса источника. По умолчанию маска равна 0.0.0.0, она определяет единственный IP-адрес. Чтобы не указывать маску, можно использовать слово host, за которым следует его IP-адрес, например
access-list 15 permit host 192.168.123.45 или с указанием маски:
access-list 15 permit 192.168.123.45 0.0.0.0
Поскольку маска состоит из одних нулей, необходимо проверять каждый бит адреса. Для приведенных правил будет разрешаться только адрес 192.168.123.45 и запрещаться все другие адреса (вследствие подразумеваемого deny в конце списка).
Бит маски, установленный в единицу, означает, что данный бит не должен соответствовать соответствующему биту адреса. Таким образом, маска из всех единиц (255.255.255.255) означает, что не проверяются никакие биты адреса, т.е. разрешается весь трафик. Для облегчения использования случая, когда маска состоит из одних нулей или единиц, используется слово any. В качестве примера рассмотрим случай, когда необходимо запретить доступ хостам, адреса которых находятся в диапазоне от 192.168.10.32 до 192.168.10.63. Маска подсети для этого диапазона будет 255.255.255.224, а маска для фильтрации — 0.0.0.31.
Ключевое слово log вызывает регистрацию события, вызвавшего совпадение с утверждением правила.
Каждый маршрутизатор имеет, как минимум, два интерфейса. Интерфейс, связанный с внутренней сетью, обозначается Ethernet 0, а внешний интерфейс — Serial 0. При наличии большего числа интерфейсов они получают последовательно увеличивающиеся адреса, например Ethernet 0, Ethernet 1.
Приведем правила стандартного списка управления доступом для случая, когда только трафику хостов сети (192.168.20.0) разрешено проходить через маршрутизатор, за исключением хоста 192.168.20.13, хотя он и является хостом данной сети. Строка правила списка доступа, начинающаяся с восклицательного знака, означает комментарий:
access-list 25 deny host 192.168.20.13 ! запрет доступа в защищаемую сеть данному хосту access-list 25 permit 192.168.20.0 0.0.0.255 ! разрешение доступа подсети класса С
Маршрутизаторы Cisco используют идеологию: «то, что не разрешено, запрещено», поэтому в каждом списке доступа последней строкой подразумевается deny. В приведенном примере будет запрещен весь неуказанный трафик. Правила списка контроля доступа обрабатываются последовательно. Поэтому важна последовательность написания правил. В нашем примере изменение порядка строк привело бы к тому, что хост 192.168.20.13 всегда бы имел доступ к внутренней сети, так как второе правило никогда бы не проверялось. Поэтому в списках контроля доступа всегда сначала пишутся утверждения с ключевым словом deny.
Стандартные списки контроля доступа Cisco выполняют функции простой фильтрации, т.е. являются межсетевыми экранами фильтрации пакетов.
