The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Как защитить веб-сервер от DDOS, !*! Saamuel, 13-Апр-10, 10:36  [смотреть все]
Здравствуйте,

Столкнулся с такой проблемой, вчера устроили ddos атаку на мой веб сервер.
На серваке стоит Nginx + Apache, на серваке стоит реальный IP адрес.

Как можно защитить сервер от ддос атаки?

  • Как защитить веб-сервер от DDOS, !*! cuad0, 12:34 , 13-Апр-10 (1)
    >Здравствуйте,
    >
    >Столкнулся с такой проблемой, вчера устроили ddos атаку на мой веб сервер.
    >На серваке стоит Nginx + Apache, на серваке стоит реальный IP адрес.
    >Как можно защитить сервер от ддос атаки?

    Не существует готового 100% решения для защиты от ддос-атак. Это весьма комплексный набор мер и действий, зависящий, прежде всего от объекта атаки и, эммм, подвида атаки.
    Как защитить - много читать, гуглить по "защита от ддос, ddos" и им подобному.

    • Как защитить веб-сервер от DDOS, !*! Saamuel, 13:04 , 13-Апр-10 (2)
      >Не существует готового 100% решения для защиты от ддос-атак. Это весьма комплексный
      >набор мер и действий, зависящий, прежде всего от объекта атаки и,
      >эммм, подвида атаки.
      >Как защитить - много читать, гуглить по "защита от ддос, ddos" и
      >им подобному.

      А есть примеры решения на ipfw или еще чем.

      Сейчас стоит snort но что то от него толку маловато, ловит только скан портов да и так по мелочи. Поможет ли платная подписка на правила snort?

      Есть ли решения на аппаратном уровне?

      Атака сейчас примерно на 10 мбит. IP с которых идут запросы на веб сервер постоянно меняются. Соединений на nginx примерно 5 000. Апач создает много процессов и система виснет.

      Что можно предпринять чтоб сайт хоть как то работал, если можно приведите примеры?

      • Как защитить веб-сервер от DDOS, !*! cuad0, 13:31 , 13-Апр-10 (3)
        >А есть примеры решения на ipfw или еще чем.

        ограничение кол-ва соединений, вычисление атакующих ip, занесение их в таблицу и блокировка.

        >Есть ли решения на аппаратном уровне?

        Есть, но вместо хорошей железки я бы лучше купил автомобиль :) - это образно.


        >Атака сейчас примерно на 10 мбит. IP с которых идут запросы на
        >веб сервер постоянно меняются.

        Это и называется DDOS (distributed DOS). Иначе было бы слишком просто.

        >Соединений на nginx примерно 5 000. Апач
        >создает много процессов и система виснет.

        Выставьте ограничения в конфиге апача поменьше, MaxSpareServers, MaxClients, MaxRequestPerChild. Обязательно KeepAlive off.
        Куда именно атака идет? Просто на установление соединения? Запрос страницы? Оформление гигантской корзины (чтобы нагнуть базу)?
        Поглядите на http-заголовки, сравните с rfc2616, возможно в заголовках явные ошибки есть.
        Может быть какие-нить модуля для апача помогут:
        mod_limitconn - http://dominia.org/djao/limitipconn.html
        mod_vhost_limit - http://apache.ivn.cl/
        mod_ifier - http://www.steve.org.uk/Software/mod_ifier/
        mod_security - http://www.modsecurity.org/
        mod_evasive -
        mod_ipdrop - http://miksir.pp.ru/?r=65

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


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

        Вычислять атакующие ip, блокировать - худо-бедно может и выберете большую часть бот-нета (но никто не убережет от второй, третьей,..., волны), блокируйте иностранный (или по конкретным странам) трафик файрволом.
        Списки сетей (ссылки из загашника, могут быть устаревшими или не очень актуальными; но хоть что-то)
        http://noc.zenon.net/nets/current - рус
        http://www.completewhois.com/statistics/data/ips-bycountry/r.../ - остальное


        Если есть в запасе завалявшийся в углу сервер - часть трафика можно перевести на него и заюзать его мощности.

        Ну и глядите статистику сети - может у вас ресурсов для сетевой подсистемы выделяется по-умолчанию мало, оттого вы не можете сервером обработать достаточно много вход. соединений:
        netstat -m
        netstat -s -p tcp
        netstat -Lan
        sysctl vm.zone

        • Как защитить веб-сервер от DDOS, !*! Pahanivo, 13:46 , 13-Апр-10 (4)
          эти меры позволят лишь оставить сервак в работоспособном состоянии
          он забивки канала не поможет

          • Как защитить веб-сервер от DDOS, !*! cuad0, 14:00 , 13-Апр-10 (5)
            >эти меры позволят лишь оставить сервак в работоспособном состоянии
            >он забивки канала не поможет

            Это ли не цель первоначальной защиты? Лучше уж худо-бедно отвечающий, чем лежащий в глубоком дауне сервак.
            На такой ботнет, который забьет весь канал провайдера, заказчик может пожалеть денег. А там уже и инженеры провайдера зачешутся. И железку дорогую достанут (если репутация и клиенты важны).

            • Как защитить веб-сервер от DDOS, !*! Saamuel, 14:13 , 13-Апр-10 (6)
              >>эти меры позволят лишь оставить сервак в работоспособном состоянии
              >>он забивки канала не поможет
              >
              >Это ли не цель первоначальной защиты? Лучше уж худо-бедно отвечающий, чем лежащий
              >в глубоком дауне сервак.
              >На такой ботнет, который забьет весь канал провайдера, заказчик может пожалеть денег.
              >А там уже и инженеры провайдера зачешутся. И железку дорогую достанут
              >(если репутация и клиенты важны).

              Согласен, самое главное чтоб сервак отвечал.

              Жаль что провайдер такой что не чешется, а канал они нам предоставляют 100 мбит (анлим)

              А что по поводу снорта, сможет он по заголовку определить атаку на www?

              Предложили еще поставить Cisco ASA 5510 с модулем aip-10, говорят что спасет от ддоса, так ли это?

              • Как защитить веб-сервер от DDOS, !*! cuad0, 14:48 , 13-Апр-10 (9)
                >А что по поводу снорта, сможет он по заголовку определить атаку на
                >www?

                А разве вы еще сами не в курсе этого? :)


                >Предложили еще поставить Cisco ASA 5510 с модулем aip-10, говорят что спасет
                >от ддоса, так ли это?

                хз, может быть. Если грамотно настроить. Вы готовы отдать 100к рублей за железку + фиг знает сколько за настройку (а в идеале, за обучение собственного сотрудника)? Стоит ли ваш сервис и клиентура таких денег? Может, проще прова на адекватного сменить, если ддос будет продолжаться долго и в дальнейшем будет повторяться.

            • Как защитить веб-сервер от DDOS, !*! Pahanivo, 15:45 , 13-Апр-10 (14)
              >>эти меры позволят лишь оставить сервак в работоспособном состоянии
              >>он забивки канала не поможет
              >
              >Это ли не цель первоначальной защиты? Лучше уж худо-бедно отвечающий, чем лежащий
              >в глубоком дауне сервак.
              >На такой ботнет, который забьет весь канал провайдера, заказчик может пожалеть денег.
              >А там уже и инженеры провайдера зачешутся. И железку дорогую достанут
              >(если репутация и клиенты важны).

              я лишь подчеркунл что лекарства увы нЭт
              для фильтрации клиентов обычно у нас тупо фильтруеца атакуемый айпи на сервис провайдере

              а так люди говорят что на толстых каналах 100-200 мегабитные флуды бывает месяцами стоят

              • Как защитить веб-сервер от DDOS, !*! cuad0, 16:39 , 13-Апр-10 (15)
                >для фильтрации клиентов обычно у нас тупо фильтруеца атакуемый айпи на сервис
                >провайдере

                Эм? блокируете все входящие на ip, который атакуют? :) Нет цели атаки - нет проблемы?)

                >а так люди говорят что на толстых каналах 100-200 мегабитные флуды бывает
                >месяцами стоят

                Насколько толстых? Ну, когда 100-200 мбит - это 5-10% пропускной способности при общей невысокой загруженности... Наверное, ну и фиг с ним, пусть :)


                • Как защитить веб-сервер от DDOS, !*! Pahanivo, 18:24 , 13-Апр-10 (16)
                  >Эм? блокируете все входящие на ip, который атакуют? :) Нет цели атаки
                  >- нет проблемы?)

                  ты не понял идеи
                  скажем идет флуд на клиента - 20 мегабит
                  у клиента линк 10 мегабит - клиент естно лежит
                  у нас скажем аплинк 50 мегабит забитый на 80% - автоматом кладется наш аплинк - как следствие начинают дергаться все клиенты
                  самый простой и быстрый вариант фильтровать у сервиспровайдера целевой хост (подсеть) атаки
                  при данном раскладе хер с ним с клиентом - надо оперативно погасить атаку


        • Как защитить веб-сервер от DDOS, !*! Saamuel, 14:15 , 13-Апр-10 (7)
          >Куда именно атака идет? Просто на установление соединения? Запрос страницы? Оформление гигантской
          >корзины (чтобы нагнуть базу)?
          >Поглядите на http-заголовки, сравните с rfc2616, возможно в заголовках явные ошибки есть.

          Атака идет на запрос страниц.

          • Как защитить веб-сервер от DDOS, !*! cuad0, 14:42 , 13-Апр-10 (8)
            Просто GET / HTTP/1.1 ? Что в http-заголовках?
            Почитайте http://hostinghelp.biz/content/ddos-%D1%87%D1...
            последнюю главу, соорудите что-нибудь похожее у себя. Если зомби не умеют редиректы, можно собственными скриптами собирать ip атакующих и запихивать в ipfw.

            • Как защитить веб-сервер от DDOS, !*! Saamuel, 14:58 , 13-Апр-10 (10)
              >Просто GET / HTTP/1.1 ? Что в http-заголовках?
              >Почитайте http://hostinghelp.biz/content/ddos-%D1%87%D1...
              >последнюю главу, соорудите что-нибудь похожее у себя. Если зомби не умеют редиректы,
              >можно собственными скриптами собирать ip атакующих и запихивать в ipfw.

              Вот пример заголовка

              112.110.216.116 - - [13/Apr/2010:07:30:48 +0400] "GET /images/2217_logo.gif HTTP/1.1" 304 0 "http://сайт.ru/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; AskTB5.6)"

              60.49.133.186 - - [13/Apr/2010:07:30:49 +0400] "GET /images/logo.gif HTTP/1.0" 200 43 "http://сайт.ru/" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6)"

              190.167.58.180 - - [13/Apr/2010:07:30:48 +0400] "GET /images/cop_bg.gif HTTP/1.1" 304 0 "http://сайт.ru/" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; GTB6; MEGAUPLOAD 1.0; .NET CLR 1.1.4322; OfficeLiveConnector.1.3; OfficeLivePatch.0.0; .NET CLR 2.0.50727)"

              и таких очень много

              • Как защитить веб-сервер от DDOS, !*! cuad0, 15:24 , 13-Апр-10 (12)
                Это лог запросов к серверу.
                Пример заголовков вот:
                GET / HTTP/1.1
                Host: opennet.ru
                User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
                Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
                Accept-Language: ru,en-us;q=0.7,en;q=0.3
                Accept-Encoding: gzip,deflate
                Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
                Keep-Alive: 300
                Proxy-Connection: keep-alive

                напишите какой-нить простенький скрипт на главной странице, который будет скидывать все заголовки (в перле - %ENV) в текст. файл. И оставьте на пару минут. А анализ заголовков начинайте с запросов на /, а не на картинки, как в вашем примере.


                >и таких очень много

                тысячи их)))

            • Как защитить веб-сервер от DDOS, !*! Saamuel, 15:01 , 13-Апр-10 (11)
              >Просто GET / HTTP/1.1 ? Что в http-заголовках?
              >Почитайте http://hostinghelp.biz/content/ddos-%D1%87%D1...
              >последнюю главу, соорудите что-нибудь похожее у себя. Если зомби не умеют редиректы,
              >можно собственными скриптами собирать ip атакующих и запихивать в ipfw.

              Подскажите пожалуйста, как реализовать iptables -I INPUT 1 -p tcp --dport 80 -m string --string "GET / HTTP/1.0" --algo kmp -j DROP на ipfw




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру