それってほんとに、攻撃だったんすかね…?

香川県でネット・ゲーム依存症対策条例の成立をめくって、このところ議論が活発に行われていましたが、残念ながら成立してしまいましたね。
個人的には、このたぐいの条例に関しては否定的な立場にいるわけですが、今回のエントリーはそっちに関してではなくて、この条例の採決の前後で香川県の Web サイトでアクセス障害が起きていたという件に関して。

ちょっと気になって調べてみたら、 Web サーバの手前に UTM 的な何かが設置されているっぽいんですよね、どうも…。


curl コマンドで、 Web サーバの応答を見てみると、 HTTP レスポンスヘッダの中にある "Server:" に "Fujitsu-IPCOM" と出てる。(これ、http でアクセスしたときにだけ、出てきます。)

soukaku@vps03:[~]$ curl -v http://www.pref.kagawa.lg.jp
* Trying 101.102.218.38:80...
* TCP_NODELAY set
* Connected to www.pref.kagawa.lg.jp (101.102.218.38) port 80 (#0)
> GET / HTTP/1.1
> Host: www.pref.kagawa.lg.jp
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Moved Temporarily
< Date: Thu, 19 Mar 2020 13:23:02 GMT
< Server: Fujitsu-IPCOM
< Location: https://www.pref.kagawa.lg.jp/
< Content-Type: text/html
< Content-Length: 128
<
<HTML><HEAD><TITLE>Document Moved</TITLE></HEAD>
<BODY>Click <A HREF="https://www.pref.kagawa.lg.jp/">here</A>.</BODY></HTML>
* Connection #0 to host www.pref.kagawa.lg.jp left intact

Web サーバとして Apache が動いていたり、 IIS が動いていたりすれば、 "Apache" なり "Microsoft-IIS" といった文字列が返ってくるはずなので、この "Fujitsu-IPCOM" をキーワードにググってみたところ、富士通の IPCOM シリーズという UTM としても使えるロードバランサ製品が見つかりました。

site_IPCOM.png

ニュースにもある通り、自動的にアクセスの遮断を行うようになっているということであれば

県のサーバーは異常なアクセスを受けると、自動的に外部からのその他のアクセスも遮断するため、17日午後2時49分からおよそ2時間にわたってホームページが閲覧できなくなる障害が起きました。

[From 県のHPにまたサイバー攻撃|NHK 香川県のニュース]

UTM が持つ IPS 機能を利用して、攻撃判定を行い、特定条件に合致した場合に外部からのアクセスを遮断する、という構成になっているのではないかと推測できる、というわけです。
ネットワーク的には Internet ←→ IPCOM ←→ Webサーバ という感じ。

curl コマンドを -L オプション付きで実行すると、http → https転送が行われて、本来のコンテンツにアクセスできるようなってるんですが、 https アクセスのほうで返ってくる httpレスポンス中の ”Server:" の文字列は "Apache" となっているので、Web サーバ自体は RHEL あたりで構築されてるんではないかな〜。

soukaku@vps03:[~]$ curl -vIL http://www.pref.kagawa.lg.jp
* Trying 101.102.218.38:80...
* TCP_NODELAY set
* Connected to www.pref.kagawa.lg.jp (101.102.218.38) port 80 (#0)
> HEAD / HTTP/1.1
> Host: www.pref.kagawa.lg.jp
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 302 Moved Temporarily
HTTP/1.1 302 Moved Temporarily
< Date: Fri, 20 Mar 2020 05:59:45 GMT
Date: Fri, 20 Mar 2020 05:59:45 GMT
< Server: Fujitsu-IPCOM
Server: Fujitsu-IPCOM
< Location: https://www.pref.kagawa.lg.jp/
Location: https://www.pref.kagawa.lg.jp/
< Content-Type: text/html
Content-Type: text/html
< Content-Length: 128
Content-Length: 128

<
* Connection #0 to host www.pref.kagawa.lg.jp left intact
* Issue another request to this URL: 'https://www.pref.kagawa.lg.jp/'
* Trying 101.102.218.38:443...
* TCP_NODELAY set
* Connected to www.pref.kagawa.lg.jp (101.102.218.38) port 443 (#1)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
* CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: /etc/ssl/certs
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES256-GCM-SHA384
* ALPN, server did not agree to a protocol
* Server certificate:
* subject: C=JP; ST=Kagawa; L=Takamatsu; O=Kagawa Prefecture; CN=www.pref.kagawa.lg.jp
* start date: Nov 26 06:28:07 2019 GMT
* expire date: Dec 12 14:59:59 2021 GMT
* subjectAltName: host "www.pref.kagawa.lg.jp" matched cert's "www.pref.kagawa.lg.jp"
* issuer: C=JP; O=SECOM Trust Systems CO.,LTD.; CN=SECOM Passport for Web SR 3.0 CA
* SSL certificate verify ok.
> HEAD / HTTP/1.1
> Host: www.pref.kagawa.lg.jp
> User-Agent: curl/7.68.0
> Accept: */*
>
* Mark bundle as not supporting multiuse
< HTTP/1.1 200 OK
HTTP/1.1 200 OK
< Date: Fri, 20 Mar 2020 05:59:45 GMT
Date: Fri, 20 Mar 2020 05:59:45 GMT
< Server: Apache
Server: Apache
< X-Frame-Options: SAMEORIGIN
X-Frame-Options: SAMEORIGIN
< Accept-Ranges: bytes
Accept-Ranges: bytes
< Link: <https://www.pref.kagawa.lg.jp/>; rel="canonical"
Link: <https://www.pref.kagawa.lg.jp/>; rel="canonical"
< Content-Type: text/html
Content-Type: text/html

<
* Connection #1 to host www.pref.kagawa.lg.jp left intact

UTM や WAF 的なものを使って Web サーバを防御する、ということには別におかしい話じゃないと思ってますが、ネット・ゲーム依存症対策条例が(条例制定に至るまでの経緯も含めて)全国的に注目されている事や、 Web サイトでのアクセス障害があったタイミングが、条例に対するパブコメの意見とそれに関する見解の資料が発表された日だったり、条例の採択が行われた日だったり、新型コロナウィルスの感染者が香川県内で初めて確認された日だったりしていることからも、単純なアクセス集中を「誤検知」して遮断した可能性だって否定できないのではないかな〜。
にしても、「異常なアクセスを受けると、自動的に外部からのその他のアクセスも遮断する」というのは、挙動としてはちょっと乱暴な気がします。
#もし「誤検知」だとしたら、自然災害発生時に県の Web サイトにある情報を見ようとするアクセスが集中した場合にも、同じようなことが起きる可能性があるわけですが、さて。

外部からアクセスしても問題のないレベルでのチェックから得られる情報だけでみている、あくまでも推測の域を出ない話ではありますが、アクセス障害があったらから即DDoS攻撃だ、といって騒ぐのはいかがなものかな、と思うわけです。

トラックバック(0)

コメントする