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

Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Атака идет периодически, путем забивания входящего канала по http (отправка больших пост запросов).
Я отключил обработку пост в nginx и он отдает 405 Not Allowed. Но, судя по всему, сервер принимает тело запроса и уже потом nginx отдает ошибку. Верно понимаю?
Отсеиваю список ботов по логам и добавляю ip в iptables.
1. как ограничить POST запросы, чтобы сервер вообще не принимал их (или как вариант: принимал все, что менее 4Кб)?
2. если ip заблокирован: iptables -A INPUT -s 1.2.3.4 -j DROP - верно ли я понимаю, что не будет входящего трафика на сервер с данного ip?
3. думаю автоматизировать: кто-то пробовал скармливать большие (3-10 Гб) http логи в fail2ban - не грузит ли оно систему? Конечно, можно писать подозрительные запросы в отдельный лог. Но, стиль атаки может изменяться.
php обрабатывает не нгикс (он лишь в качестве прокси), соответственно настраивать, то что за ним (апач или пхпфпм).
Перепроверил, слова php в моем посте нет. Как и самого php в этой проблеме
Не верно понимаете.
Принимаете вы пакет, или не принимаете - это ваше дело. Провайдер смаршрутизировал к вам трафик. Пакет пришел в вашу сетевую карточку и попал в tcp\ip - стек вашей ОС. Далее уже файерволл его обработал.
Иными словами, файерволлы и фильтрация от забивания канала не помогут в широком смысле.
Просите вашего провайдера не пускать к вам паразитный трафик.
---------- Добавлено 05.02.2017 в 18:04 ----------
оверхеда немного можно избежать, если не блокировать ядром, т.е. файерволом, а отправлять пакет сразу в блэкхол:
ip route add blackhole ip.add.rr
Но в любом случае, если у вас канал 100Мбит, а в вас вдули 200Мбит - полосой вы управлять не сможете.
pupseg, Тенденция такова что есть уникумы какие себе уже сами зубы лечить пытаются, вот уж по истине скупость на первом месте.Прописные истины им говорить бесполезно они стоят на своём: Я сэкономлю и лучше куплю пива и сигарет, чем дам этим жлобам.
Колхозят L7 "фильтры" от каких никакого толка теряют "мильёны" и снова по кругу.
Мне текущее положение дел сильно напоминает ранее SEO, когда профи сняли куш, а потом набежала толпа школьников и обрушила рынок своими грязными ручонками.
В этом примере максимальный пост запрос 100 мегабайт, переделай под свои нужды.
Меньше мегабайта лимит вроде не устанавливается.
Ну посмотрите откуда идет атака? Из каких стран, на какие страницы... Начните с гео банов, по странам... Потом перейдите на типы браузеров и урл которые атакуют.
Типичный пользователь теряет не миллионы, а средства на оплату хостинга... И лишних денег на дополнительные средства защиты нет в природе. Те у кого деньги есть, обращаются в конторы которые занимаются этим, а не идут за бесплатной помощью в форум.
smbbws, Бесплатный пользователь не спрашивает советов как защитить сайт от всего на свете "своими силами".Зачем платить этим жлобам в конторе, если я всё сам с усами, вот такая сейчас тенденция.
Не верно понимаете.
Принимаете вы пакет, или не принимаете - это ваше дело. Провайдер смаршрутизировал к вам трафик. Пакет пришел в вашу сетевую карточку и попал в tcp\ip - стек вашей ОС. Далее уже файерволл его обработал.
Если трафик от атакующего - не мусор, а конкретные запросы (в данном случае POST). В этом случае атакующая машина отправляет запрос на соединение, и только после успешного соединения отправляет POST запрос (иначе ей не нужно заморачиваться с POST, а отправлять просто мусор).
Вопросы:
1) если ip атакующего заблокирован: iptables -A INPUT -s 1.2.3.4 -j DROP - трафик будет - только попытки соединения, без передачи тела запроса?
2) если ip не заблокирован, nginx-у нужно принять весь входящий запрос, чтобы сказать в ответ 405 Not Allowed - верно? Или можно как-то ограничить?
---------- Добавлено 06.02.2017 в 02:53 ----------
client_max_body_size 100m;
В этом примере максимальный пост запрос 100 мегабайт, переделай под свои нужды.
Меньше мегабайта лимит вроде не устанавливается.
1 Мб - это по умолчанию, можно менее.
client_max_body_size 32k;
правда, не уверен в директиве, т.к. она просто смотрит на Content-Length.
И стоит:
limit_except GET {
deny all;
}
(принимать только GET и HEAD)
Нашел на просторах инета, блокирует пост запросы на уровне файрвола, не знаю насколько работоспособно.
Дропы и реджекты срабатывают сразу, по факту срабатывания условия.
пару лет назад уже ходил похожий флуд POST-ами.
давилось, так как Вы написали, nginx+iptables. даже впски на OpenVZ с 512рама чувствовали себя замечательно.
1) если ip атакующего заблокирован: iptables -A INPUT -s 1.2.3.4 -j DROP - трафик будет - только попытки соединения, без передачи тела запроса?
2) если ip не заблокирован, nginx-у нужно принять весь входящий запрос, чтобы сказать в ответ 405 Not Allowed - верно? Или можно как-то ограничить?
да, совершенно верно. 405 или 444 (сброс соединения), затем по крону парсинг лога nginx и добавление новых ip в "iptables DROP..."
также можно настроить nginx, чтобы он такие запросы писал в отдельный лог, тогда с парсингом можно не напрягаться.
если ip-шников много, то как правильно советовал pupseg, лучше использовать ip route add blackhole вместо "iptables DROP..."
---------- Добавлено 06.02.2017 в 09:25 ----------
iptables -I INPUT -d my_server_ip -p tcp --dport 80 -m string --string 'POST /' --algo bm -j DROP
с этим аккуратнее, это чудо может порезать и нормальные пакеты