3 сентября 2020
В прошлом посте мы рассказали о понятии защищаемости от DDoS-атак, кратко перечислили основные параметры, от которых она зависит, привели примеры двух систем, существенно различающихся по степени защищаемости, и обратили внимание на различия в их архитектуре. Сегодня начнем обсуждение задач, которые необходимо выполнить, чтобы обеспечить защищаемость.
Итак, задача №1 – пожалуй, самая простая – предоставить как можно меньше информации атакующему.
Пример из нашей практики
Несколько лет назад мы столкнулись с щедро проплаченной, продолжавшейся нескольких недель, интенсивной DDoS-атакой на популярный игровой сервис. Имевшихся у нас на тот момент мощностей оказалось недостаточно для того, чтобы ее отразить. Помогла хитрость: поскольку сервис был разделен на сервер аутентификации и игровые серверы, мы договорились с разработчиками сервиса, чтобы после аутентификации игроку выдавался IP-адрес, строго соответствующий одному из 32 выделенных нами сегментов Интернета, из которого он подключается. Кроме того, мы попросили провайдеров, обслуживающих сервис, «закрыть» IP-адреса таким образом, чтобы каждый отдельный адрес смог принимать запросы только из конкретного сегмента Интернета. В итоге интенсивность атаки снизились в 32 раза – и мы с ней благополучно справились. Наше преимущество состояло в том, что злоумышленник не знал точно, какие IP-адреса ему нужно атаковать. Очень важно минимизировать доступные атакующему возможности для проверки работоспособности сервиса.
Поставьте себя на место злоумышленника
Представьте себя, например, на место злоумышленника, атакующего интернет-провайдера. Просканировав его сеть, вы выясните, какие его IP-адреса откликаются, причем на какие именно запросы. Но что если вы лишитесь этих методов проверки? Прежде всего, вы не сможете понять, оказалась ли атака успешной. И если ваша цель – не «положить» сеть провайдера, а «отрезать» его пользователей от внешних ресурсов Интернета, то без инсайдера вы не определите, достигли ли своей цели. И поскольку успешность атаки неочевидна, вы, как злоумышленник, скорее всего, переключитесь на других жертв.
Подробнее об общих поведенческих чертах и мотивации злоумышленников читайте в нашей статье: «Причины DDoS-атак и психология атакующего: о чем надо помнить, организуя защиту«.
Наконец, нужно позаботиться о защищенности от взлома. Нередки случаи, когда после нескольких неудачных DDoS-атак на сервер злоумышленники пытаются его взломать, чтобы узнать больше о его архитектуре и выяснить некоторые важные для последующих атак детали.
Финализируем рекомендации, которые помогут решить задачу №1
- Проектируя систему, представьте себя в роли атакующего и оцените, каким образом вы смогли бы проверить работоспособность вашего сервиса. Минимизировав возможности такой проверки, вы существенно снизите вероятность атаки.
- Не забудьте подумать про защиту от взлома, поскольку при неуспешной DDoS-атаке атакующий, скорее всего, начнет активно искать уязвимости.