- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Зачем быть уникальным в мире, где все можно скопировать
Почему так важна уникальность текста и как она влияет на SEO
Ingate Organic
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Кстати, proxy_story не проверял как работает.
Кстати, proxy_story не проверял как работает.
я тоже proxy_cache использую, но вот:
http://hll.msu.ru/item_165.html
А какие именно критерии ddos (по логам nginx, по нетстат)?
Для поиска ддоса в логах nginx использую довольно много критериев.
Те IP которые не попадают под эти критерии, заносятся в фаервол.
Цифры лимитов, которые ниже приведены, указаны только для примера и настраиваются под конкретный сайт.
1. не более N одинаковых запросов за определенный промежуток времени с одного IP.
2. для каждого IP не более определенного числа разных запросов за минуту, за 3 минуты, за 10 минут.
3. для каждого IP не более определенного числа запросов к PHP файлам за минуту, за 3 минуты, за 10 минут.
4. каждый IP должен делать хотя бы 1 паузу в работе длиной 5 секунд в течении минуты. Длиной 20 секунд в течении 3 минут, Длиной 2 минуты в течении 10 минут. (например если за минуту не было ни одной 5 секундной паузы, то принимается решение, что это бот и банится)
5. Не более определенного числа запросов к несуществующим PHP файлам за промежуток времени.
6. Есть еще несколько особенностей работы ботов по которым их можно обнаружить, которые я раскрывать не хотел бы.
Выдача команды netstsat также анализируется.
Например если с какого то IP будет больше определенного количества коннектов, то то этот IP заносится в фаервол.
Пока этих правил мне хватает, что бы отбивать ддос.
Если боты пойдут более интеллектуальными и изощренными, то придется разрешать просмотр сайта только зарегистрированным посетителям и при регистрации и каждом логине просить пользователя вводить число с картинки. На каждого зарегистрированного посетителя выставлять лимиты на количество запросов за периоды времени.
1-3,5 умеет limit_conn/limit_req в nginx. Почти, так как пока только обещали
поддержку _нескольких_ директив limit_req на одном уровне. Только ограничения
работают не для "одинаковых запросов" - а на уровне location.
Таким образом, функционал _пока_ эквивалентен строчке на sh + awk (по замечанию
Himiko). Скрипт для выгребания IP ботов из error.log nginx в файервол + критерии limit_req/conn.
Польза 4 весьма сомнительна. Вами собиралась какая-то статистика по
срабатыванию правил? По ложным срабатываниям? Насколько 4 в итоге оказалось полезным?
1-3,5 умеет limit_conn/limit_req в nginx. Почти, так как пока только обещали
поддержку _нескольких_ директив limit_req на одном уровне. Только ограничения
работают не для "одинаковых запросов" - а на уровне location.
Таким образом, функционал _пока_ эквивалентен строчке на sh + awk (по замечанию
Himiko). Скрипт для выгребания IP ботов из error.log nginx в файервол + критерии limit_req/conn.
Польза 4 весьма сомнительна. Вами собиралась какая-то статистика по
срабатыванию правил? По ложным срабатываниям? Насколько 4 в итоге оказалось полезным?
большинство ботов которые ко мне идут успешно ловятся пунктами 1,2,3.
Ставлю несколько лимитов с разными периодами времени на разные типы файлов.
Необходимости в жесткой настройке 4 пункта пока не было.
Но намой взгляд критерий 4 весьма полезный.
Ловить ботов установкой лимитов limit_conn/limit_req в nginx и последующим анализом файла error.log – тоже довольно удобно и эффективно.
Но у меня был написан свой анализатор логов. Который делает примерно тоже самое.
Мне им пользоваться удобнее. А в чем то он даже более гибкий для настройки чем установки лимитов в limit_conn/limit_req в nginx
А если это поисковый бот к примеру?
Ловить ботов установкой лимитов limit_conn/limit_req в nginx и последующим анализом файла error.log – тоже довольно удобно и эффективно.
Но у меня был написан свой анализатор логов. Который делает примерно тоже самое.
Дело в том, что nginx не банит сразу по IP на файерволе (что очень плохая
затея). Это как минимум - "вторая стадия" (обработка error.log на предмет срабатывания
лимитов). Просто возвращается 503 ошибка, обработчик 503 можно и нужно сделать
статическим, nginx статику отдает на ура.
Подобный статус ошибки (в отличие от DROP в файерволе) "поймут" и пользователи
сайта, и поисковые боты.