Original of this document is at Open Systems. Nets #2/97
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-адреса, ассоциированные с брандмауэром, используется процесс, называемый трансляцией адресов (address translation).

БРАНДМАУЭР ЭКСПЕРТНОГО УРОВНЯ (STATEFUL INSPECTION FIREWALL) проверяет содержимое принимаемых пакетов на трех уровнях модели OSI - сетевом, сеансовом и прикладном. Для выполнения этой задачи используются специальные алгоритмы фильтрации пакетов, с помощью которых каждый пакет сравнивается с известным шаблоном авторизованных пакетов.


"Врожденные слабости"

Проблемы защиты информации являются "врожденными" практически для всех протоколов и служб Internet.

Система имен доменов (Domain Name System - DNS) представляет собой распределенную базу данных, которая преобразует имена пользователей и хостов в IP-адреса и наоборот. DNS также хранит информацию о структуре сети компании, например количестве компьютеров с IP-адресами в каждом домене. Одной из проблем DNS является то, что эту базу данных очень трудно "скрыть" от неавторизованных пользователей. В результате, DNS часто используется хакерами как источник информации об именах доверенных хостов.

FTP (File Transfer Protocol) обеспечивает передачу текстовых и двоичных файлов, поэтому его часто используют в Internet для организации совместного доступа к информации. На FTP-серверах хранятся документы, программы, графика и любые другие виды информации. Некоторые FTP-серверы ограничивают доступ пользователей к своим архивам данных с помощью пароля, другие же предоставляют свободный доступ (так называемый анонимный FTP-сервис). Если вы используете опцию анонимного FTP для своего сервера, то должны быть уверены, что на нем хранятся только файлы, предназначенные для свободного распространения.

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

SMTP (Simple Mail Transfer Protocol) - протокол, позволяющий осуществлять почтовую транспортную службу Internet. Одна из проблем безопасности, связанная с этим протоколом, состоит в том, что пользователь не может проверить адрес отправителя в заголовке сообщения электронной почты. В результате хакер может послать в вашу сеть большое количество почтовых сообщений, что приведет к перегрузке и блокированию работы вашего почтового сервера.

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

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

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


Рекомендации специалистов

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

В соответствии с политикой доступа к сетевым сервисам определяется список сервисов Internet, к которым пользователи должны иметь ограниченный доступ. Также определяются ограничения на методы доступа, например на использование протоколов SLIP (Serial Line Internet Protocol) и PPP (Point-to-Point Protocol). Ограничения методов доступа необходимы для того, чтобы пользователи не могли обращаться к "запрещенным" сервисам Internet обходными путями. Например, если для ограничения доступа в Internet вы устанавливаете специальный шлюз, который не дает возможности пользователям работать в системе WWW, они могут устанавливать с Web-серверами PPP-соединения по коммутируемой линии.

Политика доступа к сетевым сервисам должна основываться на одном из следующих принципов.

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

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


Встроенные "линии обороны" системы IntranetWare

Недавно выпущенная компанией Novell система IntranetWare предназначена для компаний, которые собираются использовать Internet и интрасети для распространения информации и обеспечения доступа к ней. IntranetWare включает в себя NetWare 4.11, Novell Web Server, Netscape Navigator, NetWare MultiProtocol Router (MPR) и IPX/IP Gateway. MPR и шлюз IPX/IP обеспечивают две линии обороны от несанкционированного доступа к внутренней сети из Internet или из корпоративной интрасети.

NetWare MPR - маршрутизатор с фильтрацией пакетов - обеспечивает первую линию обороны для сети на базе IntranetWare. Используя загружаемый модуль FILTCFG.NLM (утилиту, работающую на сервере MPR), можно сконфигурировать маршрутизатор таким образом, чтобы он фильтровал входящие и исходящие пакеты в соответствии с IP-адресами и номерами портов отправителя и получателя. NetWare MPR может также фильтровать пакеты, генерируемые FTP, HTTP и Telnet.

Шлюз IPX/IP - естественный брандмауэр, обеспечиващий вторую линию обороны для сетей IntranetWare. Основное назначение этого шлюза заключается в том, чтобы дать возможность IPX-клиентам использовать сервисы Internet и интрасети, не устанавливая на их компьютерах стек протоколов TCP/IP. Вместо этого файл WINSOCK.DLL на клиентской машине "вкладывает" пакеты TCP в пакеты IPX (а не IP). Перед передачей пакетов на внешний хост шлюз IPX/IP удаляет из них IPX-заголовки и заменяет их IP-заголовками. "С точки зрения" внешнего хоста, все пакеты, передаваемые из данной сети, имеют единый IP-адрес шлюза, благодаря чему осуществляется эффективная защита от внешнего хоста сети IntranetWare.

"Прозрачная" защита. Файл WINSOCK.DLL делает работу шлюза IPX/IP "прозрачной" для пользователей. При работе с браузером Netscape Navigator пользователю достаточно ввести имя хоста, например www.novell.com. Все действия по преобразованию имени в реальный IP-адрес выполняются шлюзом IPX/IP и DNS, после чего шлюз устанавливает от имени пользователя соединение с внешним хостом и в процессе обмена информацией заменяет IPX-заголовки на IP и наоборот.

Ограничение исходящего трафика. Шлюз IPX/IP также имеет встроенный механизм контроля доступа. Сетевой администратор может ограничивать исходящие пакеты в соответствии с IP-адресами хостов или номерами портов определенных сервисов Internet. Например, можно запретить доступ отдельным пользователям или группам пользователей к Web-серверу (сервис HTTP, порт 80) в интервале между 13:00 и 17:00 часами.

Нападения на сети IPX бывают только в теории. Шлюзы IPX/IP (такие как IPX/IP Gateway компании Novell, Iware Connect компании Quarterdeck и NOV*IX for Internet компании FTP Software) являются естественными брандмауэрами. Они всегда действуют от имени авторизованного клиента, запрашивая службы в IP-сетях, и таким образом, защищают его от нападений из внешней сети. Теоретически какой-нибудь упорный хакер может найти способ обмануть такой брандмауэр, однако на сегодняшний день подобных нападений не зафиксировано.


Новые средства защиты для доступа в Internet компании Novell

Novell продолжает совершенствовать свои технологии защиты для сетей на базе IntranetWare. Новая разработка Novell, получившая название IntranetWare Border Services, обеспечивает кэш-посредников (proxy cache), службы виртуальной частной сети (Virtual Private Network - VPN) и службы безопасности.

Кэш-посредники хранят часто запрашиваемые HTML-страницы в локальном кэше, обеспечивая значительно более быструю доставку информации, чем в тех случаях, когда не используется кэширование. Службы VPN позволяют создать канал контролируемой шифрованной связи с Internet, гарантируя конфиденциальность пакетов, передаваемых по этому каналу. Таким образом, компании получают возможность создавать защищенные частные сети, соединенные через Internet. В VPN используется специальный метод шифрования, основанный на 40-битной реализации криптографического алгоритма RC2. Этот алгоритм обеспечивает приемлемую производительность работы на WAN-каналах и может выполняться в симметричных мультипроцессорных системах, что позволяет повысить скорость шифрования данных. Службы безопасности включают в себя фильтрацию пакетов, шлюз сеансового уровня, программу-посредника HTTP прикладного уровня и используют технологии трансляции адресов.

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

Используя IntranetWare Border Service, можно фильтровать и регистрировать следующую информацию, содержащуюся в пакетах:

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

Этот шлюз поддерживает IPX- и IP-клиентов, использующих соответствующие стеки протоколов. Вначале шлюз устанавливает контрольное соединение с клиентом, который пытается инициировать сеанс связи с удаленным хостом. Затем он запрашивает информацию в сетевом каталоге (NDS - Novell Directory Services), чтобы определить, имеет ли данный пользователь соответствующие полномочия. Если пользователь оказывается авторизованным, шлюз устанавливает соединение с хостом, а затем копирует и перенаправляет поступающие пакеты. Поскольку шлюз использует информацию, хранящуюся в базе данных NDS, администратор может использовать NDS для ограничения прав доступа пользователей к Internet точно так же, как это делается для локальной сети. С помощью утилиты NetWare Administrator, можно задать права доступа конкретного пользователя или группы пользователей к отдельным сервисам Internet (например, FTP, HTTP или Telnet), хостам или доменам. Можно также задавать ограничения по времени доступа, например указать, что группа Everyone не имеет права обращаться к хосту ABCD с 8 утра до 5 вечера, т. е. в течение рабочего дня.

Посредник HTTP

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

Трансляция адресов

IntranetWare Border Services также обеспечивает трансляцию сетевых адресов для таких систем, как Macintosh и UNIX, которые не могут использовать стеки протоколов, необходимые для работы шлюзов сеансового и прикладного уровней. Кроме того, обеспечивается трансляция адресов как для IPX-, так и для IP-пакетов. Трансляция адресов IPX позволяет преобразовать все IPX-адреса отправителей в единый сетевой адрес IPX, что дает возможность использовать дублирующиеся адреса IPX-клиентов, относящиеся к разным виртуальным сетям.

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


Надежные источники

Более подробную информацию о брандмауэрах вы можете найти на следующих серверах в Internet.

FTP://INFO.CERT.ORG или HTTP://WWW.CERT.ORG

Директория /pub/cert_advisories содержит список рекомендаций Координационного центра CERT, касающихся решения известных проблем сетевой безопасности. На этом узле можно также найти предупреждения о возможных нападениях в Internet.

HTTP://WWW.NCSA.COM

Узел американской Национальной ассоциации по компьютерной безопасности (NCSA) содержит руководство по политике реализации брандмауэров (Firewall Policy Guide). На этом узле также можно найти список брандмауэров, сертифицированных NCSA, и ссылки на другие Web-узлы, содержащие более подробную информацию об этих брандмауэрах. NCSA занимается тестированием продуктов с целью выяснения их функциональных возможностей и эффективности защиты от типовых нападений. К продуктам, имеющим сертификат NCSA, относятся FireWall-1 компании Check Point Software Technologies, ON Guard компании ON Technology и Gauntlet Internet Firewall компании Trusted Information Systems.

HTTP://WWW.OUTLINK.COM

Outlink - исследовательская компания, специализирующаяся на информационной безопасности и выпускающая бюллетень The Firewall Report, который поможет вам быть в курсе всех новых технологий, продуктов и услуг в области защиты информации. Этот бюллетень содержит унифицированные технические описания 20 лучших брандмауэров для Internet и интрасетей, а также необходимые сведения об их поставщиках.

HTTP://WWW.TELSTRA.COM.AU/PUB/DOCS/SECURITY

Этот узел содержит ссылки на документы, написанные признанными экспертами в области безопасности Internet.

FTP://FTP.GREATCIRCLE.COM/PUB/FIREWALLS

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

HTTP://CS-WWW.NCSL.NIST.GOV

Этот узел принадлежит Национальному институту стандартов США и содержит много ссылок на Web-узлы, содержащие сведения по информационной безопасности.


Сети · #2/97
Bottom Line


Last-modified: Fri, 26 Jul 2002 06:23:37 GMT