- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
здравствуйте. В общем такая ситуация: син флуд не переставая. Раньше серв клался моментально, мод евейзив не спасал.
Поставил nginx - не помогло вообще никак, также клался с одного ип. Потом ограничил количество коннектов в нжинксе - тоже самое. потом еще что-то изменил, вроде количество воркеров с 1 до 4, в общем серв держит. Ложиться перестал. Проблема в том что моде евейзив все равно не банит. Т.е. он работает - если отключить сайт (переименовать индекс пхп в индекс пхп1) - моментально все флудящие ип в бане. Если сайт работает - моде евейзив не банит их. Раньше я связывал это с тем что серв сразу клался и вместе с ним модевейзив. Но теперь то серв выдерживает, причем даже заметных лагов нету. В общем не понятно.
Поэтому нужно следующее. Дело в том что в логах нжинкса те ип, которым он ограничивает коннекты (правило не больше 4 коннектов с ип) получают статус "499" вот пример во время атаки:
Т.е. нужно составить правило обработки этого лога, которое потом поставить в крон допустим на каждые 4 минуты, которое допустим проверяет 100 последних строк, выбирает все где есть " 499 " (это уже выполнено, а вот как дальше не знаю), дальше:
очистить от всего, оставить только айпишники, дальше все айпи которые встречаются больше 20 раз идут в бан через iptables
Буду благодарен если кто-нибудь поможет.
CentOS
tail -100 access.log | fgrep "GET / " | fgrep "499" | cut -f1 -d " " |
sort | uniq -c | awk '{ if ($1 >= 20) print $2 }' |
xargs -n1 -I _ iptables -A BAN -s _ -j DROP
вместо прямого чтения access.log - лучше logtail использовать.
PS: к син-флуду эта тема не имеет отношения.
1. Каким боком nginx связан с syn-flood?
2. Не надо ничего нигде банить - настройте limit_zone в nginx.
C одного ип по 100 запросов в секунду шлют, что это тогда?
-bash: logtail: command not found
3 188.92.74.27
26 85.25.134.149
3 89.251.107.25
3 93.158.148.31
20 95.134.197.104
1 95.135.82.240
4 95.28.213.79
awk '{ if ($1 >= 20) print $2 }'
Дальше я так понимаю xargs под меня так:
xargs -n1 -I _ /sbin/iptables -I ddos -s _ -j DROP
xargs -n1 -I _ echo _ >> /tmp/499_ban
Т.е. нужно чтоб логировал кого он банит
дальше в кроне нужно добавить:
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
# run-parts
26 * * * * root run-parts /etc/cron.hourly
25 0 * * * root run-parts /etc/cron.daily
16 4 * * 0 root run-parts /etc/cron.weekly
37 1 3 * * root run-parts /etc/cron.monthly
1-59 * * * * root test -f /tmp/ddoslist && sh /tmp/ddoslist && rm -f /tmp/ddoslist
*/4 * * * * root tail -100 /tmp/nginx_access.log | fgrep " 499 " | fgrep "GET /"| cut -f1 -d " " | sort | uniq -c | awk '{ if ($1 >= 20) print $2 }' | xargs -n1 -I _ /sbin/iptables -I ddos -s _ -j DROP [как сюда логирование добавить?]
Что будет если ничего не нашлось (нет атаки) строчка бана будет запускаться ?
myhand вы мне уже много помогли киньте свой wmz в ЛС я вам $5 хотя бы переведу в качестве спасиба
C одного ип по 100 запросов в секунду шлют, что это тогда?
Есть большая разница между syn-flood, DoS и DDoS.
Вобщем, неважно уже.
C одного ип по 100 запросов в секунду шлют, что это тогда?
детская ддос-атака
сколько IP всего-то?
Т.е. нужно чтоб логировал кого он банит
после бана в crontab:
смотрим iptables -L BAN - видим, кого забанили. плохой лог?
myhand вы мне уже много помогли киньте свой wmz в ЛС я вам $5 хотя бы переведу в качестве спасиба
ЛС прикрыто у вас
Я вижу тупой флуд с 1 ip
Снимается двумя строками iptables
mower, есть анализатор логов, который атаки типа вашей(и некоторые другие) находит и автоматом заносит в iptables.
Если нужно, могу поставить.
Моя аська 169-9три86-79
детская ддос-атака
сколько IP всего-то?
детсткая не детская но впску 700 мегагерц 384 оперативы на которой 1 сайт кладет. сколько - хз, баню их вручную уже месяц или больше, новые ип каждые полчаса появляются, кучу подсетей уже забанил и все равно постоянно появляются новые
можете написать как логирование тех ип которые в бан идут сделать, + если ничего ненаходит команда - то команда бана выполняться будет? можно как-то вставить проверку, типа если ничего не найдено - то команду бана не выполнять
fagediba ya.ru туда пошлите
можете написать как логирование тех ип которые в бан идут сделать, + если ничего ненаходит команда - то команда бана выполняться будет? можно как-то вставить проверку, типа если ничего не найдено - то команду бана не выполнять
могу, контакты ниже в подписи.
могу, контакты ниже в подписи.
вышлите свой wmz
fagediba@ya.ru
или асю дайте
mower добавил 01.12.2009 в 13:29
набил 10 сообщений все равно ЛС нету...
mower добавил 01.12.2009 в 13:49
wmz получил, как обещал за помощь 5 долларов перевел