Как я поборол DDoS за 15 минут
Привет, Хабр!
Сегодня я бы хотел рассказать об одном удачном опыте из своей жизни. О том, как я отбил DDoS атаку на свой сайт, не имея особых технических навыков. Эта статья может быть для вас полезна, а кому-то просто интересна. Сразу скажу, что это не универсальный метод и подходит не всем. Но для отражения мелких и средних атак самое то.Начну с того, что в мире сейчас большими темпами растет DDoS пиратство. Злоумышленники все чаще стали вымогать деньги, под предлогом обрушения DDoS. Многие боятся и платят, а потом платят еще и еще. Ошибка номер один, а вернее совет: никогда не платите хакерам. Во-первых, вас просто могут обманывать, у многих из тех кто занимается угрозами — нет возможности атаковать ваш сайт. Во-вторых, заплатите один раз, заплатите и второй и третий и четвертый, а в итоге все равно наймете специалистов для защиты.
Я никогда не думал, что со мной может это случится. Представлял это так: для того, чтобы тебя атаковали, нужно кому-то насолить. Но мои суждения были ошибкой. Одним из субботних вечеров, когда я отдыхал от повседневной работы, на email свалилось письмо. Некто требовал, чтобы я перечислил некое количество Bitcoin, эквивалентной сумме 1000$. Иначе мне грозили DDoS атакой. Я немного запаниковал. Был выходной день, моего администратора не будет до понедельника. Что делать и куда обращаться? Этот вопрос мучал меня. Я стал гуглить. На многих форумах люди советовали не платить и сразу написать злоумышленнику, что оплаты не будет. Там я и узнал, что часто это просто навсего развод. Но мне не повезло. На мое письмо хакер ответил одним словом: «ОК». А еще через 10 минут мой сайт уже был не доступен. Я не знал что делать, мой сайт, это коммерческий проект и простой каждой минуты для меня был убытком. Конечно, я сразу подумал, что надо воспользоваться услугами компаний профильных в этом деле. Но меня пугало то, что это будет все очень долго, к тому же была суббота.
И тогда я стал думать. Думать как мои знания мне могут помочь в этой ситуации. И вдруг меня осенило. Как-то давно, когда я только начинал свой проект, я пытался самостоятельно построить CDN (Content Delivery Network). Тогда, как и сейчас не хватало знаний в административной части, и я не реализовал свою идею. Но зато остались кое-какие знания. В частности я научился распределять DNS запросы в зависимости от положения пользователя. То есть когда пользователь вбивает домен моего сайта, DNS определяет его местоположение и отправляет на нужный сервер.Я помню как пытался узнать у хабрасообщества, как это сделать своими силами, кто-то даже дал ответ, но сам я не смог все настроить на своем сервере. Зато нашел компанию, которая позволяет все делать из красивого интерфейса. Можно указать индивидуальный IP для каждой страны, а можно сразу и для всего континента. Сразу скажу, что это не бесплатно, сейчас стартовый тариф стоит 7$ в месяц.
Подробнее про технологию тут: www.zerigo.com/docs/managed-dns/setting_up_geodns
Я понимал, что DDoS скорее всего идет с ботов, которые находятся по всему миру. А 95% моих клиентов и пользователей сайта находятся в России. Вот так просто, я быстренько сменил DNS сервера на сервера компании о которой сказано выше. Далее для России указал IP адрес своего сервера, а для всех остальных стран указал 8.8.8.8 (upd: Люди в комментариях советуют не делать гуглу пакостей и писать тут 127.0.0.1). И вот уже через 5 минут мой сайт снова работал, а злоумышленник в ответ получил от меня все то же сообщение: «ОК». В течении нескольких следующих дней, я конечно же нанял специалистов, которые теперь защищают мой сайт. Но вот такой полезный опыт остался и я делюсь с ним.
Конечно же, этот способ не подойдет для всех. У него есть минусы. В частности, если у вас много пользователей из разных стран. Но как вариант для быстрого реагирования — самое то. Надеюсь, эта статья кому-то поможет, но желаю, чтобы у вас всего этого не случилось. Всем спасибо за внимание.