Борьба за живучесть в условиях DDoS: строим непотопляемое приложениеБезопасность
Руководитель проектного отдела. Выпускник ВМиК МГУ, занимался программированием для суперкомпьютеров с использованием MPI и OpenMP. С 2012 года работает в Qrator Labs, сначала писал на Python, затем занялся проектной работой и pre-sale. Отвечает за дизайн и внедрение схем обеспечения доступности сервиса у заказчиков и партнёров.
Product director Servers.com.
Спроектировать защищенный от DDoS-атак сервис - значит придать ему характеристики, которые позволят ему продолжать работу в условиях, когда атакующий меняет способ атаки, вектор, интенсивность в попытках найти-таки слабое место.
Что это за характеристики? Попробуем определить их с точки зрения того, кто защищает такие сервисы, и ответить на ряд вопросов:
- Что такое живучесть и целостность? При чем тут корабли?
- Что нужно учесть на этапе проектирования сервиса, чтобы минимизировать количество уязвимых для DDoS-атаки компонентов?
- Как снизить критичность выхода из строя тех компонентов, которые останутся уязвимыми все равно? Как быть с Websockets, Long Polling, HTTP/2? Можно ли что-то сделать с UDP?
- Что пригодится сервису, чтобы было проще защитить его от атак внешними средствами защиты, и как избежать обхода этих средств в дальнейшем?
- Какой информацией могут обмениваться сервис и его средство защиты, чтобы взаимодействовать лучше?