Как бороться с DDOS’ом: наш опыт

Все блоги / Про интернет 30 января 2014 1 486   

На протяжении последних 10-12 дней многие заметили перебои в работе с нашим сайтом. Причиной этого стала DDOS атака, которой подверглись не только мы, но и ряд медийных коллег. Приносим извинения всем тем, кто не смог своевременно открыть ту или иную статью — хоть мы и старались решать проблемы оперативно, ряд просчетов в выборе решения доставил определенные неудобства как читателям так и нам.


Хотелось бы вкратце описать наш опыт, возможно это пригодится тем, кому DDOS только предстоит, и по возможности коллективно обсудить оптимальные средства профилактики (в комментариях).



Для начала — совсем краткий ликбез, интересующиеся могут почитать
подробное описание на Википедии
:


DDOS — атака на вычислительную систему с целью довести её до отказа, то есть, создание таких условий, при которых легальные пользователи системы не могут получить доступ к предоставляемым системным ресурсам (серверам), либо этот доступ затруднён.


В общем случае DDOS (по-простому «дедос») — атака, во время которой злоумышленники атакуют ваш сервер (выделенный, облачный или виртуальный) большим количеством запросов, обработка которых отбирает драгоценные ресурсы у сервера, который в свою очередь не может обслужить обычных посетителей. Я не являюсь техническим специалистом и надеюсь, что профессионалы с пониманием отнесутся к упрощениям и простят неточности формулировок.


Как только мы узнали, что нас атакуют (типичная атака, в зависимости от того, откуда вы на нее смотрите, может выглядеть примерно так, как на скриншоте ниже), мы сразу начали искать доступные и быстрые варианты решения. Первым в поле зрения попал сервис
Cloudflare
— западный комбайн, который не только защищает от DDOS-атак, но и предлагает кучу других вещей вроде CDN, кэширования, оптимизирования, ускорения и тд.



Мы оперативно купили план за $200 в месяц, настроили все DNS-сервера и стали ждать. У CF есть какое-то подобие аналитики и статистики, но по мнению экспертов она не всегда показывает то, что нужно и доверять этим графикам можно не всегда.



Не буду вдаваться в детали, но решение от Cloudflare ситуацию не исправило. Во-первых, некоторые IP-адреса CF забанены в России Роскомнадзором и сайт случайным образом оказывается недоступен из разных точек страны. Во-вторых, более-менее внятная (но не 100%) защита от DDOS на не самой защищенной платформе WordPress достигается в случае включения всех настроек на максимум, при которых каждому посетителю сайта показывается вот такое окно, которое на некоторых устройствах после обещанных пяти секунд не пропадает:



В-третьих, разнообразное ускорение и кэширование CF не всегда гладко работало с кэшем в WP, и это тоже доставило немало сложных моментов в разработке и верстке сайта.


Поэтому пришлось искать другое решение, и несколько дней мы потратили на то, чтобы оценить сервис
WPEngine
.



Получивший недавно $15M сервис
, который специализируется на хостинге Вордпресса привлек внимание бурной прессой и широкими возможностями.



К сожалению, позитивные впечатление остались только от напора и профессионализма сейлзов WPEngine. Из-за нашего трафика (3M просмотров, 700K уникальных посещений в месяц) мы попали под непростой тарифный план
«Let’s talk»
, в результате чего нам насчитали порядка $2500 в месяц, при том, что для «ускорения работы и защиты от серьезных атак» все равно пришлось бы, по словам саппорта, пользоваться еще и платным тарифом Cloudflare.


С налетом легкого отчаяния пришлось обратиться к последнему варианту —
QRATOR
.


С самого начала атак я консультировался у нашего хостинг-провайдера
Selectel
, и QRATOR стоял в списке возможных вариантов, но был отброшен как «слишком дорогой».


Пословица «скупой платит дважды» в нашем случае звучала как «скупой платит трижды и две недели панически смотрит на падающие сервера».


После заведения аккаунта в QRATOR, обновления DNS, защита заработала, но все равно некоторые посетители видели уже привычные читателям ЦП 502 ошибку



К счастью, после оперативой консультации с техническими специалистами QRATOR выяснилось, что проблема возникала на стороне сервера, который настраивался 3-4 различными профессионалами с разным уровнем подготовки. После внесения нужных правок в iptables, донастройки конфигурации nginx и еще нескольких таинственных для стороннего наблюдателя действий все стало работать как часы.


Вот так, например, выглядит наша, по словам специалистов QRATOR, «детская» DDOS-атака:



А вот так выглядит уже что-то более изобретательное:



Хотелось бы заметить, что в последнее время DDOS-атакам стали подвергаться многие медийные ресурсы совершенно разных размеров.



TJournal
:




Roem
,
Lifehacker.ru
, 2ch.hk,
Ведомости
, и другие.


Без работы QRATOR явно не останется.


Отдельное спасибо за помощь в борьбе с DDOS
Василию Борисову
(Selectel),
Александру Лямину
, Артему Гавриченкову, Александру Зубкову, Александру Вяря (все — QRATOR),
Константину Ковшенину
(Automattic) и
Илье Чекальскому
(TJournal).


PS: Ведомости:





 Источник:Цукерберг Позвонит
  • Оцените публикацию
  • 0

Похожие публикации

@
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent

Архив публикаций