Dimka

Рейтинг
228
Регистрация
07.11.2000
pupseg:
Не верно понимаете.
Принимаете вы пакет, или не принимаете - это ваше дело. Провайдер смаршрутизировал к вам трафик. Пакет пришел в вашу сетевую карточку и попал в 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 ----------

smbbws:
client_max_body_size 100m;
В этом примере максимальный пост запрос 100 мегабайт, переделай под свои нужды.
Меньше мегабайта лимит вроде не устанавливается.

1 Мб - это по умолчанию, можно менее.

client_max_body_size 32k;

правда, не уверен в директиве, т.к. она просто смотрит на Content-Length.

И стоит:

limit_except GET {

deny all;

}

(принимать только GET и HEAD)

Перепроверил, слова php в моем посте нет. Как и самого php в этой проблеме

kaskentbobel:
Сбор фраз по Рамблеру не работает уже или я туплю?

Там больше сам Рамблер не работает. Например, январь 2017.

Нужно посмотреть руками в Рамблере выбранный месяц, а уже потом выбрать его в КК.

Dram:
Я пробовал проверять куку _ym_isad которую ставит яндекс

Тестировал. Плохо на нее ориентироваться.

У многих юзеров нет этой куки - т.к. многие блокировщики рекламы лочат Метрику.

Dram:
А не знаете как такой фрмат подсетей 5.9.0.0 - 5.9.255.255 всунуть в geo nginx ? Там ведь вроде диапазоны нельзя?

При нажатии на каждый IP:

https://myip.ms/view/ip_ranges/2325521/194.42.176.0_194.42.191.255

отдает два варианта:

IP Range Start: 194.42.176.0

IP Range End: 194.42.191.255

CIDR: 194.42.176.0/20

---------- Добавлено 23.01.2017 в 23:28 ----------

Или при нажатии на [+] слева от каждой записи.

Dram:
Конечно лучше, но я не смог нарыть даже подсети Хедзнера и OVH хотя бы...

Hetzner:

https://myip.ms/browse/ip_ranges/1/ownerID/45081/ownerID_A/1

OVH:

https://myip.ms/browse/ip_ranges/1/ownerID/7593/ownerID_A/1

Dram:
Вот нашел интересный вариант

chesser плохого не посоветует, но нужно учесть момент, что картинка из css может быть давно в кэше браузера (в принципе, как и css).

Если без кук -

для отдельного location (например mini_style.css?random или 1x1.gif?random) - писать в memcache текущий ip.

А для секции html проверять значение memcache на встроенном в nginx: lua или perl

---------- Добавлено 23.01.2017 в 19:22 ----------

Dram:
создать черный список - страны

может лучше найти список ip этих ДЦ?

map "$whitelist:$server_protocol:$cookie" $limit3 {
default "";
"0:HTTP/2.0:1" "";
"0:HTTP/1.1:1" "";
"0:HTTP/1.1:0" $binary_remote_addr;
}
limit_req_zone $limit3 zone=bot_cookie:10m rate=2r/m;

Убрал кавычки для "$binary_remote_addr" и default изменил на ""

И default стоит прописать всем map

---------- Добавлено 23.01.2017 в 00:22 ----------

Кстати, юзер грузит несколько файлов стразу (html, картинки, стили, иконка) - нужно ограничивать все эти правила отдельной секцией для html (исключить все остальное)

Мне кажется, что нет куки - пустая строка

"0:HTTP/1.1:"

Dram, если писать не в куки, можно попробовать решение: при обращении к css писать в memcache (текущий ip).

Всего: 750