Security Center で保護された Alibaba Cloud 上の仮想マシンにブルートフォース攻撃してみた

"Security Center で保護された Alibaba Cloud 上の仮想マシンにブルートフォース攻撃してみた"

(2020年8月5日掲載)

ソフトバンクで法人のお客さま向けにクラウド(主にIaaS・PaaS)の導入支援を担当している加藤です。

システムを運用する中でサーバがセキュリティ攻撃を受けるリスクはつきものです。
今回は Security Center で保護された Alibaba Cloud 上の仮想マシンに試験的にブルートフォース攻撃を行い、どのような挙動がされるのか検証しました。

目次

Security Center とは

Security Center は Alibaba Cloud が提供するセキュリティサービスであり、セキュリティイベントの検出、脆弱性スキャン、ベースラインチェックなど複数の機能をサポートしています。Security Center でセキュリティログやネットワーク脅威イベントの収集・監査・分析を行うことで、クラウド環境のセキュリティを向上させることが可能です。

Security Center には4つエディションがあり、各エディションによって料金と利用可能な機能が異なります。
今回の検証では無料のBasic free editionを使用します。

  1. Basic free edition (無料)
  2. Basic edition ($4.75/1サーバ毎/月額)
  3. Advanced edition ($9.5/1サーバ毎/月額)
  4. Enterprise edition ($23.5/1サーバ毎/月額)

※各エディションで利用可能な機能についてはAlibaba Cloud の公式ドキュメントをご参照ください。

準備

攻撃先となる Alibaba Cloud 上の仮想マシン作成

まず、攻撃先となる Alibaba Cloud 上の仮想マシン(ECS)を作成します。

今回は以下のCentOS 8.1のECSを作成しました。

""

ECSにはパブリックIPを付与し、インターネットからポート22番でSSHアクセスできるようにしています。
また、今回の検証以外の攻撃を受けないようセキュリティグループで送信元IPアドレス制限を行い、攻撃元環境のIPアドレスからのみ通信できるようにします。
※以下の画像ではパブリックIPアドレスをブログ用にマスクしています。

""

攻撃元環境でブルートフォース攻撃用のシェルスクリプト作成

次にブルートフォース攻撃用のシェルスクリプトを作成します。
FOR文でSSHコマンドを指定した回数繰り返し行います。試行するパスワードは末尾の数字をFOR文でカウントアップしながらずらしていきます。今回は10回目の試行でパスワードを突破しサーバにログインするというシナリオで進めます。

""

攻撃の実施

攻撃シェルの実行

作成したシェルスクリプトを実行します。

""

10回の試行でパスワードを突破しサーバにログインできました。

""

攻撃検知メールの受信

攻撃を実施した5分後くらいに Alibaba Cloud に登録していた私のメールアドレス宛に以下のメールが届きました。
※以下の画像ではパブリックIPアドレスをブログ用にマスクしています。

""

メール内容を日本語訳したものが以下になります。

Alibaba Cloud Security Threat Detection Service (TDS) システムは、お使いのサーバ xxx.xxx.xxx.xxx (linux-sb-tes...) で深刻なセキュリティイベントが発生したことを検出しました。
SSHブルートフォース攻撃。

Alibaba Cloud Security TDSコンソールにログオンして、セキュリティイベントを表示して処理してください。

Alibaba Cloud 上でブルートフォース攻撃を検知したので、コンソールを確認するように言われています。

Alibaba Cloud コンソールでの確認

Security Center でのブルートフォース攻撃検知の確認

Alibaba Cloud コンソールにログインし、検索ボックスで「Secirity Center」と入力し、Security Center の画面に遷移します。

※トップページに表示されている「プロダクトとサービス」一覧上の「Server Guard」を選択しても、Security Center の画面に遷移することができますが、名称が違うことで少々分かりづらいためここでは検索ボックスから当該サービスを検索しています。

遷移した画面の左ペインから「Alerts」を選択すると、検知した攻撃に関する情報を確認することができます。

以下の画面でSSHブルートフォース攻撃を受けたことが確認できます。
また、「Proseccing」をクリックすると、検知した攻撃について処理方法を設定することができます。

処理方法として「ブロック」を選択すると、攻撃元IPアドレスからの通信を拒否することができます。

""

以下のようなルールが作成され、ステータスが有効となっていれば拒否設定は完了です。

※以下の画像ではパブリックIPアドレスをブログ用にマスクしています。

この状態で攻撃元にてSSHアクセスを試しても「Connection refused」となり、サーバにアクセスすることはできません。これで当該IPアドレスからのブルートフォース攻撃からサーバが保護された状態となりました。

(参考) 「Attack Awareness」の確認

有料版の Enterprise edition では「Attack Awareness」画面にて、検知した攻撃件数や攻撃元IPに関するサマリ情報を確認することができます。
以下は4件の攻撃アラートがあった場合の「Attack Awareness」画面です。

""

以下の「Attack」 の値が4となっていますので、4回の攻撃を検知したことが分かります。
「Attack Type Distribution」 では攻撃の内訳が円グラフとして表されており、「SSH Brute Force」 が4となっていますので、今回検知した4件の攻撃は全て検証で実施したブルートフォース攻撃であることが分かります。

""

「Top 5 Attack Sources」 には攻撃元のIPアドレス上位5件が表示されます。ここでは今回検証に使用した攻撃元環境のIPアドレスが表示されています。
「Top 5 Attacked Assets」 には攻撃を受けたサーバのIPアドレス上位5件が表示されます。ここでは今回検証に使用したECSのIPアドレスが表示されています。
※以下の画像ではパブリックIPアドレスをブログ用にマスクしています。

""

「Attack Awareness」 画面の下部に表示されるリストでは、攻撃を受けた日時や攻撃元、攻撃先、攻撃タイプといった情報をまとめて確認することができます。
※以下の画像ではパブリックIPアドレスをブログ用にマスクしています。

""

おわりに

以上が今回の検証結果です。
Security Center によってブルートフォース攻撃を検知し、メール通知を受け取ることができました。こういったセキュリティ保護機能がデフォルトで使用可能となっている点はこのサービスのメリットだと思います。
今回検証したブルートフォース攻撃検知の他、異常ログオン検知、ソフトウェア脆弱性の検出といった機能であれば無料の Basic edition で利用できるというのも大きなポイントです。有料の Enterprise edition ではこれらに加え、ソフトウェア脆弱性の修正、ウイルス検知、ファイル改ざん検知、Webshell検知といった機能も利用することができます。時間ができたら、次はこれら有償版の機能について検証・レポートします。
AWSにおける GuardDuty や Azure Sentinel で提供されているような統合セキュリティサービスが Alibaba Cloud のサービスとして利用できるようになったのはいいですね。

""

関連サービス

Alibaba Cloud

Alibaba Cloudは中国国内でのクラウド利用はもちろん、日本-中国間のネットワークの不安定さの解消、中国サイバーセキュリティ法への対策など、中国進出に際する課題を解消できるパブリッククラウドサービスです。→詳細はこちら