Современный бизнес становится всё более зависимым от информационных технологий. Масштабные программы цифровизации и цифровой трансформации существенно повысили важность цифровых каналов взаимодействия с клиентами и партнерами, а массовый переход на удаленную работу заставил бизнес спешно выстроить цифровые каналы и для взаимодействия со своими собственными сотрудниками. В результате сетевая инфраструктура и подключенные к Интернету информационные ресурсы стали для многих предприятий не просто важными, а критически важными, а связанные с ними риски перешли в разряд бизнес-рисков, потому что простои этих ресурсов или отказы в обслуживании ведут к существенным убыткам и репутационным издержкам.
Этим-то как раз и пользуются злоумышленники, регулярно предпринимающие атаки на сети, сайты и всевозможные интернет-сервисы. Для этого они используют различные подходы и инструменты. В частности, они «полюбили» DDoS-атаки — они недороги в организации и проведении, при этом достаточно эффективны по своему воздействию на бизнес жертвы.
Ущерб от успешной DDoS-атаки в первую очередь заключается в финансовых и репутационных издержках: недополученной прибыли, разрыве контрактов и оттоке пользователей, многочисленных жалобах и рекламациях клиентов, волне негатива в СМИ и социальных сетях и, как следствие, ущерба для репутации интернет-ресурса и его владельца. Нередко DDoS-нападение используется в качестве прикрытия для основного вредоносного воздействия в ходе целенаправленных атак: в то время как специалисты по информационной безопасности концентрируются на отражении DDoS-атаки и восстановлении работоспособности систем, злоумышленники усиливают главный вектор атаки — например, взламывают сервис, похищают конфиденциальные данные или устанавливают вредоносные коды.
Чаще всего объектами DDoS-атак оказываются правительственные, финансовые учреждения, игровые сервисы, компании электронной коммерции. С началом пандемии резко усилились атаки на образовательные ресурсы, сервисы видеоконференций, онлайн-кинотеатры, медийные и развлекательные сайты.
В случае успешной атаки ресурс, оказавшийся под ударом, продемонстрирует существенное снижение производительности либо вообще не сможет обрабатывать легитимные запросы от пользователей и других сервисов. В зависимости от того, что конкретно представляет собой ресурс-жертва, последствиями успешной DDoS-атаки могут быть замедленная работа или недоступность сети, сервера, интернет-сервиса, сайта, приложения. В результате интернет-ресурс «зависает», легальные пользователи не могут получить доступ к нему в нужный момент, сеть или сервер на время становятся «отрезанными» от Интернета, интернет-ресурс перестает работать корректно и т. п.
Объектами DDoS-атак становятся подключенные к Интернету устройства: сетевое оборудование, физические и виртуальные серверы, различные интернет-сервисы, веб-сайты и веб-приложения, инфраструктура Интернета вещей.
Большинство атак развиваются в следующей последовательности:
В некоторых видах атак с т.н. “амплификацией” эффект усиления может быть настолько сильным, что атака вполне успешно проводится без создания ботнета, с использованием одного или нескольких компьютеров. Усиливающий эффект достигается за счет того, что атакующий отправляет запросы, подменяя свой IP-адрес, на адрес жертвы, а размер ответа, который получит жертва, может быть в разы, а то и в десятки раз больше, чем исходный запрос.
Отдельно следует упомянуть об «умных» DDoS-атаках: они выбирают в качестве конкретной цели наиболее ресурсоемкие функции веб-приложений и создают на них чрезмерную нагрузку, вызывая таким образом отказ этих приложений в обслуживании (исчерпание каналов при этом, как правило, не наблюдается). Эффект от такого воздействия может быть очень сильным, даже если атака проводилась с одного компьютера без использования ботнета (DoS-атака).
Чаще всего применяется классификация атак по уровню OSI, на котором они осуществлялись:
Еще один распространенный способ классификации — по способу воздействия:
Существует, по меньшей мере, три способа классификации средств защиты от DDoS-атак:
На самом высоком уровне решения для защиты от DDoS-атак можно классифицировать следующим образом:
Их основные преимущества:
Недостатки и ограничения:
Основной клиент решений on-premise — крупные операторы: ISP, облачные провайдеры, дата-центры с собственной службой реагирования на DDoS-атаки.
Облачные решения — оптимальный вариант для большинства организаций.
По мере того, как стоимость гибридных решений будет снижаться, они станут доступными для небольших сервис-провайдеров.
Как правило, DDoS-атаки используют уязвимости и особенности протоколов и систем, работающих либо на сетевом (L3) и транспортном (L4) уровне модели OSI, либо на уровне приложений и программных сервисов (L4). Кроме того, все большее распространение получают «интеллектуальные» атаки, использующие весьма изощренные методы воздействия. Исходя из этого, решения для защиты от DDoS-атак можно разделить на три категории:
Решения on-premise, как правило, ограничиваются защитой на уровнях L3 и L4. Функционал облачных решений может варьироваться в широком диапазоне, и чтобы понять, на что они способны, необходимо тщательно изучать документацию конкретных сервисов. Для защиты критически важных интернет-ресурсов стоит выбирать вариант с использованием WAF — это позволит максимально обезопасить ресурсы и обеспечить их доступность при DDoS-атаках самого разного уровня сложности.
По формату подключения DDoS-защиту можно подразделить на симметричную и асимметричную.
Как правило, симметричные алгоритмы более эффективны, поскольку анализируют оба потока трафика одновременно и могут основывать решения на полной информации о сетевом взаимодействии сервера и клиентов. Ассиметричные же алгоритмы не гарантируют стопроцентную фильтрацию некоторых атак.
Как правило, симметричная защита рекомендуется для противодействия атакам на веб-сайты и критически важные приложения, а асимметричная — для защиты провайдерских сетей.
Сравнение основных преимуществ и недостатков обоих классов защиты приведено в таблице.
Преимущества | Симметричная защита | Асимметричная защита |
Гибкое управление исходящим трафиком | Нет | Да |
Дополнительная задержка | Выше | Ниже |
Сложность подключения | Выше | Ниже |
Плата за подписку | Выше | Ниже |
Возможность использовать нескольких провайдеров для защиты от DDoS-атак (одного IP) | Нет | Да |
Эффективность фильтрации | Выше | Ниже |
Более подробную информацию о симметричной и асимметричной защите от DDoS-атак можно найти в этом выступлении:https://youtu.be/B4EArYvQWaM.
В зависимости о того, какие объекты нужно защищать, следует выбирать разные способы и средства защиты от DDoS-атак.
Кроме того, очень важно представить себя на месте злоумышленника, подумать, какими способами он мог бы попытаться реализовать свои замыслы, а затем не только устранить все найденные уязвимости, но и тщательно протестировать сервис, чтобы убедиться, что он реально может противостоять атакам. Более подробную информацию о том, как правильно подключать DDoS-защиту, можно найти здесь: https://youtu.be/iklmmxuwVrg.
Первое, что нужно учесть, выстраивая защиту сайтов и веб-приложений от DDoS-атак, — есть ли у вас доступ к серверу, на котором разместили сайты и приложения. Если можете его полноценно контролировать, следует не только позаботиться о подключении внешней DDoS-защиты, но и правильным образом подготовить сам сервер: выполнить оптимизацию сетевого стека операционной системы так, чтобы сервер смог выдерживать высокие нагрузки. Для защиты от DDoS очень важно обеспечить высокую производительность сервера, включая обработку поступающих по сети запросов к нему. В противном случае даже в отсутствие атаки есть риск т.н. «хабраэффекта», когда появление в Интернете публикации, быстро ставшей очень популярной, приводит к резкому увеличению нагрузки на упомянутые в ней интернет-ресурсы.
Стандартные настройки работающих в режиме продуктивной эксплуатации сетевого стека ОС и веб-сервера Apache или Nginx, как правило, имеют существенные ограничения, которые обязательно необходимо устранить. В частности, нужно обратить внимание на параметры, определяющие производительность сервера на Nginx и сетевого стека Linux. Также следует обратить внимание на оптимизацию используемых СУБД — они должны работать быстро.
Если на сайте используются популярные системы CMS (например, Joomla!, WordPress, Drupal), обязательно воспользуйтесь общедоступными рекомендациями по настройке их производительности. Необходимо обеспечить высокую производительность сайта в стандартном режиме — это повысит его шансы справиться с DDoS-атакой.
Если приложение или сайт развернуто на внешней площадке и решено доверить защиту от DDoS-атак ее владельцу, то следует, по крайней мере, уточнить, сможет ли он обезопасить этот интернет-ресурс от атак на уровне приложений (L7). В любом случае можно подключить внешний сервис защиты, при этом нужно настроить его так, чтобы IP-адрес реального сервера не был виден злоумышленнику ни через почтовые заголовки, ни через открытые порты, ни через иные сервисы.
И вот еще несколько рекомендаций:
Стремясь обеспечить устойчивость сервисов, взаимодействующих с пользователями посредством TCP и UDP, нужно в первую очередь оптимизировать сетевой стек операционной системы. Для начала стоит удостовериться, что прерывания сетевой карты распределены по разным процессорным ядрам. В большинстве современных систем это распределение производится автоматически, тем не менее, дополнительная осмотрительность не помешает.
Отметим, что определенное преимущество в защите от DDoS-атак имеют сервисы, работающие на основе протокола TCP, поскольку сам протокол лучше приспособлен для отражения атак. Гораздо больше усилий потребуется, чтобы обезопасить серверы, работающие на основе протокола UDP. Этот протокол не подразумевает соединений, и если сервер подвергается не типичной, а целевой атаке, имитирующей при этом игровые пакеты, трафик фильтроваться не будет — если только вы не сообщите заранее о деталях архитектуры и функционирования сервера вашему DDoS-защитнику, не продумаете вместе с ним способы отражения нетипичных атак и не проверите их эффективность на нескольких тестовых атаках.
Для защиты интернет-сервисов и онлайн-игр на основе TCP и UDP нужно в первую очередь настроить драйвер сетевой карты. Когда на нее приходит фрейм, она должна инициировать системное прерывание, которое «просит» процессор приостановить выполнение текущей задачи и обработать пришедшую порцию трафика. Однако если бы каждый фрейм вызывал незамедлительное прерывание и «отвлекал» процессор от текущих задач, заметное снижение производительности можно было бы наблюдать даже на простейших сетевых операциях, таких как передача файла по протоколу FTP. Поэтому эти прерывания выстроены в очередь, которая скапливается на сетевой карте и обрабатывается процессором за один раз. Обычно это происходит 250-1000 раз в секунду, и чем реже — тем меньше загрузка CPU, но тем выше задержка.
С другой стороны, большинство современных серверов имеют несколько процессорных ядер. Поскольку ОС рассматривает каждое из них как отдельный процессор, мы можем равномерно распределить между ними нагрузку от прерываний. Есть два способа это сделать.
Обеспечение устойчивости сети — пожалуй, самый сложный случай в плане обеспечения эффективной защиты от DDoS-атак. Во-первых, потому, что нередко приходится защищать не только свои интернет-ресурсы, но и принадлежащие вашим клиентам, разместившим свои ИТ-активы внутри вашей сети. Во-вторых, большое количество IP-адресов, которыми, скорее всего, располагает владелец сети, позволяет злоумышленникам организовывать относительно слабые атаки, производимые синхронно на множество адресов, что существенно замедлит работу всей инфраструктуры.
Первое, о чем следует позаботиться, — чтобы пограничный (Edge) маршрутизатор располагал достаточно высокой производительностью. Необходимо уточнить их пропускную способность, оценить текущую нагрузку и по возможности провести ряд стресс-тестов, например, с использованием утилиты hping3.
Второе — необходимо удостовериться, что принадлежащие вам IP-адреса нельзя определить путем трассировки (traceroute) как извне, так и изнутри сети, а те, что можно, защищены средствами ACL (за соответствующей помощью следует обратиться к провайдеру защиты).
Подключая защиту сети через BGP, нужно помнить, что злоумышленник может легко провести трассировку до провайдера, обеспечивающего DDoS-фильтрацию, и узнать стыковой IP-адрес, который, как правило, не защищен, а потому уязвим для DDoS-атак. Следовательно, стыковые IP-адреса желательно, во-первых, закрывать с помощью ACL (это должен обеспечить провайдер), а, во-вторых, скрывать от трассировки как извне, так и изнутри.
Само по себе подключение защиты от DDoS не гарантирует работоспособность интернет-ресурсов в случае DDoS-атаки. И зачастую проблема кроется не в «плохой» DDoS-защите, а в неудачной архитектуре интернет-сервиса или некоторых других его особенностях.
В 2017 году наша компания впервые предложила сообществу термин «защищаемость от DDoS» и набор параметров, которые на неё влияют. Если коротко, защищаемость — это способность интернет-сервиса быть эффективно защищенным от атак с минимальными затратами ресурсов.
На защищаемость влияют следующие основные группы параметров:
Защищаемость от DDoS-атак можно и нужно закладывать в решение еще на стадии проектирования его архитектуры — это позволит повысить доступность и снизить расходы на защиту от атак. Подробнее о защищаемости и о том, что на нее влияет, можно узнать здесь: https://youtu.be/JW05Ikf98JE.
Сервисы защиты от DDoS-атак сегодня предлагают многие компании — как специализирующиеся на информационной безопасности, так и другие: ISP, хостинг-провайдеры, дата-центры. Их функциональные возможности и качество защиты могут серьезно различаться.
Следует помнить, что защита от DDoS — дело очень серьезное, поэтому провайдера нужно выбирать со всей тщательностью. Выбирая провайдера, важно выяснить следующие его особенности.
Защита от DDoS — сложная, комплексная работа, это настоящая проверка на профессионализм не только специалистов вашего провайдера сервиса anti-DDoS, но и ваших собственных ИТ-сотрудников — системных администраторов, программистов и, конечно же, специалистов по информационной безопасности.
Подключая сервис anti-DDoS, важно помнить, что он должен быть гармонично вписан в ваши процессы управления информационной безопасностью, в противном случае он не будет эффективно работать.
И, конечно же, нужно понимать, что мир, бизнес и ИТ не стоят на месте: в имеющиеся системы нередко вносятся различные модификации, появляются новые модули. Изменения происходят и на уровне бизнес-логики систем. Наконец, злоумышленники придумывают новые способы атак. Поэтому необходимо проверять и тестировать и ваши ресурсы, и сервисы защиты, а также адаптировать их к изменениям, происходящие в ландшафте ИТ и ИБ, — для этого потребуются усилия как владельца интернет-ресурсов, так и его провайдера защиты.