わたしのブログサイト( https://www.bigriver.jp/)を Alibaba Cloud ESA 経由でインターネットに公開するようになって数日が立ちました。 ESA 側のモニタリング機能でトラフィックがどのようにさばけているか、などわたし自身としてのESAの動作確認を兼ねて紹介していきます。
結論として、トラフィックの可視化、分析だけで ESA を利用する価値があるなと思いました。 GUIもきれいでシンプルな操作性もよい感じです。
また、モニタリング機能により可視化されたことで bot による脆弱性スキャンなど場合によってはリスクになりうる状況に気づけたこともESAを導入してよかったことです。
目次
システム構成
Alibaba Cloud ESA はジャンルでいえば WAAP という類で Cloudflare や Akamai や Fastly などが有名どころです。 機能的にはWebやAPIをセキュリティ強化を行うのですが、クラウド提供されるWAF+CDNって感じに自分はとらえています。 CDNの要素としては世界中に入口をもっていて世界中のクライアントは近い入口から ESA に接続しセキュリティ処理を経てオリジンサーバに接続するところです。
システム構成でいうと以下のように、クライアントとブログのサーバの間で通信を仲介する役割となります。

Overview 画面でのトラフィックの確認
Alibaba Cloud コンソールから ESA の管理画面に移動し、Websites から 私のサイト(bigriver.jp)にアクセスします。
Overviewということで ESA の受信と送信トラフィック、リクエスト数、PV数などのグラフを確認できます。

ESAがクライアントに応答したトラフィックの量を確認可能です。 クライアントから見て私のブログサイトからデータをダウンロードした量とも言えます。
導入したのが5日前で、約3GBです。 思ったよりトラフィックがあることがわかります。 タイムスケールは直近24時間、直近7日間、直近30日間の3つから選べます。

これはクライアントからESAへの送信データのトラフィック量です。 HTTPにおける要求のみなので約50MBというのは妥当です。

こちらは HTTP におけるリクエスト数です。 GETやPOSTなど。

Page Views です。 5日前に導入したので5日間で約4万PVです。

ちょっと多すぎです。 Google Analytics の表示回数だと350回とかなので100分の1とかです。
ESAにおける Page Views は”Successful HTML responses”なのでBotなども含めた純粋なHTTPのカウント。 1つのページをブラウザで開くと各画像ごとにHTTPリクエストは積み重なります。

一方、Google Analytics は人間による閲覧をカウント。
具体的には Google Analytics (GA4) における「表示回数」とは、「人間のユーザーが実際にブラウザでWebページを表示(ロード)した回数(旧ユニバーサルアナリティクスでいうページビュー/PV)」のことです。
JavaScript(GAタグ)がブラウザ上で実行されて初めて「1回」とカウントされます。
Traffic Analytics
Traffice Analytics 画面ではより詳細にトラフィックを確認することが可能です。

Time Series Data として以下を選ぶことができます。
- All
- Referer
- Host
- Country/Region
- Chinese Mainland Province
- Path
- Edge Status Code
- Origin Status Code
- Browser
- OS
- Device Type
- Client IP
- HTTP Version
- X-Requested-With Headers
- Cache Status
- User Agent
- Client ISP
- Content Type
- Client ASN
- HTTP Metho
Time Series ごとに詳細なデータも確認可能です。 以下は世界地図をもとにどの国から見にきているかもわかります。

ブラウザやOS、デバイスタイプなどもわかります。

Standard Logs
ログをダウンロードすることも可能です。

Security Analytics
Security Analytics 画面ではセキュリティ視点で様々な情報を確認することが可能です。
何個かピックアップして紹介していきます。

Client IPの上位を確認できます。 1つ目の78.142.18.40 が50.37%を占めていますね。

AI調べですが、オランダからで、WordPressへのbrute-force 攻撃やポートスキャンなどで使われているようです。
まあ、インターネットでは常時攻撃されているのが通常です。
The IP address
78.142.18.40is hosted in Rotterdam, Netherlands, by the provider ColocationX (ColocaTel Inc.) and is frequently flagged for malicious web scraping, port scanning, and WordPress brute-force attacks.
Status Code では 200以外に着目します。
403 Forbidden はおそらく WordPressの管理画面へのアクセスでしょう。 所定のIPアドレスのみに限定しています。 900回も来ているわけですが、万が一Apacheレベルで突破されるといけないのでここは新たな手を打つ予定です。
気になったのは 500 Internal Server Error です。 これは直接 Apache のログを見てみると ボットによる脆弱性スキャンの結果でした。 これは別途 ESA でブロックするようにする予定です。
こういうのもログを可視化する一つのメリットだと思いました。 サーバにログインしてApacheのログを眺めていれば気づくかもしれませんが1.62%なので見過ごしてしまうのと、そもそもApacheのログは毎日、常時見ているものでもなく、事実私は気づけていませんでした。 このように可視化されると気づくことができるわけです。

Botの統計情報も確認できます。

まとめ
トラフィックとセキュリティログを中心に紹介しました。 Apacheのログでも同じような情報は確認できるとは思いますが、可視化されイメージで確認できると気づきも多いです。 Wordpress の管理画面へのアクセスや bot による脆弱性スキャンなど定量的に確認できると危機感も感じやすいです。
あと本日紹介したのはESAの管理画面でごくごく一部です。 キャッシュ機能やセキュリティ機能など様々な機能が豊富にあり、まだまだ使いこなせていないのが現状です。 今後も ESA の機能を使う中で便利なもの、有用なものは紹介していきます。
以上

