サイトに不正アクセスされたので対応を書いた

apache

表題の通り12月1日に不正アクセスされて負荷が上昇したため対象のIPアドレス(61.11.175.198 )を制限した。

備忘録として経緯を記載。

発見

朝起きて自分のサーバー(ブログ)にアクセスするとsshの応答が異様に重い。

これはいかん。なんか起きている。これは対処せねば、ということでSSHで接続してみた。

対処

Teratermで接続したところ

Last login: Wed Dec 1 XXX

が表示されたので何とか応答している!

と判断できたので以下の対処開始。

とりあえずApacheを強制停止

以下のコマンドを実行し、否応なしにApacheを停止させた。

何かあるとすればWebサーバーかDBサーバーやし、Apahce止めてWebからのアクセスを遮断したら大体復旧するから。

一見乱暴に見えるが実は経験に基づく適切な対応だと思う。

そもそも負荷上昇が原因でサーバーにアクセスできませんでしたし、これがダメならOS再起動しかないし。

しかも操作もままならないレベルの負荷だった場合はアプリケーション再起動→OS再起動は復旧を最優先するなら普通の手順だろう。

killall -9 httpd

話は変わるけれど、昔OpenVZのホストOS上でkillall -9 httpd実行してゲストOSのhttpd全部killした伝説の新人がいたなあ。あいつ今元気しているかな。

Apacheを起動

停止を確認し、Apacheを起動。

service httpd start

一旦これで復旧したものの、30分ほど経過した後で再度負荷が上昇したため、他の対応開始。

アクセスログを確認

アクセスログを確認したところ特定のIP( 61.11.175.198 )から特定のファイル( cocoon-service-worker.js )に対するアクセスの履歴が見つかった。

こいつか悪い奴は。

61.11.175.198 - - [01/Dec/2021:10:12:01 +0900] "GET / HTTP/1.1" 503 299 "https://tech-memo.net/cocoon-service-worker.js" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"

61.11.175.198 からの通信を制限

iptablesで接続を拒否。これで負荷が下がったことを確認。

iptables -A INPUT -s 61.11.175.198 -j DROP

事後調査

対応が一息ついたので調査開始。

sarで負荷上昇の調査

sarでロードが上昇していた時間帯を確認。

9時ごろと10時ごろに負荷が上昇していた。

 sar -q -s 00:00:00
12:00:01 AM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
08:40:01 AM         3       468      0.40      0.09      0.10         0
08:50:06 AM        10       465      1.85      0.44      0.20         0
09:00:37 AM        13       609     60.84     52.79     29.12        45
09:10:14 AM        27       881     67.79     64.84     46.31        39
09:20:01 AM         1       431     18.32     50.33     50.09         0
09:30:01 AM         2       455      0.35      6.99     26.36         0
09:40:01 AM         2       455      0.41      1.24     13.98         0
09:50:02 AM         1       454      0.11      0.29      7.38         1
10:00:01 AM         2       451      0.14      0.19      3.96         0
10:10:08 AM        10       574     63.87     51.61     28.92         0
10:20:01 AM         2       376      0.04      7.19     15.32         0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

9時過ぎに一時的に負荷が下がっているが、Apacheの再起動を行ったことが原因。

根本対策ではなかったので再発したと思われる。

ログの詳細調査

61.11.175.198 からの最初のアクセスを確認すると8時49分だった。

また、 最初からcocoon-service-worker.js へのアクセスだったこともわかる。

状況的には人気サイトである当ブログを狙った悪意ある通信に思える。

リモートから操作をしようとしたのか、何かのAPIを利用しただけなのかは不明。

grep 61.11.175.198 /var/log/httpd/access_log | grep "01/Dec/2021" |head -2
61.11.175.198 - - [01/Dec/2021:08:49:42 +0900] "GET /cocoon-service-worker.js HTTP/1.1" 200 1096 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"
61.11.175.198 - - [01/Dec/2021:08:49:43 +0900] "GET /cocoon-service-worker.js HTTP/1.1" 304 - "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:94.0) Gecko/20100101 Firefox/94.0"

11月中はほとんどアクセスがなかったのに、12月1日だけで1000回以上アクセスしている。

 grep 61.11.175.198 /var/log/httpd/access_log | grep -c "01/Dec/2021"
1313

 grep 61.11.175.198 /var/log/httpd/access_log* | grep -c "Nov/2021"
54

以下妄想だがcocoon-service-worker.js にも問題がありそうな気がする。

特定の引数付けてF5アクセスするとリソースを枯渇させるような脆弱性とかあるんじゃないかな。

妄想だけど。

対策

今回はシンプルな攻撃だったけれど、 cocoon-service-worker.js って何だろうと思って調べたところ、PWAというものらしい。

PWAで3つのエラーが発生する
お世話になります。 現在発生している問題について Cocoonを利用しているブログで、PWAの設定を有効化してLighthouseで検証した結果、PWAに関する3つの設定の内、3箇所の項目でエラーが発生していました。 【Fast and reliable】2 Current page does no...

よくわからないけれど外部からアクセスすることで、スマホからブログを操作できるようにするためのツール?っぽい。

現時点で使っていないので、動作に異常がなさそうなことを確認の上でサーバーから削除。

でも、再起動したら cocoon-service-worker.js が復活していた。厄介ですなあ。

今回の攻撃者

GEOIPによると今回の攻撃者は豊中の古墳のある公園に住んでいるらしい。やはりGEOIPは役に立たない。

whoisで検索するとIPは秋田ケーブルテレビから貸し出されたもので、 Netpersons.co.,ltd という組織らしい。


whois 61.11.175.198

% [whois.apnic.net]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

% Information related to '61.11.128.0 - 61.11.191.255'

% Abuse contact for '61.11.128.0 - 61.11.191.255' is 'hostmaster@nic.ad.jp'

inetnum:        61.11.128.0 - 61.11.191.255
netname:        CNA
descr:          Cable Networks Akita Co.,Ltd.
descr:          1-1-3 YabaseMinami Akita-city
descr:          Akita-Pref, 010-0976, Japan
country:        JP
admin-c:        JNIC1-AP
tech-c:         JNIC1-AP
status:         ALLOCATED PORTABLE
remarks:        Email address for spam or abuse complaints : abuse@cna.ne.jp
mnt-irt:        IRT-JPNIC-JP
mnt-by:         MAINT-JPNIC
mnt-lower:      MAINT-JPNIC
last-modified:  2015-06-09T05:28:02Z
source:         APNIC

irt:            IRT-JPNIC-JP
address:        Urbannet-Kanda Bldg 4F, 3-6-2 Uchi-Kanda
address:        Chiyoda-ku, Tokyo 101-0047, Japan
e-mail:         hostmaster@nic.ad.jp
abuse-mailbox:  hostmaster@nic.ad.jp
admin-c:        JNIC1-AP
tech-c:         JNIC1-AP
auth:           # Filtered
remarks:        hostmaster@nic.ad.jp was validated on 2020-07-23
mnt-by:         MAINT-JPNIC
last-modified:  2021-06-15T05:18:06Z
source:         APNIC

role:           Japan Network Information Center
address:        Urbannet-Kanda Bldg 4F
address:        3-6-2 Uchi-Kanda
address:        Chiyoda-ku, Tokyo 101-0047,Japan
country:        JP
phone:          +81-3-5297-2311
fax-no:         +81-3-5297-2312
e-mail:         hostmaster@nic.ad.jp
admin-c:        JI13-AP
tech-c:         JE53-AP
nic-hdl:        JNIC1-AP
mnt-by:         MAINT-JPNIC
last-modified:  2021-06-15T05:14:02Z
source:         APNIC

% Information related to '61.11.175.192 - 61.11.175.199'

inetnum:        61.11.175.192 - 61.11.175.199
netname:        NP7-NET
descr:          Netpersons.co.,ltd
country:        JP
admin-c:        HK2257JP
tech-c:         HK2257JP
remarks:        This information has been partially mirrored by APNIC from
remarks:        JPNIC. To obtain more specific information, please use the
remarks:        JPNIC WHOIS Gateway at
remarks:        http://www.nic.ad.jp/en/db/whois/en-gateway.html or
remarks:        whois.nic.ad.jp for WHOIS client. (The WHOIS client
remarks:        defaults to Japanese output, use the /e switch for English
remarks:        output)
last-modified:  2005-03-24T23:14:03Z
source:         JPNIC

% This query was served by the APNIC Whois Service version 1.88.15-SNAPSHOT (WHOIS-JP1)



IPアドレスに紐づくホスト名を調べたところhello.np7.jpという名前だった。

host 61.11.175.198
198.175.11.61.in-addr.arpa is an alias for 198.192/29.175.11.61.in-addr.arpa.
198.192/29.175.11.61.in-addr.arpa domain name pointer hello.np7.jp.

このドメインの管理元も調べてみた。

[Registrant] Netpersons

となっているので、np7.jpの管理元も同じっぽい。

勘弁していただきたいものですなあ。

whois np7.jp

[ JPRS database provides information on network administration. Its use is    ]
[ restricted to network administration purposes. For further information,     ]
[ use 'whois -h whois.jprs.jp help'. To suppress Japanese output, add'/e'     ]
[ at the end of command, e.g. 'whois -h whois.jprs.jp xxx/e'.                 ]

Domain Information:
[Domain Name]                   NP7.JP

[Registrant]                    Netpersons

[Name Server]                   ns51.v6dns.jp
[Name Server]                   ns52.v6dns.jp
[Signing Key]

[Created on]                    2005/02/23
[Expires on]                    2022/02/28
[Status]                        Active
[Last Updated]                  2021/03/01 01:05:10 (JST)

Contact Information:
[Name]                          [21-domain] ID Protect
[Email]                         e-info@21-domain.com
[Web Page]
[Postal code]
[Postal Address]                Please access below if you have any questions.
                                http://21-domain.com/domain_contact/
[Phone]                         +
[Fax]                           +81.828325539

中の人が勢いあまって参照しすぎたのが不正アクセスの原因ではないかと推測。

出所を明確にしてくれているので今日のところはこの辺で。

警告

攻撃的にサイトへアクセスなさる方へ。

こちらが攻撃と判断した通信に対しては即座にサイトの閲覧を制限します。ご了承ください。
また、同一の組織、同一のドメインなどからこちらが攻撃と判断するようなアクセスが短期間に大量にあった場合は悪意ある攻撃と断定し、即警察に相談します。

ご了承ください。

コメント

タイトルとURLをコピーしました