Привет.
Такой вопрос про nginx.
Типично, при обращении по https к несуществующему файлу в access.log пишется нормальная 404-я ошибка:
176.111.75.7 - - [14/Dec/2024:22:08:07 +0300] "GET /durdom.php HTTP/1.1" 404 187 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
При попытке обращения по http происходит 301-й редирект на https (это прописано в конфиге nginx) и также 404-я ошибка:
176.111.75.7 - - [14/Dec/2024:22:09:25 +0300] "GET /durdom.php HTTP/1.1" 301 169 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
176.111.75.7 - - [14/Dec/2024:22:09:25 +0300] "GET /durdom.php HTTP/1.1" 404 187 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36"
Но, почему то часто в acсess.log вижу многотысячные попытки ботов прошерстить разные файлы, которые при этом не вызывают ошибки 404. И везде пишется попарная 301- ошибка. Вот фрагмент лога:
150.136.112.62 - - [14/Dec/2024:14:21:11 +0300] "GET /dropdown.php HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:21:12 +0300] "GET /dropdown.php HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:21:12 +0300] "GET /about.php HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:21:12 +0300] "GET /about.php HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:21:13 +0300] "GET /admin.php HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:21:13 +0300] "GET /admin.php HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:11 +0300] "GET /wp-admin/js/widgets/xmrlpc.php?p= HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:11 +0300] "GET /wp-admin/js/widgets/xmrlpc.php?p= HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:11 +0300] "GET /wp-admin/css/colors/xmrlpc.php?p= HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:12 +0300] "GET /wp-admin/css/colors/xmrlpc.php?p= HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:01 +0300] "GET /alfanew.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:01 +0300] "GET /alfanew.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:02 +0300] "GET /adminfuns.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:02 +0300] "GET /adminfuns.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:02 +0300] "GET /ebs.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:02 +0300] "GET /ebs.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:02 +0300] "GET /ws.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:03 +0300] "GET /ws.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:03 +0300] "GET /alfanew2.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:03 +0300] "GET /alfanew2.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:03 +0300] "GET /alfa-rex2.php7 HTTP/1.1" 301 169 "-" "-"
150.136.112.62 - - [14/Dec/2024:14:22:03 +0300] "GET /alfa-rex2.php7 HTTP/1.1" 301 169 "-" "-"
Причем я сам такой запрос не смог составить, чтобы 404-я не писалась.
У меня на nginx стоит fail2ban, который ищет множественные попытки запросов к несуществующим .php по шаблону на 404 ошибку и он, разумеется, отлавливает такие запросы, а они иногда прям по несколько часов долбятся забивая и без того не жирные ресурсы.
Вопрос:
Что за запрос мне посылают, что он не пишет в лог 404-ю ошибку?