悪質なBOTからのアクセスを制限

update 最終更新日:2023年3月6日 at 8:52 PM

Mission impossible

* このページは、常時更新中です。

本サイトに設置したPerlのアクセス解析プログラムのログとWordPressのプラグイン「NewStatPress」の分析結果を調査しました。
その結果、相変わらず、自身をBOTと名乗らない迷惑BOTから大量のアクセスがある事が確認できました。

そのBOTについてですが、当サイトでは以下のような種類を確認しています。

(1) 手当たり次第に掲示板やコメントフィールドへ商品の宣伝を書き込む「SPAM・BOT」
⇒ “Google No CAPTCHA reCAPTCHA”により、全てガードされています。

(2) WordPressへのログインを試みる「ハッキングBOT」(Brute Force Attack)
⇒ “Google No CAPTCHA reCAPTCHA”により、全てガードされていますし、更に、強固なパスワードに変更していますので、まず大丈夫でしょう。

* 4月20日 追記
その後、更にログ解析を進めた結果、ログイン名とパスワードをWordPressのxmlrpc.phpへ送信する方法で、裏口からの侵入を試みる多数のハッキングサイトを確認しました。 因って、そのIPアドレスを本日ブロックしました。

(3) プラグインの脆弱性を利用し、記事の書き換えを試みる「ハッキングBOT」
⇒ 当該プラグインは当サイトでは使用していません。なお、当サイトでは、プラグイン「Revslider」等へのアタックを確認しています。 ⇒ wp-config.phpを閲覧することで、彼らはDBやWebサイトへの侵入を企んでいます。

これらのアタックサイトに関しては、Windows XPやWindows 2000等のセキュリティが脆弱なPCやWebサイトがウィルスに感染し、それを踏み台にして邪悪なBOTへと変貌している可能性が考えられます。

上記の調査結果を踏まえ、これ以上、悪質なBOTの行為を許す事が出来なくなりましたので、この度、特に悪質なBOTへの大規模なアクセス制限を実施しました。

以下は、Apacheの「.htaccess」に追記した当サーバーへのアクセス拒否設定の一部です。
* 2018年4月10日時点において、合計で441個のIPアドレスを昇順に定義しています。

# Denial of Access (Last modified - 2015/5/9)
order allow,deny
allow from all
deny from 144.76.0.0/16		# clients.your-server.de (Germany-SPAM)
deny from 148.251.0.0/16	# static.177.26.76.144.clients.your-server.de
deny from 5.9.146.29		# static.29.146.9.5.clients.your-server.de
deny from 94.23.40.23		# crawl15.lp.007ac9.net (your-server.de)
deny from 94.23.54.140		# France-Hacking site
deny from 94.23.59.161		# France-Hacking site
deny from 94.131.0.0/16		# AVK-NET (Russia-Hacking site)
deny from 193.104.41.0/24	# Moldova Hacking site (pinspb.ru Russia)
deny from 46.161.62.0/24	# Kazakhstan Network (pinspb.ru Russia-SPAM)
deny from 46.161.63.0/24	# Moldova Network (pinspb.ru Russia-SPAM)
deny from 195.154.0.0/17	# poneytelecom.eu  (France-SPAM)
deny from 62.210.128.0/17	# 62-210-177-242.rev.poneytelecom.eu
deny from 213.186.33.0/24	# ip-198-27-82.net (France-SPAM)
deny from 37.187.0.0/16		# ns3371997.ip-37-187-93.eu (France-SPAM)
deny from 192.99.0.0/16		# ip-192-99-10.net (Canada-SPAM)
deny from 142.54.161.130	# Canada-SPAM
deny from 142.54.160.106	# Canada-SPAM
deny from 142.54.184.181	# Canada-SPAM
deny from 198.27.82.152		# ns4006763.ip-198-27-82.net (Canada-SPAM)
deny from 162.244.12.179	# US-SPAM
deny from 69.30.255.130		# US-SPAM
deny from 76.164.192.43		# US-SPAM
deny from 184.168.152.208	# US-Hacking Site
deny from 83.139.191.22		# UK-Hacking site
deny from 108.59.8.80		# hosted-by.leaseweb.com (US-SPAM)
deny from 36.248.160.0/17	# China fujian provincial network (SPAM)
deny from 183.192.0.0/11	# China Mobile Communications (SPAM)
deny from 110.89.37.87		# CHINANET FUJIAN PROVINCE NETWORK (SPAM)
deny from 183.207.228.14	# China-SPAM
deny from 192.151.154.82	# Unknown-SPAM
deny from 192.187.96.0/19 	# US - Hacking Site
deny from 212.109.32.11/26	# sovam.net.ua (Ukraine-SPAM)
deny from 46.118.0.0/16		# sovam.net.ua (Ukraine-Hacking site)
deny from 37.115.128.0/17	# broadband.kyivstar.net (Ukraine-Hacking site)
deny from 94.153.0.0/17		# Ukraine - Plugin "WP All Import" Attack site
deny from 109.104.168.81	# Ukraine-Hacking site
deny from 109.108.246.42	# Ukraine-Hacking site
deny from 77.120.121.201	# Ukraine-Hacking site (plasma.co.ua)
deny from 5.248.128.0/17	# 5-248-239-242-broadband.kyivstar.net (SPAM)
deny from 134.249.0.0/16	# 134-249-140-218-gprs.kyivstar.net (SPAM)
deny from 178.137.0.0/16	# kyivstar.net (SPAM)
deny from 195.211.152.0/22	# Ukraine-SPAM
deny from 195.154.188.74	# France-SPAM
deny from 188.163.76.0/24	# sol-fttb.23.76.163.188.sovam.net.ua
deny from 188.163.77.0/24	# sovam.net.ua (Ukraine-SPAM)
deny from 80.93.113.38		# Ukraine-Hacking site
deny from 193.201.224.0/19	# Ukraine-SPAM
deny from 46.151.52.0/22	# Ukraine-SPAM
deny from 31.184.236.0/24	# Latvia-SPAM
deny from 31.193.196.0/24	# Latvia-SPAM
deny from 91.200.12.0/22	# Ukraine-SPAM
deny from 91.207.7.158		# Ukraine-SPAM
deny from 176.36.80.39		# host-176-36-80-39 (Ukraine-SPAM)
deny from 176.109.182.19	# Ukraine-SPAM
deny from 94.22.0.0/20		# Anvia (Finland-BOT)
deny from 114.44.170.172	# Australia-SPAM
deny from 166.62.36.66		# US-Hacking site
deny from 45.59.27.155		# US-SPAM
deny from 104.255.67.238	# US-BOT (VolumeDrive)
deny from 59.115.170.243	# TAIWAN-SPAM
deny from 23.232.143.19		# Unknown-SPAM
deny from 192.240.201.160	# Unknown-SPAM
deny from 118.168.198.179	# Unknown-SPAM
deny from 204.195.139.6		# Unknown-SPAM
deny from 91.214.44.153		# lu-customer-ip.as51430.net
deny from 67.215.237.98		# n6-losangeles-us.samknows.com
deny from 112.175.184.0/24	# Korea - Plugin "Revslider" Attack site
deny from 78.20.76.230		# Germany-Hacking site
deny from 188.40.138.214	# Germany - Plugin "Revslider" Attack site
deny from 3.19.41.74		# Unknown-Hacking site
deny from 23.19.41.74		# Plugin "Revslider" Attack site
deny from 62.210.113.121	# Plugin "Revslider" Attack site
deny from 93.188.165.166	# xmlrpc.php Attack site
deny from 195.220.216.12	# France - xmlrpc.php Attack site
deny from 185.3.32.20		# Unknown-Hacking site
deny from 176.119.109.177	# Unknown-Hacking site
deny from 81.163.119.20		# Unknown-Hacking site
deny from 109.188.124.27	# Russia-Hacking site
deny from 52.10.157.134		# US-Hacking site
deny from 179.43.117.234	# Unknown-Hacking site
deny from 31.193.141.19		# Plugin "Revslider" Attack site
deny from 193.246.63.31		# Switzerland - Plugin "Revslider" Attack site
deny from 91.142.223.95		# Plugin "Revslider" Attack site (Spain)
deny from 91.142.252.91		# Plugin "Revslider" Attack site
deny from 104.148.44.39		# Plugin "FCKEditor for WordPress" Attack site
deny from 80.82.65.82		# Plugin "FCKEditor for WordPress" Attack site
deny from 5.101.156.0/24	# xmlrpc.php Attack site
deny from 5.101.157.0/24	# Russia - Plugin "Revslider" Attack site
deny from 80.237.251.203	# Germany - Plugin "Revslider" Attack site
deny from 211.200.192.54	# Korea - Plugin "Revslider" Attack site
deny from 188.143.232.0/24	# Russia - SPAM (LeonLundberg-net)
deny from 188.143.234.0/24	# Russia - SPAM (ToussaintDesaulniers-net)
deny from 72.18.205.234		# US - Plugin "Revslider" Attack site
deny from 118.170.33.3		# Plugin "MiwoFTP" Attack site
deny from 188.165.0.0/16	# France - Plugin "Revslider" Attack site
deny from 95.110.202.57		# Plugin "Revslider" Attack site
deny from 95.110.232.43		# Plugin "Revslider" Attack site
deny from 92.100.143.41		# Russia-Hacking site
deny from 85.25.109.90		# Germany - Plugin "Revslider" Attack site
deny from 89.130.171.6		# Plugin "Revslider" Attack site
deny from 194.54.160.9		# Russia-Hacking site
deny from 46.241.242.30		# Armenia-Hacking site
deny from 46.200.221.11		# pool.ukrtel.net - Hacking site
deny from 217.69.133.13		# Russia-Hacking site
deny from 37.59.47.101		# France - Plugin "Revslider" Attack site
deny from 91.121.136.67		# France - Hacking site
deny from 162.209.48.30		# Unknown-Hacking site
deny from 112.148.213.96	# Plugin "BackupBuddy" Attack site
deny from 2.132.204.182		# Bitrix Site Manager Attack site
deny from 79.170.44.93		# UK - Plugin "Revslider" Attack site
deny from 182.118.0.0/16	# 中国迷惑BOT (hn.kd.ny.adsl)
deny from 59.173.148.207	# China - Plugin "FCKEditor" Attack site
deny from 171.113.176.0/24	# Plugin "FCKEditor" Attack site
deny from 111.172.99.227	# Plugin "FCKEditor" Attack site
deny from 185.23.21.11		# Transposh Hacking site
deny from 109.197.72.51		# Russia-SPAM
deny from 37.59.0.0/16		# ovh.net France-Hacking site (37.59.1.10)
deny from 213.251.128.0/18	# ovh.net France-Hacking site (213.251.182.110)
deny from 167.114.116.195	# US - Hacking site
deny from 183.60.244.49		# China - Hacking site
deny from 186.202.127.0/24	# Plugin "Revslider" Attack site
# 以下略


これで、BOTで賑わっていた当サイトがかなり静かになりました。 (笑)

【アクセス制限について】
アクセス解析の結果、ApacheによるIPアドレスからホスト名への逆引きが不可能なケースを散見しましたので、ホスト名ではなく、全てIPアドレスの記述により、アクセス制限を実施しました。
例として、以下のように複数のIPアドレスを使って攻撃してくるBOTについては、IPのサブネットマスクを指定する事で対象IPを纏めて拒否するよう設定しました。

195-154-188-41.rev.poneytelecom.eu   195.154.188.41
195-154-173-141.rev.poneytelecom.eu  195.154.173.141
195-154-189-155.rev.poneytelecom.eu  195.154.189.155
195-154-191-162.rev.poneytelecom.eu  195.154.191.162
195-154-188-224.rev.poneytelecom.eu  195.154.188.224

【サブネットマスクの指定方法について】
これ以降、情報処理技術者の方は読み飛ばして下さって結構です。
迷惑BOTの疑いのあるホスト名またはIPアドレスを以下のwhoisデータベースのサイトで、サーバー情報を取得します。

ドメイン/IPアドレス サーチ 【whois情報検索】

実例として、「195.154.188.41」を検索します。
その結果、以下のように当該ネットワークが使用するIPアドレスの範囲が確認出来ます。

inetnum: 195.154.128.0 – 195.154.255.255

これを二進数に展開します。

11000011 10011010 10000000 10000000
11000011 10011010 10000000 10000001
11000011 10011010 10000000 10000010
11000011 10011010 10000000 10000011



11000011 10011010 11111111 11111110
11000011 10011010 11111111 11111111

これで、上位17bitが固定で、下位15bitが可変である事が解ります。
よって、上位17bitを固定するためのサブネットマスクは、以下のように表記出来ます。

11111111 11111111 10000000 00000000

対象IPアドレスに対し、このサブネットマスクと二進数の論理積の演算結果の値が一致すれば、制限IPアドレスという事になります。
このサブネットマスクは、「.htaccess」の中で以下のように記述します。

195.154.0.0/17
または
195.154.0.0/255.255.128.0

未だ全てのBOTを排除していないので、小さなBOTは居ますが、以前よりはかなり静かになった感じがします。
以下は、BOTへのアクセス制限を行った後におけるPerlのアクセス解析プログラムのモニター画面です。

*4月9日 追記
念のため、ログイン画面への総当たり攻撃を防御するためのプラグイン「Jetpack-Protect」も本日有効にしておきました。

*9月18日 追記
先日、韓国からのDOSアタックやウクライナからのSPAMアタックを受け、サーバがダウンしたため、「.htaccess」を更新しました。以下の記述はその一部です。

deny from 121.160.0.0/11	# Korea DOS Attack Site
deny from 121.189.37.15		# Korea SPAM site
deny from 46.119.121.0/24	# Ukraine SPAM site
deny from 78.137.32.0/19	# Ukraine SPAM site
deny from 93.76.64.0/20		# Ukraine DOS Attack site
deny from 111.172.97.115	# China SPAM site
deny from 111.172.104.138	# China SPAM site
deny from 169.54.143.212	# static.reverse.softlayer.com
deny from 192.0.64.0/18		# US SPAM site
deny from 204.12.241.170	# depictionorganizers.com
deny from 216.244.82.0/24	# tnxe.sessionall.com


なお、robots.txtにおいても、以下のように迷惑BOTからのアクセスを拒否しています。
因みに、SteelerとShim-Crawlerは、東京大学の研究室から来るクローラです。

User-agent: Yandex
Disallow: /

User-agent: baiduspider
Disallow: /

User-agent: BaiduMobaider
Disallow: /

User-agent: BaiduImagespider
Disallow: /

User-agent: MJ12bot
Disallow: /

User-agent: AhrefsBot
Disallow: /

User-agent: BLEXBot
Disallow: /

User-agent: SemrushBot
Disallow: /

User-agent: LSSRocketCrawler
Disallow: /

User-agent: LinqiaScrapeBot
Disallow: /

User-agent: Wotbox
Disallow: /

User-agent: Steeler
Disallow: /

User-agent: Shim-Crawler
Disallow: /

User-agent: bingbot
Crawl-delay: 5


*9月26日 追記
アクセスログの解析から、WordPressのピングバック機能を利用したDDOS攻撃の形跡も確認しましたので、本サイトのピングバック機能を無効に設定しました。
参考記事は、こちら ⇒ 注意喚起:WordPressの機能を悪用したDDoS攻撃対策のお願い

プラグイン「Disable XML-RPC Pingback」をインストールする事でピングバック機能を無効にし、更に、「.htaccess」に以下の定義を追加し、リモート投稿プログラム「xmlrpc.php」へのアクセスも禁止に設定しました。*
* 2020.4.1 追記
以下の定義ならびに、プラグイン「Disable XML-RPC Pingback」を有効にすると、JetpackとWordPressとの連携が切れ、Jetpackのサイトヘルスステータスにおいて、”致命的な問題(エラー200)”が表示されるようになります。

<Files xmlrpc.php>
Order Deny,Allow
Deny from all
</Files>


2018.04.10 追記
AmazonのAWSを利用した大量のスパムアクセスがあり、IPアドレスで拒否しても、しつこくまた別のIPアドレスでやって来るため、以下の通りドメイン指定でアクセス拒否しました。

order deny,allow
allow from all
deny from amazonaws.com


2020.05.11 更新
AmazonのAWSからのアクセスを拒否しているため、一部のクローラーやWebサイトからアクセスができない事でサイト運営に支障が生じたため、現在、amazonaws.comへのアクセス制限を解除しています。

2023.03.06 追記
セキュリティ強化のため、現在以下の iThemes Security プラグインをインストールし運用しています。

iThemes Security は、ブルートフォースアタック、禁止ユーザー設定、ロックアウト、サイトスキャン、2要素認証(2FA)、違反を繰り返すユーザーの永久ブロック、ファイル変更の検出、他、多くのセキュリティ機能が提供されます。

このエントリーをはてなブックマークに追加
X(ポスト)

コメントを残す