Злостный DDOS и защита

    С одним из моих проектов произошла интересная история, хочу поделиться с Вами, может кому-то она покажется интересной.

    image

    Так как мой проект часто пытали DDOS'ом, было решено перевести его под HighLoad Lab, которые бесплатно предоставляют защиту от DDOS-атак.

    Все было супер, они проксировали трафик через себя к нам на сервер. У нас на сервере были заблокированы все входящие Ip-адреса, кроме HighLoad'a.

    Проблема


    Но в ночь 13-14 ноября сервер стал жутко тормозить, я никак не мог понять почему: нагрузки не было, iptables ничего не принимал, но тормоза были заметны даже при работе в ssh.

    Днем сервер упал. Причины я еще не знал, и первое, что мне пришло в голову — старинное ядро slackwar'ы, которое давно не обновлялось. Было решено ехать в Красногорск, в офис Реднета и переставлять систему на свеженький Debian, но все оказалось далеко не так, как я планировал…

    Причина


    Пока я перебирал в уме возможные причины, зазвонил телефон. На проводе был главный администратор krasnogorsk.ru. Он сказал, что случилась авария из-за DDOS-атаки, которая пришлась на время замены оборудования, когда системы защиты и очистки были отключены.

    Так как наш сервер стоял у домашнего провайдера, то пострадал в первую очередь клиентский трафик(обычных пользователей интернета)

    image

    image

    Атаку заметили на магистральном узле COMCOR'а и отрубили наш IP-адрес. В пике атака достигала 300 мбит/с.

    Почему же не спасли фильтры HighLoad'a ?

    Злоумышленники знали наш старый IP-адрес и атака велась конкретно по нему, в обход систем очистки трафика, и естественно, никакой iptables в режиме block all не поможет.

    Итог


    Сейчас сервер перенесен на неизвестный никому IP, трафик идет через HighLoad Lab, настроили почту вебсервера через Gmail, а все исходящие подключения на загрузку аватарок по ссылкам отключили, так как злоумышленник мог загрузить картинку со своего сервера, и узнать наш новый IP.

    image

    Сейчас схема примерно такая:

    Запрос пользователя -> внешний ip антиддос сервера -> система очистки трафика -> их nginx -> очищенный трафик поступает на наш сервер -> nginx -> apache -> и обратно пользователю по этой же цепочке. Самое главное не спалить злоумышленнику реальный IP адрес вебсервера.

    Помощь в оформлении и редактировании: as3k
    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 92

      +5
      Если найдете ошибки\недочеты — пишите, поправлю. Моя первая статья в хабр=)
        +3
        детективчик
          –31
          Ето реклама HighLoad Lab?
            +28
            Они действительно бесплатно мне помогли, не вижу ничего такого, чтобы их не упомянуть.
              +1
              А как добиться такой их помощи? :) Мне просто любопытно, на будущее =)
                0
                Сами предлагают бесплатно, пока по крайней мере. :) — highloadlab.ru/services/service_8.html
                Им интересно возиться с DDoS.
                  0
                  Они его изучают, почему бы и нет? :)
                0
                «Самое главное не спалить злоумышленнику реальный IP адрес вебсервера.»
                А если зарегистрироваться на форуме и потом по хидерах посмотреть ip smtp он будет отличен чем ip бекенда?
                  +1
                  да=) гуглопочта
                    0
                    Вы используете гугл как smtp?
                      0
                      а почиму бы и не использовать?)
                        0
                        тогда ип адрес будет в хидерах
                          0
                          Я слышал, что у него есть ограничение на кол-во исходящией почты в сутки.
                  +8
                  Лучше уж реклама бесплатного сервиса, чем агентства по информационной безопасности с дырявым сайтом
                    –2
                    Вы о каком «дырявым» сайте?
                      +5
                      Было тут недавно:

                      Агентство по инф безопасности:
                      «Многие сайты имеют XSS уязвимости… — мы поможем»

                      Хабровчане нашли XSS на самом сайте этого агентства и предложили исправленный текст:

                      «Многие сайты имеют XSS уязвимости… — да чего далеко ходить — и наш тоже имеет!» :)

                      Примерно так — пишу по памяти
                    0
                    есть смутные подозрения)))))
                      –1
                      ))) мувик демка скриншот?
                    +2
                    интересно всё таки кто оллчитс так обидел досом
                      0
                      «Правильные» игроки?
                        0
                        другой читерский сервис :) всегда было наблюдать за такими разборками :) круче этого только разборки куллхацуерский порталов :)
                          –1
                          на античат многие зуб точут
                          +3
                          Запрос пользователя -> внешний ip антиддос сервера -> система очистки трафика -> их nginx -> очищенный трафик поступает на наш сервер -> nginx -> apache -> и обратно пользователю по этой же цепочке.

                          На этой схеме мой мозг окончательно лопнул после долгого трудового дня. А в целом статья весьма познавательна. Спасибо.
                            +1
                            открыл ваш сайт — просто интересно, кому вы могли бы понадобиться что бы вас мудохали таким можным ddos'ом. Неушто сайты с читами настолько прибыльные что конкуренты или вымогатели вам такое устраивают?
                              +1
                              До атак посещений было около 30к уникальных, не сказать что сайт особо прибыльный, скорее хобби, но администраторы пиратских игровых серверов могли это спокойно организовать, например администраторам пиратских Lineage в России совсем не выгодно, что все запрещенные для их сервера программы лежат в одном месте, в открытом(полу-открытом) доступе.
                                0
                                непонял, у меня не загружаются css вашего сайта — можно в двух словах что предоставляет ваш портал? это борда читов? а при чем здесь линейка?
                                  +1
                                  Там целый подраздел, посвященный офф. русским серверам Lineage :)
                                0
                                Молодняк этот сайт очень хорошо знает, тренируются перед нападениями на банки, видимо.
                                +21
                                макс. размер аватара просто потрясающий.

                                Интернет 3.0, не иначе.
                                  0
                                  Только заметил, извините, админский скрин просто:)
                                    +7
                                    Видимо кому-то стало завидно стартапу с аватарками в гигабайт и заказали ддос.

                                    а вот пост

                                      +10
                                      «Самое главное не спалить злоумышленнику реальный IP адрес вебсервера.» достоин баша

                                      у моего веб-сервера
                                      ip адрес всегда один
                                      стодвадцатьсемнольнолодин
                                    +2
                                    У вас опечаточка :)
                                    «Максимальный размер изображения 150 на 180 пикселей или 953.67 Мбайт»
                                      +1
                                      пиксели видимо очень жирные, или в нескольких змерениях предствлены, возможно даже динамически ))
                                        +3
                                        Слоёный PNG ;)
                                        0
                                        Всего лишь 280000 бит на пиксел :)
                                        +7
                                        А гляньте пожалуйста в личку, не ваш ли это ойпи?
                                          +1
                                          не пришло ничего:(
                                            +1
                                            Готово. С браузером боролся.
                                              +2
                                              Огромное спасибо:)
                                              Такой вариант я даже не предполагал ну никак! закрыли еще один метод=)
                                                +2
                                                а что за вариант? Раскройте, все равно уже закрыли этот метод )
                                                  +1
                                                  Статистика спалила :) 5 минут лазанья по ли.ру-шечной статистике и IP найден.
                                                    0
                                                    Еще кстати была возможность спалить IP через функцию «Добавлять заголовки страниц к внешним ссылкам», при коннекте нашего вебсервера к другому. Спасибо хаброюзерам:)
                                          0
                                          =) подтверждаю ) я с ними тоже общался по этому поводу.
                                            0
                                            Мне интересно, а что они так на ваш проект взъелись? Версия про аватарки не в счёт )))
                                              +1
                                              ДА это просто кто-то чит на бесконечные сообщения ввел, вот и заглючило =)
                                                0
                                                не совсем понял ключевой момент — «не спалить реальный IP» — это как? о_О
                                                у вас вебсервер (железка), который стоит бакендом за балансером, так же имеет и прямой внешний IP?
                                                если так, то вы ССЗБ и не верится, что админы, ставившие интиддос защиту такое допустили.
                                                  +1
                                                  старый ИП адрес у нас был в течении двух лет(его знали почти все), после того как перенаправили трафик, ип остался старый, хотя и было iptables'ом заблочено все кроме ИП проксируещего сервера, но тут ddos забил весь канал вообще.
                                                    +2
                                                    да, я понимаю, но почему этот «старый» IP не:

                                                    1.опустили на сервере
                                                    2.закрыли АЦЛ на каком-нить ASBR или не проанонсили в blackhole community
                                                      0
                                                      А можно расшифровать эти пункты? Гугл по поводу asbr не очень многословен.
                                                        0
                                                        1.задаунить инт на сервере — тут думаю, все ясно.
                                                        2.ASBR — это всего лишь AS border router.
                                                        blackhole community — фича BGP(ibgp), позволит перенаправить трафик предназначенный опред. IP в /dev/null сразу на границе АС
                                                  +1
                                                  А вас по прежнему DDOS'ят или это цепочка
                                                  Запрос пользователя -> внешний ip антиддос сервера -> система очистки трафика -> их nginx -> очищенный трафик поступает на наш сервер -> nginx -> apache -> и обратно пользователю по этой же цепочке.

                                                  дает такие задержки?
                                                  Это я к тому, что у меня довольно медленно отвечает сервер, или у меня сегодня инет просто тормозной? :)

                                                  И вообще интересно, какие задержки дает столь длинная цепочка при обращении к серверу.
                                                    0
                                                    Не знаю насчет ваших интернетов, но у меня главная страница открывается менее чем за секунду.
                                                      0
                                                      Конечно задержки бывают, но лучше работать немного медленнее, чем не работать вообще:)
                                                      +1
                                                      не могу понять почему вы боитесь спалить релаьный IP если фильтр принимает запросы только от HighLoad Lab?
                                                      если софтовый файрвол не справляется может стоит озаботиться внешним?
                                                        +2
                                                        не хотим подвергать канал испытаниям ~200-300мбит/c входящего трафика, при таком ddos'е ни никакой софтварный файрволл не спасает, иногда может и не спасать аппаратный, если канал сам по себе меньше чем входящий трафик, тем более аппаратные файрволы достаточно дорого удовольствие…
                                                          +1
                                                          > аппаратные файрволы достаточно дорого удовольствие…

                                                          «Аппаратный firewall» это firewall в котором нет и байта кода, а сам он реализован на тёпло-ламповой схемотехнике? :-)

                                                          Вам написали «внешний firewall», это не значит, что им не может быть комп. общего назначения с «ОСиной» типа *NIX (оптимизированно-настроенный под большие PpS'ы).

                                                          > может и не спасать аппаратный, если канал сам по себе меньше чем входящий трафик

                                                          Если канал меньше, чем DDoS'овская входячка, то firewall, ес-но, тут вообще непричём — проблема исключительно в том, что канал будет забит.
                                                          0
                                                          Канал забьют
                                                          0
                                                          А на скринах веб-админка Dlink-овского свитча, подозреваю des-3526
                                                            0
                                                            не уверен, у него всего 2 гигабитных порта. Один из них аплинк. Конечно, второй может быть занят сервером, но как же тогда остальные сервера?
                                                            0
                                                            Какая скорость получается такая цепочка?
                                                            Сколько ms ждать ответа конечному юзеру?
                                                              –13
                                                              От лица посетителей dsru сделал вам каку в карму, думаю догадываетесь почему.
                                                                0
                                                                не догадываемся, раз уж огласили сей факт каки в карму, расскажите
                                                                  –1
                                                                  Не понял за что и кто такие dsru?
                                                                    +1
                                                                    ds.ru/ — Валерия Ильинична негодует, не иначе :)
                                                                      0
                                                                      Фуу, мне тётенька на этой ссылке и вообще всё там аппетит убило напрочь (((
                                                                      Что теперь сказать жене?
                                                                      0
                                                                      Наверное Демократический Союз (Новодворская следит за вами)
                                                                        +3
                                                                        dsru — dedicated-server.ru
                                                                        за что — раздел читов для КС
                                                                        Другими словами — минус в карту читерам от админов

                                                                        p.s. это всего лишь объяснение. Вероятность правильного ответа — 91%
                                                                          –3
                                                                          Вы правильно объяснили.
                                                                          –2
                                                                          Молодец, поступок достойный мужчины.
                                                                            0
                                                                            Всем спасибо за минусы, как это мило защищать рассадник проблем для админов игровых ресурсов…
                                                                            0
                                                                            Я не силен в защите от ДДоСа, вот вы сказали про то что ваш новый ип не знает никто, а nslookup разве не выдает IP адрес для домена? или я чего то не понимаю… Расскажите пожалуйста, оч интересно! (тьфу тьфу тьфу чтоб не пригодилось от ДДоСа защищаться)
                                                                              +2
                                                                              там выдается IP адрес флитра от хайтлаб =)
                                                                              а где сервер находится незнает никто(с)
                                                                                +2
                                                                                Сценарий. Вы написали что сервер ваш. И как я понял, провайдера не меняли. У провайдера есть конечная AS. Скан по всех ip AS c детектом ОСи slack/deb. Пробные ДДоС на то что нашлось. Несколько итераций и вот вам и ваш IP.
                                                                                  0
                                                                                  детект ОС Win/Linux ещё что-то даст, но Slack/Deb — безнадёжно при закрытом файрволле.
                                                                                    0
                                                                                    Я думаю злоумышленники тоже читают… Вы им методы то не рассказывайте=)
                                                                                    А так ип наш не посканить — дропаются все коннекты кроме коннекта с ип-адреса проксирующего сервера.
                                                                                      0
                                                                                      Главное чтоб были другие «молчащие» сервера, а то так вот вы и спалитесь. :)
                                                                                        0
                                                                                        Зачем же постить явную инфу для «злоумышленников» :) Сценарии так на вскидку, но при желании можна и в МГУшных нокеров спросить.:)))
                                                                                  0
                                                                                  Знаемс ваш проект, знаемс. Хороший :)
                                                                                    0
                                                                                    Не могу никак связать…

                                                                                    «В пике атака достигала 300 мбит/с.
                                                                                    и iptables ничего не принимал „

                                                                                    хелп плз…
                                                                                      +1
                                                                                      это значит что IPTABLES обрабатывал трафик как запрещенный, и не передовал его процессу(apache/nginx) и просто пропадал
                                                                                      но кол-во этого трафика забивало канал до сервера
                                                                                      –4
                                                                                      заказная статейка. не иначе))
                                                                                      > Они действительно бесплатно мне помогли, не вижу ничего такого, чтобы их не упомянуть
                                                                                      ну не бред ли?))
                                                                                      или забесплатно помогли за пиар?)))

                                                                                      allcheats.ru/t44670/
                                                                                      504 Gateway Time-out
                                                                                      nginx/0.7.63

                                                                                      при попытке зарегистрироваться:
                                                                                      504 Gateway Time-out
                                                                                      nginx/0.7.63

                                                                                      мм… защита?
                                                                                        0
                                                                                        allcheats.ru/subscription.php?do=viewsubscription

                                                                                        1||1259021652||MY-IP-address||do=viewsubscription||http://allcheats.ru/profile.php?do=editpassword||Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/532.0 (KHTML, like Gecko) Chrome/3.0.195.33 Safari/532.0Access Denied, you have been logged.

                                                                                        жесть)))))))))))))))
                                                                                          –1
                                                                                          п-ц, 4 мудозвона поставили минус. =/
                                                                                          0
                                                                                          чем рисовались графики?
                                                                                            +1
                                                                                            Похожи на D-LINK'овские… У меня на коммутаторе такие же =)
                                                                                            0
                                                                                            Пятница, 13 однако…
                                                                                            Я так просто заболел в этот день.:(
                                                                                            • UFO just landed and posted this here
                                                                                                –2
                                                                                                Админ читерской борды на хабре.
                                                                                                Хабр уже не торт.
                                                                                                Жаль, кармы нет.
                                                                                                  0
                                                                                                  иногда бывает ситуация прикольней, один знакомый пожаловался что его сайт досят, при чем загрузка такая что он гнется буквально каждую неделю, трафика немерено.

                                                                                                  начили разбираться, оказалось он сам себя досил :)

                                                                                                  У него настройка в модреврайте была такая что если любой ресурс запрашиваемый пользователем не был найден то редиректил на главную страницу, ну и получилось так что на главной странице у него при редизайне пропало пару картинок небольших физически, а в хтмл они остались и у него произошло зациклование, запрос, ненайденая картинка запрос редиректом на главную, ненайденая картинка и так далее.

                                                                                                  Побольше бы таких статей с опытом. Очень интересно почитать про такие случаи.
                                                                                                    0
                                                                                                    Почему-то мне кажется, что это достаточно распространенный вид харакири. В итоге он просто убрал обращения к картинкам или добавил исключение в рерайт, чтобы не редиректило картинки?

                                                                                                  Only users with full accounts can post comments. Log in, please.