
Забрел ты сюда просто потому, что тебе интересна защита информации или читал нашу предыдущую статью не важно, главное знай: мы – команда Инфобеза Inline Telecom Solutions и мы точно знаем, сколько пунктов 117 приказа ФСТЭК закрывает одна нода NGFW, ведь мы разобрались. Теперь поможем тебе, поехали.
Сложно представить другую технологию в увлекательном мире информационной безопасности, вокруг которой было бы настолько же много хайпа в течение такого большого количества времени, как это вышло с NGFW. Еще сложнее представить себе технологию настолько же важную и ключевую, если не сказать фундаментальную, для обеспечения реальной защиты информационных активов от реальных действий реальных же злоумышленников.
Сам термин NGFW впервые определила одна крупная консалтинговая компания, которая очень любит квадраты и отчеты, в далеком 2004 году как логичное функциональное развитие традиционного межсетевого экрана первого поколения.
Если ты не знал:
Межсетевой экран первого поколения – это пакетный фильтр, оперирующий на третьем и четвертом уровнях модели OSI, то есть устройство, реализующее проверку индивидуальных пакетов по признакам ip-адресов источника и назначения, номеров портов и протоколов, разрешая или запрещая соединение, основываясь только и только на предварительно сконфигурированном справочнике правил.
Так что же за логичное функциональное развитие имели ввиду консалтеры? Это целый стек техник и технологий, который раньше (строго говоря, преимущественно и сейчас) казался чистой воды волшебством:
Использование контекста (то есть содержимого) сетевых пакетов;
Интеграция МСЭ первого поколения, системы предотвращения вторжений и системы глубокой инспекции пакетов в одно устройство;
Контроль не только типа трафика, но идентификация и контроль приложений.
Было: Traffic Fingerprinting
Значительный рост вычислительных мощностей устройств и развитие технологий анализа больших данных позволили еще до «эпохи NGFW» реализовать на межсетевых экранах технику traffic fingerprinting – механизм непрямого анализа трафика без расшифровки TLS, использующий мета-данные (TLS handshake поле SNI, размер пакетов, временные закономерности и прочее) для косвенного определения приложений, веб-ресурсов и «стандартности» поведения пользователя путем определения девиаций.

Если ты не знал:
Девиации (или попросту ошибки) – это качественная оценка, одна из лингвистических переменных, используемая вместо точных чисел в правилах нечеткой логики для построения правил определения воздействия. Чем больше «класс» девиации (то есть чем выше степень отклонения), тем сильнее противодействие этой девиации. Процесс обработки таких правил включает в себя агрегацию таких девиаций с различными весовыми коэффициентами и преобразование полученного нечеткого результата в четкое числовое значение управляющего воздействия, в случае с Некстгеном – в большинстве случаев это запрет или разрешение сетевого взаимодействия. Рекомендуем тебе ознакомиться с умными книгами на эту тему, ведь нечеткая логика крайне важна для всех аспектов «функционального развития» твоего NGFW.
Наряду с явно не стопроцентной точностью и большой вероятностью false positive и, что хуже, false negativeрезультатов проверки, этот механизм сравнительно мало зависим от ресурсов аппаратной части. Как ты уже понял, эта техника лежит в основе контроля типа трафика.
Стало: Deep Packet Inspection
Не путай с классом решений DPI, который используют в операторских сетях, там тоже очень интересно, но сейчас мы не об этом. Глубокая инспекция пакетов. То есть если в L4FW и traffic fingerprinting мы анализировали только сетевые параметры и мета-данные, то новые технологии позволили осуществить мечту – построить систему, которая будет анализировать содержимое пакетов и принимать решение о легитимности трафика в зависимости от того, что она там найдет.

Именно этот стек технологий делает решения NGFW такими особенными. Это швейцарский нож ИБ, ведь зная содержимое пакетов мы знаем не только откуда и куда передается информация, но также знаем кто ее передает и что именно это за информация. Возможности завораживают. Но давай по порядку подробнее разберемся как все работает.
Если ты не знал:
Порядка 90% современного веб-трафика зашифровано и передается с использованием HTTPS over TLS (многие продолжают пользоваться выражением SSL-трафик, SSL-сертификат и SSL-инспекция, но это анахронизмы, криптографический протокол SSL устарел в 2015 году после обнаружения критической уязвимости POODLE.
Для реализации дополнительных модулей защиты информации происходит раскрытие трафика с использованием концепции Man-in-the-Middle. Да-да, один из фундаментальных механизмов атаки становится не менее фундаментальным механизмом защиты. С практической точки зрения если ты встаешь в разрыв и предоставляешь клиентам доверенные для них сертификаты, то ты легитимен. Если, конечно, нет применен SSL-pinning, так что раскрывать банковский трафик все равно нельзя.
Если ты не знал:
SSL-pinning – это механизм, который встраивает в приложение сертификат или публичный ключ сервера, осуществляя проверку легитимности не только самого сервера, гарантом чего является валидный сертификат, но и легитимности самого сертификата, принуждая клиентов сбрасывать соединения в случае обнаружения сертификатов, отличных от встроенных в приложение.
До сих пор осуществление TLS-инспекции является краеугольным камнем построения систем NGFW. Это самая ресурсоемкая задача, пропорционально растущая с ростом защищаемой инфраструктуры. Для МСП это не проблема, но для большого бизнеса основной драйвер построения крупных распределенных систем защиты. Инспекция при своем включении приводит к крайне существенному падению производительности устройства даже в случае использования аппаратной акселерации. Цифры могут доходить до 95%. Это обстоятельство объясняет тот факт, что в data sheet всегда несколько параметров производительности и обычно там что-то такое: L4FW – 150 Gbps, TLS инспекция – 10 Gbps. Это поражает и вводит в очень сильное заблуждение всех наших Заказчиков. Но это чистейшая правда и гениальный маркетинг.
Одновременно с этим, TLS-инспекция и самая информативная техника. Именно возможность NGFW расшифровывать, проверять и обратно зашифровывать легитимным образом трафик позволяет обогащать буквально все:
Cущественно повышается точность определения приложений;
Детектирует команды Command & Control;
Детектирует утечки чувствительных данных;
Дозволяет перехватывать файлы и работать потоковому антивирусу и дает возможность отправлять файлы в песочницу (в некоторых реализациях до доставки файла конечному пользователю, что в бесконечное количество раз увеличивает эффективность против 0-day);
Позволяет модулю url-фильтрации работать с полными путями, а не только с доменами верхнего уровня.
Зная, что NGFW идентифицирует и контролирует пользователей, приложения и контент, мы наконец подходим к его функциональным модулям.
Межсетевой экран 4 уровня
Мы уже говорили тебе выше, но повторим: это пакетный фильтр третьего и четвертого уровня OSI. Он знает только ip-адреса и номера портов, по ним и фильтрует. Косвенно знает протоколы, но никто же не мешает использовать нестандартный порт, ты понимаешь. Помимо этого, устройство при прохождении запроса хранит его состояние для автоматического формирования разрешающих правил для ответных соединений, тем самым разделяя источник и назначение. Эта техника имеет несколько плюсов: она простая, быстрая, очень четко регламентирована, а значит хорошо поддается аппаратной акселерации путем использования ASIC.

Однако есть два минуса: жестко лимитированный набор атрибутов для проверки и крайне высокая степень неточности благодаря легкой и легитимной возможности их спуфинга. Эти недостатки фундаментальны, то есть являются неотъемлемой частью самой концепции инспекции состояний сетевых соединений.
Если ты не знал:
Частично справится с ними помогает такой же фундаментальный принцип построения ACL implicit deny: каждый лист правил доступа имеет неявное правило запрета всех соединений, применяемое в последнюю очередь после всех явно определенных нами правил. Выходит, простая логика: что явно не разрешено то запрещено. Об implicitdeny разбивается очень много нелегитимного и мусорного трафика. В большинстве NGFW это правило отключить нельзя.
Межсетевой экран 7 уровня
В отличие от L4FW и как мы с тобой выяснили выше, L7FW или DPI это целый стек технологий. Постольку поскольку теперь мы проверяем не только заголовки 4 уровня (те самые ключевые для МСЭ 4 уровня ip-адреса и номера портов), но и сегменты данных, payload сетевых пакетов, к тому же еще и умеем делать потоковую дешифрацию с последующим не менее потоковым шифрованием в режиме inline, то есть имея точкой присутствия устройства физический или логический разрыв трафика.
Это обстоятельство дает в меру безграничные возможности по построению статических и динамических правил контроля и фильтрации сетевых соединений, а все собираемые данные могут стать критериями (или как говорят квалификаторами) политики сетевой безопасности.

При этом в целях экономии ресурсов NGFW, хоть подход и меняется в зависимости от конкретной потребности, обычно применяют следующие подходы к организации сетевой безопасности:
Число сегментов сети должно быть минимально возможным для обеспечения разумной дифференциации доступов. Слишком мало плохо, так как часть сотрудников будет наделена излишними сетевыми доступами. Слишком много тоже плохо, так как нагрузка на устройство увеличивается в зависимости от количества политик безопасности;
Минимизация трафика, подлежащего TLS-инспекции. Да, имея в руках святой Грааль инфобеза мы сознательно ограничиваем его. И в большинстве случаев это разумно, ведь контекст сетевых пакетов интересен нам далеко не всегда и можно ограничится, например, исходящим веб-трафиком пользовательского сегмента сети;
Комплексный анализ необходимости того или иного функционала. Чем больше включили ресурсоемких модулей – тем больше вероятность деградации при пиковой нагрузке. Некстген тоже сервер, спасибо, Кэп. Внутри нет никаких rocket science, обычные процессоры с обычными модулями ОЗУ на вполне обычных материнских платах. Или вообще ВМ, а под капотом docker;
Еще более комплексный анализ необходимости переноса на NGFW базового сетевого функционала. Например, правила NAT-трансляций. Некстген это умеет, но для крупных инфраструктур тратить мощности такого устройства на роль NAT-молотилки просто неразумно.
В принципе все понятно, кроме пункта 3, в котором мы упомянули ресурсоемкие модули. Если ты дочитал досюда и не уверовал, то уверуешь сейчас.
Для справки:
Работа всех модулей, описанных далее, напрямую зависит от TLS-инспекции, машинного обучения и искусственного интеллекта, а следовательно, именно они формируют основную нагрузку на NGFW. Даже если ты думаешь «Да что там проверять-то?».
Модуль 1. URL-фильтрация
Из метаданных служебных заголовков третьего и четвертого уровня межсетевой экран напрямую получить url-адрес назначения не может никак. Только косвенно, используя либо глобальный DNS, либо локальные справочники, реализующие подобное сопоставление. Только в первом случае запрос можно перехватить, а во втором наличие ошибок и достаточность наполнения зависит от нам. В добавок к этому существует огромное количество веб-ресурсов и веб-сервисов, расположенных на одном домене верхнего уровня. Используя обратное преобразование ip-адреса в url мы вынуждены блокировать или разрешать весь ресурс целиком.

Совершенно иначе обстоят дела, когда мы дополняем имеющуюся у нас информацию о соединении содержимым пакетов, в которых, среди прочих данных, есть явным видом указанный полный url-путь веб-ресурса, с которым пользователь устанавливает соединение.
Это позволяет значительно увеличить гранулярность правил политики безопасности, повысив при этом защищенность сетевых активов без особого влияния на пользователей.
Например, на сервере example.net размещены три веб-сервиса: почтовый example.net/owa, интерфейс apiexample.net/api/v1 и веб-чат example.net/chat. Раньше мы должны были либо разрешить доступ ко всем трем, либо запретить, путем разрешения или запрещения всех сетевых соединений с example.net. Причем здесь и указание порта не поможет, ведь порт будет разрешен для всех поддоменов, что может иметь крайне негативные последствия.
Используя url-фильтрацию и имея доступ к полному пути назначения исходящего соединения мы можем разрешить доступ только к определенному веб-сервису, расположенному на ресурсе. Например, разрешить apiexample.net/api/v1 и запретить все остальное.
Модуль 2. Контроль приложений
Теоретически при использовании L4FW у нас была возможность использовать порты для идентификации различных приложений, но это крайне ненадежный и волатильный механизм. Лет 20 назад мы точно могли сказать, что 23 порт – это telnet. Реалии изменились. Во-первых, никто не заставляет нас делать сервис на стандартных портах. Во-вторых, самописные сервисы вообще никак не регламентированы. В-третьих, некоторые сервисы выделяют порты динамически. Ведь ты же не используешь ssh по tcp/22, да? Это с одной стороны. А с другой находятся злоумышленники, которые маскируют нелегитимный трафик под легитимные соединения, например DNS tunneling.

Если ты не знал:
DNS tunneling - это техника атаки, связанная с использованием стандартного порта tcp/53 протокола DNS для транспорта не-DNS содержимого. По сути любого. От команд C2 до дропперов. Этому способствуют два обстоятельства: DNS трафика много и по этой причине многие межсетевые экраны его вообще не инспектируют. Некоторые не инспектируют by design. Есть даже отдельный класс средств защиты, которые занимаются проксированием и фильтрованием dns-трафика.
Практически в современном мире если ты разрешаешь порт, то разрешаешь все что угодно, что может в этот порт «пролезть». Никаких ограничений. Если ты хочешь настоящей безопасности ты вынужден указывать либо конкретные приложения, которым разрешено устанавливать сетевые соединения с целевыми ресурсами, либо указываешь категории приложений, справочники которых любезно предоставляются уважаемыми вендорами за много денег, можно от производителя NGFW, можно TI. Можешь даже свои написать, если у тебя прям супер много свободного времени.
Теперь внимание вопрос: если ты указываешь приложение в правиле своего NGFW, то нужно ли тебе указывать конкретный порт?
Нет. Почему? Потому что ты составляешь правило своей прекрасной политики безопасности ты пишешь «разрешить ssh по 22 порту из подсети Service в подсеть DMZ», но думаешь «мне нужен ssh в DMZ». Вот его и разрешай.
И это не дырка в безопасности, дырка в безопасности – это когда ты разрешаешь 22 порт, думая про ssh, а фактически разрешая соединение для любого приложения, способного использовать нестандартные порты.
Модуль 3. Контроль пользователей и устройств

Раньше ты идентифицировал пользователей по принадлежности их ip-адреса подсети их подразделения, комнаты, этажа, офиса или бог знает чего еще, потому что в заголовках нет информации о пользователе. А в содержимом пакета есть.
Используя эту информацию и имея интеграцию с LDAP-сервером, NGFW маркирует каждое соединение, для которого удалось идентифицировать пользователя, именем этого самого пользователя, открывая администратору безопасности безграничное и привычное поле для создания гибких RBAC-правил.
Трудно недооценить значимость этого модуля, когда ты понимаешь, что тебе достаточно указать LDAP-группу и все твои маркетологи получат доступ к облачному хранилищу вне зависимости от того, где они находятся.
Модуль 4. Предотвращение вторжений
Механизму обнаружения и предотвращения вторжений можно было бы выделить целую статью, ведь раньше это был отдельный класс решений.

Этот модуль осуществляет несколько проверок, таких как:
Сигнатурный анализ для быстрого определения известных вредоносных активностей;
Обнаружение аномалий путем сопоставления с постоянно обновляемым профилем «стандартного» трафика;
Анализ протоколов на предмет соответствия стандартам.
При обнаружении достаточного количества отклонений система сбрасывает соединение или начинает дропать пакеты.
Огромная сложность в использовании IPS является правильное составление собственных сигнатур или грамотный выбор из огромного списка предустановленных, ведь проверки IPS в высшей степени требовательны к вычислительным ресурсам. Для абсолютного большинства наших Заказчиков механизмы предотвращения вторжений навсегда остаются за гранью понимания.
Модуль 5. Потоковый антивирус

Проверять файлы, когда они попали на АРМ пользователя или сервер – это очень хорошая практика защиты от вирусной активности и подозрительного ПО. Потоковый антивирус позволяет сделать шаг вперед – проверять файлы до того, как они попали на целевую машину. Этот же модуль позволяет интегрироваться с песочницей, добавляя к сигнатурному анализу исполнение в безопасной среде, позволяя противостоять еще и уязвимостям нулевого дня.
Наиболее интересные решения на рынке и такую проверку делают до того, как файл попал к конечному пользователю – скачивание идет одновременно на клиента и на Sandbox через NGFW, при этом содержимое последнего пакета задерживается до осуществления проверки в песочнице, максимальную задержку которой можно настроить. То есть пользователь видит «чуть подвисшее» скачивание файла, в этот момент происходит проверка, если она завершается успехом – NGFW досылает последний пакет и пользователь счастлив, если завершается провалом – отображает пользователю окно с информацией о вредоносном файле. При этом, так как последний пакет не был дослан на конечное устройство, файл остается поврежденным, а значит безопасным.
Заключение
Теперь, когда ты знаешь все это и дочитал до этого момента, ты точно сможешь правильно сформулировать, какой NGFW и зачем тебе нужен.
Самое важное – 2010-е уже прошли и мастодонты РФ рынка СЗИ, такие как Код Безопасности, UserGate, Positive Technologies и Ideco умеют NGFW по функционалу (а некоторые даже по производительности) стараются быть максимально близки к зарубежным лидерам рынка. Поэтому не расстраивайся, что тебе довелось жить в такое время, а радуйся тому, что не только криптошлюзы теперь востребованы и развиваются.
Чтобы ты знал:
Usergate на момент написания статьи – единственный вендор, чьи устройства умеют Active-Active из коробки без балансировщика или пакетного брокера, еще как минимум двух решений этот функционал в дорожной карте;
Positive Technologies вывели на рынок самый производительный межсетевой экран, который поспорит с этими вашими Maestro;
Код Безопасности – один их самых стабильных и надежных продуктов на рынке + имеет сертификат ФСБ! (если конечно тебе это важно);
Ideco – один из самых быстроразвивающихся и имеет в своем составе практически полноценный WAF.
От указанных производителей стараются не отставать С-терра, ИнфоТеКС, InfoWatch, Kaspersky и др.
И помни: правила созданы для того, чтобы их схлопывать.

























