Борьба с ддос
Модератор: weec
Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2012-02-24 23:29:13
Борьба с ддос
Есть сервак на хостинге, работает под Centos 6.2. Вся борьба с ддос ложится на фаервол, sysctl и некоторые параметры apache, nginx. Иногда бывают периоды, когда сутки сайты на серваке тупят сильно, потом отпускает и все работает отлично. Оперативная память при тупеже фактически не занята, ее 12 Гб, а процессор Xeon X3430 может прыгать на четырех ядрах до 100%. К примеру лог сайта вырос до 350Мб, в среднем добавляется 2000 строчек в секунду, еще один сайт имеет 90 Мб логов. То, что это ддос сомнений нет, досят, что самое интересное на протяжении суток по Росии с 00:00.
Есть несколько идей, посоветуйте есть ли смысл хоть одной из них:
1. Перед сервером поставить комп с FreeBSD (на нем pf), который возьмет фильтрацию на себя, а основной сервер только будет обрабатывать http и mysql запросы
2. Дополнительно у хостинга заказать еще один физический порт и рознести самые тяжелые сайты на физические интерфейсы (остальное поднять на виртуальных, распределив по данным интерфейсам)
3. Поменять сервак на более мощный, с возможностью установки второго проца
4. Купить Cisco, хотя я думаю большинство ее функций можно организовать и на компе с FreeBSD
5. Или же не спешить и еще поковырять Centos, хотя уже закончатся скоро идеи куда ковырять
Есть несколько идей, посоветуйте есть ли смысл хоть одной из них:
1. Перед сервером поставить комп с FreeBSD (на нем pf), который возьмет фильтрацию на себя, а основной сервер только будет обрабатывать http и mysql запросы
2. Дополнительно у хостинга заказать еще один физический порт и рознести самые тяжелые сайты на физические интерфейсы (остальное поднять на виртуальных, распределив по данным интерфейсам)
3. Поменять сервак на более мощный, с возможностью установки второго проца
4. Купить Cisco, хотя я думаю большинство ее функций можно организовать и на компе с FreeBSD
5. Или же не спешить и еще поковырять Centos, хотя уже закончатся скоро идеи куда ковырять
Услуги хостинговой компании Host-Food.ru
Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Борьба с ддос
я бы для начала усилил защиту:
1) на уровне web сервера (для nginx - limit zone, для apache - mod_evasive, а лучше вообще убрать apache)
2) на уровне подбора паролей, перебора страниц - fail2ban
3) на уровне бана в файервол - применять не банально iptables, а модуль ipset (при большом количестве блокирующих правил iptables может и сам подвесить сервак)
4) покрутить конечно sysctl+ulimit
5) проанализировать логи, что за запросы идут, понять, какого рода идёт DDoS
Честно говоря ваши методы защиты не дадут, а лишь выльются в дополнительные затраты.
Но так же нужно иметь ввиду, что если у вас канал 100 мбит, и его полностью забивают мусором - то здесь реально ничего не сделаешь.
1) на уровне web сервера (для nginx - limit zone, для apache - mod_evasive, а лучше вообще убрать apache)
2) на уровне подбора паролей, перебора страниц - fail2ban
3) на уровне бана в файервол - применять не банально iptables, а модуль ipset (при большом количестве блокирующих правил iptables может и сам подвесить сервак)
4) покрутить конечно sysctl+ulimit
5) проанализировать логи, что за запросы идут, понять, какого рода идёт DDoS
Честно говоря ваши методы защиты не дадут, а лишь выльются в дополнительные затраты.
Но так же нужно иметь ввиду, что если у вас канал 100 мбит, и его полностью забивают мусором - то здесь реально ничего не сделаешь.
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2012-02-24 23:29:13
Re: Борьба с ддос
1. mod_evasive стоял, но из-за него некоторые сайты не отображали весь контент
2. использую свою скрипт, который заносит IP в черный список, превысившие лимит
3. список как раз динамический и реализован на ipset, есть еще один список вечно забаненых
4. sysctl уже не однократно ковырял, может есть какие либо наброски по этому вопросу буду очень рад, может я глюки ловлю, всякое бывает
5. в логах запросы идут как бы нормальные, браузерные, но когда в секунду с браузера возникает порядка 20 соединений, то явно это не обычный пользователь. Особенно интересно, что IP то с сетей всех стран мира. Я очень сильно сомневаюсь, что в Китае, Коста Рике или США будет интересен русскоязычный ресурс.
Раньше уходил в штопор проц, было понятно, что делать, а теперь и проц нормально, а опаратива и вовсе на холостых, а ssh даже тупит.
Пробую iptraf скорость тоже вроди от 5 до 15 Мбит, как бы не забит канал.
Можно подумать, что админа кривые руки, значит так настроил, но такое счастье в основном сайты работают быстро, но тупо в один момент целые сутки штопор. Может раз в две недели быть, может в три. До 00:00 поработало и опять сервак показывает себя шустро и качественно.
2. использую свою скрипт, который заносит IP в черный список, превысившие лимит
3. список как раз динамический и реализован на ipset, есть еще один список вечно забаненых
4. sysctl уже не однократно ковырял, может есть какие либо наброски по этому вопросу буду очень рад, может я глюки ловлю, всякое бывает
5. в логах запросы идут как бы нормальные, браузерные, но когда в секунду с браузера возникает порядка 20 соединений, то явно это не обычный пользователь. Особенно интересно, что IP то с сетей всех стран мира. Я очень сильно сомневаюсь, что в Китае, Коста Рике или США будет интересен русскоязычный ресурс.
Раньше уходил в штопор проц, было понятно, что делать, а теперь и проц нормально, а опаратива и вовсе на холостых, а ssh даже тупит.
Пробую iptraf скорость тоже вроди от 5 до 15 Мбит, как бы не забит канал.
Можно подумать, что админа кривые руки, значит так настроил, но такое счастье в основном сайты работают быстро, но тупо в один момент целые сутки штопор. Может раз в две недели быть, может в три. До 00:00 поработало и опять сервак показывает себя шустро и качественно.
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Борьба с ддос
Касательно 4-го пункта, вот мои наброски http://skeletor.org.ua/?p=1742 http://skeletor.org.ua/?p=956 .
Читайте вдумчиво. Я думаю если ограничить cpu/mem для того же юзера www, то при всём желании DDoS'ера ляжет апач, но сервак будет работать. Как вариант - поставьте связку nginx+apache, если от апача нельзя избавится ну и в вдобавок на nginx'e сделайте limit zone.
Читайте вдумчиво. Я думаю если ограничить cpu/mem для того же юзера www, то при всём желании DDoS'ера ляжет апач, но сервак будет работать. Как вариант - поставьте связку nginx+apache, если от апача нельзя избавится ну и в вдобавок на nginx'e сделайте limit zone.
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2012-02-24 23:29:13
Re: Борьба с ддос
я могу ограничить количество процесов apache, тогда страницы отдаваться не будут, а сервак будет работать
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2012-02-24 23:29:13
Re: Борьба с ддос
и связка у меня стоит, как особенность у меня apache работает под пользователями и тут бок nginx начинает матюки гнуть, надо php_fpm, а уменя 5.2 php, а обновится я не могу, большинство сайтов у меня на joomla 1.5, а модулей у них просто не мерено. Поэтому сейчас на связке работает только главный сайт.
За конфиг спасибо попробую еще голову поломать, хотя сегодня проблем вообще нет. Только вчера страницы по 5-15 секунд открывались, сервак не ложится, но сильно тупит.
За конфиг спасибо попробую еще голову поломать, хотя сегодня проблем вообще нет. Только вчера страницы по 5-15 секунд открывались, сервак не ложится, но сильно тупит.
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2012-02-24 23:29:13
Re: Борьба с ддос
как по мне то лучше не DROP ставить, а REJECT с параметром tcp-reset. После дропа остаются соединения, пока по времени жизни не умирают. А последнее делает их сброс.
Я конечно извиняюсь, может нагло себя веду, просто реально уже сегодня башка трещит от поиска наиболее подходящего решения.
Я конечно извиняюсь, может нагло себя веду, просто реально уже сегодня башка трещит от поиска наиболее подходящего решения.
Последний раз редактировалось gvv2012 2012-11-20 16:17:43, всего редактировалось 1 раз.
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Борьба с ддос
я не считаю, что это лучше, чем ограничить по ресурсам. пускай запустит столько, сколько сможет. У вас 1 процесс может выжрать очень много (вплоть до всех ресурсов сервера), в случае кривого запроса или бага. А если ограничить по ресурсам - то в таком случае ядро просто его прибъёт, без последствий для всего сервера.gvv2012 писал(а):я могу ограничить количество процесов apache
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2012-02-24 23:29:13
Re: Борьба с ддос
для меня открытие страниц основная проблема, сайты находятся на биржах ссылок и не очень приятный момент, когда можно в бан попасть. По ssh я хоть и иногда с тупежом всегда подключаюсь, на крайняк через минут 10 к серваку можно достучатся с помощью KVM.
Я с fail2ban не работал, если не трудно можете подсказать основные принципы его работы. По чему он банит: лог, количество соединений.
Хочется услышать мнение адекватного человека
Я с fail2ban не работал, если не трудно можете подсказать основные принципы его работы. По чему он банит: лог, количество соединений.
Хочется услышать мнение адекватного человека
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Борьба с ддос
Всё нормально, но вынужден с вами не согласится и вот почему: при большом наплыве ваш REJECT просто забъёт исходящий трафик пакетами RST. DROP-же ничего не будет отправлять в ответ. Как итог, максимум вреда, что мы можем получить от DROP - это просто много не убитых соединений (при желании, можно сократить время их жизни), которые не так много потребляют ресурсов, чем потребуется отправить одновременно 1000 RST на разные хосты.gvv2012 писал(а):как по мне то лучше не DROP ставить, а REJECT с параметром tcp-reset. После дропа остаются соединения, пока по времени жизни не умирают. А последнее делает их сброс.
Я конечно извиняюсь, может нагло себя веду, просто реально уже сегодня башка трещит от поиска наиболее подходящего решения.
Тот же ping ответ (echo-reply) на 1000 хостов одновременно может для сервера стоять неплохого подвисания (конечно, много зависит от разных параметров, но главное суть).
Не знаю, я для вас адекватный человек или нет, но скажу так.gvv2012 писал(а):для меня открытие страниц основная проблема, сайты находятся на биржах ссылок и не очень приятный момент, когда можно в бан попасть. По ssh я хоть и иногда с тупежом всегда подключаюсь, на крайняк через минут 10 к серваку можно достучатся с помощью KVM.
Я с fail2ban не работал, если не трудно можете подсказать основные принципы его работы. По чему он банит: лог, количество соединений.
Хочется услышать мнение адекватного человека
Суть такова - есть демон, который парсит указанные логи на предмет указанных regexp'ов и при указанном количестве совпадение выполняет определённую команду (чаще всего банит через файервол+отправляет сообщение на email). Это общие принципы. Все параметры настраиваются и изменяются по желанию.
-
- рядовой
- Сообщения: 10
- Зарегистрирован: 2012-02-24 23:29:13
Re: Борьба с ддос
Мне кажется, что fail2ban примитивная защита, его я понял еще и надо допиливать, чтобы он начал с ipset работать.
А может быть обратная ситуация, отказ сервера по количеству открытых соеденений.
А может быть обратная ситуация, отказ сервера по количеству открытых соеденений.
- skeletor
- майор
- Сообщения: 2548
- Зарегистрирован: 2007-11-16 18:22:04
Re: Борьба с ддос
Неправильно поняли. fail2ban предоставляет инструмент, а реализация полностью ложится на администратора: какие правила и фильтры напишите, так и будет работать. Ну а допиливать для работы с ipset - да, надо. По умолчанию работает только с iptables.
Естественно, что перед этим нужно увеличить это, а так же сопутствующие компоненты. Тупо в лоб действовать нельзя, надеясь, что fail2ban сам изменит нужные параметры в sysctl.gvv2012 писал(а):А может быть обратная ситуация, отказ сервера по количеству открытых соеденений.
- bagas
- лейтенант
- Сообщения: 922
- Зарегистрирован: 2010-08-18 19:49:01
- Откуда: Воронеж
- Контактная информация:
Re: Борьба с ддос
fail2ban не способен отразить ддос с выше 15тыс.
можно посмотреть метод через nginx+testcoockie
можно посмотреть метод через nginx+testcoockie
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.
Блог о BSD системах.
- agat
- мл. сержант
- Сообщения: 138
- Зарегистрирован: 2009-10-27 1:21:55
- Откуда: Солнечная система, планета Земля, Россия
- Контактная информация:
Re: Борьба с ддос
я прикрутил geoip к iptables и забанил целые страны
ну зачем китайцу рускоязычный ресурс?
geoip обновляю по cron
ну зачем китайцу рускоязычный ресурс?
geoip обновляю по cron
- bagas
- лейтенант
- Сообщения: 922
- Зарегистрирован: 2010-08-18 19:49:01
- Откуда: Воронеж
- Контактная информация:
Re: Борьба с ддос
Подключил этот сервис, пока что нормально.
Пока тестово подключил 3 домена, на двух доменах вчера был ддос примерно 2 mpps, ддос отразился нормлаьно.
http://ddosinsurance.org/
Пока тестово подключил 3 домена, на двух доменах вчера был ддос примерно 2 mpps, ддос отразился нормлаьно.
http://ddosinsurance.org/
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.
Блог о BSD системах.