Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

【ITニュース解説】Deploying a Honeypot SOC with Microsoft Sentinel

2025年09月11日に「Dev.to」が公開したITニュース「Deploying a Honeypot SOC with Microsoft Sentinel」について初心者にもわかりやすく解説しています。

作成日: 更新日:

ITニュース概要

Azure上に意図的に脆弱なVM(ハニーポット)を構築し、Microsoft Sentinelを使ってこのVMへのサイバー攻撃ログを収集・分析する手順を紹介。実際の攻撃データからセキュリティ対策の重要性を学ぶプロジェクトだ。

ITニュース解説

このプロジェクトは、仮想の攻撃対象となるシステム(ハニーポット)を意図的に構築し、そのシステムへの攻撃を監視・分析する方法を解説している。具体的には、クラウドサービスであるAzureと、セキュリティ情報イベント管理(SIEM)ツールであるMicrosoft Sentinelを組み合わせて、簡易的なセキュリティオペレーションセンター(SOC)のような環境を構築する手順を紹介する。システムエンジニアを目指す上で、セキュリティの基本的な考え方と実際の脅威の様子を理解するための実践的な内容だ。

まず、Azure上にシステムの基盤を作る。Azureの無料アカウントを前提に、最初に「リソースグループ」と呼ばれる、関連するAzureリソースをまとめる論理的なコンテナを作成する。ここでは「my-first-rsg」という名前のリソースグループを中央インドリージョンに作成する。次に、そのリソースグループ内に「仮想ネットワーク(VNet)」を作成する。これは、作成する仮想マシン(VM)などのAzureリソースが相互に通信するためのプライベートネットワーク空間を提供するもので、「my-first-vnet」と名付ける。

次に、実際に攻撃を誘い込む「おとり」となる仮想マシンを作成する。この仮想マシンは「DataAnalysis-Server」と名付けられ、Windows Server 2019 Datacenterオペレーティングシステムが動作する。プロジェクトの目的のため、仮想マシンのサイズは「Standard B2S」という、比較的小規模なものが選ばれる。仮想マシンの設定が完了したら、Azure上でデプロイして実際に起動させる。

ハニーポットの重要なステップとして、この仮想マシンへの外部からのアクセスを意図的に容易にする設定を行う。これは通常の運用環境では行わない、非常に危険な設定だ。具体的には、仮想マシンに付随する「ネットワークセキュリティグループ(NSG)」の設定を変更する。NSGは、仮想マシンへのネットワークトラフィックを制御するファイアウォールのような役割を果たすが、ここではデフォルトで設定されているリモートデスクトッププロトコル(RDP)のルールを削除する。その代わりに、「DangerAllPortsAllowed」という名前の新しいルールを作成し、すべてのポートを任意のソース(つまりインターネット上のどこからでも)に対して開くように設定する。これにより、仮想マシンがインターネットに完全に公開された状態となる。さらに、作成した仮想マシンにRDPでログインし、Windows Defender Firewallの設定をすべて無効にする。これも通常は絶対に行ってはならない設定で、ハニーポットが攻撃を誘い込みやすいようにするための意図的な脆弱性作成の一環だ。これらの設定後、ローカルマシンから仮想マシンへpingコマンドを送り、実際にインターネット経由で到達可能であることを確認する。

次に、攻撃のログを収集・分析するための仕組みを構築する。まず、「Log Analyticsワークスペース」を作成する。これは、様々なAzureリソースやオンプレミスシステムから生成されるログデータを一元的に収集・保存するためのサービスだ。このワークスペースに、前述の仮想マシンから生成されるセキュリティイベントログを送信する。そして、このLog Analyticsワークスペースを「Microsoft Sentinel」と連携させる。Microsoft Sentinelは、Microsoftが提供するクラウドネイティブなSIEM(Security Information and Event Management)ソリューションであり、膨大なログデータの中からセキュリティ上の脅威を検知し、分析するための強力なツールだ。

SentinelをLog Analyticsワークスペースに追加したら、Sentinelのコンテンツハブから「Windows Security Events」ツールをインストールする。これにより、WindowsのセキュリティイベントログをSentinelで分析するための機能が有効になる。ログ収集のためには「Azure Monitoring Agent (AMA)」を設定する必要がある。これは仮想マシンにインストールされ、指定されたログをLog Analyticsワークスペースへ転送する役割を担う。具体的には、「データ収集ルール」を作成し、このルールを使って仮想マシンがログをLog Analyticsワークスペースに転送するように設定する。この設定が完了すると、仮想マシンの「Extensions + applications」セクションにAMAがインストールされていることが確認できる。これにより、仮想マシンで発生したセキュリティイベント(例えばログイン試行など)がリアルタイムに近い形でLog Analyticsワークスペース、ひいてはMicrosoft Sentinelに送られるようになる。Kusto Query Language(KQL)というクエリ言語を使って、実際にログが収集されているかを確認することができる。

実際にログ収集が開始された後、数時間待つと、驚くべきことに数千件ものログイン試行が仮想マシンに対して行われていることが確認できる。これは、インターネット上に公開された脆弱なシステムが、いかに早く攻撃者の標的となるかを示している。KQLを使って直近1分間の失敗したログイン試行数をクエリすると、わずかな時間にも関わらず多くの攻撃が記録されていることがわかる。 さらに、分析を深めるために、「Watchlist」という機能を利用する。これは、特定のIPアドレスやユーザー名などの情報をリスト化し、ログデータと照合して分析に役立てるものだ。Microsoft DefenderポータルでWatchlistを作成し、地理情報とIPアドレスをマッピングした「geoip-summarized.csv」ファイルをアップロードする。このWatchlistを使用することで、KQLクエリによって、例えばオランダから900回以上ログインを試みた特定の攻撃者などを容易に特定し、ハイライト表示できるようになる。 収集・分析したデータを視覚的に理解しやすくするためには、「Sentinelワークブック」が有効だ。Sentinelワークブックは、ログデータをグラフやチャートなどで表現するためのダッシュボード機能だ。JSON形式のクエリを使って、攻撃データを棒グラフとして可視化するワークブックを作成する。これにより、いつ、どこから、どのような種類の攻撃がどの程度行われているかを一目で把握できるようになる。

このプロジェクトを通じて、ハニーポットを構築することで、実際の攻撃者がどのような手法でシステムに侵入しようとするかを体験し、その攻撃データを分析するプロセスを学ぶことができる。最終的な結論として、このようなハニーポットの運用から得られる教訓は、実際のITシステム運用において非常に重要だ。それは、セキュリティアップデートを常に最新の状態に保つこと、そして必要な期間だけ必要なポートのみを開放するという、基本的ながらも極めて重要なセキュリティプラクティスの徹底だ。

関連コンテンツ

関連IT用語