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

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

Фильтрующий маршрутизатор обычно может фильтровать IP-пакеты на основе группы следующих полей заголовка пакета:

· IP-адреса отправителя (адреса системы, которая послала пакет);

· IP-адреса получателя (адреса системы, которая принимает пакет);

· порта отправителя (порта соединения в системе-отправителе);

· порта получателя (порта соединения в системе-получателе).

Порт – это программное понятие, которое используется клиентом или сервером для посылки или приема сообщений. Идентифицируется 16-битовым числом.

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

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

Добавление фильтрации по портам TCP и UDP к фильтрации по IP-адресам обеспечивает большую гибкость. Известно, что такие серверы, как Telnet, обычно связаны с конкретными портами (например, порт 23 протокола Telnet). Если межсетевой экран способен блокировать соединения TCP или UDP с определенными портами или от них, то можно реализовать политику безопасности, при которой некоторые виды соединений устанавливаются лишь с конкретными компьютерами.

Например, внутренняя сеть может блокировать все входные соединения со всеми компьютерами за исключением нескольких систем. Для этих систем могут быть разрешены только определенные сервисы (SMTP для одной системы и Telnet или FTP – для другой). При фильтрации по портам TCP и UDP подобная политика может быть реализована фильтрующим маршрутизатором или компьютером с возможностью фильтрации пакетов (рис. 11.1).

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

Соединения Telnet разрешаются только с одним компьютером с адресом 123.4.5.6, который может быть прикладным Telnet-шлюзом, а SMTP-соединения – только с двумя компьютерами с адресами 123.4.5.7 и 123.4.5.8, которые могут быть двумя шлюзами электронной почты.

Обмен по NNTP (Network News Transfer Protocol) разрешается только от сервера новостей с адресом 129.6.48.254 и только с NNTP-сервером сети с адресом 123.4.5.9, а протокол NTP (сетевого времени) – для всех компьютеров.

Все другие серверы и пакеты блокируются.

Соответствующий набор правил сведен в табл. 11.1.

Таблица 11.1

Правила фильтрации

Тип

протокола

Адрес отправителя

Адрес получателя

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

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

Действие

TCP

*

123.4.5.6

>1023

23

Разрешить

TCP

*

123.4.5.7

>1023

25

Разрешить

TCP

*

123.4.5.8

>1023

25

Разрешить

TCP

129.6.48.254

123.4.5.9

>1023

119

Разрешить

UDP

*

123.4.*.*

>1023

123

Разрешить

*

*

*

*

*

Запретить

Первое правило (табл. 11.1) позволяет пропускать пакеты TCP из сети Internet от любого источника с номером порта большим, чем 1023, к получателю с адресом 123.4.5.6 в порт 23. Порт 23 связан с сервером Telnet, а все клиенты Telnet должны иметь непривилегированные порты с номерами не ниже 1024.

Второе и третье правила работают аналогично и разрешают передачу пакетов к получателям с адресами 123.4.5.7 и 123.4.5.8 в порт 25, используемый SMTP.

Четвертое правило пропускает пакеты к NNTP-серверу сети, но только от отправителя с адресом 129.6.48.254 к получателю с адресом 123.4.5.9 с портом назначения 119 (129.6.48.254 – единственный NNTP-сервер, от которого внутренняя сеть получает новости, поэтому доступ к сети для выполнения протокола NNTP ограничен только этой системой).

Пятое правило разрешает трафик NTP, который использует протокол UDP вместо TCP, от любого источника к любому получателю внутренней сети.

Наконец, шестое правило блокирует все остальные пакеты. Если бы этого правила не было, маршрутизатор мог бы блокировать или не блокировать другие типы пакетов.

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

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

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

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

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

· сравнительно невысокую стоимость;

· гибкость в определении правил фильтрации;

· небольшую задержку при прохождении пакетов.

Недостатками фильтрующих маршрутизаторов являются:

· внутренняя сеть видна (маршрутизируется) из сети Internet;

· правила фильтрации пакетов трудны в описании и требуют очень хороших знаний технологий TCP и UDP;

· при нарушении работоспособности межсетевого экрана с фильтрацией пакетов все компьютеры за ним становятся полностью незащищенными либо недоступными;

· аутентификацию с использованием IP-адреса можно обмануть путем подмены IP-адреса (атакующая система выдает себя за другую систему, используя ее IP-адрес);

· отсутствует аутентификация на пользовательском уровне.