Брандмауэры, или запирайте вашу дверь Original of this document is at Open Systems. Nets #2/97 http://www.osp.ru/nets/nt_2_97/source/88.htm Ё http://www.osp.ru/nets/nt_2_97/source/88.htm
Сети · # 2/97 · стр. 88-99


Такой беззащитный TCP/IP
Что такое брандмауэр?
Брандмауэры с фильтрацией пакетов
Настройка правил
Низкая стоимость и слабая защита?
Шлюзы сеансового уровня
Шлюзы прикладного уровня
Брандмауэры экспертного уровня
Мой дом - моя крепость
Глоссарий
"Врожденные слабости"
Рекомендации специалистов
Встроенные "линии обороны" системы IntranetWare
Новые средства защиты для доступа в Internet компании Novell
Надежные источники

Представьте себе такую ситуацию. Подключившись к системе World Wide Web (WWW), вы обнаруживаете вместо домашней страницы своей компании, цветную фотографию обнаженной дивы или, еще хуже, Адольфа Гитлера в окружении свастик. Наверное, в этом случае первое, что придет вам в голову, будет: "Господи, чем же теперь занимается моя компания?" Однако не торопитесь бежать с этим вопросом к своему шефу - профиль вашей организации не изменился, просто ее Web-узел подвергся нападению очередного вандала, подменившего домашнюю страницу.

Подобные "нападения" достаточно безвредны, другие же, напротив, могут причинить весьма значительный вред вашей компании. Например, хакеры, вторгшиеся в компьютерную систему компании MCI, украли около 50 тыс. номеров кредитных карточек. Компания Digital Equipment Corporation (DEC) сообщает, что ее потери от вторжения одного неизвестного хакера составили несколько миллионов долларов. И что самое неприятное, число подобных "нападений" постоянно растет. По данным финансируемой правительством США организации CERT Coordination Center, число выявленных "взломов" систем защиты в Internet выросло со 130 случаев, зафиксированных в 1990 г., до 2400 в 1995 г.

Такой беззащитный TCP/IP

Подобные нападения возможны (более того, достаточно легко осуществимы) вследствие того, что Internet создавалась как открытая система, предназначенная для свободного обмена информацией. Поэтому совсем не удивительно, что TCP/IP - набор протоколов, который обеспечивает коммуникации в Internet и в получающих все большую популярность интрасетях, - имеет "врожденные" недостатки защиты. То же самое можно сказать и о службах на базе TCP/IP, таких как FTP и Domain Naming System (DNS).

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

Что такое брандмауэр?

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

Брандмауэр является набором компонентов, настроенных таким образом, чтобы реализовать определенную политику контроля внешнего доступа к вашей сети. Обычно брандмауэры защищают внутреннюю сеть компании от "вторжений" из Internet, однако они могут использоваться и для защиты от "нападений", например, из корпоративной интрасети, к которой подключена и ваша сеть. Как и в случае реализации любого другого механизма сетевой защиты, организация, вырабатывающая конкретную политику безопасности, кроме всего прочего, должна определить тип трафика TCP/IP, который будет восприниматься брандмауэром как "авторизованный". Например, необходимо решить, будет ли ограничен доступ пользователей к определенным службам на базе TCP/IP, и если будет, то до какой степени. Выработка политики безопасности поможет понять, какие компоненты брандмауэра вам необходимы и как их сконфигурировать, чтобы обеспечить те ограничения доступа, которые вы задали (см. врезку "Рекомендации специалистов").

Работа всех брандмауэров основана на использовании информации разных уровней модели OSI (таблица 1). Модель OSI, разработанная Международной организацией по стандартизации (International Standards Organization - ISO), определяет семь уровней, на которых компьютерные системы взаимодействуют друг с другом, - начиная с уровня физической среды передачи данных и заканчивая уровнем прикладных программ, используемых для коммуникаций. В общем случае, чем выше уровень модели OSI, на котором брандмауэр фильтрует пакеты, тем выше и обеспечиваемый им уровень защиты.

Таблица 1.
Брандмауэры и модели OSI.

Уровень модели OSI
Протоколы Internet
Категория брандмауэра
Прикладной
Telnet, FTP, DNS, NFS, PING, SMTP, HTTP
Шлюз прикладного уровня, брандмауэр экспертного уровня
Представления данных
Сеансовый
TCP
Шлюз сеансового уровня
Транспортный
TCP
Сетевой
IP
Брандмауэр с фильтрацией пакетов
Канальный
Физический

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

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

Брандмауэры с фильтрацией пакетов

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

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

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

Настройка правил

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

Кроме того, можно сконфигурировать брандмауэр для фильтрации пакетов на основе номеров портов, задаваемых в заголовках пакетов TCP и UDP (User Datagram Protocol). В этом случае можно будет пропускать отдельные виды пакетов (например, Telnet или FTP), только если они направляются к определенным серверам (соответственно к Telnet или FTP). Однако успешное выполнение подобного правила зависит от того, какие соглашения приняты в вашей сети, функционирующей на основе TCP/IP: для работы приложений TCP/IP серверы и клиенты обычно используют конкретные порты (которые часто называют известными, т.е. заранее определенными), однако это не является обязательным условием.

Например, приложение Telnet на серверах сети с TCP/IP обычно работает через порт 23. Чтобы разрешить сеансы Telnet только с определенным сервером, необходимо задать правила, одно из которых "заставит" брандмауэр пропускать все пакеты, запрашивающие порт 23 по адресу 123.45.6.7 (IP-адрес вашего сервера Telnet), а другое - отбраковывать входящие пакеты, запрашивающие этот порт по другим адресам.

Конечно, реальные правила создавать намного сложнее, чем описано выше. Более сложные примеры можно найти, например, в правилах конфигурирования маршрутизаторов компании Cisco, которые доступны через Internet.

Низкая стоимость и слабая защита?

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

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

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

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

Шлюзы сеансового уровня

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

Контроль квитирования связи

Чтобы определить, является ли запрос на сеанс связи допустимым, шлюз сеансового уровня выполняет примерно следующую процедуру. Когда авторизованный клиент запрашивает некоторую услугу, шлюз принимает этот запрос, проверяя, удовлетворяет ли клиент базовым критериям фильтрации (например, может ли DNS-сервер определить IP-адрес клиента и ассоциированное с ним имя). Затем, действуя от имени клиента, шлюз устанавливает соединение с внешним хостом и следит за выполнением процедуры квитирования связи по протоколу TCP. Эта процедура состоит из обмена TCP-пакетами, которые помечаются флагами SYN (синхронизировать) и ACK (подтвердить).

Первый пакет сеанса TCP, помеченный флагом SYN и содержащий произвольное число, например 1000, является запросом клиента на открытие сеанса. Внешний хост, получивший этот пакет, посылает в ответ пакет, помеченный флагом ACK и содержащий число, на единицу большее, чем в принятом пакете (в нашем случае 1001), подтверждая, таким образом, прием пакета SYN от клиента. После этого осуществляется обратная процедура: хост посылает клиенту пакет SYN с исходным числом (например, 2000), а клиент подтверждает его получение передачей пакета ACK, содержащего число 2001. На этом процесс квитирования связи завершается.

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

Канальные посредники

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

Для копирования и перенаправления пакетов в шлюзах сеансового уровня используются специальные приложения, которые иногда называют канальными посредниками (pipe proxies), поскольку они устанавливают между двумя сетями виртуальную цепь, или канал, а затем разрешают пакетам (которые генерируются приложениями TCP/IP) проходить по этому каналу.

Канальные посредники поддерживают несколько служб TCP/IP, поэтому шлюзы сеансового уровня могут использоваться для расширения возможностей шлюзов прикладного уровня, работа которых основывается на программах-посредниках конкретных приложений. В действительности большинство шлюзов сеансового уровня не являются самостоятельными продуктами, а поставляются в комплекте со шлюзами прикладного уровня. Примерами таких шлюзов являются Gauntlet Internet Firewall компании Trusted Information Systems, AltaVista Firewall компании DEC и ANS Interlock компании ANS (таблица 2).

Таблица 2.
Некоторые популярные брандмауэры.

Компания
Продукт
Тип брандмауэра
Web-узел
ANS, Inc
ANS InterLock
Шлюз прикладного уровня*
http://www.ans.net
Check Point Software Technologies, Ltd.
FireWall-1
Брандмауэр экспертного уровня
http://www.checkpoint.com
CyberGuard Corporation
CyberGuard Firewall
Шлюз прикладного уровня
http://www.cyberguardcorp.com
Digital Equipment Corporation (DEC)
AltaVista Firewall
Шлюз прикладного уровня
http://altavista.software. digital.com
Global Internet
Centri Firewall
Шлюз прикладного уровня
http://www.globalinternet.com
Milkyway Networks Corporation
Black Hole
Шлюз прикладного уровня
http://www.milkyway.com
NEC Technologies, Inc.
PrivateNet
Шлюз прикладного уровня
http://www.privatenet.nec.com
ON Technology
ON Guard
Брандмауэр экспертного уровня
http://www.onguard.on.com
Raptor Systems, Inc.
Eagle
Шлюз прикладного уровня
http://www.raptor.com
Secure Computing Corporation
BorderWare Firewall Server, Sidewinder Security Server
Шлюз прикладного уровня
http://www.sctc.com
Trusted Information Systems, Inc.
Gauntlet Internet Firewall
Шлюз прикладного уровня
http://www.tis.com
* Здесь и далее все указанные шлюзы прикладного уровня обеспечивают поддержку шлюзов сеансового уровня для отдельных служб TCP/IP, не защищаемых программами-посредниками приложений.

Например, AltaVista Firewall использует канальные посредники прикладного уровня для каждой из шести служб TCP/IP, к которым относятся, например, FTP, HTTP (HyperText Transport Protocol) и Telnet. Кроме того, брандмауэр компании DEC обеспечивает шлюз сеансового уровня, поддерживающий другие общедоступные службы TCP/IP, такие как Gopher и SMTP (Simple Mail Transfer Protocol), для которых брандмауэр не предоставляет посредников прикладного уровня.

Серверы-посредники

Шлюз сеансового уровня выполняет еще одну важную функцию защиты: он используется в качестве сервера-посредника (proxy server). И хотя этот термин предполагает наличие сервера, на котором работают программы-посредники (что справедливо для шлюза сеансового уровня), в данном случае он означает несколько другое. Сервером-посредником может быть брандмауэр, использующий процедуру трансляции адресов (address translation), при которой происходит преобразование внутренних IP-адресов в один "надежный" IP-адрес. Этот адрес ассоциируется с брандмауэром, из которого передаются все исходящие пакеты.

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

Обходные маневры

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

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

Шлюзы прикладного уровня

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

Посредники приложений

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

Фильтрация на прикладном уровне

В отличие от шлюзов сеансового уровня, которые копируют и "слепо" перенаправляют все поступающие пакеты, посредники прикладного уровня (самого высокого в модели OSI) проверяют содержимое каждого проходящего через шлюз пакета. Эти посредники могут фильтровать отдельные виды команд или информации в протоколах прикладного уровня, которые им поручено обслуживать.

Такие продукты, как Eagle компании Raptor Systems, ANS InterLock компании ANS и Sidewinder Security Server компании Secure Computing Corporation, включают в себя программы-посредники прикладного уровня для служб FTP, HTTP и Telnet. Утилиты этих шлюзов позволяют фильтровать определенные команды, используемые этими службами. Например, можно сконфигурировать шлюз таким образом, чтобы он предотвращал использование клиентами команды FTP Put, которая дает возможность пользователю, подключенному к FTP-серверу, записывать на него информацию. Многие сетевые администраторы предпочитают запретить использование этой команды, чтобы уменьшить риск случайного повреждения хранящейся на FTP-сервере информации и вероятность заполнения его гигабайтами хакерских данных, пересылаемых на сервер для заполнения его дисковой памяти и блокирования работы.

Другие защитные функции

В дополнение к фильтрации пакетов многие шлюзы прикладного уровня регистрируют все выполняемые сервером действия и, что наиболее важно, предупреждают сетевого администратора о возможных нарушениях защиты. Например, при попытках проникновения в систему извне BorderWare Firewall Server компании Secure Computing позволяет фиксировать адреса отправителя и получателя пакетов, время, в которое эти попытки были предприняты, и используемый протокол. Продукт Black Hole компании Milkyway Networks также регистрирует все действия сервера и предупреждает администратора о возможных нарушениях, посылая ему сообщение по электронной почте или на пейджер. Аналогичные функции обеспечивают и продукты Eagle и Sidewinder Security Server.

Представители

Большинство шлюзов прикладного уровня предназначены для одной или нескольких разновидностей операционной системы UNIX. Ярким представителем этого большого семейства продуктов является Black Hole компании Milkyway Networks, который работает на компьютерах со SPARC-архитектурой под управлением SunOS или Solaris. В отличие от этих шлюзов, BorderWare Firewall Server компании Secure Computing и Gauntlet Internet Firewall компании Trusted Information Systems работают на ПК с процессором Pentium под управлением операционных систем, являющихся собственными разработками соответствующих компаний. Продукты Centri Firewall компании Global Internet и Eagle компании Raptor Systems работают под SunOS, Solaris и Windows NT.

Указанные шлюзы прикладного уровня можно устанавливать и в сети NetWare, использующей протоколы TCP/IP. Для того чтобы начать использовать TCP/IP в сети, работающей по протоколу IPX, необходимо установить шлюз IPX/IP или установить стек TCP/IP каждому клиенту NetWare, который будет работать со шлюзом прикладного уровня (например, используя продукт LAN WorkPlace или LAN WorkGroup компании Novell).

Немного о "прозрачности"

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

Многие поставщики утверждают, что их шлюзы прикладного уровня являются "прозрачными", однако рекомендуют конфигурировать их таким образом, чтобы они выполняли аутентификацию пользователей при их обращении к внешней сети (т.е. процедуру, которая нарушает "прозрачность" работы шлюза). Например, шлюз Black Hole компании Milkyway Networks можно сконфигурировать так, что пользователи будут выходить во внешнюю сеть, не регистрируясь на этом шлюзе. Однако Milkyway Networks рекомендует такую конфигурацию шлюза, при которой пользователи должны будут регистрироваться на нем либо один раз в течение установленного периода, либо при каждом запросе на установление сеанса связи. Аналогичным образом может быть настроен шлюз Gauntlet Internet Firewall компании Trusted Informa-tion Systems.

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

Другие производители брандмауэров, относящихся к категории шлюзов прикладного уровня, пытаются решить проблему "прозрачности" иными способами. Например, компании CyberGuard и NEC Technologies используют вместо связанных с приложениями программ-посредников вариант протокола SOCKS для маршрутизации трафика, генерируемого службами TCP/IP, через свои шлюзы Cyber-Guard Firewall и PrivateNet соответственно. SOCKS является стандартом, предлагаемым инженерной группой IETF (Internet Engineering Task Force) и обеспечивающим "прозрачную" аутентификацию пользователей, которые запрашивают соединения с внешними хостами через брандмауэр. Однако использование SOCKS является "непрозрачным" для администраторов, которые должны модифицировать все приложения, используемые клиентами для доступа к внешним ресурсам через брандмауэр. Кроме того, хотя SOCKS и предполагает использование других механизмов защиты (например, шифрования с личным и открытым ключами), он не обеспечивает фильтрации отдельных пакетов. Поэтому продукты, использующие SOCKS, скорее можно отнести к категории шлюзов сеансового, а не прикладного уровня.

Брандмауэры экспертного уровня

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

Лучшая производительность, лучшая защита?

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

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

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

Представители

Брандмауэры экспертного уровня являются очень популярным решением для защиты узлов Internet и интрасетей, поскольку они "прозрачны" для пользователей, работают на самом высоком уровне модели OSI и не требуют внесения изменений в клиентское ПО и установления отдельных посредников для каждой защищаемой брандмауэром службы. Один из самых популярных коммерческих брандмауэров FireWall-1 компании Check Point Software Techno-logies является именно брандмауэром экспертного уровня. Этот продукт начал поставляться в 1993 г., и сейчас его доля на рынке брандмауэров составляет около 40%.

Другой ведущий брандмауэр экспертного уровня - ON Guard компании ON Technology. Разработанный специально для защиты сетей NetWare 3.11, 3.12 и 4.х, брандмауэр ON Guard работает на стандартных ПК с процессором Intel 486 и выше. Поскольку ON Guard может фильтровать как IP-, так и IPX-пакеты, его можно использовать и для защиты сети NetWare от IP-трафика, поступающего из Internet или интрасети, а также для защиты отдельных серверов NetWare от внутреннего "неавторизованного" IPX-трафика. Одной из сильных сторон продукта ON Guard является использование 32-битной операционной системы Secure32OS, специально разработанной компанией ON Technology для этого брандмауэра. Данная ОС является значительно более защищенной, чем универсальные ОС, такие как UNIX и Windows NT.

ON Guard, как и другие брандмауэры прикладного и экспертного уровней, обеспечивает хорошую защиту внутренней сети от хакерских нападений типа spoofing, беспорядочного сканирования IP-адресов и блокировки служб (denial-of-service). Нападения последнего типа заключаются в переполнении сервера запросами злоумышленника, что делает его недоступным для других пользователей.

Мой дом - моя крепость

Брандмауэры экспертного уровня обеспечивают один из самых высоких на сегодняшний день уровней защиты корпоративных сетей, и, по утверждению специалистов, обмануть их очень не просто. Тем не менее, не стоит забывать, что даже эти надежные брандмауэры не обеспечивают 100%-ной безопасности. Так стоит ли вообще устанавливать брандмауэр? Это нужно делать по той же причине, по которой вы устанавливаете замок на свою входную дверь, несмотря на то, что ни один замок не может гарантировать полной защиты. Оставив свою сеть без брандмауэра, вы просто оставляете дверь открытой. Так что "думайте сами, решайте сами...".


Статья подготовлена научным редактором журнала "Сети" Игорем Ковалерчиком по материалам журнала NetWare Connection, издаваемого международной ассоциацией NetWare Users International.

Глоссарий

ШЛЮЗ ПРИКЛАДНОГО УРОВНЯ (APPLICATION-LEVEL GATEWAY) исключает прямое взаимодействие между авторизованным клиентом и внешним хостом. Шлюз фильтрует все входящие и исходящие пакеты на прикладном уровне модели OSI. Связанные с приложениями программы-посредники перенаправляют через шлюз информацию, генерируемую конкретными сервисами TCP/IP.

ХОСТ-БАСТИОН (BASTION HOST) - компьютер-шлюз, на котором работает программное обеспечение брандмауэра и который устанавливается между внутренней и внешней сетями. Хост-бастионами являются шлюзы сеансового и прикладного уровня, а также брандмауэры экспертного уровня.

ШЛЮЗ СЕАНСОВОГО УРОВНЯ (CIRCUIT-LEVEL GATEWAY) исключает прямое взаимодействие между авторизованным клиентом и внешним хостом. Он принимает запрос доверенного клиента на определенные услуги и, после проверки допустимости запрошенного сеанса, устанавливает соединение с внешним хостом. После этого шлюз просто копирует пакеты в обоих направлениях, не осуществляя их фильтрации.

ДВУДОМНЫЙ ШЛЮЗ (DUAL-HOMED GATEWAY) - компьютер, на котором работает программное обеспечение брандмауэра и который имеет две сетевые интерфейсные платы: одна подключена к внутренней сети, а другая - к внешней. Шлюз передает информацию из одной сети в другую, исключая прямое взаимодействие между ними. Шлюзы сеансового и прикладного уровня относятся к двудомным шлюзам.

БРАНДМАУЭР (FIREWALL) является защитным барьером, состоящим из нескольких компонентов (например, маршрутизатора или шлюза, на котором работает программное обеспечение брандмауэра). Брандмауэр конфигурируется в соответствии с принятой в организации политикой контроля доступа к внутренней сети. Все входящие и исходящие пакеты должны проходить через брандмауэр, который пропускает только авторизованные пакеты.

БРАНДМАУЭР С ФИЛЬТРАЦИЕЙ ПАКЕТОВ (PACKET-FILTERING FIREWALL) является маршрутизатором или компьютером, на котором работает программное обеспечение, сконфигурированное таким образом, чтобы отбраковывать определенные виды входящих и исходящих пакетов. Фильтрация пакетов осуществляется на основе информации, содержащейся в TCP- и IP- заголовках пакетов (адреса отправителя и получателя, их номера портов и др.).

ПОСРЕДНИК (PROXY) - приложение, выполняемое на шлюзе, которое передает пакеты между авторизованным клиентом и внешним хостом. Посредник принимает запросы от клиента на определенные сервисы Internet, а затем, действуя от имени этого клиента (т.е. выступая его посредником), устанавливает соединение для получения запрошенного сервиса. Все шлюзы прикладного уровня используют связанные с приложениями программы-посредники. Большинство шлюзов сеансового уровня используют канальные посредники, которые обеспечивают те же функции перенаправления запросов, но поддерживают большую часть сервисов TCP/IP.

СЕРВЕР-ПОСРЕДНИК (PROXY SERVER) - брандмауэр, в котором для преобразования IP-адресов всех авторизованных клиентов в IP-адреса, ассоциированные с бра