- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу

VK приобрела 70% в структуре компании-разработчика red_mad_robot
Которая участвовала в создании RuStore
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Любые скрипты от настоящего ddos не спасут
А настоящий - это когда канал по ширине забивается, или когда сетки айпишников побанить нельзя из-за того, что они правилам не поддаются и по сути размазаны по всему миру?
Или что значит "настоящий" по-вашему?
Настоящий начинается тогда, когда от запросов на 80-ый порт не спасает nginx на полную катушку со статикой (over 500k запросов в секунду)
Ну и конечно ip со всего мира, иначе это не ddos а флуд
Перегоняйте / раз в 3 минуты в статику и отдавайте как статику.
Потом парсите логи на адреса, систематически запрашивающие / и ничего больше, и баньте фаирволлом.
Вместо первого можно попробовать кеш в nginx.
Вариант с кэшированием мне все-таки видется более полезным при большой посещаемости реальными пользователями, а не борьбы с ddos.
innix, хочу предложить такое решение (временное) с помощью iptables.
Не более 4 одновременных запросов к главной странице с одного IP. На остальные страницы ограничение не действует.
Это реализация в Linux :(, наверное такое же можно сделать и в FreeBSD 6.1
Спасибо, но все же сервер под FreeBSD.
Разные домены запрашивают.
Кусок лога, приведен для одного домена.
Какой же это ddos...
В моем случае, да, определение http-flood подходит лучше, но тема создавалась все-таки для получения более широкого круга информации, а http-flood и ddos вроде бы достаточно схожи по реализации все же.
Любые скрипты от настоящего ddos не спасут
Каковы ваши советы, рекомендации по спасению от настоящего DDoS?
как еще один вариант решения для размышления
http://deflate.medialayer.com/
Спасибо, достаточно любопытно - посмотрю внимательнее.
в вашем случае легкого флуда могут помочь mod_limitipconn и mod_dosevasive модули для апача
Спасибо
судя по вашему первому логу там 200 в секунду и близко не пахнет
Проницательны :) 200 стало позже.
nginx + apache 2.2 На тредах + mod_dosevasive работающий в паре с ipfw
Спасибо, посмотрю mod_dosevasive, работа в паре с ipfw звучит многообещающе.
ТС, купите пива и раслабтесь :)
Хорошо что спорисли на форуме, а не накатали жалобу какому нить провайдеру/датацентру. А то некоторые потом рубит с плеча за такой "DDDDDDoS" 🍻
Не, жалобу это уж как-то через чур :) и мне не так повезло с провайдером видимо, чтобы кто-то суетился у них с клиентскими проблемами :))
Обычный флуд. Такой всегда почти есть.
На него даже внимания обращать не стоит.
Ну он все же порой умудряется портить стабильный доступ к другим сайтам под тем же httpd :(
В случае серьезного DDOS надо идти к специалистам
По поводу парсинга логов...
Можно сделать так на FreeBSD:
cat НУЖНЫЙСАЙТ.access.log | grep "GET /" | awk '{print $1}' | sort | uniq -c | sort -n | awk '{if ($1>100) print "ipfw add deny tcp from "$2" to me"}' | sh
Эта команда будет банить все ip-адреса, которые более 100 раз запрашивали корень сайта.
По поводу парсинга логов...
Можно сделать так на FreeBSD:
cat НУЖНЫЙСАЙТ.access.log | grep "GET /" | awk '{print $1}' | sort | uniq -c | sort -n | awk '{if ($1>100) print "ipfw add deny tcp from "$2" to me"}' | sh
Эта команда будет банить все ip-адреса, которые более 100 раз запрашивали корень сайта.
Здесь, наверное, опечатка.
Нужно заменить grep "GET /" на grep "GET / ", а то под это условие попадет не только корень сайта.
Я немножко дописал. Получилось что-то типа такого
Основное изменение - просмотр только части access.log с последнего запуска. Таким образом, если запускать этот скрипт каждую минуту, то будут блокироваться IP обратившиеся к главной странице 100 раз ({if ($1>100)) в течении минуты. Механизм блокировки основан на командах Himiko.
Пояснения к коду.
Обрабатываемый лог указывается в переменной logname. В коде это /home/site/logs/access.log. Файл .linenumber используется для сохранения номера последней строки со времени последнего запуска. Если используется ротация логов, то .linenumber нужно удалять.
Art569, на самом деле была опечатка, спасибо за исправление.
Такой http-flood легко сводится на нет установкой nginx и особо активные банятся скриптами, за основу можно взять тот же deflate или написать свой. У меня например своей решение которое читает вывод netstat и после парсинга добавляет особо активных + отсылает на мыло из хуиза абузу с подробностями. Конечно от серьезных атак это все не спасет, но от мелкого флуда вполне.
Ну можно было бы заодно выложить данный скрипт, на всеобщее обозрение, думаю многим было бы интересно. :)
По поводу парсинга логов...
Можно сделать так на FreeBSD:
**** "ipfw add deny tcp from ***
вопросик такой вполне серьезный без шуток : у меня нет опыта засовывания сюда (без таблицы) тысяч правил ...
насколько оно накладнее чем в таблицу писать и банить по таблице ?
или наоборот менее накладно ?
Если использовать отдельный сервер чисто под фильтрацию - вполне нормальное решение
Для linux есть дешевые модули - ipset, geoip
Одним баном всяких азиатов и арабов снимается очень много проблем ;)