- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Как снизить ДРР до 4,38% и повысить продажи с помощью VK Рекламы
Для интернет-магазина инженерных систем
Мария Лосева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте, подскажите возможно ли решение проблемы с помощью iptables. Как закрыть доступ произвольному ip обратившемуся (допустим) более N раз к одной странице (именно количества обращения к одной странице, обращения к различным страницам допустимы) за определенный интервал, допустим 10 минут? Естественно ip неизвестен и не имеет никакой привязки ни к стране, ни к чему.
Вам нужно такое:
https://www.google.ru/search?client=opera&q=fail2ban&sourceid=opera&ie=UTF-8&oe=UTF-8
Понимаю, что скорее всего такое невозможно, тогда, если было более N обращений к серверу за 10 минут, то дропать на промежуток некоторый времени.
Такие вещи обычно решают динамические фаерволлы. К примеру CSF Это для тех, кто не хочет разбираться в правилах iptables.
Понимаю, что скорее всего такое невозможно, тогда, если было более N обращений к серверу за 10 минут, то дропать на промежуток некоторый времени.
Если я правильно помню такое возможно в связке modsecurity, fail2ban и iptables.
Для modsecurity пишите правило запрета N+1 посещению одной страницы подряд в нужный интервал времени.
А в fail2ban включаете парсинг error лога по признаку ModSecurity: Access denied with - ну и дальше с первого ли раза блокировать и на какое время попавшийся IP.
А уж fail2ban внесёт блокировку в iptables.
Я такое сделал bash скриптом паршу лог nginx каждые 5 минут, ip заносятсся в конфиг, который инклюдится в основной конфиг + релоад каждые пол часа
Dram
Зачем скриптом? Это делается средствами nginx.
http://nginx.org/ru/docs/http/ngx_http_limit_req_module.html
Сентябрь, Можно ещё парсить ип привысивших и банить:)
Сентябрь, читайте внимательно условия. ТС нужно банить ip обратившиеся более N раз, а не тормозить их. На голом Nginx такое не сделаешь, поэтому и нужен парсинг лога Nginx.
Сентябрь, читайте внимательно условия. ТС нужно банить ip обратившиеся более N раз, а не тормозить их. На голом Nginx такое не сделаешь, поэтому и нужен парсинг лога Nginx.
Парсить логи очень затратно для ресурсов. Если нет проблемы с парсингом, то и парсить не надо. Вероятно, там логов очень мало. А когда реально появится необходимость банить, то сервер загнется при попытке парсить файл или будет делать это очень долго.
Поэтому можно и средствами nginx делать тоже самое. В момент тормоза отправлять запрос какому-нибудь perl скрипту, куда передавать ip-адрес. И банить его.
Вот это ограничивает обращения с одного айпи адреса, на одно в секунду, последующие банятся.
Если так всё равно очень сложно, можно ещё проще.
http://nginx.org/ru/docs/http/ngx_http_limit_conn_module.html#limit_conn
Парсить ничего не надо.