Модель «клиент — сервер» — стандартная для обмена трафиком между сайтами и пользователями. В ходе этого обмена возникают угрозы: трафик могут перехватить, повредить, перенаправить или заменить на другую, нелегитимную информацию. Защититься от этих угроз можно различными способами: от настройки домашнего маршрутизатора до внедрения корпоративных ИБ-систем.
- Введение
- Anti-DDoS: грубая очистка
- Anti-Bot: отсеивание ботов
- WAF: анализ трафика
- Load Balancer: защита от перегрузки
- NGFW: контроль доступа к портам
- Защита трафика на стороне клиента и провайдера
- Выводы
Введение
Мы не будем подробно расписывать угрозы на всех без исключения участках пути. Вместо этого рассмотрим ситуацию с позиции владельца сайта — и инструменты, которые позволят ему защитить свой ресурс от вредоносного трафика.
Разумеется, не все существующие инструменты защиты трафика находятся в распоряжении владельца сайта. Он вряд ли сможет повлиять на действия пользователя или магистрального провайдера. Но ряд технологий для очистки трафика доступен и ему: провайдер или внешний контрагент может предоставить свои инструменты защиты в качестве дополнительной услуги. При этом желательно использовать эшелонированную защиту — цепочку из нескольких инструментов, каждый из которых выполняет свою функцию.
Поговорим о том, что это за инструменты и какую роль они играют в очистке трафика от ботов, вредоносных агентов и сетевых атак.
Рисунок 1. Схема инструментов защиты трафика на пути к серверу
Anti-DDoS: грубая очистка
DDoS — распространенный вид атаки типа «отказ в обслуживании». Злоумышленники создают большой поток трафика и перегружают сервер вплоть до отказа оборудования либо заполнения канала подключения к интернету «мусорным» трафиком. Атака может привести к падению сайта или серьезному замедлению его работы, как следствие — к простою и потере денег.
Как правило, первичную защиту от таких атак реализуют на уровне сети магистрального провайдера. Кроме того, существуют различные облачные решения Anti-DDoS. Фактически, сервис встраивается в цепочку передачи трафика — информация перенаправляется через него, прежде чем достичь серверов сайта.
Рисунок 2. Движение трафика с Anti-DDoS и без него
Пропускная способность сервиса Anti-DDoS, как правило, в сотни раз шире, чем у самого сервера: это позволяет обрабатывать большое количество трафика без задержек и падений. Даже если сайт атакуют огромным количеством запросов, канал Anti-DDoS достаточно широк, чтобы это не повлияло на его функциональность.
Anti-DDoS работает как центр «грубой» очистки трафика:
- Информация проходит через сервис и анализируется его алгоритмами. Способы выделения вредоносного трафика зависят от технологий, которые используются в самом сервисе. Как правило, блокируется только очевидный «мусор» — трафик, непохожий на нормальные легитимные запросы.
- Защита от DDoS построена по принципу: лучше пропустить некоторое количество «мусорного» трафика, чем выставить слишком жесткие ограничения и отсечь реальных пользователей. Небольшое количество «мусора» не навредит сайту, в отличие от потери потенциальных клиентов, которые не смогли зайти на сайт из-за ограничений Anti-DDoS.
Перенаправление через Anti-DDoS незаметно для пользователя. При этом не происходит никаких модификаций трафика, кроме очистки. DNS-запись не изменяется, вставка заголовка XFF также не требуется.
Существует еще один вид защиты от DDoS — в нём трафик перенаправляют так же, как при работе WAF или Anti-Bot, то есть меняют запись DNS и модифицируют трафик. В этом случае, чтобы сохранить исходный IP-адрес, понадобится вставка заголовка XFF. Такой вид Anti-DDoS работает только для веб-ресурсов и не подойдет для защиты целой подсети разнородных ресурсов. Зато он способен отразить DDoS-атаку внутри зашифрованного протокола HTTPS.
Anti-Bot: отсеивание ботов
На любой сайт заходят боты, и не все они вредны. К примеру, роботы поисковых систем проходят по страницам для индексации сайта в поисковике: без них ресурс не будет отображаться в выдаче. Однако часть ботов — вредоносные: созданы, чтобы мешать нормальной работе сайта. Например, есть боты, которые добавляют в корзину интернет-магазина все товары из ассортимента. Товары автоматически бронируются и оказываются недоступными для других посетителей. Реальные покупатели не могут их приобрести, бот же товар выкупать не будет — магазин потеряет прибыль.
Кроме того, боты могут воровать с сайта уникальный контент, подбирать пароли от аккаунтов пользователей и выполнять другие вредоносные действия. Для защиты от подобных ситуаций и нужен модуль Anti-Bot.
В цепочке инструментов защиты Anti-Bot устанавливают строго после Anti-DDoS — так как, в отличие от последнего, модуль защиты от ботов модифицирует трафик.
- Anti-Bot также функционирует как центр очистки, но с более тонкой фильтрацией. Трафик перенаправляется через изменение DNS-записи, после чего оценивается по ряду сигнатур. Перед перенаправлением стоит уменьшить TTL записи до одной-пяти минут для переключения на новый IP-адрес.
- Принцип фильтрации — тот же, что у Anti-DDoS: лучше пропустить одного или двух ботов, чем по ошибке заблокировать доступ реальному пользователю, способному принести сайту выгоду.
- Работа с Anti-Bot, в отличие от Anti-DDoS, уже осуществляется через безопасный протокол HTTPS. Устанавливать TLS-сертификат с приватным ключом можно по всей цепочке средств защиты. Главное — чтобы они были установлены в том сервисе, IP-адрес которого записан в DNS.
Так как трафик перенаправляется через изменение DNS, по умолчанию следующий инструмент в цепочке будет «видеть» IP-адрес не реального пользователя, а сервиса Anti-Bot. Чтобы избежать этого, необходима вставка заголовка XFF (X-Forwarded-For).
Рисунок 3. XFF идентифицирует оригинальный IP-адрес клиента и передает его с адресом прокси-сервера
Если для веб-приложения используется несколько средств защиты, XFF необходимо подключить к первой точке, в которую приходит трафик. Для остальных этапов он уже не обязателен, так как одинаковые заголовки перезаписываются.
WAF: анализ трафика
WAF, или Web Application Firewall, — группа решений, которые работают на прикладном уровне сетевой модели OSI. Их задача — защита от сетевых атак, эксплуатирующих уязвимости в коде сайта.
WAF также фильтрует трафик, но на более глубоком уровне. Он глубоко оценивает сам входящий запрос, а не только косвенные признаки, указывающие на бота или «мусор».
- Трафик также перенаправляется через изменение DNS и модифицируется — поэтому для WAF действуют те же рекомендации, что для Anti-Bot. Он также требует подключения HTTPS и заголовка XFF, если необходимо передать исходный IP-адрес клиента.
- WAF получает на вход запрос и анализирует его содержимое: заголовки, идентификатор, методы и тело запроса. Если сообщение соответствует настройкам и параметрам безопасности, файрвол пропускает его, в противном случае — блокирует.
- Для WAF, как и для всех перечисленных средств защиты, возможно задать «черные» и «белые» списки. Это позволит автоматически отсекать или, наоборот, пропускать сообщения от определенных адресов.
Некоторые сайты используют WAF как альтернативу Anti-DDoS и Anti-Bot. Но это не вполне верное решение: файрвол веб-приложений создан в первую очередь для защиты от целевых хакерских атак. Это более сложный инструмент, его пропускная способность ниже. Нет смысла нагружать WAF анализом очевидно «мусорного» трафика, с которым справятся более простые сервисы.
По этой же причине WAF в цепочке защиты стоит устанавливать после Anti-DDoS и Anti-Bot.
Load Balancer: защита от перегрузки
Даже легитимный трафик может вызвать отказ оборудования, если его поток становится слишком большим. Например, интернет-магазины регулярно сталкиваются с повышенной нагрузкой в периоды крупных распродаж. Некоторые веб-приложения менее подвержены этой проблеме, так как используют распределенную отказоустойчивую архитектуру, другим необходимы внешние решения для защиты от перегрузки.
Одно из таких решений — Load Balancer, или балансировщик нагрузки. Это инструмент для оптимизации потока трафика:
- Балансировщик распределяет трафик между разными серверными мощностями, чтобы ни один компонент инфраструктуры не оказался перегружен.
- Если поток запросов растет, Load Balancer переводит часть трафика на дополнительные серверы при масштабировании инфраструктуры.
- Если какой-либо сервер выходит из строя, Load Balancer исключает его из списка доступных и передает его нагрузку другим сетевым устройствам.
Так же как и предыдущие инструменты, Load Balancer перенаправляет трафик через изменение DNS-записи, работает через HTTPS и требует добавления XFF, чтобы сохранить исходный IP-адрес.
В цепочке средств защиты балансировщик устанавливают до или после WAF. В большинстве случаев — после, чтобы в Load Balancer поступал максимально очищенный трафик. Но в ряде ситуаций стоит установить сервис до WAF: если поток заявок настолько велик, что пропускной способности WAF не хватит для его обработки. В таком случае используют несколько WAF и распределяют нагрузку между ними с помощью Load Balancer.
NGFW: контроль доступа к портам
Мы добрались до последнего из инструментов, которые рассматриваем в статье. NGFW, или файрвол нового поколения, контролирует доступ к портам для подключения к серверу.
Представим, что доступ к Linux-серверу осуществляется по нескольким портам:
- 80, 443 — веб-интерфейс с контентом, предназначенным для пользователей. Нужен всем клиентам.
- 22 — SSH для управления операционной системой. Нужен только администраторам.
В этом случае NGFW должен разрешить доступ к общедоступным портам из любой точки, а к SSH — только из подсетей администраторов. Из внешнего интернета административные порты не должны быть доступны.
То же самое справедливо для средств защиты, о которых говорилось ранее. Если управление ими производится через выделенные интерфейсы, NGFW ограничивает доступ к этим портам, чтобы к ним могли подключаться только определенные ресурсы. Но здесь возникает вопрос: на каком участке цепочки должен находиться NGFW? Ответ на этот вопрос зависит от конфигурации. Технически NGFW можно подключить на любом участке, но стоит помнить о важной детали.
NGFW — сложный инструмент с относительно невысокой пропускной способностью и потенциальная точка отказа. Кроме того, NGFW зачастую разграничивает доступ между несколькими сегментами. Его может вывести из строя простая DDoS-атака. А если он остановится, то по цепочке отключится и всё, что установлено после него. Поэтому NGFW никогда не устанавливают до Anti-DDoS.
С остальными средствами защиты возможны вариации, но принцип тот же. Чем ближе NGFW к серверу, чем больше инструментов установлено до него, тем более чистый трафик к нему приходит. Соответственно, ниже риск, что NGFW выйдет из строя и потянет за собой само веб-приложение.
С другой стороны, доступ к средствам защиты тоже производится через управляющие порты, а для их контроля нужен NGFW. Поэтому принцип таков:
- Если инструмент устанавливается до NGFW, у него должны быть разнесены интерфейсы обработки трафика (HTTP, HTTPS) и управления оборудованием (SSH). Интерфейс управления недоступен из интернета.
- Если управление устройством производится через тот же интерфейс, что и обработка трафика, его без вариантов придется устанавливать после NGFW. Если подключить такой инструмент до NGFW, возникает угроза безопасности: управляющие порты оказываются незащищенными.
Так выглядят основные инструменты для защиты трафика, приходящего на сервер. В зависимости от конфигурации сайта некоторые из средств могут меняться местами или вовсе отсутствовать. Какие инструменты выбрать — уже решение владельца сайта, но стоит помнить, что они не взаимозаменяемы. Для максимальной защиты лучше использовать цепочку из нескольких решений.
Защита трафика на стороне клиента и провайдера
В конце хотелось бы упомянуть другие средства защиты — те, которые используют на стороне клиента или провайдера. Владелец сайта на этот участок пути повлиять не может, но знать об их защите стоит, хотя бы чтобы видеть полную картину.
Провайдеры: защитное оборудование и ПО
На стороне провайдера главное — правильная конфигурация сети. Неправильно настроенное оборудование уязвимо к перехвату или подмене трафика, а если у злоумышленника достаточно широкий канал — то и к перенаправлению.
То есть провайдер на своей стороне:
- конфигурирует активное сетевое оборудование и инфраструктурные сервисы (например, DNS) так, чтобы управление ими не было доступно снаружи, и минимизирует обработку нелегитимного трафика;
- пользуется технологией DPI для анализа пакетов, проходящих через сеть;
- базово фильтрует трафик от DDoS-атак — этим обычно занимаются магистральные провайдеры.
При защите от DDoS-атак провайдеры анализируют трафик на предмет наличия атаки. На границе провайдерской сети они задают правила грубой очистки — это позволяет отражать примитивные, но мощные атаки. При обнаружении возможной DDoS-атаки трафик перенаправляют через центр очистки, который уже за счет собственных алгоритмов определяет, атака это или нет.
Клиентское устройство: антивирус и обновления
Возможные угрозы на стороне клиента — заражение устройства вирусами или троянами. Сюда же можно отнести социальную инженерию: злоумышленник убеждает пользователя самостоятельно совершить вредоносные действия. Яркий пример — телефонное мошенничество.
Если клиент — обычный пользователь, то, как правило, ему достаточно:
- Вовремя устанавливать обновления операционной системы и программ на ПК. В апдейтах закрывают проблемы безопасности, которые обнаружили ранее. Отсутствие обновлений — отсутствие патчей безопасности и, как итог, большее количество уязвимостей.
- Пользоваться антивирусом, встроенным в ОС или сторонним, регулярно обновлять его базы.
- Соблюдать правила безопасности в интернете, то есть не переходить по подозрительным ссылкам, не вводить логины-пароли и персональные данные на сомнительных сайтах, не раскрывать персданные лишний раз в публичном пространстве.
Корпоративные клиенты: средства контроля
Если клиент — корпоративный пользователь, методы защиты часто сложнее. Компания может использовать:
- продвинутые файрволы и прокси-серверы, которые ограничивают доступ сотрудников к опасным сайтам, а часто и к соцсетям, чтобы избежать случайной утечки данных;
- системы, которые отслеживают поведение пользователя и сообщают в департамент безопасности о подозрительных действиях с его стороны;
- политики безопасности, например требования к сложности пароля и частоте его замены.
Выводы
Напоследок скажу: защититься абсолютно от всего невозможно. Лучшее, что может сделать пользователь или компания, — минимизировать риски и усложнить атаку для злоумышленника. Инструменты защиты существуют именно для этого. Ими важно и нужно пользоваться, но при этом не стоит забывать и о других возможных источниках угроз. Только так можно вовремя отреагировать на проблему и устранить ее.