Специальная публикация NIST 800-10

       

Фильтрация пакетов


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

  • IP-адрес отправителя
  • IP-адрес получателя
  • TCP/UDP-порт отправителя
  • TCP/UDP-порт получателя

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

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

Добавление фильтрации по портам TCP и UDP к фильтрации по IP-адресам дает большую гибкость. Напомним главу 1, в которой говорилось, что сервера, такие как демон TELNET, связаны обычно с конкретными портами, такими как порт 23 для TELNET. Если брандмауэр может блокировать соединения TCP или UDP к или от определенных портов, то можно реализовать политику, при которой определенные виды соединений могут быть осуществлены только с конкретными хостами, но не с другими. Например, организация может захотеть блокировать все входящие соединения для всех хостов, кроме нескольких систем, входящих в состав брандмауэра. Для этих систем могут быть разрешены только определенные сервисы, такие как SMTP для одной системы, и TELNET или FTP для другой. При фильтрации по портам TCP и UDP эта политика может быть легко реализована маршрутизатором с фильтрацией пакетов или хостом с возможностью фильтрации пакетов.


Рисунок 2. 3 Пример фильтрации пакетов для TELNET и SMTP

Для примера рассмотрим политику, в которой разрешаются только определенные соединения с сетью с адресом 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(сетевого времени) разрешен для всех хостов. Все другие сервисы и пакеты блокируются. Пример набора правил приведен ниже:

Тип Адрес отправителя Адрес получателя Порт источника Порт получателя Действие
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 разрешить
* * * * * запретить
Первое правило позволяет пропускать пакеты TCP из Интернета от любого источника, имеющие порт отправителя больше чем 1023, к адресу 123.4.5.6, если соединение устанавливается с портом 23. Порт 23 - это порт, связанный с сервером TELNETa, а все клиенты 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, от любого источника к любой системе в сети. Наконец, шестое правило блокирует все остальные пакеты - если этого правила не было бы, маршрутизатор мог блокировать, а мог и не блокировать другие тиы пакетов. Это очень простой пример фильтрации пакетов. Настоящие правила позволяют осуществить более сложную фильтрацию и являются более гибкими.


Содержание раздела