Атака китайских ботов

Вопросы без привязки к версии. Установлена авточистка (2 года).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ | Как задавать вопросы | Как устанавливать расширения

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
hd321kbps
phpBB 2.0.3
Сообщения: 366
Стаж: 14 лет 3 месяца
Откуда: Россия, Крым, Армянск
Благодарил (а): 191 раз
Поблагодарили: 346 раз

Атака китайских ботов

Сообщение hd321kbps »

Сегодня заметил на нескольких форумах наплыв ботов из китая от 100-300 одновременно, которые создают нагрузку на хостинг.
Все заходят с телефона Android и iphone Os.
Адреса ботов:
54.222.*.*
54.223.*.*
52.80.*.*
52.81.*.*
52.82.*.*
52.83.*.*
220.243.*.*
139.217.*.*
139.219.*.*
У кого наблюдается такое-же отпишитесь)


---------------------------
Варианты блокировки ботов:
Re: Атака китайских ботов - от Nekstati
Re: Атака китайских ботов - от Kuskow, php
Re: Атака китайских ботов - от Kuskow, nginx
Последний раз редактировалось Татьяна5 11.07.2026 18:43, всего редактировалось 1 раз.
Аватара пользователя
Nekstati
Поддержка
Поддержка
Сообщения: 3365
Стаж: 17 лет 3 месяца
Благодарил (а): 19 раз
Поблагодарили: 580 раз

Re: Атака китайских ботов

Сообщение Nekstati »

Kuskow писал(а): 24.06.2026 8:54 Требуется критика.

Код: Выделить всё

!(bool|int) + bool|int + bool|int + (bool < bool)
Не знаю, работает это или нет, но знаю, что если так писать, сами же спустя месяц не поймёте, что написали (если понимаете сейчас; я нет)
Аватара пользователя
Kuskow
phpBB 2.0.5
Сообщения: 457
Стаж: 10 лет 1 месяц
Откуда: 🇰🇿 Караганда
Благодарил (а): 29 раз
Поблагодарили: 46 раз

Re: Атака китайских ботов

Сообщение Kuskow »

Да, пардон, подстрочный перевод:

# 1. Шлагбаум закрыт для плохих ботов, методов и запросов
Варианты плохих запросов:
  • вызов не главной страницы, не index.php, не file.php, а первый параметр у viewforum.php или у viewtopic.php не f=, не t= и не p= (например, viewtopic.php?start=)
    !preg_match('#/$|/(index|file)\.php|/view(forum|topic)\.php\?[ftp]=#i', $uri)
  • в User-Agent прямо указано, что это бот, написанный на коленке, или запрос пришёл через грязное использование ChatGPT-User
    +preg_match('#ChatGPT|keys-so|python|Firefox\/72#i', $ua)
  • главная страница вызывается с параметрами или любая страница с указанием сессии - так не бывает
    +preg_match('#/\?|/index\.php\?|sid=#i', $uri)
  • признака перехода из браузера нет, а referer есть - так не бывает
    +(isset($_SERVER['HTTP_SEC_FETCH_SITE']) < isset($_SERVER['HTTP_REFERER']))
И тогда прекращаем работу с кодом ошибки 403 - доступ запрещён
and exit(http_response_code(403));
Shredder
Former team member
Сообщения: 2261
Стаж: 17 лет 7 месяцев
Благодарил (а): 165 раз
Поблагодарили: 158 раз

Re: Атака китайских ботов

Сообщение Shredder »

Добавьте в закреп работающие варианты "Антиботов".
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13129
Стаж: 14 лет 11 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2394 раза

Re: Атака китайских ботов

Сообщение Татьяна5 »

Shredder, тут разработка в самом разгаре
Shredder
Former team member
Сообщения: 2261
Стаж: 17 лет 7 месяцев
Благодарил (а): 165 раз
Поблагодарили: 158 раз

Re: Атака китайских ботов

Сообщение Shredder »

Разработка может продолжаться долго. Тем, кто желает протестировать или иметь хоть какую-то защиту, будет полезно иметь код в закрепе
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13129
Стаж: 14 лет 11 месяцев
Благодарил (а): 166 раз
Поблагодарили: 2394 раза

Re: Атака китайских ботов

Сообщение Татьяна5 »

Shredder, сделала
Аватара пользователя
Kuskow
phpBB 2.0.5
Сообщения: 457
Стаж: 10 лет 1 месяц
Откуда: 🇰🇿 Караганда
Благодарил (а): 29 раз
Поблагодарили: 46 раз

Re: Атака китайских ботов

Сообщение Kuskow »

Кажется, я доигрался. У некоторых пользователей при переходе на "первое непрочитанное сообщение" из списка непрочитанных тем или при переходе по уведомлению с сайта (колокольчик) открывается первая страница. Не пойму, в чём дело, вроде бы ничего такого не делал, уже и очистку параметров закомментировал полностью. Не работает, и всё тут. Как будто удаляется &view=unread, но где он удаляется - вообще никак не найду. Может быть, это не из-за моих изысканий, а вообще такое где-то наблюдалось? И самое интересное, почему это не у всех пользователей, а только у некоторых.
Аватара пользователя
Kuskow
phpBB 2.0.5
Сообщения: 457
Стаж: 10 лет 1 месяц
Откуда: 🇰🇿 Караганда
Благодарил (а): 29 раз
Поблагодарили: 46 раз

Re: Атака китайских ботов

Сообщение Kuskow »

ИИ предлагает сделать самопальный WAF/fail2ban. Я пока противлюсь, так как мне надоело переписывать за ним, а как он пишет с архитектурными излишествами - меня бесит. Так что, я рассказываю идею, которая давно в воздухе витает, а как реализовать - может у кого-то будут идеи попроще.

За основу берём кусок текста в config.php, который я раньше уже писал:

Код: Выделить всё

### Барьер для phpBB, версия 4. Авторы: phpBBguru community

if (isset($_SERVER['REQUEST_METHOD']) and !isset($_COOKIE['checked'])) # Этот кук есть только у людей
{
	### Тут проверяем, есть ли подсеть бота в списке забаненных и баним этого бота, а если нет, тогда дальше:

	$uri = $_SERVER['REQUEST_URI'] ?? '';
	$ua = $_SERVER['HTTP_USER_AGENT'] ?? 'python';
	if (
		!preg_match('#/$|/(index|file)\.php|/view(forum|topic)\.php\?[ftp]=#i', $uri)
		or preg_match('#/\?|/index\.php\?#i', $uri)
		or preg_match('#ChatGPT|keys-so|python|Firefox\/72#i', $ua)
		or (isset($_SERVER['HTTP_SEC_FETCH_SITE']) and isset($_SERVER['HTTP_REFERER']))
	) {
		### Тут записываем IP-адрес бота в лог-файл с IP-адресами, которым выдано 403
		http_response_code(403);
		exit;
	}
}

Отдельно пишется обработчик лог-файла адресов, которым выдано 403. Он будет запускаться через cron (а может и в основной config.php его впихнём) каждые 1-5 минут. В нём считываем записанный лог-файл и тут же его обрезаем. Далее из него считаем:
- если встретилось 10 уникальных IP-адресов одной подсети класса B - записываем эту подсеть в список забаненных;
- если встретилось 50 вообще любых упоминаний этой подсети класса B - записываем эту подсеть в список забаненных.
Аватара пользователя
Kuskow
phpBB 2.0.5
Сообщения: 457
Стаж: 10 лет 1 месяц
Откуда: 🇰🇿 Караганда
Благодарил (а): 29 раз
Поблагодарили: 46 раз

Re: Атака китайских ботов

Сообщение Kuskow »

Siava писал(а): 22.03.2026 12:42 Если не секрет, сколько в пике было забаненных адресов в fail2ban? А то я развлекался как-то подобным образом и примерно после 200тыс серверу было не очень комфортно)
Я теперь сделал так. Когда fail2ban обнаруживает 2x444 за две минуты, он банит на сутки не один конкретный адрес, а всю подсеть класса C, то есть, 1.2.3.x. Так что, соседние адреса забанены заранее ещё до того, как начнут лезть на кактус. В бане постоянно около 400 таких подсетей.
Vlad__
phpBB 2.0.7
Сообщения: 588
Стаж: 9 лет 7 месяцев
Благодарил (а): 246 раз
Поблагодарили: 53 раза

Re: Атака китайских ботов

Сообщение Vlad__ »

Kuskow писал(а): 27.06.2026 16:27а всю подсеть
Сейчас боты используют ротационные прокси, т.е. прокси на мобилках обычных юзеров. Например, в последнем шторме у меня светились самые разные айпи, не привязанные массово к единым подсетям. Поэтому баня подсети, можно забанить и легитимных пользователей.

На пике у меня постоянно висело в бане до 30 тысяч отдельных айпи, серверу было все-равно - ipset )
Аватара пользователя
Kuskow
phpBB 2.0.5
Сообщения: 457
Стаж: 10 лет 1 месяц
Откуда: 🇰🇿 Караганда
Благодарил (а): 29 раз
Поблагодарили: 46 раз

Re: Атака китайских ботов

Сообщение Kuskow »

Да, наверное так и есть, но посмотрим. Отключить всегда успеем. По сравнению с блокировкой иностранных провайдеров хостинга это не так страшно, можно и поэкспериментировать на себе.
Аватара пользователя
волчара
phpBB 1.4.3
Сообщения: 97
Стаж: 9 лет 5 месяцев
Благодарил (а): 4 раза
Поблагодарили: 13 раз

Re: Атака китайских ботов

Сообщение волчара »

:hat
Kuskow,
использую ваш метод который описан тут: Re: Атака китайских ботов
Если я в файл .htaccess добавляю это

Код: Выделить всё

Options All
DirectoryIndex app.php/portal index.php index.html index.htm
не работает ссылка на список форума
2026-06-28_135258.png
даже если я меняю как вы написали
Kuskow писал(а): 21.06.2026 9:54 Если у вас страница /index.php отличается от / и это важно - поменяйте слово "index" на "bindex" или "shmindex" в блоке #2.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Мудрость заключается не в том, что бы не делать ошибки, а уметь их исправлять вовремя!
Аватара пользователя
Kuskow
phpBB 2.0.5
Сообщения: 457
Стаж: 10 лет 1 месяц
Откуда: 🇰🇿 Караганда
Благодарил (а): 29 раз
Поблагодарили: 46 раз

Re: Атака китайских ботов

Сообщение Kuskow »

волчара, в свете последних обсуждений Блок #2 Гардероб признан неэффективным. Можете вообще вычеркнуть его или закомментировать.

Отправлено спустя 15 минут 5 секунд:
Я в apache ни в зуб ногой. Так что, могу только адресовать Ваш вопрос тому же искусственному интеллекту. Разбираемся вместе с ним:

Проблема заключается в том, как веб-сервер (Apache) интерпретирует вашу директиву DirectoryIndex app.php/portal index.php.
Когда вы находитесь на Портале и нажимаете на ссылку «Список форумов», браузер ведет вас на стандартный адрес главной страницы форума (обычно это просто косая черта / или имя папки /forum/). Сервер видит этот запрос к каталогу, смотрит в .htaccess на инструкцию DirectoryIndex и всегда принудительно открывает первый рабочий вариант в списке — то есть снова app.php/portal.
Поэтому замена index.php на любой случайный набор букв вроде "shmindex" ни на что не влияет: сервер до этой части строки даже не доходит. Вы зациклили главную страницу на портал.
https://share.google/aimode/wN16P1swYe7Z07GYr
Аватара пользователя
волчара
phpBB 1.4.3
Сообщения: 97
Стаж: 9 лет 5 месяцев
Благодарил (а): 4 раза
Поблагодарили: 13 раз

Re: Атака китайских ботов

Сообщение волчара »

Понял вас, то что предлагает ии в Варианте 1. тоже не работает, а лесть в шаблоны я не хочу. Ладно пока оставлю как есть.
Мудрость заключается не в том, что бы не делать ошибки, а уметь их исправлять вовремя!
Аватара пользователя
Kuskow
phpBB 2.0.5
Сообщения: 457
Стаж: 10 лет 1 месяц
Откуда: 🇰🇿 Караганда
Благодарил (а): 29 раз
Поблагодарили: 46 раз

Re: Атака китайских ботов

Сообщение Kuskow »

Мы тут с ИИ от Гугла провели очередное расследование и выяснили, что злоумышленники пользуются Applebot для нападок на phpBB. Например, через 17.22.237.82 и другие адреса сети Apple, которые запросто пропускает даже Cloudflare. Не Китай, конечно, но тоже такое себе открытие. Вот так и живём, не ждём тишины. Хорошо хоть мой шлагбаум его остановил. Чуть позже выложу новую версию, теперь с вашей помощью многое стало яснее, поэтому схема упростилась.

Вернуться в «phpBB-пространство»