Межсетевой экран

Материал из Википедии — свободной энциклопедии
(перенаправлено с «Firewall»)
Перейти к: навигация, поиск
Межсетевой экран на границе сетевого периметра.

Межсетево́й экра́н, сетево́й экра́н — это программный или программно-аппаратный комплекс компьютерной сети, осуществляющий контроль и фильтрацию проходящего через него сетевого трафика в соответствии с заданными правилами.[1]

Основной задачей межсетевого экрана является защита сети или отдельных её узлов от несанкционированного доступа с использованием уязвимых мест, существующих в семействе протоколов OSI. Дополнительно они помогают решать проблемы безопасности, связанные с наличием уязвимостей в другом ПО, которое установлено на компьютерах в сети. Межсетевые экраны регулируют поток сетевого трафика между сетями или хостами, имеющими различные требования к безопасности. Большинство межсетевых экранов расположено на границе сетевого периметра, и в первую очередь они предназначены для защиты внутренних хостов от внешних атак. Однако атаки могут также начинаться и с хостов, расположенных в локальной сети, при этом они могут не проходить через межсетевые экраны на границе сетевого периметра. Поэтому в настоящее время межсетевые экраны размещают не только на границы сетевого периметра, но и между различными сегментами сети. Это обеспечивает дополнительный уровень безопасности.[2]

Межсетевые экраны пропускают или запрещают трафик, сравнивая его характеристики с шаблонами, заданными в политике межсетевого экрана.[3]  

Другие названия[править | править вики-текст]

Брандма́уэр (нем. Brandmauer) — заимствованный из немецкого языка термин.

Файрво́л (англ. Firewall) — заимствованный из английского языка термин.

Классификация сетевых экранов[править | править вики-текст]

Схематическое изображение классификации межсетевых экранов на основе сетевой модели OSI

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

  1. Управляемые коммутаторы.
  2. Пакетные фильтры.
  3. Шлюзы сеансового уровня.
  4. Посредники прикладного уровня.
  5. Инспекторы состояния.

Управляемые коммутаторы[править | править вики-текст]

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

Многие производители коммутаторов, например, Cisco, Nortel, 3Com, позволяют осуществлять фильтрацию трафика на основе MAC-адресов, содержащихся во фреймах. Наиболее эффективно данная возможность реализована в решениях компании Cisco, в частности в семействе коммутаторов Catalyst, которые обладают механизмом Port Security. Однако, надо заметить, что практически все современные сетевые карты позволяют программно изменять их MAC-адреса, что приводит к неэффективности такого метода фильтрации. Поэтому существуют и другие параметры, которые могут использоваться в качестве признака фильтрации. Например — VLAN. Технология виртуальных локальных сетей (англ. Virtual Local Area Network) позволяет создавать группы хостов, трафик которых полностью изолирован от других узлов сети, что позволяет фильтровать его.[4]

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

Преимущества:

  • Очень высокая скорость работы.

Недостатки:

  • Нет защиты от подмены MAC-адреса.
  • Отсутствует возможность анализа более высоких уровней сетевой модели OSI.

Пакетные фильтры[править | править вики-текст]

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

Управление трафиком осуществляется на основе анализа следующей информации, содержащейся в пакете:[5]

  • Поля служебных заголовков протоколов сетевого и транспортного уровней.
  • Порт источника и получателя.

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

Достаточно часто приходиться фильтровать фрагментированные пакеты, что делает определение некоторых атак более трудной. Например, некоторые сетевые атаки используют пакеты, которые в нормальных ситуациях не могут появиться, например, посылая определенные фрагменты пакета, но не посылая первый фрагмент, или посылая фрагменты пакета, которые перекрывают друг друга. Чтобы предотвратить использование фрагментированных пакетов для выполнения атак, межсетевой экран можно сконфигурировать таким образом, чтобы блокировать фрагментированные пакеты. Также, некоторые межсетевые экраны могут дефрагментировать пакеты перед тем, как пересылать их во внутреннюю сеть. Следует понимать, что это требует дополнительных ресурсов самого межсетевого экрана, особенно памяти. Такая функциональность должна использоваться очень обоснованно, иначе межсетевой экран легко может стать объектом DoS-атаки.[6]

Пакетные фильтры могут быть реализованы в следующих компонентах сетевой инфраструктуры:

  • Пограничные маршрутизаторы.
  • ОС.

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

Преимущества:

  • ·Высокая скорость.
  • ·Пакетный фильтр прозрачен для клиентов и серверов, так как не разрывает TCP-соединение.

Недостатки:

  • Отсутствует возможность анализа более высоких уровней сетевой модели OSI.
  • Пакетные фильтры обычно уязвимы для атак, которые используют подделку (англ. spoofing) сетевого адреса. Многие пакетные фильтры не могут определить, что в сетевом пакете изменена адресная информация транспортного уровня. Spoofing-атаки обычно выполняются для обхода управления доступом, осуществляемого межсетевым экраном.

Шлюзы сеансового уровня[править | править вики-текст]

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

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

Достоинство данной технологии, ярким представителем которой является SOCKS, в том, что она исключает прямой контакт между двумя узлами. Адрес шлюза сеансового уровня является единственным элементом, который связывает внешнюю сеть, кишащую хакерами, с внутренними защищаемыми ресурсами. Кроме того, поскольку соединение между узлами устанавливается только после проверки его допустимости, то тем самым шлюз предотвращает возможность реализации подмены адреса, присущую пакетным фильтрам.[8]

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

Преимущества:

  • Исключение прямого взаимодействия между двумя узлами.

Недостатки:

Посредники прикладного уровня[править | править вики-текст]

Посредники прикладного уровня практически ничем не отличаются от шлюзов сеансового уровня, за одним исключением. Они также осуществляют посредническую функцию между двумя узлами, исключая их непосредственное взаимодействие, но позволяют проникать в контекст передаваемого трафика, та как функционируют на прикладном уровне. Межсетевые экраны, построенные по этой технологии, содержат посредников приложений (англ. application proxy), которые, "зная" как функционирует то или иное приложение, могут обрабатывать их трафик. Например, межсетевой экран прикладного уровня может определить, что почтовое сообщение содержит неразрешенный тип присоединенного файла (такой как выполняемый файл). Также, он может, например, разрешать в исходящем трафике команду GET (получение файла) протокола FTP и запрещать команду PUT (отправка файла) и наоборот. Данная возможность также позволяет разрешать или запрещать передавать веб-страницы в зависимости от конкретных типов содержимого, такого как Java или ActiveX, или проверять, что SSL сертификаты подписаны конкретным СА.[9]

Межсетевые экраны прикладного уровня могут предоставлять возможность определять нежелательную последовательность команд, что часто означает атаку переполнения буфера, DoS-атаку или другие атаки, связанные с прикладными протоколами, таким как HTTP.[10]

Другая возможность состоит в проверке входных данных для отдельных команд, такой как минимальная и максимальная длина аргументов. Например, аргумент имени пользователя длиной в 1000 символов является подозрительным или если он содержит бинарные данные. Межсетевые экраны прикладного уровня доступны для многих протоколов, включая НТТР, почтовые (SMTP, POP, IMAP) и VoIP.

Преимущества:

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

Недостатки:

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

Инспекторы состояния[править | править вики-текст]

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

  • Каждый передаваемый пакет — на основе имеющейся таблицы правил;
  • Каждую сессию — на основе таблицы состояний;
  • Каждое приложение — на основе разработанных посредников.

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

Завершая описание классов межсетевых экранов, хотим заметить, что термин инспектор состояния (англ. stateful inspection), введенный компанией Check Point Software, так полюбился производителям, что сейчас очень трудно найти межсетевой экран, который бы не относили к этой категории (даже если он и не реализует эту технологию).

Преимущества:

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

Недостатки:

  • Более низкая защищенность, по сравнению с посредниками прикладного уровня.

Реализация[править | править вики-текст]

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

Первое решение — наиболее часто используемое в настоящее время и, на первый взгляд, более привлекательное. Это связано с тем, что, по мнению многих, для его применения достаточно только приобрести программное обеспечение межсетевого экрана и установить на любой компьютер, имеющийся в организации. Однако на практике далеко не всегда в организации находится свободный компьютер, да еще и удовлетворяющий достаточно высоким требованиям по системным ресурсам. Именно поэтому все большее распространение стали получать специализированные программно-аппаратные решения, называемые security appliance. Они поставляются, как специальные программно-аппаратные комплексы, использующие специализированные или обычные операционные системы (как правило, на базе FreeBSD или Linux), "урезанные" для выполнения только заданных функций. К достоинству таких решений можно отнести:[12]

  • Простота внедрения в технологию обработки информации. Поскольку такие устройства поставляются уже с предустановленной и настроенной операционной системой и защитными механизмами, необходимо только подключить его к сети, что выполняется в течение нескольких минут. И хотя некоторая настройка все же требуется, время, затрачиваемое на нее, существенно меньше, чем в случае установки и настройки межсетевого экрана "с нуля".
  • Простота управления. Данные устройства могут управляться с любой рабочей станции. Взаимодействие консоли управления с устройством осуществляется либо по стандартным протоколам, например, Telnet или SNMP, либо при помощи специализированных или защищенных протоколов, например, SSH или SSL.
  • Производительность. За счет того, что из операционной системы исключаются все "ненужные" сервисы и подсистемы, устройство работает более эффективно с точки зрения производительности и надежности.
  • Отказоустойчивость и высокая доступность.

Ограниченность анализа межсетевого экрана[править | править вики-текст]

Межсетевой экран эффективен только когда он может анализировать проходящий трафик. Если он не может "понимать" проходящий через него трафик — он не может осмысленно разрешить или запретить его, вне зависимости от выбранной технологии. Например, многие сетевые протоколы, например IPsec, TLS, SSH и SRTP, используют криптографию, чтобы скрыть содержимое, из-за чего их трафик не может быть проинтерпетирован. Межсетевые экраны не могут также читать зашифрованные прикладные данные, например, если почтовое сообщение зашифровано с помощью протоколов S/MIME или OpenPGP. Другим примером ограничения является то, что многие межсетевые экраны не понимают туннелированный трафик, даже если он не зашифрован. [13]

Во всех этих случаях правила межсетевого экрана должны определить, что делать с трафиком, если они не могут его "понять".

Литература[править | править вики-текст]

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. Лебедь С. В. Межсетевое экранирование. Теория и практика защиты внешнего периметра. — «МГТУ им. Н. Э. Баумана», 2002. — С. 22. — ISBN 5-7038-2059-6.
  2. Лапонина О. Р. Межсетевое экранирование. — «Бином», 2014. — С. 43. — ISBN 5-94774-603-4.
  3. Лапонина О. Р. Межсетевое экранирование. — «Бином», 2014. — С. 44. — ISBN 5-94774-603-4.
  4. Лебедь С. В. Межсетевое экранирование. Теория и практика защиты внешнего периметра. — «МГТУ им. Н. Э. Баумана», 2002. — С. 50. — ISBN 5-7038-2059-6.
  5. Дэвид В. Чепмен-мл., Энди Фокс. Брандмауэры Cisco Secure PIX. — «Вильямс», 2003. — С. 30. — ISBN 5-8459-0463-3.
  6. Лапонина О. Р. Межсетевое экранирование. — «Бином», 2014. — С. 51 — 56. — ISBN 5-94774-603-4.
  7. Дэвид В. Чепмен-мл., Энди Фокс. Брандмауэры Cisco Secure PIX. — «Вильямс», 2003. — С. 31. — ISBN 5-8459-0463-3.
  8. Лебедь С. В. Межсетевое экранирование. Теория и практика защиты внешнего периметра. — «МГТУ им. Н. Э. Баумана», 2002. — С. 58. — ISBN 5-7038-2059-6.
  9. Лебедь С. В. Межсетевое экранирование. Теория и практика защиты внешнего периметра. — «МГТУ им. Н. Э. Баумана», 2002. — С. 55—56. — ISBN 5-7038-2059-6.
  10. Лебедь С. В. Межсетевое экранирование. Теория и практика защиты внешнего периметра. — «МГТУ им. Н. Э. Баумана», 2002. — С. 55—56. — ISBN 5-7038-2059-6.
  11. Дэвид В. Чепмен-мл., Энди Фокс. Брандмауэры Cisco Secure PIX. — «Вильямс», 2003. — С. 32. — ISBN 5-8459-0463-3.
  12. Шаньгин В. Ф. Защита информации в компьютерных системах и сетях. — «ИНФРА-М», 2011. — С. 207. — ISBN 978-5-16-003132-3.
  13. Лапонина О. Р. Межсетевое экранирование. — «Бином», 2014. — С. 73. — ISBN 5-94774-603-4.

Ссылки[править | править вики-текст]