nginx - Это плохой бот?

nginx - Это плохой бот?

У меня есть следующие записи в /var/log/nginx/access.log:

107.155.152.109 - - [22/Mar/2018:19:20:54 +0000] "GET / HTTP/1.0" 301 193 "-" "-"
162.216.152.56 - - [22/Mar/2018:19:21:40 +0000] "GET / HTTP/1.0" 301 193 "-" "-"
60.191.48.204 - - [22/Mar/2018:19:21:52 +0000] "GET / HTTP/1.0" 200 17582 "-" "-"

Они кажутся мне подозрительными, но мои познания в этой области ограничены. Что происходит? Есть даже несколько других из 107.155.xxx.xxx

Два адреса указаны на этом сайте, как сообщается:https://www.abuseipdb.com/check/. Это 162.216.152.56 и 60.191.48.204, по-видимому, Джексонвилл, США и Китай.

Я настроил fail2ban, как описаноздесьпоскольку я использую Digital Ocean с Ubuntu 14.04, но в журнале fail2ban ничего нет.

решение1

Насколько я могу судить, в этих строках нет ничего, о чем стоило бы беспокоиться. Нередко можно увидеть, как боты посещают ваш сайт и сканируют каталоги каждую минуту. Взгляните на "/etc/fail2ban/filter.d/botsearch-common.conf" и "/etc/fail2ban/filter.d/nginx-botsearch.conf", чтобы увидеть, как fail2ban пытается предотвратить сканирование вашего сайта плохими ботами. Вы также можете попробовать заблокировать ботов по user-agent. Это может быть одним из подходов, который можно использовать:https://gist.github.com/hans2103/733b8eef30e89c759335017863bd721d

Но мой совет — просто игнорируйте ботов. Если ваши конфигурации чистые, вам не о чем беспокоиться.

решение2

Простой GETиз /будет происходить весь день каждый день - вместе с большим количеством другого трафика, сгенерированного ботами. Почти нет смысла тратить ресурсы, делая что-либо с этим, если вы используете веб-сервер, к которому можно получить публичный доступ. Это буквально то, для чего он там есть. Тот факт, что на некоторые из них отвечает , 301предполагает, что вы используете виртуальные хосты и что запрос пришел без допустимого Hostзаголовка, и что ваша настройка Nginx заключается в перенаправлении их на ваш виртуальный хост по умолчанию.

Причина fail2ban, по которой он ничего не делает, заключается в том, что ни один из просмотренных им трафиков не был распознан как вредоносный. По умолчанию он будет следить за сканерами скриптов, брутфорсами HTTP Auth и другими вредоносными шаблонами.

решение3

Вы можете просто добавить этот код в начало кода nginx перед тегом server, чтобы игнорировать наиболее распространенных ботов для вашего сайта.

map $http_user_agent $limit_bots {
     default 0;
     ~*(google|bing|yandex|msnbot) 1;
     ~*(AltaVista|Googlebot|Slurp|BlackWidow|Bot|ChinaClaw|Custo|DISCo|Download|Demon|eCatch|EirGrabber|EmailSiphon|EmailWolf|SuperHTTP|Surfbot|WebWhacker) 1;
     ~*(Express|WebPictures|ExtractorPro|EyeNetIE|FlashGet|GetRight|GetWeb!|Go!Zilla|Go-Ahead-Got-It|GrabNet|Grafula|HMView|Go!Zilla|Go-Ahead-Got-It) 1;
     ~*(rafula|HMView|HTTrack|Stripper|Sucker|Indy|InterGET|Ninja|JetCar|Spider|larbin|LeechFTP|Downloader|tool|Navroad|NearSite|NetAnts|tAkeOut|WWWOFFLE) 1;
     ~*(GrabNet|NetSpider|Vampire|NetZIP|Octopus|Offline|PageGrabber|Foto|pavuk|pcBrowser|RealDownload|ReGet|SiteSnagger|SmartDownload|SuperBot|WebSpider) 1;
     ~*(Teleport|VoidEYE|Collector|WebAuto|WebCopier|WebFetch|WebGo|WebLeacher|WebReaper|WebSauger|eXtractor|Quester|WebStripper|WebZIP|Wget|Widow|Zeus) 1;
     ~*(Twengabot|htmlparser|libwww|Python|perl|urllib|scan|Curl|email|PycURL|Pyth|PyQ|WebCollector|WebCopy|webcraw) 1;
 }

И это к вашему / местоположению

    location / {
            ...........
            if ($limit_bots = 1) {
                    return 403;
            }
    }

Связанный контент