- Как защитить веб-сервер от 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
- Как защитить веб-сервер от DDOS, cuad0, 15:27 , 13-Апр-10 (13)
>Подскажите пожалуйста, как реализовать iptables -I INPUT 1 -p tcp --dport 80 >-m string --string "GET / HTTP/1.0" --algo kmp -j DROP на >ipfw хм, не уверен, что ipfw умеет iptables-овский -m string...
|