RFC: 2196
Оригинал: Site Security Handbook
Предыдущие версии: RFC 1244
Категория: Информационный
Дата публикации:
Автор:
Перевод: Семенов Юрий Алексеевич

3.3. Сетевые экраны (Firewalls)

Одной из широко используемых мер безопасности является применение сетевых экранов — firewall. Сетевые экраны считаются панацеей от многих, если не от всех проблем безопасности в Интернет. Но это не так. Сетевые экраны являются лишь инструментом системы безопасности. Они предоставляют определенный уровень защиты и являются вообще средством реализации политики безопасности на сетевом уровне. Уровень безопасности, который предоставляет сетевой экран, может варьироваться в зависимости от требований безопасности конкретной машины. Существует традиционный компромисс между безопасностью, простотой использования, стоимостью, сложностью и т.д. Сетевой экран является одним из нескольких механизмов, используемых для управления и наблюдения за доступом к и из сети с целью ее защиты. Сетевой экран действует как шлюз, через который проходит весь входной и выходной трафик защищенной сети. Сетевые экраны помогают установить ограничения на число и тип коммуникаций, которые осуществляются между защищенной сетью и прочими сетями (например, Интернет или другой частью сети узла).

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

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

Фильтрующие маршрутизаторы представляют собой простейший компонент сетевого экрана. Маршрутизатор передает данные в обоих направлениях между двумя (или более) разными сетями. "Нормальный" маршрутизатор принимает пакет из сети A и "переадресует" его к месту назначения в сети B. Фильтрующий маршрутизатор делает то же самое, но решает не только как маршрутизовать пакет, но также следует ли этот пакет посылать куда-либо вообще. Это делается путем установки ряда фильтров, с помощью которых маршрутизатор решает, что делать конкретно с данным пакетом.

При подготовке маршрутизатора для фильтрации пакетов, важны следующие критерии политики отбора: IP-адреса отправителя и получателя, номера TCP-портов отправителя и получателя, состояние бита TCP "ack", номера UDP-портов отправителя и получателя, и направление передачи пакетов (т.e., A->B или B->A). Другой информацией, необходимой для формирования схемы безопасной фильтрации, является, меняет ли маршрутизатор порядок инструкций фильтрации (с целью оптимизации фильтров, это может иногда изменить значение и привести к непреднамеренному доступу), и можно ли использовать фильтры для входящих и выходящих пакетов на каждом из интерфейсов. Если маршрутизатор фильтрует только выходные пакеты, тогда он является внешним по отношению своих фильтров и может быть более уязвим для атак. Кроме уязвимости маршрутизатора, это различие между фильтрами, используемыми для входных и выходных пакетов, является особенно важным для маршрутизаторов с более чем 2 интерфейсами. Другими важным моментом является возможность создавать фильтры на основе опций IP-заголовка и состояния фрагментов пакета. Формирование хорошего фильтра может быть очень трудным и требовать хорошего понимания типа услуг (протоколов), которые будут фильтроваться.

Для лучшей безопасности, фильтры обычно ограничивают доступ между двумя связанными сетями к лишь одной ЭВМ. Можно получить доступ к другой сети только через эту защищенную машину. Так как только эта ЭВМ, а не несколько сот машин, может быть атакована, легче поддержать определенный уровень безопасности, так как именно эта машина может быть защищена особенно тщательно. Чтобы сделать доступными через этот сетевой экран ресурсы для легальных пользователей услуги должны переадресовываться соответствующим серверам через эту защищенную машину. Некоторые серверы имеют встроенную переадресацию (например, DNS-серверы или SMTP-серверы), для других услуг (например, Telnet, FTP, и т.д.) могут использоваться прокси серверы, чтобы обеспечить доступ к ресурсам безопасным способом через firewall.

Прокси сервер является средством переадресации прикладных услуг через одну машину. Существует обычно одна машина (защищенная ЭВМ), которая действует в качестве прокси сервера для широкого списка протоколов (Telnet, SMTP, FTP, HTTP, и т.д.), но могут быть индивидуальные машины для некоторых видов услуг. Вместо непосредственного соединения с внешним сервером, клиент подключается к прокси серверу, который в свою очередь инициирует соединение с запрашиваемым внешним сервером. В зависимости от используемого прокси сервера можно конфигурировать внутренних клиентов так, чтобы они осуществляли это перенаправление автоматически, без информирования пользователя, другие могут требовать, чтобы пользователь сам подсоединялся к прокси серверу и затем инициировал подключение в рамках специального формата.

Применение прокси сервера предоставляет существенные преимущества в обеспечении безопасности. Имеется возможность добавления списков доступа для протоколов, требующие от пользователей или систем обеспечения определенного уровня аутентификации прежде чем доступ будет предоставлен. Могут быть запрограммированы продвинутые прокси серверы, иногда называемые ALG (Application Layer Gateways), которые ориентированы на определенные протоколы. Например, ALG для FTP может отличать команду "put" от "get"; организация может пожелать разрешить пользователям выполнять "get" для файлов из Интернет, но запретить "put" для локальных файлов на удаленном сервере. Напротив, фильтрующий маршрутизатор может блокировать или нет FTP-доступ, но не может реализовывать частичные запреты. Прокси серверы могут также конфигурироваться для шифрования потоков данных на основе разнообразных параметров. Организация может использовать эту особенность, чтобы разрешить криптографические соединения между двумя узлами, один из которых размещен в Интернет.

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

В настоящее время наилучшим вариантом сетевого экрана считается комбинация двух экранирующих маршрутизаторов и одного или более прокси серверов в сети между маршрутизаторами. Такая схема позволяет внешнему маршрутизатору блокировать любые попытки использования нижележащего IP-уровня для разрушения безопасности (IP-фальсификация, маршрутизация отправителя, фрагменты пакетов), в то же время прокси сервер защищает окна уязвимости на уровне верхних протоколов. Целью внутреннего маршрутизатора является блокировка всего трафика кроме направленного на вход прокси сервера. Если реализована эта схема, может быть обеспечен высокий уровень безопасности.

Большинство сетевых экранов предоставляют систему журналов, которые могут настраиваться, чтобы сделать администрирование безопасности сети более удобным. Система мониторинга может быть централизована, а система сконфигурирована так, чтобы посылать предупреждения при возникновении ненормальной ситуации. Важно регулярно просматривать журнальные файлы при малейшем признаке вторжения или попытки взлома. Так как некоторые атакеры будут пытаться скрыть свои следы путем редактирования журнальных файлов, желательно защитить эти файлы. Существует много способов, включая: драйвы WORM (write once, read many), бумажные журналы и централизованные журнальные файлы, организованные через утилиту "syslog". Еще одним методом является использование "фальшивого" последовательного принтера, где последовательный порт соединен с изолированной машиной, где хранятся журнальные файлы.

Существуют сетевые экраны в широком диапазоне качества и мощности. Цена коммерческого варианта начинается примерно с $10,000US и достигает $250,000US. "Самодельные" сетевые экраны могут быть построены за меньшую сумму. Следует учитывать, что правильная конфигурация сетевого экрана (коммерческого или самодельного) требует определенного мастерства и знания TCP/IP. Оба типа требуют регулярного обслуживания, установки пакетов обновления и корректировки программ и непрерывного контроля. При оценке бюджета сетевого экрана, эти дополнительные издержки должны также учитываться наряду с аппаратной частью сетевого экрана.

Сетевые экраны могут оказать помощь при обеспечении безопасности узла, они защищают от большого числа атак. Но важно иметь в виду, что они являются лишь частью решения. Они не могут защитить ваш узел от всех типов атак.

2007 - 2017 © Русские переводы RFC, IETF, ISOC.