Почти экспоненциальный рост за последнее десятилетие кибератак на различные типы приложений укрепил потребность в улучшенной инфраструктуре безопасности периметра сети, которая может проверять и блокировать любые виды трафика. Производители устройств безопасности следующего поколения (NGFW) понимают необходимость глубоких проверок (deep inspection) и перешли за пределы файерволинга транспортного уровня на уровень приложений для web, электронной почты, передачи файлов и т. д.
Следующей большой проблемой, с которой сталкиваются такие устройства безопасности, является качество инспектирования при увеличении объема зашифрованного трафика. Чтобы гарантировать, что устройства безопасности поймают весь трафик, включая зашифрованный, они должны быть внедрены в режиме прокси при выполнении задач предотвращения вторжений. Реализация прокси в целях безопасности обычно предусматривает снижение производительности и задержки.
Эффективность безопасности проверки зашифрованного трафика неоспорима. Тем не менее, история показала, что любое in-line устройство безопасности, которое вносит значительные задержки, либо резервируется, либо перемещается out-of-band через определенное время. Здесь мы обсудим реализацию прокси, накладные расходы, которые они добавляют в сети, сценарии тестирования, которые могут помочь обнаружить такие влияния на производительность, а также советы и рекомендации для лучшей реализации прокси.
Что такое прокси?
Проще говоря, прокси – это компьютер или устройство, которое является посредником между двумя системами, такими как:
— хосты в защищенной сети и Интернет;
— Интернет-клиенты и серверы в приватной сети.
Прокси терминирует любое соединение, инициированное клиентом и открывает новое соединение между собой и сервером. Это помогает прокси достичь нескольких целей в качестве посредника, например аутентификация клиента, балансировка нагрузки между несколькими серверами, более быстрые ответы через механизмы кэширования и самое главное – безопасность с помощью проверки трафика.
Здесь мы сконцентрируемся на устройствах безопасности и влиянии включения режима прокси на них.
Работа прокси для безопасности
Для достижения задач безопасности устройству безопасности необходимо отслеживать все сессии, анализировать каждый загруженный файл, обнаруживать любые вредоносные действия и предотвращать попадание угроз в защищенные цели. Теперь, когда большая часть интернет-трафика зашифрована, требуется, чтобы устройства безопасности были развернуты в режиме прокси для эффективной инспекции всего этого зашифрованного трафика. За это приходится расплачиваться производительностью – ниже перечислены несколько операций, которые влияют на производительность в устройствах безопасности в режиме прокси, но нужны для задач безопасности:
— Открытие двух отдельных соединений для каждого входящего соединения: одно от инициатора подключения до прокси, а другое – от прокси до адресата;
— Перехват зашифрованного трафика SSL и расшифровка всех пэйлоадов, проверка всего трафика, снова зашифровка и отправка адресату;
— На основе проверки – блокировка/репорт о любом подозрительном трафике, обеспечивая при этом беспрепятственное прохождение легитимного трафика.
Влияние включения прокси на производительность
Функционал глубокой проверки (deep inspection) делает устройства безопасности в режиме прокси основным «узким местом» (так называемый bottleneck) и может привести снижению производительности всей сети.
Из-за стойких шифров SSL и больших размеров ключей, прокси может влиять на производительность, даже если сеть работает на 10% от максимальной емкости.
Снижение производительности в большинстве случаев сопровождается ошибками, вызванными перезапросом пакетов, задержкой сеанса (session-delay), сбоем сеанса (TCP Retries и Timeouts) и ошибками транзакций (Packet Drop).
Тесты, демонстрирующие влияние включения прокси на производительность
Чтобы сделать прокси-файрвол (FW) более надежным и эффективным при обработке этих «узких мест» (bottleneck), необходимо их протестировать и проверить перед внедрением. Ниже демонстрируются серьезные задержки, возникающие при включении режима прокси на устройствах безопасности.
Сценарий 1: Прокси без SSL. HTTP GET с ответом 200OK с размером страницы 44 КБ. Для теста используется IXIA BreakingPoint для имитации HTTP-клиентов и серверов с устройством безопасности в середине. Цель теста — достичь максимального количества уникальных TCP/HTTP сессий в секунду. Чтобы понять влияние производительности прокси, были включены режим прокси и инспекция на время тестирования.
Наблюдение 1: Среднее время TCP ответа (response), когда устройство работает без и с режимом прокси, отличается более чем в 22 раза.
Наблюдение 2: Средняя продолжительность TCP сессии увеличивается в 225 раз, если сравнить режим работы устройства без и с прокси.
Сценарий 2: Подобно описанному выше сценарию, за исключением того, что теперь HTTP-GET 44KB страница шифруется сессией TLS1.1.
Наблюдение 1: с зашифрованным трафиком, в режиме прокси, наблюдается увеличение времени TCP ответа в 20 раз. [Примечание. В общем, время TCP ответа выше для зашифрованного трафика из-за задержки, которую вносит прокси, которая тратит больше ресурсов для обработки этого трафика].
Наблюдение 2: Средняя продолжительность TCP сессии увеличивается в ошеломляющих 400 раз.
Советы по внедрению эффективного прокси
1. Выбор правильного производителя
Аппаратное и программное обеспечение постоянно оптимизируется для лучшей обработки в режиме прокси. Так называемая «разгрузка» (offloading) и методы распределения выделенных ресурсов повышают эффективность режима прокси в устройствах безопасности. Клиенты должны знать об этом и сравнивать характеристики устройств безопасности в режиме прокси, как один из критериев выбора производителя.
2. Выбор правильных шифров и методов шифрования, когда это возможно
Выбор шифров, которые использует клиент или сервер, не всегда может контролироваться специалистами по безопасности, однако они должны обеспечить, где это возможно, чтобы зашифрованный трафик использовал наиболее эффективные шифры, которые обеспечивают более высокую производительность без ущерба для безопасности (например, ECDHE-ECDSA 256-бит для обмена открытыми ключами).
3. Используйте разные уровни шифрования на защищенных и незащищенных сторонах
Прокси, согласно дизайна, должны работать с двумя отдельными соединениями. Соединение защищенной стороны, которое обычно открывается между прокси-сервером и конечным хостом, может обеспечить более низкое шифрование TLS, так как оно находится за устройствами/периметром безопасности. Пользователь может выбрать более низкое шифрование или отсутствие шифрования на защищенной стороне. Это повысит эффективность одного из двух соединений и, следовательно, улучшит общую производительность устройства безопасности в режиме прокси.
Выводы
Два теста, описанные здесь, демонстрируют экстремальное влияние режима прокси в устройствах безопасности. С другой стороны, повышенная эффективность безопасности in-line устройств в режиме прокси снижает риски безопасности. Организации больше не хотят повышать риски безопасности, даже если это означает лучшую производительность, поэтому мы видим большое внедрение режима прокси в устройствах безопасности. Когда мы внедряем прокси в инфраструктурах безопасности, эффективное и рациональное развертывание и лучшие характеристики устройств безопасности помогут снизить влияние прокси на производительность сети, и соответственно эффективность бизнеса.
За основу взято исследование Amritam Putatunda и Rakesh Kumar.
Дополнительные ресурсы:
https://www.ixiacom.com/
https://www.ixiacom.com/products/breakingpoint
https://www.ixiacom.com/products/breakingpoint-ve
https://www.ixiacom.com/products/breakingpoint-aws
Автор: МУК