- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Месяц назад столкнулся с проблемой DDOS сервера, который я поддерживаю.
За месяц пришлось освоить очень много нового.
Написал программу на языке С для блокировки DDOS ботов.
Если кто то столкнулся с проблемой DDOS, то могу установить вам на сервер свою программу.
Мой сервер от DDOS моя программа защищает.
Я заинтересован в тестировании программы на разных типах DDOS атак, поэтому установлю программу бесплатно и буду вести мониторинг ее работы.
Краткое описание принципа работы программы.
Программа написана на языке С и компилируется под системой Linux.
У меня программа запускается раз в минуту (через cron) для поиска DDOS ботов.
10 000 записей из логфайла программа проверяет примерно за секунду на сервере с процессором Pentium 3 Гц.
Программа имеет 2 режима работы.
1 режим.
Анализируются все открытые IP сокеты на компьютере, если с какого то внешнего IP адреса открыто одновременно более определенного лимита сокетов, то такой IP считается DDOS ботом.
У меня стоит лимит 350 одновременных коннектов на один IP адрес.
ДДос бот открывал около 500 - 1000 конектов на один IP
Список открытых сокетов берется из команды netstat –n
2 режим.
Анализируется последние записи лог файла вебсервера.
В лог файле находятся ip адреса или подсети,
1) С которых часто обращаются к одним и тем же страницам. Так ловятся самые примитивные боты, которые обращаются лишь к какой то одной странице. Или не большому количеству разных страниц.
2) С которых обращаются чаще определенного лимита за промежуток времени. Так ловятся боты которые обращаются к разным страницам, но так как они это делают слишком часто, то их можно найти.
3) С которых не было пауз в запросах определенной длины, за заданный промежуток времени. Так ловятся боты, которые не делают пауз в своей работе.
Все лимиты по количеству и по времени указываются в настройках программы при запуске и могут быть индивидуально изменены.
IP адреса или сети, которые алгоритмом программы были идентифицированы как DDOS боты, заносятся в фаервол iptables
Связаться со мной можно по IСQ 16дeвять9-3-8шecть79 или в личных сообщениях на форуме.
Рад буду услышать критику, вопросы и рекомендации по используемому мной способу защиты.
zexis, не обижайтесь, но вы сделали велосипед. с квадратными колесами :)
советую вам обратить внимание на nginx, модули:
http://sysoev.ru/nginx/docs/http/ngx_http_limit_zone_module.html
http://sysoev.ru/nginx/docs/http/ngx_http_limit_req_module.html
+ отдельно настроенные под разные location (статика, динамика, тяжелая динамика)
+ whitelist для некоторых IP/подсетей (зависит от специфики сайта, скажем, WAP-сайт).
заинтересует - обращайтесь.
myhand, cпасибо за комментарий.
Да согласен.
Это мое упущение, что я до сих пор не освоил nginx.
Уверен, в нем много возможностей для борьбы с ддос
Надо будет его обязательно поставить и изучить.
Есть у меня такая дурацкая черта характера – месяц потратить на написание своей программы, вместо того что бы потратить пару дней не изучение готового продукта.
myhand, тем не менее, нет ничего гибче своей программы, которую можно быстро дописать при новом типе атаки.
у меня вот тоже была пара велосипедов с квадратными колесами, есличо.
Круто, чо.
Правда, такая же программа на шелле занимает три строки.
Все это решается на уровня файрвола без всякого юзерленда.
netwind, nginx и есть "своя программа". для адаптации под атаки нужны определенные усилия.
zexis, если есть время и "дурацкая черта" - аналог nginx-модуля limit_req
для апача был бы интересен, думаю, многим ;)
а если нужна конструктивная критика - покажите код. как правильно заметил
Outsourcenow, подобный алгоритм на shell пишется "наколенке" в три строчки.
myhand добавил 02.12.2009 в 19:43
Все это решается на уровня файрвола без всякого юзерленда.
с вами уже это обсуждали не так давно:
/ru/forum/410019
присутствующие здесь Outsourcenow и netwind
кстати тоже окрестили эту идею чушью :)
myhand, некоторым примитивные условия модуля nginx кажутся недостаточно гибкими .
Что ж так мало то охотников править nginx?
Потому, что он "чужой". Да еще и на C. Да еще и в непопулярной модели конечного автомата написан.
Я такой скрипт тоже делал, только у меня в виде "демона", поэтому написан не на шеле. У меня программа в реальном времени отлавливает подключения. Работает и на линуксе и на FreeBSD. Просто достаточно перекомпилировать, а программа при запуске определит систему и будет пользоваться либо iptables, либо ipfw.
Но эти алгоритмы отлова не достаточно эффективны, хотелось бы реализовать программно основные алгоритмы "железных" фаерволов. Т.е. точнее определять паразитный трафик. Возможно использовать программу в паре с nginx, чтобы принимались меры по защите атакуемого сайта автоматически.
Мыслей много, но что-то я перестал этим заниматься уже давно.
myhand, некоторым примитивные условия модуля nginx кажутся недостаточно гибкими .
там _много_ модулей. проверка cookies, рефереров, там кеширование и еще куча разных плюшек.
нет, это не "готовый" рецепт. но доведение его до рабочего состояния для каждого конкретного
сайта - задача на порядок менее безнадежная, чем написание "своего" решения.
Что ж так мало то охотников править nginx?
Потому, что он "чужой". Да еще и на C. Да еще и в непопулярной модели конечного автомата написан.
апи нестабильный. может в этом дело. а охотники есть, на недавнем хайлоаде
был доклад достаточно большой на эту тему.
но доведение его до рабочего состояния для каждого конкретного
сайта - задача на порядок менее безнадежная, чем написание "своего" решения.
Если кто-то уже постарался до вас и снабдил nginx функционалом.
А в общем случае для программиста игра по чужим правилам всегда сложнее. Вы просто не программист, наверное.
Himiko, железных фаерволов не бывает. Там внутри процессор(-ы) pc-класса. "Встраиваемые" не справляются.
Но бывают еще карты для быстрого анализа данных на ПЛИС. Возможно есть и отбрасыватели трафика на тех же ПЛИС, но процессор то тот же и алгоритмы вполне воспроизводимые должны быть.