Принцип работы межсетевых экранов: как firewall защищает сеть от угроз

Принцип работы межсетевых экранов: как firewall защищает сеть от угроз

Изображение: recraft

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

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

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

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

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

В 80-е годы, когда технологии только начали своё развитие, общей сетью были объединены в основном академические и государственные учреждения. Ещё не было той глобальной сети Интернет, которую мы знаем сейчас. Это был лишь небольшой локальный изолированный периметр, внутри которого сформировались открытость и доверие среди участников. Необходимость в серьёзной защите на границе не считалась приоритетной.

Для обмена данными между устройствами такой сети была разработана архитектура TCP/IP. Её фундаментальным принципом является обеспечение свободного и беспрепятственного обмена данными между узлами. В этой системе протокол IP отвечает за адресацию и маршрутизацию пакетов информации, в то время как TCP гарантирует их целостность и достоверность доставки. Изначальная открытость данной модели стала ключевым фактором стремительного развития Интернета.

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

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

Первое поколение: Пакетные фильтры

На дворе конец 80-х, начало 90-х.

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

Тогда компания Digital Equipment Corporation в 1988 году представила разработку первого межсетевого экрана DEC SEAL, работа которого заключалась в фильтрации трафика и проверки пакетов по заданным правилам на нижних уровнях модели OSI: физическом (L1) и канальном (L2).

Стоит напомнить, что физический уровень отвечает за отправку и приём сигналов в рамках физической среды передачи данных, а канальный – поддерживает стабильную передачу, управление потоком данных и синхронизацию кадров.

Как же эти пакеты данных проверялись? Принцип можно назвать «в лоб»: проводился анализ трёх ключевых атрибутов:

1. IP-адрес источника (Source Address): Какое устройство является отправителем пакета данных? (Пусть для примера это будет IP-адрес: 192.168.1.1);

2. IP-адрес назначения (Destination Address): Какому устройству этот пакет данных предназначается? (IP-адрес: 10.0.0.2);

3. Порт и протокол (Port/Protocol): Какому сервису или программе внутри устройства получателя предназначается этот пакет данных? (Порт: 80 – HTTP-веб-трафик).

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

Так вот, пакетный фильтр смотрел только на сам «конверт» и никогда не вдавался в подробности, что именно этот «конверт» содержит. Администраторы сети вручную составляли статичные списки правил (ACL – Access Control List), порядок которых был очень важен, так как обработка происходила последовательно, сверху вниз, и прекращалась, как только заголовки пакета совпадали с заданными правилами.

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

Администраторы должны подключаться к этому серверу с определённого IP-адреса (203.0.113.10) и по протоколу SSH, позволяющему безопасно и удалённо управлять серверами и устройствами.

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

Из-за простоты фильтрации у первого поколения межсетевых экранов были существенные недостатки:

  • Поскольку фильтр обрабатывал каждый пакет данных отдельно и не учитывал предыдущие, этим пользовались злоумышленники. Можно было послать пакет, который выглядел как ответ на несуществующий внутренний запрос соединения, а межсетевой экран спокойно пропускал его, так как «не помнил», был ли вообще исходный запрос, да и пакет пришёл на разрешённый порт.
  • Межсетевой экран был очень «доверчивым», поэтому злоумышленник мог легко подделать IP-адрес источника в заголовке пакета, выдав себя за доверенное устройство.
  • Такой пакетный фильтр со своим списком правил представлял собой ад для системного администратора, ведь если система была достаточно большой, ACL-лист мог достигать более тысячи строк. Стоит ещё раз напомнить, что порядок правил был очень важен, из-за чего был риск создать дыру в доступе, либо наоборот слишком сильно его перекрыть, нарушив работоспособность.
  • Ну и самый главный недостаток – пакетный фильтр был «слепеньким». Злоумышленник мог обернуть в разрешённый «конверт» всё, что угодно, указав нужные заголовки, и межсетевой экран беспрепятственно пропустил бы «червя в конфетной обёртке».

Примеры средств защиты: Solstice Firewall-1, Application Layer Filter, Firewall Toolkit, DEC SEAL.

Второе поколение: Межсетевые экраны с контролем состояния сетевых соединений

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

Так в начале 1990-х годов появились межсетевые экраны, работающие уже на более высоких уровнях OSI, чем пакетные фильтры: на сетевом уровне (L3), отвечающем за маршрутизацию пакетов данных, и на транспортном уровне (L4), отвечающем за надёжность передачи данных.

С появлением межсетевых экранов второго поколения (для простоты будем называть их Stateful Inspection или просто SI) ввелось и ключевое понятие – таблица состояний, задачей которой стало отслеживание состояний всех активных сетевых соединений, проходящих через МЭ, в реальном времени. Именно она наделила межсетевые экраны SI «памятью».

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

Отправитель Порт отправителя Получатель Порт получателя Протокол Состояние соединения Время
192.168.1.10 49152 93.184.216.34 80 TCP ESTABLISHED 175 сек.

Ключевым здесь является поле «Состояние соединения», так как SI отслеживает этапы так называемого «рукопожатия» – процесса установления соединения между двумя устройствами или программами:

  • NEW: фиксируется попытка установить новое соединение (пакет SYN).
  • ESTABLISHED: Соединение успешно установлено (рукопожатие завершено). Идет обмен данными.
  • RELATED: Состояние для связанных соединений. Классический пример: пассивный режим FTP, где канал управления инициирует отдельный канал для данных. МЭ понимает, что второе соединение «связано» с первым, и разрешает его.
  • INVALID: Пакет, который не соответствует ни одному известному состоянию (например, подозрительные флаги, несовпадающие порядковые номера). Такие пакеты немедленно отбрасываются.
  • CLOSED: Соединение завершено.

Для UDP (который не имеет состояний) файрвол создает «псевдосостояние», имитируя сессию, чтобы иметь возможность отслеживать запрос и ответ.

В реальности это всё можно описать следующим сценарием: Мне (192.168.1.1) очень хочется посетить сайт example.com (93.184.216.34). Межсетевой экран SI выступает третьей стороной, наблюдающей за этим.

1. Исходящий запрос (NEW):

  • Я посылаю пакет с флагом SYN на веб-сервер сайта example.com, то есть, «протягиваю руку для рукопожатия»;
  • SI смотрит на мой запрос, проверяет свои статические правила: «Можно ли 192.168.1.10 ходить на любой адрес порта 80?» Ага, может. Пропускает мой запрос и вносит в таблицу состояний новую запись.
Отправитель Порт отправителя Получатель Порт получателя Протокол Состояние соединения
192.168.1.10 49152 93.184.216.34 80 TCP NEW

2. Приход ответа (ESTABLISHED):

  • Веб-сервер сайта example.com присылает ответный пакет SYN-ACK с параметрами: Отправитель: 93.184.216.34:80, Получатель: 192.168.1.10:49152;
  • SI не идет по всему списку статических правил. Он сначала проверяет таблицу состояний. Находит запись: «Ага! Это ответ на исходящий запрос, который я только что разрешил.

Это легитимная часть диалога. Обновляет состояние записи на ESTABLISHED и пропускает пакет;» Обновляет состояние записи на ESTABLISHED и пропускает пакет;

  • Мы «пожали руки» и теперь можем беспрепятственно обмениваться данными. Все последующие пакеты в рамках этой сессии (с правильными порядковыми номерами) будут сверяться с таблицей состояний и мгновенно пропускаться.

3. Попытка атаки (INVALID):

  • Злоумышленник (198.51.100.5) пытается послать мне (192.168.1.10: 49152) пакет данных, выдавая себя за веб-сервер сайта example.com;
  • SI на это дело смотрит, проверяет свои таблицы и выдаёт: «Ты, по-моему, что-то перепутал. Вы раньше не общались друг с другом». Помечает такой пакет данных как INVALID и отбрасывает. Статические правила в таком случае даже не проверяются.

4. Завершение сессии (END):

  • Если мы «наобщались» с веб-сервером, и я посылаю пакеты FIN или RST, или просто мой сеанс неактивен в течение заданного таймером времени, запись удаляется из таблицы, освобождая ресурсы.

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

Примеры средств защиты: Check Point FireWall-1, Cisco PIX.

Третье поколение: Межсетевые экраны прикладного уровня

Проблему «слепоты» межсетевых экранов смогли решить в третьем поколении в начале 2000-х, в так называемых межсетевых экранах прикладного уровня (Application-Level Firewalls) или сокращённо ALF.

Как следует из названия, такой межсетевой экран работал на самом высоком прикладном уровне (L7). На этом уровне происходит взаимодействие между приложениями и сетевыми сервисами путём предоставления интерфейсов и протоколов для передачи данных между различными программами. Именно благодаря этому ALF не просто проверяет заголовки пакетов, но и «понимает» семантику и синтаксис передаваемых данных.

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

Теперь клиент из внутренней сети подключается не напрямую к внешнему серверу, а устанавливает соединение с прокси-сервером, который, отвечая от имени клиента, устанавливает новое, отдельное соединение с внешним сервером.

ALF не просто сверяет заголовки, а собирает все TCP пакеты, упорядочивает их в соответствии с порядковыми номерами, устраняет дубликаты и группирует в единый поток данных прикладного уровня. ALF «знает», как должны выглядеть протоколы взаимодействия с приложениями и анализирует их:» как должны выглядеть протоколы взаимодействия с приложениями и анализирует их:

Для HTTP/HTTPS:

Метод: GET, POST, PUT, HEAD.

URL: Полный путь к ресурсу (/index.php?id=1).

Заголовки (Headers): User-Agent, Host, Cookie, Referer.

Тело запроса (Body): Данные формы, загружаемые файлы, JSON-объекты.

Для SMTP (e-mail):

Заголовки письма: From, To, Subject.

Тело письма: Текст сообщения.

Вложения (Attachments): Отдельные файлы, прикрепленные к письму.

Для DNS:

Имя домена

Тип записи

Сам анализ проходит по нескольким уровням:

  1. Соответствие стандарту – проверяет, соответствует ли запрос техническим стандартам протокола.
  2. Сигнатурный анализ – ищет известные шаблоны (сигнатуры) вредоносного кода или атак. База сигнатур постоянно обновляется.
  3. Эвристический и поведенческий анализ – ищет подозрительное поведение, отклоняющееся от нормы, даже если точной сигнатуры нет.
  4. Анализ на уязвимости – проверяет, может ли конкретный запрос использовать известную уязвимость в целевой системе.
  5. Контроль данных – анализирует передаваемые данные по политикам компании.
  6. Анализ файлов – извлекает и проверяет вложения и загружаемые файлы.

По результатам анализа уже принимаются решения:

Разрешить: Трафик корректен и безопасен. Прокси пересылает его дальше.

Блокировать: Обнаружена угроза или нарушение политики. Трафик отбрасывается, а

в логах фиксируется инцидент.

Модифицировать: К примеру, удалить подозрительный JavaScript-код из тела

веб-страницы или обезвредить вредоносную часть запроса, оставив его работоспособным.

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

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

Четвертое поколение: Межсетевые экраны следующего поколения

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

Next-Generation Firewall (NGFW) также работают на прикладном уровне OSI, что и третье поколение, однако, с совершенно другим подходом.

Каждое приложение имеет свой уникальный «отпечаток» – сигнатуры, которые анализирует NGFW. Это может быть последовательность байтов в сетевом пакете, строка символов в теле файла или запроса, определённая последовательность действий или хэш-сумма вредоносного файла.

Процесс анализа происходит в несколько этапов:

  1. Декодирование и нормализация трафика – NGFW принимает пакеты, собирает их в потоки. В случае шифрования трафика, происходит расшифровка и приведение к стандартному виду для упрощения анализа.
  2. Сравнение с базой сигнатур – каждый проанализированный сетевой пакет или блок данных последовательно сравнивается с тысячами сигнатур из базы данных. Для ускорения процесса используются высокооптимизированные алгоритмы сопоставления, которые позволяют проверять тысячи шаблонов за один проход.
  3. Срабатывание и действие – при обнаружении совпадения NGFW немедленно выполняет действие, предписанное правилом: разрешить, блокировать, записать событие в лог для дальнейшего анализа.

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

Взаимодействие NGFW с серверами каталогов (например, Active Directory) позволяет обеспечить контроль не просто IP-адресов, а конкретных учётных записей. Эта интеграция позволяет понимать, какой пользователь с каким IP-адресом аутентифицирован в сети в данный момент.

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

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

Если NGFW обнаруживает подозрительный файл (например, вложение в письме или исполняемый файл), он может автоматически отправить его в облачную «песочницу» – изолированную среду, где файл запускается и отслеживается его поведение (пытается ли он подключиться к Command&Control-серверу, шифровать файлы и т.д.). Если поведение вредоносное, файл блокируется, а его сигнатура добавляется в базу.

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

Примеры средств защиты третьего и четвёртого поколения: PT NGFW, Континент 4, Solar NGFW.

Заключение

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

Но меняется сама суть этого периметра и средства его обороны. Межсетевой экран прошёл путь от статичного «нет» к интеллектуальному «почему?». Если первые МЭ слепо запрещали всё, что не разрешено правилами, а вторые научились помнить «контекст разговора», то современные NGFW научились понимать язык этого разговора, знать его участников в лицо и предвидеть злой умысел.

Главный вывод заключается в следующем:

Без фундамента не бывает здания. Stateful Inspection с его таблицей состояний и сегодня остаётся ядром любой сетевой защиты. Это тот надёжный и проверенный механизм, без которого невозможна эффективная работа даже самых продвинутых систем.

Без «понимания» нет безопасности. Одного лишь контроля адресов и портов сегодня катастрофически недостаточно. Угрозы мигрировали на уровень приложений и пользователей. Способность NGFW идентифицировать приложения, независимо от портов, и привязывать политики к пользователям, а не к IP-адресам, – это не опция, а необходимость.

Защита должна быть проактивной. Интегрированные системы предотвращения вторжений (IPS) и антивирусы превратили NGFW из пассивного наблюдателя в активного охотника за угрозами, способного не только отражать известные атаки по сигнатурам, но и выявлять подозрительное поведение.

Б-152
Автор: Б-152
Б-152 — консалтинговая компания. Более 14 лет помогаем бизнесу соответствовать требованиям в сфере персональных данных и информационной безопасности. Мы работаем в области privacy, входим в рабочую группу Роскомнадзора, разрабатываем собственные продукты и сопровождаем клиентов на всех этапах — от аудита до прохождения проверок. Б-152 — команда, которая говорит с ИБ на одном языке. Мы поможем не только формально соблюсти 152-ФЗ, но и выстроить настоящую защиту данных: модели угроз, ТЗ на СЗИ, аудит и тестирование.
Комментарии: