Как заблокировать IP и пользовательских агентов в WordPress?

Один из важных аспектов защиты вашего сайта WordPress – это мониторинг IP-адресов пользователей и пользовательских агентов, получающих доступ к вашему сайту. Есть много ситуаций, когда вам может потребоваться заблокировать IP-адрес пользователя при ведении блога WordPress. Ниже приведены некоторые из сценариев, когда происходит постоянная необходимость блокирования действий с вашей стороны:

  • Пользователь или бот пытается получить доступ к вашей странице входа.
  • Пользователь или бот оставляют спам-комментарии.

Как отслеживать вредоносные IP-адреса?

Чтобы заблокировать вредоносные IP-адреса, сначала вам необходимо отслеживать активность трафика на вашем сайте. Вы можете сделать это на уровне сервера или использовать плагин и мониторинг на панели администратора.

Мониторинг на уровне сервера

Войдите в свою учетную запись хостинга и перейдите в cPanel. Загляните в раздел статистики, чтобы проверить доступные инструменты для мониторинга трафика на вашем сайте. Awstats – один из популярных инструментов статистики, предлагаемый почти всеми популярными хостинговыми компаниями. Щелкните значок и выберите свой сайт, чтобы просмотреть данные о трафике.

Открытие Awstats из учетной записи хостинга cPanel

Получите полный список IP-адресов хостов, генерирующих трафик на ваш сайт, нажав на опцию «Полный список» в разделе «Хосты».

Список IP-адресов хоста, с которых осуществляется доступ к вашему сайту

Список IP-адресов хостов, с которых осуществляется доступ к вашему сайту

Аналогичным образом получите полный список роботов, сканирующих ваш сайт, нажав на опцию «Полный список» в разделе «Роботы / посетители-пауки».

Получение списка роботов из Awstats

Получение списка роботов из Awstats

Эти списки содержат список IP-адресов, с которых осуществляется доступ к вашему сайту, и анализ списка покажет вам вредоносные IP-адреса.

Блокировка IP-адресов из учетной записи хостинга cPanel

Как только вы узнаете список IP-адресов, которые пытаются попасть на ваш сервер без уважительных причин, следующим шагом будет их блокировка. Перейдите в свою учетную запись cPanel и нажмите «IP Deny Manager» или любой аналогичный вариант.

Откройте диспетчер отказа IP в хостинге cPanel

Откройте диспетчер отказа IP в хостинге cPanel

Добавьте IP-адреса, чтобы запретить доступ к вашему сайту. Вы можете добавить отдельные IP-адреса, диапазон, подразумеваемый диапазон и формат CIDR с маской подсети.

Блокировка IP-адреса с помощью IP Deny Manager

Блокировка IP-адреса с помощью IP Deny Manager

Блокировка ботов с помощью .htaccess

К сожалению, ни один инструмент в cPanel не позволяет напрямую блокировать пользовательских агентов или плохих роботов. Вам необходимо использовать директивы в файле .htaccess, чтобы заблокировать идентифицированных роботов. Помимо списка, который вы нашли в списке доступа роботов Awstats, есть также много готовых списков плохих ботов, доступных в Интернете. Ниже представлен один из списков, доступных на Github, который вы можете скопировать и добавить в файл .htaccess. Это исчерпывающий список, в котором блокируются многие известные боты наряду с ботами Baidu Spider и Яндекс. Узнайте больше о том, как редактировать файл .htaccess в вашей установке WordPress.

# START Blocking Bad Bots
Options All -Indexes
RewriteEngine on

# Block Bad Bots & Scrapers
SetEnvIfNoCase User-Agent "Aboundex" bad_bot
SetEnvIfNoCase User-Agent "80legs" bad_bot
SetEnvIfNoCase User-Agent "360Spider" bad_bot
SetEnvIfNoCase User-Agent "^Java" bad_bot
SetEnvIfNoCase User-Agent "^Cogentbot" bad_bot
SetEnvIfNoCase User-Agent "^Alexibot" bad_bot
SetEnvIfNoCase User-Agent "^asterias" bad_bot
SetEnvIfNoCase User-Agent "^attach" bad_bot
SetEnvIfNoCase User-Agent "^BackDoorBot" bad_bot
SetEnvIfNoCase User-Agent "^BackWeb" bad_bot
SetEnvIfNoCase User-Agent "Bandit" bad_bot
SetEnvIfNoCase User-Agent "^BatchFTP" bad_bot
SetEnvIfNoCase User-Agent "^Bigfoot" bad_bot
SetEnvIfNoCase User-Agent "^Black.Hole" bad_bot
SetEnvIfNoCase User-Agent "^BlackWidow" bad_bot
SetEnvIfNoCase User-Agent "^BlowFish" bad_bot
SetEnvIfNoCase User-Agent "^BotALot" bad_bot
SetEnvIfNoCase User-Agent "Buddy" bad_bot
SetEnvIfNoCase User-Agent "^BuiltBotTough" bad_bot
SetEnvIfNoCase User-Agent "^Bullseye" bad_bot
SetEnvIfNoCase User-Agent "^BunnySlippers" bad_bot
SetEnvIfNoCase User-Agent "^Cegbfeieh" bad_bot
SetEnvIfNoCase User-Agent "^CheeseBot" bad_bot
SetEnvIfNoCase User-Agent "^CherryPicker" bad_bot
SetEnvIfNoCase User-Agent "^ChinaClaw" bad_bot
SetEnvIfNoCase User-Agent "Collector" bad_bot
SetEnvIfNoCase User-Agent "Copier" bad_bot
SetEnvIfNoCase User-Agent "^CopyRightCheck" bad_bot
SetEnvIfNoCase User-Agent "^cosmos" bad_bot
SetEnvIfNoCase User-Agent "^Crescent" bad_bot
SetEnvIfNoCase User-Agent "^Custo" bad_bot
SetEnvIfNoCase User-Agent "^AIBOT" bad_bot
SetEnvIfNoCase User-Agent "^DISCo" bad_bot
SetEnvIfNoCase User-Agent "^DIIbot" bad_bot
SetEnvIfNoCase User-Agent "^DittoSpyder" bad_bot
SetEnvIfNoCase User-Agent "^Download Demon" bad_bot
SetEnvIfNoCase User-Agent "^Download Devil" bad_bot
SetEnvIfNoCase User-Agent "^Download Wonder" bad_bot
SetEnvIfNoCase User-Agent "^dragonfly" bad_bot
SetEnvIfNoCase User-Agent "^Drip" bad_bot
SetEnvIfNoCase User-Agent "^eCatch" bad_bot
SetEnvIfNoCase User-Agent "^EasyDL" bad_bot
SetEnvIfNoCase User-Agent "^ebingbong" bad_bot
SetEnvIfNoCase User-Agent "^EirGrabber" bad_bot
SetEnvIfNoCase User-Agent "^EmailCollector" bad_bot
SetEnvIfNoCase User-Agent "^EmailSiphon" bad_bot
SetEnvIfNoCase User-Agent "^EmailWolf" bad_bot
SetEnvIfNoCase User-Agent "^EroCrawler" bad_bot
SetEnvIfNoCase User-Agent "^Exabot" bad_bot
SetEnvIfNoCase User-Agent "^Express WebPictures" bad_bot
SetEnvIfNoCase User-Agent "Extractor" bad_bot
SetEnvIfNoCase User-Agent "^EyeNetIE" bad_bot
SetEnvIfNoCase User-Agent "^Foobot" bad_bot
SetEnvIfNoCase User-Agent "^flunky" bad_bot
SetEnvIfNoCase User-Agent "^FrontPage" bad_bot
SetEnvIfNoCase User-Agent "^Go-Ahead-Got-It" bad_bot
SetEnvIfNoCase User-Agent "^gotit" bad_bot
SetEnvIfNoCase User-Agent "^GrabNet" bad_bot
SetEnvIfNoCase User-Agent "^Grafula" bad_bot
SetEnvIfNoCase User-Agent "^Harvest" bad_bot
SetEnvIfNoCase User-Agent "^hloader" bad_bot
SetEnvIfNoCase User-Agent "^HMView" bad_bot
SetEnvIfNoCase User-Agent "^HTTrack" bad_bot
SetEnvIfNoCase User-Agent "^humanlinks" bad_bot
SetEnvIfNoCase User-Agent "^IlseBot" bad_bot
SetEnvIfNoCase User-Agent "^Image Stripper" bad_bot
SetEnvIfNoCase User-Agent "^Image Sucker" bad_bot
SetEnvIfNoCase User-Agent "Indy Library" bad_bot
SetEnvIfNoCase User-Agent "^InfoNaviRobot" bad_bot
SetEnvIfNoCase User-Agent "^InfoTekies" bad_bot
SetEnvIfNoCase User-Agent "^Intelliseek" bad_bot
SetEnvIfNoCase User-Agent "^InterGET" bad_bot
SetEnvIfNoCase User-Agent "^Internet Ninja" bad_bot
SetEnvIfNoCase User-Agent "^Iria" bad_bot
SetEnvIfNoCase User-Agent "^Jakarta" bad_bot
SetEnvIfNoCase User-Agent "^JennyBot" bad_bot
SetEnvIfNoCase User-Agent "^JetCar" bad_bot
SetEnvIfNoCase User-Agent "^JOC" bad_bot
SetEnvIfNoCase User-Agent "^JustView" bad_bot
SetEnvIfNoCase User-Agent "^Jyxobot" bad_bot
SetEnvIfNoCase User-Agent "^Kenjin.Spider" bad_bot
SetEnvIfNoCase User-Agent "^Keyword.Density" bad_bot
SetEnvIfNoCase User-Agent "^larbin" bad_bot
SetEnvIfNoCase User-Agent "^LexiBot" bad_bot
SetEnvIfNoCase User-Agent "^lftp" bad_bot
SetEnvIfNoCase User-Agent "^libWeb/clsHTTP" bad_bot
SetEnvIfNoCase User-Agent "^likse" bad_bot
SetEnvIfNoCase User-Agent "^LinkextractorPro" bad_bot
SetEnvIfNoCase User-Agent "^LinkScan/8.1a.Unix" bad_bot
SetEnvIfNoCase User-Agent "^LNSpiderguy" bad_bot
SetEnvIfNoCase User-Agent "^LinkWalker" bad_bot
SetEnvIfNoCase User-Agent "^lwp-trivial" bad_bot
SetEnvIfNoCase User-Agent "^LWP::Simple" bad_bot
SetEnvIfNoCase User-Agent "^Magnet" bad_bot
SetEnvIfNoCase User-Agent "^Mag-Net" bad_bot
SetEnvIfNoCase User-Agent "^MarkWatch" bad_bot
SetEnvIfNoCase User-Agent "^Mass Downloader" bad_bot
SetEnvIfNoCase User-Agent "^Mata.Hari" bad_bot
SetEnvIfNoCase User-Agent "^Memo" bad_bot
SetEnvIfNoCase User-Agent "^Microsoft.URL" bad_bot
SetEnvIfNoCase User-Agent "^Microsoft URL Control" bad_bot
SetEnvIfNoCase User-Agent "^MIDown tool" bad_bot
SetEnvIfNoCase User-Agent "^MIIxpc" bad_bot
SetEnvIfNoCase User-Agent "^Mirror" bad_bot
SetEnvIfNoCase User-Agent "^Missigua Locator" bad_bot
SetEnvIfNoCase User-Agent "^Mister PiX" bad_bot
SetEnvIfNoCase User-Agent "^moget" bad_bot
SetEnvIfNoCase User-Agent "^Mozilla/3.Mozilla/2.01" bad_bot
SetEnvIfNoCase User-Agent "^Mozilla.*NEWT" bad_bot
SetEnvIfNoCase User-Agent "^NAMEPROTECT" bad_bot
SetEnvIfNoCase User-Agent "^Navroad" bad_bot
SetEnvIfNoCase User-Agent "^NearSite" bad_bot
SetEnvIfNoCase User-Agent "^NetAnts" bad_bot
SetEnvIfNoCase User-Agent "^Netcraft" bad_bot
SetEnvIfNoCase User-Agent "^NetMechanic" bad_bot
SetEnvIfNoCase User-Agent "^NetSpider" bad_bot
SetEnvIfNoCase User-Agent "^Net Vampire" bad_bot
SetEnvIfNoCase User-Agent "^NetZIP" bad_bot
SetEnvIfNoCase User-Agent "^NextGenSearchBot" bad_bot
SetEnvIfNoCase User-Agent "^NG" bad_bot
SetEnvIfNoCase User-Agent "^NICErsPRO" bad_bot
SetEnvIfNoCase User-Agent "^niki-bot" bad_bot
SetEnvIfNoCase User-Agent "^NimbleCrawler" bad_bot
SetEnvIfNoCase User-Agent "^Ninja" bad_bot
SetEnvIfNoCase User-Agent "^NPbot" bad_bot
SetEnvIfNoCase User-Agent "^Octopus" bad_bot
SetEnvIfNoCase User-Agent "^Offline Explorer" bad_bot
SetEnvIfNoCase User-Agent "^Offline Navigator" bad_bot
SetEnvIfNoCase User-Agent "^Openfind" bad_bot
SetEnvIfNoCase User-Agent "^OutfoxBot" bad_bot
SetEnvIfNoCase User-Agent "^PageGrabber" bad_bot
SetEnvIfNoCase User-Agent "^Papa Foto" bad_bot
SetEnvIfNoCase User-Agent "^pavuk" bad_bot
SetEnvIfNoCase User-Agent "^pcBrowser" bad_bot
SetEnvIfNoCase User-Agent "^PHP version tracker" bad_bot
SetEnvIfNoCase User-Agent "^Pockey" bad_bot
SetEnvIfNoCase User-Agent "^ProPowerBot/2.14" bad_bot
SetEnvIfNoCase User-Agent "^ProWebWalker" bad_bot
SetEnvIfNoCase User-Agent "^psbot" bad_bot
SetEnvIfNoCase User-Agent "^Pump" bad_bot
SetEnvIfNoCase User-Agent "^QueryN.Metasearch" bad_bot
SetEnvIfNoCase User-Agent "^RealDownload" bad_bot
SetEnvIfNoCase User-Agent "Reaper" bad_bot
SetEnvIfNoCase User-Agent "Recorder" bad_bot
SetEnvIfNoCase User-Agent "^ReGet" bad_bot
SetEnvIfNoCase User-Agent "^RepoMonkey" bad_bot
SetEnvIfNoCase User-Agent "^RMA" bad_bot
SetEnvIfNoCase User-Agent "Siphon" bad_bot
SetEnvIfNoCase User-Agent "^SiteSnagger" bad_bot
SetEnvIfNoCase User-Agent "^SlySearch" bad_bot
SetEnvIfNoCase User-Agent "^SmartDownload" bad_bot
SetEnvIfNoCase User-Agent "^Snake" bad_bot
SetEnvIfNoCase User-Agent "^Snapbot" bad_bot
SetEnvIfNoCase User-Agent "^Snoopy" bad_bot
SetEnvIfNoCase User-Agent "^sogou" bad_bot
SetEnvIfNoCase User-Agent "^SpaceBison" bad_bot
SetEnvIfNoCase User-Agent "^SpankBot" bad_bot
SetEnvIfNoCase User-Agent "^spanner" bad_bot
SetEnvIfNoCase User-Agent "^Sqworm" bad_bot
SetEnvIfNoCase User-Agent "Stripper" bad_bot
SetEnvIfNoCase User-Agent "Sucker" bad_bot
SetEnvIfNoCase User-Agent "^SuperBot" bad_bot
SetEnvIfNoCase User-Agent "^SuperHTTP" bad_bot
SetEnvIfNoCase User-Agent "^Surfbot" bad_bot
SetEnvIfNoCase User-Agent "^suzuran" bad_bot
SetEnvIfNoCase User-Agent "^Szukacz/1.4" bad_bot
SetEnvIfNoCase User-Agent "^tAkeOut" bad_bot
SetEnvIfNoCase User-Agent "^Teleport" bad_bot
SetEnvIfNoCase User-Agent "^Telesoft" bad_bot
SetEnvIfNoCase User-Agent "^TurnitinBot/1.5" bad_bot
SetEnvIfNoCase User-Agent "^The.Intraformant" bad_bot
SetEnvIfNoCase User-Agent "^TheNomad" bad_bot
SetEnvIfNoCase User-Agent "^TightTwatBot" bad_bot
SetEnvIfNoCase User-Agent "^Titan" bad_bot
SetEnvIfNoCase User-Agent "^True_Robot" bad_bot
SetEnvIfNoCase User-Agent "^turingos" bad_bot
SetEnvIfNoCase User-Agent "^TurnitinBot" bad_bot
SetEnvIfNoCase User-Agent "^URLy.Warning" bad_bot
SetEnvIfNoCase User-Agent "^Vacuum" bad_bot
SetEnvIfNoCase User-Agent "^VCI" bad_bot
SetEnvIfNoCase User-Agent "^VoidEYE" bad_bot
SetEnvIfNoCase User-Agent "^Web Image Collector" bad_bot
SetEnvIfNoCase User-Agent "^Web Sucker" bad_bot
SetEnvIfNoCase User-Agent "^WebAuto" bad_bot
SetEnvIfNoCase User-Agent "^WebBandit" bad_bot
SetEnvIfNoCase User-Agent "^Webclipping.com" bad_bot
SetEnvIfNoCase User-Agent "^WebCopier" bad_bot
SetEnvIfNoCase User-Agent "^WebEMailExtrac.*" bad_bot
SetEnvIfNoCase User-Agent "^WebEnhancer" bad_bot
SetEnvIfNoCase User-Agent "^WebFetch" bad_bot
SetEnvIfNoCase User-Agent "^WebGo IS" bad_bot
SetEnvIfNoCase User-Agent "^Web.Image.Collector" bad_bot
SetEnvIfNoCase User-Agent "^WebLeacher" bad_bot
SetEnvIfNoCase User-Agent "^WebmasterWorldForumBot" bad_bot
SetEnvIfNoCase User-Agent "^WebReaper" bad_bot
SetEnvIfNoCase User-Agent "^WebSauger" bad_bot
SetEnvIfNoCase User-Agent "^Website eXtractor" bad_bot
SetEnvIfNoCase User-Agent "^Website Quester" bad_bot
SetEnvIfNoCase User-Agent "^Webster" bad_bot
SetEnvIfNoCase User-Agent "^WebStripper" bad_bot
SetEnvIfNoCase User-Agent "^WebWhacker" bad_bot
SetEnvIfNoCase User-Agent "^WebZIP" bad_bot
SetEnvIfNoCase User-Agent "Whacker" bad_bot
SetEnvIfNoCase User-Agent "^Widow" bad_bot
SetEnvIfNoCase User-Agent "^WISENutbot" bad_bot
SetEnvIfNoCase User-Agent "^WWWOFFLE" bad_bot
SetEnvIfNoCase User-Agent "^WWW-Collector-E" bad_bot
SetEnvIfNoCase User-Agent "^Xaldon" bad_bot
SetEnvIfNoCase User-Agent "^Xenu" bad_bot
SetEnvIfNoCase User-Agent "^Zeus" bad_bot
SetEnvIfNoCase User-Agent "ZmEu" bad_bot
SetEnvIfNoCase User-Agent "^Zyborg" bad_bot

# Vulnerability Scanners
SetEnvIfNoCase User-Agent "Acunetix" bad_bot
SetEnvIfNoCase User-Agent "FHscan" bad_bot

# Aggressive Chinese Search Engine
SetEnvIfNoCase User-Agent "Baiduspider" bad_bot

# Aggressive Russian Search Engine
SetEnvIfNoCase User-Agent "Yandex" bad_bot


<Limit GET POST HEAD>
Order Allow,Deny
Allow from all

# Cyveillance
deny from 38.100.19.8/29
deny from 38.100.21.0/24
deny from 38.100.41.64/26
deny from 38.105.71.0/25
deny from 38.105.83.0/27
deny from 38.112.21.140/30
deny from 38.118.42.32/29
deny from 65.213.208.128/27
deny from 65.222.176.96/27
deny from 65.222.185.72/29

Deny from env=bad_bot
</Limit>

# END Blocking Bad Bots

Также неплохо обсудить с вашим хостом список плохих ботов, если он у них уже есть.

Проблемы с блокировкой на уровне сервера

Есть несколько проблем с блокировкой IP на уровне сервера:

  • В большинстве случаев IP-адреса включают CDN и IP-адреса вашего собственного хостинга.
  • Найти вредоносные IP-адреса просто путем анализа без ссылок сложно.
  • Неправильная блокировка IP-адресов остановит реальных пользователей, а не IP-адрес хакера.
  • У вас нет возможности добавлять пользовательские агенты непосредственно в диспетчере отказа IP. Вам нужно заблокировать этих плохих ботов, напрямую изменив файл .htaccess.

Использование плагина для блокировки IP-адресов

Утомительную работу по блокировке IP-адресов и пользовательских агентов на уровне сервера можно легко выполнить с помощью плагина из панели администратора. Есть много бесплатных и платных плагинов для идеального выполнения этой работы. Мы обсудим функцию, доступную в одном из популярных плагинов безопасности «All in One WP Security & Firewall».

Поиск всего в одном WP Security and Firewall Plugin

Поиск всего в одном WP Security and Firewall Plugin

Установите и активируйте плагин из панели администратора WordPress. Есть настройки, которые нужно включить, чтобы отслеживать вредоносные IP-адреса.

  • Перейдите к «WP Security> Login Lockdown» и включите опцию «Enable Login Lockdown Feature». Это будет регистрировать все IP-адреса, пытающиеся войти на ваш сайт. Вы можете получить мгновенное электронное письмо, когда есть блокировка, и просмотреть полный список заблокированных IP-адресов в разделе «Безопасность WP> Панель управления> Заблокированные IP-адреса».

Вариант блокировки входа в плагин All in One WP Security and Firewall

Вариант блокировки входа в плагин All in One WP Security and Firewall

  • Включите IP-адреса спамеров в комментариях в разделе «Предотвращение спама> Мониторинг IP-адресов спама в комментариях». Вы можете автоматически заблокировать IP-адрес спамера навсегда при получении определенного количества спам-комментариев. Все постоянно заблокированные IP-адреса можно просмотреть в разделе «Панель управления> Список постоянных блокировок».

Как только у вас будет список вредоносных IP-адресов, перейдите к опции «Blacklist Manager». Введите IP-адреса по одному в каждой строке и сохраните настройки. Вы можете ввести индивидуальный IP-адрес или использовать подстановочный знак, например 195.47.89. * Или 195.47. *. * Или 195. *. *. *.

Диспетчер черных списков IP и пользовательских агентов

Диспетчер черных списков IP и пользовательских агентов

Когда у вас есть список плохих ботов, который мы предоставили в разделе выше, введите все имена ботов в разделе «Ввод пользовательских агентов». Это заблокирует доступ этих ботов к вашему сайту.

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

Плагин также имеет платную надстройку для блокировки на уровне страны, которая будет стоить вам около 29 долларов за лицензию на один сайт.

Заключение

Мониторинг и блокировка IP-адресов в непрерывном режиме, поэтому мы рекомендуем использовать «Все в одном WP Security & Firewall» или любой другой плагин безопасности для этой цели. В то же время блокировка плохих ботов – это одноразовое действие, или вы можете сделать это по мере необходимости, напрямую отредактировав файл .htaccess. В любом случае убедитесь, что вы отслеживаете и блокируете вредоносные IP-адреса. Это не только поможет повысить безопасность вашего сайта, но и сэкономит пропускную способность на вашем хостинг-сервере, запретив доступ плохим пользователям и пользовательским агентам.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *