
|
МЕЖСЕТЕВЫЕ ЭКРАНЫ - FIREWALL
Данное положение дел сложилось по ряду причин. Одной из основных причин может быть то, что при разработке Интернет требования безопасности не учитывались, так как главным требованием при реализации Интернета было требование удобства при обмене информацией при проведении научных исследований. Тем не менее, феноменальный успех Интернета в сочетании с появлением большого числа категорий пользователей, включая пользователей, у которых отсутствует понятие этики, усугубило существующие недостатки в обеспечении безопасности до такой степени, что сети, открытые для доступа со стороны Интернета, стали подвергаться риску проникновения в них и нанесения им разрушений. Другими причинами являются следующие:
- уязвимость сервисов TCP/IP - ряд сервисов TCP/IP являются небезопасными и могут быть скомпрометированы умными злоумышленниками; сервисы, использующиеся в ЛВС для улучшения управления сетью, особенно уязвимы
- легкость наблюдения за информационными каналами - большинство трафика Интернета незашифрованно; электронная почта, пароли и передаваемые файлы могут быть перехвачены, используя легкодоступные программы, затем злоумышленники могут использовать пароли для проникновения в системы
- отсутствие политики - многие сети могут быть сконфигурированы по незнанию таким образом, что будут позволять доступ к ним со стороны Интернета, не подозревая при этом о возможных злоупотреблениях этим; многие сети допускают использование большего числа сервисов TCP/IP, чем это требуется для деятельности их организации, и не пытаются ограничить доступ к информации об их компьютерах, которая может помочь злоумышленникам проникнуть в сеть
- сложность конфигурирования - средства управления доступом в хостах зачастую являются сложными в настройке и контроле за ними; неправильно сконфигурированные средства часто приводят к неавторизованному доступу.
К счастью, существуют простые и надежные решения, которые могут быть использованы для улучшения безопасности сети организации, основанной на таком популярном и распространенном протоколе TCP/IP. Система брандмауэра является одним из способов, который доказал свою высокую эффективность при повышении общей безопасности сети. Система брандмауэра - это набор систем и маршрутизаторов, добавленных в сеть в местах ее соединения с Интернетом и политики доступа, определяющей правила их работы. Брандмауэр заставляет все сетевые соединения проходить через шлюз, где они могут быть проанализированы и оценены с точки зрения безопасности, и предоставляет другие средства, такие как меры усиленной аутентификации3 вместо паролей. Кроме того, брандмауэр может ограничить доступ к тем или иным системам или доступ к Интернету от них, блокировать определенные сервсиы TCP/IP, или обеспечить другие меры безопасности. Хорошо сконфигурированная система брандмауэра может выполнять роль пресс-службы организации и помочь сформировать у пользователей Интернета хорошее впечатление об организации.



|
Что такое "firewall" или межсетевой экран?
Термин "firewall" переводится как "брандмауэр". Словом "firewall" (англ.- пожарная стена) в некомпьютерных сферах называется стена, сделанная из негорючих материалов и препятствующая распространению пожара. В сфере компьютерных сетей брандмауэр представляет собой барьер, защищающий от "виртуального" пожара - попыток злоумышленников вторгнуться в сеть, для того чтобы скопировать, изменить или стереть информацию, либо чтобы воспользоваться полосой пропускания, памятью или вычислительной мощностью работающих в этой сети компьютеров. Брандмауэр устанавливается на границе двух сетей - сети Интернет и ЛВС, поэтому его еще называют и межсетевым экраном. Он фильтрует все входящие и исходящие данные, пропуская только авторизованные пакеты. Скорее, брандмауэр - это подход к безопасности; он помогает реализовать политику безопасности, которая определяет разрешенные службы и типы доступа к ним, и других мер защиты, таких как усиленная аутентификация вместо статических паролей. Основная цель системы брандмауэра - управление доступом К или ИЗ защищаемой сети. Он реализует политику сетевого доступа, заставляя проходить все соединения с сетью через брандмауэр, где они могут быть проанализированы, разрешены либо отвергнуты.
Схематично принцип работы брандмауэра можно изобразить следующим способом:

Cистема брандмауэра может быть маршрутизатором, персональным компьютером, хостом, или группой хостов, созданной специально для защиты сети или подсети от неправильного использования протоколов и служб хостами, находящимися вне этой подсети. Обычно система брандмауэра создается на основе маршрутизаторов верхнего уровня, обычно на тех, которые соединяют сеть с Интернетом, хотя может быть создана и на других маршрутизаторах, для защиты только части хостов или подсетей.
Существующие брандмауэры сильно отличаются друг от друга как по уровню защиты, так и по используемым в них способах защиты. Однако большинство брандмауэров, поставляемых как коммерческие продукты, можно (впрочем, достаточно условно) отнести к одной из четырех категорий:
- брандмауэры с фильтрацией пакетов (packet-filtering firewall)4;
- шлюзы сеансового уровня (circuit-level gateway)5;
- шлюзы прикладного уровня (application-level gateway)6;
- брандмауэры экспертного уровня (stateful inspection firewall)7.
Лишь немногие брандмауэры относятся только к одной из перечисленных категорий, еще меньше - в точности соответствует тем определениям, которые будут даны ниже для каждой из категорий. Тем не менее эти определения отражают ключевые возможности, отличающие один вид брандмауэров от другого.
Брандмауэры с фильтрацией пакетов
Брандмауэр с фильтрацией пакетов представляет собой маршрутизатор или работающую на сервере программу, сконфигурированные таким образом, чтобы фильтровать входящие и исходящие пакеты. Брандмауэр пропускает или отбраковывает пакеты в соответствии с информацией, содержащейся в 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-пакетов сеансового уровня протокола TCP, т. е. функционирует на два уровня выше, чем брандмауэр с фильтрацией пакетов.
|



|
Контроль квoтирования связи
Чтобы определить, является ли запрос на сеанс связи допустимым, шлюз сеансового уровня выполняет примерно следующую процедуру. Когда авторизованный клиент запрашивает некоторую услугу, шлюз принимает этот запрос, проверяя, удовлетворяет ли клиент базовым критериям фильтрации (например, может ли DNS-сервер определить IP-адрес клиента и ассоциированное с ним имя). Затем, действуя от имени клиента, шлюз устанавливает соединение с внешним хостом и следит за выполнением процедуры квитирования связи по протоколу TCP. Эта процедура состоит из обмена TCP-пакетами, которые помечаются флагами SYN (синхронизировать) и ACK (подтвердить).
Первый пакет сеанса TCP, помеченный флагом SYN и содержащий произвольное число, например 1000, является запросом клиента на открытие сеанса. Внешний хост, получивший этот пакет, посылает в ответ пакет, помеченный флагом ACK и содержащий число, на единицу большее, чем в принятом пакете (в нашем случае 1001), подтверждая, таким образом, прием пакета SYN от клиента. После этого осуществляется обратная процедура: хост посылает клиенту пакет SYN с исходным числом (например, 2000), а клиент подтверждает его получение передачей пакета ACK, содержащего число 2001. На этом процесс квитирования связи завершается. Шлюз сеансового уровня "считает" запрошенный сеанс допустимым только в том случае, если при выполнении процедуры квитирования связи флаги SYN и ACK, а также числа, содержащиеся в TCP-пакетах, оказываются логически связанными между собой.
|



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



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



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



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



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



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



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



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



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


|
Выводы
Брандмауэры экспертного уровня обеспечивают один из самых высоких на сегодняшний день уровней защиты корпоративных сетей, и, по утверждению специалистов, обмануть их очень не просто. Тем не менее, не стоит забывать, что даже эти надежные брандмауэры не обеспечивают 100%-ной безопасности.
Источники:
- Internet Firewalls Frequently Asked Questions. (http://www.v-one.com/pubs/fw-faq/faq.htm);
- Александр Колбасов. Здравый смысл брандмауэров. (http://www.osp.ru/nets/1996/06/source/51.html);
- Брандмауэры, или запирайте вашу дверь. (http://www.osp.ru/nets/nt_2_97/source/88.htm);
- Джон Вэк, Лиза Карнахан. Содержание сети вашей организации в безопасности при работе с Интернетом. (http://eye.wplus.spb.ru/www/kvn/800-10.html).
|
1 FTP (File Transfer Protocol) - протокол передачи файлов, используется для приема или передачи файлов между системами в сети.
2 DNS (Domain Naming System) - Служба сетевых имен, используется TELNET, FTP и другими сервисами для трансляции имен хостов в IP адреса.
3 Аутентификация - средство, проверяющее, что пославший сообщение или запрос объект обладает необходимыми для этого правами. Для всех пользователей сети аутентификация выглядит как запрос пароля при регистрации в сети. Каждая последующая операция для прохождения аутентификации использует идентификационную информацию, созданную при введении пароля. Однако, ни ключи, ни пароль пользователя в основном не пересылаются по сети
4 - является маршрутизатором или компьютером, на котором работает программное обеспечение, сконфигурированное таким образом, чтобы отбраковывать определенные виды входящих и исходящих пакетов. Фильтрация пакетов осуществляется на основе информации, содержащейся в TCP- и IP- заголовках пакетов (адреса отправителя и получателя, их номера портов и др.).
5 - исключает прямое взаимодействие между авторизованным клиентом и внешним хостом. Он принимает запрос доверенного клиента на определенные услуги и, после проверки допустимости запрошенного сеанса, устанавливает соединение с внешним хостом. После этого шлюз просто копирует пакеты в обоих направлениях, не осуществляя их фильтрации.
6 - исключает прямое взаимодействие между авторизованным клиентом и внешним хостом. Шлюз фильтрует все входящие и исходящие пакеты на прикладном уровне модели OSI. Связанные с приложениями программы-посредники перенаправляют через шлюз информацию, генерируемую конкретными сервисами TCP/IP.
7 - проверяет содержимое принимаемых пакетов на трех уровнях - сетевом, сеансовом и прикладном. Для выполнения этой задачи используются специальные алгоритмы фильтрации пакетов, с помощью которых каждый пакет сравнивается с известным шаблоном авторизованных пакетов.
|

|