Общие проблемы, возникающие при эксплуатации межсетевых экранов
Межсетевой экран (МЭ, FW) представляет собой аппаратно-программное или программное устройство, обеспечивающее контроль и фильтрацию проходящего через него трафика. МЭ может устанавливаться как на периметре, так и в самой сети, являясь одним из механизмов защиты сетевой инфраструктуры, а зачастую и единственным.
В связи со сложившейся мировой обстановкой, иностранные производители межсетевых экранов ушли с российского рынка, а использование уже эксплуатируемых остается под вопросом, ведь основой защиты у данного класса оборудования является своевременное обновление программного обеспечения, баз данных и вирусных сигнатур.
В настоящее время отечественные решения уступают зарубежным в производительности из-за способа реализации обработки трафика. Зарубежные решения в большинстве своем используют специализированные микросхемы, а в российских решениях обработкой трафика занимается CPU. Выход из этой ситуации сейчас только один - объединять межсетевые экраны в кластеры, а в перспективе разрабатывать линейки оборудования на базе специализированных микросхем.
Способы балансировки трафика в кластере межсетевых экранов
Самым простым вариантом распределения трафика является использование коммутатора или маршрутизатора со встроенным механизмом балансировки ECMP. Балансировка трафика осуществляется по потокам: берется хэш от полей заголовков проходящих пакетов (Source IP, Destination IP, Protocol, Source Port, Destination Port), определяющий принадлежность пакета к сессиям. Затем каждый вычисленный хэш делится на количество МЭ и на основе остатка от деления распределяется между существующими путями до советующих МЭ.
Например, у нас есть четыре МЭ, на которые необходимо разбалансировать проходящий трафик. Соответственно каждый вычисленный хэш делится на четыре и по остатку от деления распределяется на 4 пути.
Проблема возникает, если один МЭ в кластере выйдет из строя. В таком случае происходит перераспределение всех сессий между оставшимися тремя МЭ, в том числе и открытых сессий, установленных ранее на рабочих МЭ, соответственно произойдет их разрыв. Данная проблема решается применением механизма Consistent Hashing, но он обычно не реализуется на коммутаторах/маршрутизаторах.
Даже при наличии механизма Consistent Hashing может возникнуть ещё одна проблема - нет гарантии симметрии прохождения прямого и обратного трафика одним и тем же маршрутом. Обратный трафик может попасть в другой МЭ, и в этом случае трафик, вероятно, будет заблокирован (МЭ не любят асимметрию трафика).
Для решения всех перечисленных проблем необходимо применение специализированных устройств балансировки трафика – брокеров сетевых пакетов или L4/L7-балансировщиков.
Преимущества использования балансировщиков трафика
Построение кластера межсетевых экранов с помощью балансировщиков трафика имеет ряд преимуществ: от масштабируемости МЭ в реальном времени и резервирования до удобного обслуживания и оптимизации затрат.
Масштабируемость
Межсетевые экраны (в зависимости от модели) обладают ограниченной производительностью и пропускной способностью. Нередки случаи, когда необходимо существенно увеличить данные параметры. Использование балансировщиков трафика позволяет легко добавлять дополнительные МЭ в режиме реального времени, не затрагивая работу уже существующих МЭ. После добавления и настройки новых МЭ общая нагрузка распределяется, соответственно в зависимости от существующих потребностей можно динамично увеличивать количество МЭ.
Обеспечение надежности
Межсетевые экраны (как и любое оборудование) могут выходить из строя, и если не предусмотрены резервные, то будет наблюдаться частичная или полная деградация предоставляемых сервисов. Работа МЭ в связке с балансировщиком трафика позволяет контролировать работоспособность МЭ. В случае выхода из строя одного из межсетевых экранов происходит перебалансировка обслуживаемых им сессий на работоспособные, а при восстановлении МЭ перебалансировка возвращеает к нему обслуживаемые сессии. Балансировщик трафика, в свою очередь, также работает в отказоустойчивом кластере.
Обслуживание оборудования
Если кластер межсетевых экранов используется без балансировщика трафика, то их периодическое обслуживание всегда будет связано с потерями работоспособности сети на время, необходимое для переподключения на резервный МЭ. В решении с балансировщиком достаточно обесточить МЭ, а обслуживаемые ими сессии автоматически перебалансируются на остальные.
Оптимизация затрат
При значительном увеличении объемов трафика, обрабатываемого МЭ, придётся переводить инфраструктуру на новую, более производительную линейку оборудования, которая может оказаться существенно дороже или вообще отсутствовать в продаже. Использование балансировщика трафика позволит использовать имеющиеся МЭ, по мере роста объемов трафика, дополняя их доступными моделями.
Использование балансировщика трафика открывает дополнительные возможности по организации мультивендорного кластера межсетевых экранов, при этом обеспечивая бесшовную миграцию на отечественные решения.
Балансировщики трафика
Существует два типа балансировщиков трафика – программные и аппаратные. Каждый из них обладает своими преимуществами и недостатками.
Программные балансировщики представляют собой программное обеспечение, устанавливаемое на обычные серверы. Главное преимущество - низкая стоимость, но вместе с этим низкая производительность и скорость обработки трафика, зависящая от платформы, на которой он стоит.
Аппаратные балансировщики представляют собой специализированные платформы с аппаратными средствами обработки трафика. Они обладают высокой скоростью обработки трафика, недостижимой программными балансировщиками, и как следствие, больше подходят для работы с высоконагруженными кластерами МЭ.
Российский рынок испытывает проблемы доступа к новому зарубежному оборудованию, а использование уже установленных балансировщиков может стать невозможным в связи с отсутствием технической поддержки и потенциальным «окирпичиванием». Одним из вариантов решения данной проблемы является применение брокеров сетевых пакетов DS Integrity NG с функцией аппаратной балансировки трафика. Брокер поддерживает механизм Consistent Hashing, симметричную балансировку прямого и обратного трафика, а также контроль состояния МЭ с использованием HeartBeat.
На текущий момент были протестированы совместные решения с отечественными производителями межсетевых экранов от «Код Безопасности» и «UserGate», проведены пилотные проекты в инфраструктуре коммерческих заказчиков.
Реализация балансировки трафика с помощью брокеров сетевых пакетов DS Integrity NG
Брокер сетевых пакетов DS Integrity NG настраивается таким образом, чтобы поддерживать прозрачное прохождение служебных протоколов (ARP, ICMP, OSPF, BGP) между всем сетевым оборудованием (МЭ, коммутаторы/роутеры и т.д.). Остальной поступающий трафик балансируется на МЭ с сохранением сессий.
Трафик, поступающий с различных сегментов сети, подключенных к брокеру сетевых пакетов, распределяется на кластер МЭ, при этом брокер сетевых пакетов с помощью HeartBeat отслеживает доступность МЭ. Если МЭ выходит из строя, то брокер автоматически перераспределяет трафик на рабочие МЭ.
Брокер сетевых пакетов не вносит изменений в поле данных, а изменяет только определенные поля в заголовках пакетов для реализации функции балансировки. Вся обработка трафика осуществляется на аппаратном уровне, что обеспечивает высокую пропускную способность в сотни гигабит в секунду.
Брокер сетевых пакетов, помимо организации масштабируемого кластера межсетевых экранов, их резервирования и обслуживания, имеет дополнительные преимущества:
Не вносит изменений в проходящий трафик, в отличие от балансировщиков трафика не является прокси-сервером, а напрямую перенаправляет пакеты в зависимости от заданных правил и типа пакета;
Не подвержен сетевым атакам, так как прозрачен для других сетевых устройств;
Брокер можно использовать по его прямому назначению – реализовать агрегацию, фильтрацию, дедупликацию и зеркалирование проходящего трафика на дополнительные устройства анализа сетевого трафика и мониторинга производительности сети.
Вместо заключения
Данная статья является вводной в серии материалов про балансировку трафика на базе брокеров сетевых пакетов DS Integrity NG. Надеемся, информация будет полезной для широкого круга специалистов, сталкивающихся с необходимостью замены зарубежных МЭ на отечественные аналоги и организации высокопроизводительных кластеров.
Если вы сталкивались с проблемами балансировки трафика в кластере межсетевых экранов, опишите их в комментариях или в группе https://t.me/dsintegrity, постараемся найти решение вместе!
Комментарии (11)
olegtsss
17.01.2023 03:48"Межсетевой экран (МЭ, FW) представляет собой ... обеспечивающее контроль и фильтрацию проходящего через него трафика" - вы здесь имеете ввиду функции, отличные от accept и drop ?
Я почему спрашиваю, так как с указанными функциями сетевое устройство должно справляться, если так не нагорожен огород.DSol Автор
17.01.2023 13:07Да, в качестве МЭ мы подразумеваем устройство с функционалом, превосходящим базовые accept и drop, включая контроль пользовательских сессий на L7 уровне и прочий функционал, характерный для устройств класса NGFW зарубежных и отечественных производителей.
shvlad1
17.01.2023 13:12+1Почему на основной картинке статьи устройство к стойке не прикручено?
DSol Автор
17.01.2023 13:17Вы очень наблюдательны!
Отсутствие винтов (установка оборудования на полку) на скорость обработки пакетов не влияет :)shvlad1
17.01.2023 13:29+1как и горящий индикатор "Ошибка" на лицевой панели.
Понятно.
ifdef_truefalsevich
18.01.2023 10:47+1Индикатор горит зелёным, если я правильно увидел. Что, скорее всего, означает штатный режим работы (т.е. нет ошибки). Сарказм выглядит излишним.
temabeloglinskiy
Добрый день. Задам вопрос по поводу использования хэшэй для балансировки трафика. Представим ситуацию, когда есть оператор связи, который имеет стык с другим оператором связи. На обоих концах стыка два фаера. Применяем балансировку по хэшам, который описан в статье (Source IP, Destination IP, Protocol, Source Port, Destination Port). Тип трафика в стыке разный - голос, сигналка, дата трафик, и... B2B/B2O трафик в размере 80% от общего трафика в стыке. Этот B2B/B2O трафик идет транзитом через сеть второго оператора и имеет стык со вторым оператором, но при этом имеет точку терминации у первого оператора - т.е. второй оператор это попросту арендованный ресурс, который предоставляет L2 сервис через свою сеть (QinQ или просто выделенный влан - не важно). Вопрос - я правильно понимаю, что брокер, который балансит по хэшам, по описанному вами механизму, никак этот трафик не разбалансит и положит его в один фаер?
select26
Что то вы смешали все в кучу.
И FW , и balancer работают на L3-4 модели OSI.
Если у вас L2, при чем тут FW и что вы собираетесь балансировать? VLAN?
В этом случае вам нужно использовать решения для L2 - LACP и т.д.
Если у вас не L2, уточните пожалуйста задачу
temabeloglinskiy
Добрый день. Для примера нарисовал схему классического шаринга транспортного ресурса двух операторов. На схеме представлен стык между двумя операторами, который настроен в гибридном режиме - работает и в L2 и в L3 одновременно - разделены по саб-интерфейсам. Оба оператора не доверяют друг другу и установили фаерволы. БС внутри оператора 2 работают по L2, но сети БС в сторону оператора 1 анонсят через BGP, в DL оператор 1 анонсит сети своего EPC (не нарисован на схеме). В то же время есть стык L2 внутри оператора 2 для проброски трафика B2B клиента оператора 1, но сам трафик все так же L3, и затерминирован на Ре роутере для B2B клиентов на стороне оператора 1, вторая точка L3 - это интерфейс самого клиента, который подключен к сети оператора 2. Самое главное - B2B клиент выбирает 80% емкости - пусть это будет 8Gb/s, а LTE БС (их не много), выбирают только 10% - 1Gb/s. При такой схеме включения и при использовании приведенного вами метода хэширования, я правильно понимаю, что балансировщик весь трафик B2B распределит на один файервол и к тому же, накидает половину трафика LTE также на этот фаервол?
DSol Автор
Брокер DS Integrity NG умеет разбирать MPLS L2-VPN, QinQ и балансировать трафик на основе распакованных IP-адресов, портов. Ваша задача выглядит решаемой, нужно пробовать.