nginx_ru
Anton Noginov
Gordon Freeman
Возможно, не понятно, если он использует настройки iptables, то почему в принципе траф до nginx-а доходит
1. Он использует?
2. дебаг в fail2ban включен? Что в дебаге? Куда пишутся адреса выковыренные из лога? Добавляются ли они в цепочку фаервола?
3. клиентские адреса - у них разброс какой? Что будет, если на вас накатится небольшой ботнет - в полмиллиона хостов. Вы вхерачите полмиллиона строк в iptables?
Gordon Freeman
Anton Noginov
Здравая мысль.
Возможно, не понятно, если он использует настройки iptables, то почему в принципе траф до nginx-а доходит
Gordon Freeman
Но он растёт очень быстро, сотни Мб
Gordon Freeman
Gordon Freeman
Странно, там всё норм, как и должно быть, ip корректный
В логе самого nginx-a
Gordon Freeman
Anton Noginov
В error_log что?
Странно, там всё норм, как и должно быть, ip корректный
Anton Noginov
Gordon Freeman
Либо я что-то не так настроил, либо в принципе даже если сервер этим fail2ban защищен, получается я могу его положить с 1 хоста, что как минимум странно, т.е. зачем он так неадекватно лог заполняет и нагружает проц, если его выключить, nginx норм работает и без него, просто с модулем req-limit..
Здравая мысль.
Anton Noginov
В error_log что?
Gordon Freeman
Либо я что-то не так настроил, либо в принципе даже если сервер этим fail2ban защищен, получается я могу его положить с 1 хоста, что как минимум странно, т.е. зачем он так неадекватно лог заполняет и нагружает проц, если его выключить, nginx норм работает и без него, просто с модулем req-limit..
Gordon Freeman
/etc/fail2ban/filter.d/nginx-req-limit.conf содержит:
[Definition]
failregex = ^\s*\[error\] \d+#\d+: \*\d+ limiting requests, excess: [\d\.]+ by zone "[^"]+", client:
ignoreregex =
Gordon Freeman
Gordon Freeman
Если не ошибаюсь, правила по которым просятся логи в этом файле?
/etc/fail2ban/filter.d/nginx-req-limit.conf ?
Gordon Freeman
Gordon Freeman
Имеется ввиду "client: " в /etc/fail2ban/filter.d/nginx-req-limit.conf ?
Если не ошибаюсь, правила по которым просятся логи в этом файле?
Anton Noginov
Gordon Freeman
а почему там может появляться подобный адрес, если например флуд идёт с совершенно другой машины у которой есть свой ip и доменное имя?
Ну я-то откуда знаю?
Мне не очень видно, что именно вы берете из логов в качестве клиентского адреса.
Gordon Freeman
Anton Noginov
Вероятно, да.
а почему там может появляться подобный адрес, если например флуд идёт с совершенно другой машины у которой есть свой ip и доменное имя?
Gordon Freeman
а что это за ip адрес такой странный может быть?
NOTICE [nginx-req-limit] 0.0.7.209 already banned
Gordon Freeman
Дмитро Бур'янов
почему в крайнем случае, если cdn провайдер на необходимом тарифном плане позволяет спрятать ваш сервер - то почему бьі и не сделать єтого, другое дело, что целиком зону отдавать невсегда хочется провайдеру
Согласен, все же пробую разобраться в способах самостоятельной защиты от подобных атак
Anton Noginov
Вероятно, да.
Gordon Freeman
Anton Noginov
Это несвязано. Тыкая пальцем в потолок usedns полагаю зависит от типа лога. Если в логе хосты - то без резолва никак.
Имеется ввиду "client: " в /etc/fail2ban/filter.d/nginx-req-limit.conf ?
Дмитро Бур'янов
Gordon Freeman
Ну это наверное в крайнем случае
почему в крайнем случае, если cdn провайдер на необходимом тарифном плане позволяет спрятать ваш сервер - то почему бьі и не сделать єтого, другое дело, что целиком зону отдавать невсегда хочется провайдеру
Gordon Freeman
Дмитро Бур'янов
если вьі хоститесь в ДЦ/облаке - то сменить адрес можно относительно легко и уже на л4 резать все входящие кроме CDN провайдера и никто и не узнает о вашем веб сервере
Ну это наверное в крайнем случае
Yaro
Короче подскажите такую вещь, на сайте в публичной папке есть жсон с конфигами, что бы его никто не видел думаю на нжинксе закрыть к нему доступ, какой правильно статус возвращать в таком случае? 404? 403 ?
Max S
если сработает - проблема решена, но это костыль и так делать вообще нельзя.
Max S
chmod o+x /root
и еще раз.
Vladislav support.od.ua
кстати, да, ни разу сайты в рутовской директории не размещал
Max S
да стопудов там на /root права 0700 , потому nginx глубже уйти не может
A E
Артур Семенов
а как мне правильно с нуля сделать?
https://blog.yadutaf.fr/2016/04/14/docker-for-your-users-introducing-user-namespace/
Vladislav support.od.ua
чтоб понять, на том ли сервере ты делал правки
Vladislav support.od.ua
еще ip addr show
M T
раздавай статику питоном гыгы
Артур Семенов
а как мне правильно с нуля сделать?
Vladislav support.od.ua
тогда хз