Проблемы с маршрутизаторами с фильтрацией пакетов
Маршрутизаторы с фильтрацией пакетов имеют ряд недостатков, описанных в [Chap92]. Правила фильтрации пакетов сложно формулируются и обычно нет средств для тестирования их корректности( кроме как ручное тестирование). У некоторых маршрутизаторов нет средств протоколирования, поэтому если правила фильтрации пакетов все-таки позволят опасным пакетам пройти маршрутизатора, такие пакеты не смогут быть выявлены до обнаружения проникновения.
Часто требуется сделать исключения из правил, чтобы разрешить определенные виды доступа, которые обычно блокируются. Но исключения из правил фильтрации иногда могут сделать правила фильтрации такими сложными, что они станут неконтролируемыми. Например, достаточно просто написать правило для блокирования всех входящих соединений к порту 23( серверу TELNETa). Если же делаются исключения, то есть если с некоторыми системами сети разрешается иметь прямые соединения по TELNET, то должно быть добавлено правило для каждой такой системы. Иногда добавление определенных правил может усложнить всю схему фильтрации. Как было уже сказано, тестирование сложного набора правил на их корректность может оказаться очень трудным.
Некоторые маршрутизаторы с фильтрацией пакетов не фильтруют по порту TCP/UDP отправителя, что может сделать набор правил фильтрации очень сложным и создать "дыры" в схеме фильтрации. [Chap92] описывает подобные проблемы с сетями, в которых были разрешены входящие и исходящие SMTP-соединения . Согласно пункту 1.2.5, TCP-соединения имеют порт отправителя и порт получателя. Если система инициирует SMTP-соединение с сервером, портом источника будет случайно выбранный порт с номером больше 1024, а портом получателя будет будет порт с номером 25, порт, который слушает сервер SMTP. Сервер будет возвращать пакеты с номером порта отправителя 25, и номером порта получателя, равным случайно выбранному клиентом номеру порта. Если в сети разрешены входящие и исходящие SMTP-соединения, то маршрутизатор должен разрешать соединения с портами отправителя и получателя, большими 1023, в обоих направлениях. Если маршрутизатор может фильтровать по порту отправителя, он может блокировать все пакеты, входящие в сеть организации, у которых порт получателя больше 1023, а порт отправителя не равен 25. Если он не может фильтровать пакеты по порту отправителя, маршрутизатор должен разрешить соединения, которые используют порты отправителя и получателя больше 1024. Пользователи иногда могут специально запустить сервера на портах, больших 1023, и обходить таким образом политику фильтрации( то есть обычно сервер telnet в системе слушает порт 23, но может быть сконфигурирован так, что будет слушать вместо этого порт 9876; и пользователи в Интернете смогут организовать telnet-сеанс с этим сервером даже, если маршрутизатор блокирует соединения с портом назначения 23).