Коммутаторы Коммутаторы среднего и старшего уровня позволяют привязывать MAC-адреса сетевых карт компьютеров к определенным портам коммутатора. Немало коммутаторов предоставляет возможность фильтрации информации на основе адреса сетевой платы отправителя или получателя, создавая при этом виртуальные сети (VLAN). Другие коммутаторы позволяют организовать VLAN на уровне портов самого коммутатора. Таким образом, коммутатор может выступать в качестве межсетевого экрана канального уровня.
Однако, подделать адрес сетевой платы обычно не составляет труда (многие платы Ethernet позволяют программно менять или добавлять адреса канального уровня), и такой подход к защите является недостаточно надежным.
Сетевые фильтры Сетевые фильтры работают на сетевом уровне иерархии OSI (см. Рис. 1). Сетевой фильтр представляет собой маршрутизатор, обрабатывающий пакеты на основании информации, содержащейся в заголовках пакетов. Сетевые фильтры существуют для сетей TCP/IP и IPX/SPX.
При обработке пакетов ими учитывается следующая информация:
IP-адрес отправителя;
IP-адрес получателя;
протокол (TCP, UDP, ICMP);
номер программного порта отправителя;
номер программного порта получателя.
Администратор на основе этой информации задает правила, в соответствии с которыми пакеты будут либо пропускаться через фильтр, либо отбрасываться им. Сетевой фильтр позволяет реализовать различные схемы обмена данными между компьютерами корпоративной сети и Internet. Примеры схем обмена данными:
все компьютеры корпоративной сети имеют возможность общаться с внешними серверами Web и ftp, но не с telnet, NNTP и т. д.;
доступ извне запрещен ко всем компьютерам корпоративной сети, кроме доступа к серверу A по протоколу HTTP и к серверу B по протоколу ftp; кроме того, внешнему компьютеру Z разрешается доступ к внутреннему серверу C и к любым службам TCP и UDP, но не ICMP.
Рис. 1. Общая схема работы сетевых фильтров Сетевые фильтры очень легко реализовать, поэтому они получили повсеместное распространение и представлены программно-аппаратными и чисто программными реализациями. В частности, маршрутизаторы некоторых производителей снабжены функциями сетевой фильтрации. Большинство программных сетевых фильтров представляет собой бесплатные или условно-бесплатные утилиты. В сетевых фильтрах в основном используется статическая фильтрация, когда администратору приходится создавать свой фильтр для каждого уникального типа пакета, требующего обработки. Рассмотрим это на примере.Допустим, всем компьютерам по умолчанию запрещен доступ в Internet. Однако компьютеру Z (IP-адрес 123.45.67.89) необходим доступ к внешнему серверу A (IP-адрес 211.111.111.111), предоставляющему сервис telnet. В данном случае администратор должен задать два правила: пропустить пакет, если он передается со стороны сетевого интерфейса внутренней сети на сетевой интерфейс внешней сети и имеет параметры: IP-адрес отправителя 123.45.67.89, IP-адрес получателя 211.111.111.111, протокол транспортного уровня TCP, программный порт отправителя больше 6000, программный порт получателя 23;
пропустить пакет, если он передается со стороны сетевого интерфейса внешней сети на сетевой интерфейс внутренней сети и имеет параметры: IP-адрес отправителя 211.111.111.111, IP-адрес получателя 123.45.67.89, протокол транспортного уровня TCP, программный порт отправителя 23, программный порт получателя более 6000.
Таким образом, для каждого канала обмена данными необходимо задавать два правила (фильтра); в случае многоканальных соединений (например, для сервиса ftp) количество правил соответственно увеличивается. Для большой сети список правил достигает очень внушительных размеров.
Поскольку при получении каждого пакета сетевой фильтр просматривает таблицу правил в последовательном порядке, каждое новое правило уменьшает общую производительность маршрутизатора.
Сетевые фильтры имеют ряд недостатков, таких как:
сложность их администрирования
слабая защищенность от атак.
Прежде всего, идентификация отправителя производится только на основании IP-адреса. Однако с помощью подмены IP-адресов (IP-spoofing) злоумышленник без особых усилий может обойти такую преграду. Кроме того, за уполномоченный компьютер может в принципе сесть человек, не имеющий права работать с сервером. Сетевой фильтр не может отслеживать работу сетевых приложений, и вообще он не контролирует содержимое пакетов транспортного, сеансового и прикладного уровня. Поэтому наличие сетевого фильтра не оградит корпоративную сеть от атак по типу SYN-flooding, от атак, связанных с фрагментацией пакетов, и от вторжений через сервисы прикладного уровня. Основным (помимо цены и простоты реализации) достоинством сетевых фильтров является их очень высокая производительность, более высокая, чем у межсетевых экранов сеансового и прикладного уровня. Несмотря на серьезные недостатки, сетевой фильтр является неотъемлемой частью любого межсетевого экрана экспертного класса. Однако он представляет собой всего лишь одну из его составных частей, поскольку работает в сочетании со шлюзом более высокого уровня иерархии OSI. В такой схеме сетевой фильтр препятствует прямому общению между внутренней и внешней сетью (кроме заранее определенных компьютеров). Вся же основная фильтрация, но уже на вышестоящих уровнях OSI, организуется шлюзом соответствующего уровня или инспектором состояния.