У меня есть эти записи в /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
Как сообщается, на этом сайте появляются 2 адреса: https://www.abuseipdb.com/check/. Это 162.216.152.56 и 60.191.48.204, очевидно, Джексонвилл, США и Китай.
Я настроил fail2ban, как описано Вот поскольку я использую Digital Ocean с Ubuntu 14.04, но ничего в журнале fail2ban.
Простой GET
из /
будет происходить весь день каждый день - вместе с большим количеством трафика, генерируемого ботами. Практически нет смысла тратить ресурсы на какие-либо действия, если вы используете веб-сервер, к которому можно получить доступ публично. Это буквально то, для чего он нужен. Тот факт, что на некоторых в ответ 301
предполагает, что вы используете виртуальные хосты и что запрос поступил без действительного Host
заголовок, и что ваша настройка Nginx предназначена для перенаправления их на виртуальный хост по умолчанию.
Причина fail2ban
ничего не делает, потому что ни один из наблюдаемых им трафиков не был обнаружен как вредоносный. По умолчанию он будет следить за сканерами скриптов, переборами HTTP Auth и другими вредоносными шаблонами.
Насколько я могу судить, в этих строках беспокоиться не о чем. Нередко вы видите, что боты каждую минуту заходят на ваш сайт и ищут каталоги. Взгляните на "/etc/fail2ban/filter.d/botsearch-common.conf" и "/etc/fail2ban/filter.d/nginx-botsearch.conf", чтобы увидеть, как fail2ban пытается предотвратить сканирование вашего веб-сайта злоумышленниками. Вы также можете попытаться заблокировать ботов с помощью пользовательского агента. Это может быть один из подходов, который можно использовать: https://gist.github.com/hans2103/733b8eef30e89c759335017863bd721d
Но мой совет - просто игнорируйте ботов, если ваши конфигурации чистые, вам не нужно сильно об этом беспокоиться.
Вы можете просто добавить этот код в начало вашего кода nginx перед тегом сервера, чтобы игнорировать наиболее распространенных ботов для вашего сайта.
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;
}
}