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

Межсетевой экран на границе сетевого периметра.

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

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

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

Другие названия

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

Для термина «брандмауэр» см. также другие значения.

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

Для термина «файрвол» см. также другие значения.

История

Первые устройства, выполняющие функцию фильтрации сетевого трафика, появились в конце 1980-х, когда Интернет был новшеством и не использовался в глобальных масштабах. Этими устройствами были маршрутизаторы, инспектирующие трафик на основании данных, содержащихся в заголовках протоколов сетевого уровня. Впоследствии, с развитием сетевых технологий, данные устройства получили возможность выполнять фильтрацию трафика используя данные протоколов более высокого, транспортного уровня. Именно маршрутизаторы можно считать первой программно-аппаратной реализацией межсетевого экрана[5].

Первые программные реализации файрвола появились существенно позже и были гораздо моложе, чем антивирус. Например, проект Netfilter/iptables (один из первых программных файрволов, встроенный в ядро Linux с версии 2.4) был основан в 1998 году. Такое позднее появление вполне объяснимо, так как долгое время антивирус решал проблему защиты персональных компьютеров от вредоносных программ. Однако, в конце 1990-х, вирусы стали активно использовать отсутствие межсетевых экранов на компьютерах, что привело к повышению интереса пользователей к данному классу устройств[6].

Фильтрация трафика

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

Существует два принципа обработки поступающего трафика. Первый принцип гласит: «Что явно не запрещено, то разрешено». В данном случае, если межсетевой экран получил пакет, не подпадающий ни под одно правило, то он передается далее. Противоположный принцип — «Что явно не разрешено, то запрещено» — гарантирует гораздо большую защищенность, так как он запрещает весь трафик, который явно не разрешен правилами. Однако, этот принцип оборачивается дополнительной нагрузкой на администратора[7][8].

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

Классификация межсетевых экранов

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

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

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

Управляемые коммутаторы

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

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

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

Пакетные фильтры

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

При анализе заголовка сетевого пакета могут использоваться следующие параметры[10]:

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

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

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

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

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

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

Так как межсетевой экран данного типа исключает прямое взаимодействие между двумя узлами, шлюз сеансового уровня является единственным связующим элементом между внешней сетью и внутренними ресурсами, что делает определение топологии защищаемой сети практически невозможным, поскольку создается видимость того, что на все запросы из внешней сети отвечает шлюз. Кроме того, так как контакт между узлами устанавливается только при условии его допустимости, шлюз сеансового уровня предотвращает возможность реализации DoS-атаки, присущей пакетным фильтрам[22].

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

Посредники прикладного уровня

Посредники прикладного уровня, также, как и шлюзы сеансового уровня, исключают прямое взаимодействие двух узлов. Однако, функционируя на прикладном уровне, они способны «понимать» контекст передаваемого трафика. Межсетевые экраны, реализующие эту технологию, содержат посредников приложений (англ. application proxy), каждый из которых обслуживает по одному прикладному протоколу. Межсетевой экран прикладного уровня способен выявлять команды в передаваемых сообщениях, благодаря чему он может блокировать несуществующие команды и нежелательные последовательности команд, что зачастую означает DoS-атаку, либо запрещать использование некоторых команд, таких как FTP PUT, которые дают возможность пользователю записывать информацию на FTP сервер. Также, посредник прикладного уровня может определять тип передаваемой информации. Например, он может заблокировать почтовое сообщение, если в нём передается исполняемый файл. Другой возможностью межсетевого экрана данного типа является проверка аргументов входных данных. К примеру, аргумент имени пользователя длинной в 100 символов, либо содержащий бинарные данные, является по крайней мере подозрительным. Помимо уже перечисленных возможностей, посредники прикладного уровня способны выполнять аутентификацию пользователя, а также проверять, что SSL сертификаты подписаны конкретным СА. Межсетевые экраны прикладного уровня доступны для многих протоколов, включая HTTP, FTP, почтовые (SMTP, POP, IMAP), Telnet и другие[24][25].

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

Инспекторы состояния

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

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

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

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

Реализация

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

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

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

Ограниченность анализа межсетевого экрана

Межсетевой экран позволяет осуществлять фильтрацию только того трафика, который он способен «понимать». В противном случае, он теряет свою эффективность, так как не способен осознанно принять решение о том, что делать с нераспознанным трафиком. Существуют протоколы, такие как TLS, SSH, IPsec и SRTP, использующие криптографию для того, чтобы скрыть содержимое, из-за чего их трафик не может быть проинтерпретирован. Также, некоторые протоколы, такие как OpenPGP и S/MIME, шифруют данные прикладного уровня, из-за чего фильтровать трафик на основании информации, содержащейся на данном сетевом уровне становиться невозможно. Еще одним примером ограниченности анализа межсетевых экранов является туннелированный трафик, так как его фильтрация является невозможной, если межсетевой экран «не понимает» используемый механизм туннелированния. Во всех этих случаях, правила, сконфигурированные на межсетевом экране должны явно определять, что делать с трафиком, который они не могут проинтерпретировать.[30]

Примечания

  1. Лебедь, 2002, с. 22.
  2. Лебедь, 2002, с. 22—25.
  3. Лапонина, 2014, с. 43.
  4. 1 2 Шаньгин, 2011, с. 193.
  5. Forrest, p. 2.
  6. Фаронов, 2016, с. 62.
  7. 1 2 3 Лапонина, 2014, с. 131.
  8. 1 2 3 Шаньгин, 2011, с. 195.
  9. Шаньгин, 2011, с. 194.
  10. 1 2 Фокс, 2003, с. 30.
  11. 1 2 Лебедь, 2002, с. 48.
  12. Cisco.
  13. Cardenas, 2003.
  14. Лебедь, 2002, с. 50.
  15. Лебедь, 2002, с. 52.
  16. Лапонина, 2014, с. 52.
  17. Лапонина, 2014, с. 51—56.
  18. 1 2 Лапонина, 2014, с. 53.
  19. Фокс, 2003, с. 30—31.
  20. Лебедь, 2002, с. 54.
  21. Фокс, 2003, с. 31.
  22. Лебедь, 2002, с. 58.
  23. Лапонина, 2014, с. 63—64.
  24. Лебедь, 2002, с. 55—56.
  25. Лапонина, 2014, с. 59.
  26. Лебедь, 2002, с. 56.
  27. Лебедь, 2002, с. 58—61.
  28. Фокс, 2003, с. 32.
  29. Шаньгин, 2011, с. 207.
  30. Лапонина, 2014, с. 73.

Литература

Книги

Статьи