Azureで Docker を使用して自動ログ アップロードを構成する

この記事では、Azureで Ubuntu または CentOS 上の Docker を使用して、Defender for Cloud Appsの継続的なレポートの自動ログ アップロードを構成する方法について説明します。

前提条件

開始する前に、環境が次の要件を満たしていることを確認してください。

要件 説明
OS 以下のいずれか:
- Ubuntu 14.04、16.04、18.04、および 20.04
- CentOS 7.2 以上
ディスク領域 250GB
CPU コア 2
CPU アーキテクチャ Intel 64 と AMD 64
RAM 4GB
ファイアウォール構成 ネットワーク要件で定義されているとおり
ルート アクセス Docker展開にはログコレクタマシンへのrootアクセスが必要です

性能に基づいてログコレクターを計画する

各ログ コレクターは、最大 10 個のデータ ソースで構成される 1 時間あたり最大 50 GB のログ容量を正常に処理できます。 ログ収集プロセスの主なボトルネックは次のとおりです。

  • ネットワーク帯域幅 - ネットワーク帯域幅によって、ログのアップロード速度が決まります。

  • 仮想マシンの I/O パフォーマンス - ログ コレクターのディスクにログを書き込む速度を決定します。 ログ コレクターには、ログが到着したレートを監視し、アップロード率と比較する安全メカニズムが組み込まれています。 輻輳が発生した場合、ログ コレクターはログ ファイルの削除を開始します。 通常、セットアップが 1 時間あたり 50 GB を超える場合は、複数のログ コレクター間でトラフィックを分割することをお勧めします。

10 を超えるデータ ソースが必要な場合は、複数のログ コレクター間でデータ ソースを分割することをお勧めします。

データ ソースを定義する

データソースを定義するために、以下の手順を実行してください:

  1. Microsoft Defender ポータルで、[Cloud Apps > Cloud Discovery >設定] > [自動ログ アップロード] を選択します。

  2. [ データ ソース ] タブで、ログをアップロードするファイアウォールまたはプロキシごとに一致するデータ ソースを作成します。

    1. [ データ ソースの追加] を選択します

    2. [ データ ソースの追加 ] ダイアログで、データ ソースの名前を入力し、ソースとレシーバーの種類を選択します。

      ソースを選択する前に、[ 必要なログ ファイルのサンプルを表示する ] を選択し、ログと予想される形式を比較します。 ログ ファイルの形式がこのサンプルと一致しない場合は、データ ソースを Other として追加します。

      一覧にないネットワーク アプライアンスを操作するには、[その他] > [顧客のログ形式] または [その他 ] (手動のみ) を選択します。 詳細については、「 カスタム ログ パーサーの操作」を参照してください。

    注:

    セキュリティで保護された転送プロトコル (FTPS と Syslog – TLS) との統合には、多くの場合、ファイアウォール/プロキシに追加の設定が必要です。 詳細については、「 高度なログ コレクター管理」を参照してください。

ネットワーク上のトラフィックを検出するためにログを使用できるファイアウォールとプロキシごとに、これらのデータ ソース作成手順を繰り返します。

ネットワーク デバイスごとに専用のデータ ソースを設定し、調査目的で各デバイスの状態を個別に監視できるようにし、各デバイスが異なるユーザー セグメントで使用されている場合は、デバイスごとのシャドウ IT 検出を調べるために使用することをお勧めします。

ログ コレクターを作成する

ログコレクタを作成するには以下の手順を踏みます:

  1. Microsoft Defender ポータルで、[Cloud Apps > Cloud Discovery >設定] > [自動ログ アップロード] を選択します。

  2. [ ログ コレクター ] タブで、[ ログ コレクターの追加] を選択します。

  3. [ ログ コレクターの作成 ] ダイアログで、次の詳細を入力します。

    • ログ コレクターの名前
    • ホスト IP アドレス。これは、Docker のデプロイに使用するマシンのプライベート IP アドレスです。 ホスト IP アドレスは、ホスト名を解決する DNS サーバーまたは同等のサーバーがある場合は、マシン名に置き換えることもできます。

    次に、[ データ ソース ] ボックスを選択してコレクターに接続するデータ ソースを選択し、[ 更新 ] を選択して変更を保存します。 各ログ コレクターは、複数のデータ ソースを処理できます。

    [ ログ コレクターの作成 ] ダイアログには、コレクター構成をインポートするコマンドなど、デプロイの詳細が表示されます。 以下に例を示します。

    [ログ コレクターの作成] ダイアログからコピーするコマンドのスクリーンショット。

  4. クリップボードにコピーするコマンド」アイコンを選択してください。コピーアイコンの横にコピーしてクリップボードにコピーしてください。

    ログ コレクター作成 ダイアログに表示される詳細は、各データソース作成時に選択したソースタイプや受信機タイプによって異なります。 たとえば、Syslog を選択した場合、syslog リスナーがリッスンしているポートの詳細がダイアログに表示されます。

    Defender for Cloud Appsと通信するようにログ コレクターを構成するときに必要になるので、画面の内容をコピーしてローカルに保存します。

  5. [ エクスポート] を選択して、アプライアンスでログ エクスポートを構成する方法を説明する .CSV ファイルにソース構成をエクスポートします。

ヒント

FTP 経由でログ データを初めて送信するユーザーの場合は、FTP ユーザーのパスワードを変更することをお勧めします。 詳細については、「 FTP パスワードの変更」を参照してください。

コンピューターを Azure にデプロイする

この手順は、Ubuntuでログコレクタホストマシンを展開する方法を説明しています。 他のプラットフォームのデプロイ手順は若干異なります。 Docker CEはこの手順の後半でDockerインストールステップ中にインストールされます。 開始する前に、マシンへのルート アクセス権があることを確認します。

  1. Azure環境に新しい Ubuntu マシンを作成します。

  2. マシンが起動したら、ポートを開きます。

    1. マシン ビューで、[ ネットワーク ] に移動し、関連するインターフェイスをダブルクリックして選択します。

    2. [ネットワーク セキュリティ グループ] に移動し、関連するネットワーク セキュリティ グループを選択します。

    3. [受信セキュリティ規則] に移動し、[追加] をクリックします。

    4. 次の規則を追加します ( 詳細 モード)。

      Name 宛先ポート範囲 プロトコル ソース 宛先
      caslogcollector_ftp 21 TCP Your appliance's IP address's subnet 任意
      caslogcollector_ftp_passive 20000-20099 TCP Your appliance's IP address's subnet 任意
      caslogcollector_syslogs_tcp 601-700 TCP Your appliance's IP address's subnet 任意
      caslogcollector_syslogs_udp 514-600 UDP Your appliance's IP address's subnet 任意

    詳細については、「 セキュリティ 規則の操作」を参照してください。

  3. コンピューターに戻るし、[接続] をクリックしてコンピューター上のターミナルを開きます。

  4. sudo -iを使用してルート特権に変更します。

  5. ソフトウェア ライセンス条項に同意する場合は、環境に適したコマンドを実行して、古いバージョンをアンインストールし、Docker CE をインストールします。

    1. 古いバージョンの Docker を削除します。 yum erase docker docker-engine docker.io

    2. Docker エンジンの前提条件をインストールします。 yum install -y yum-utils

    3. Docker リポジトリを追加します。

      yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      yum makecache
      
    4. Docker エンジンをインストールします。 yum -y install docker-ce

    5. Docker を起動する

      systemctl start docker
      systemctl enable docker
      
    6. Docker のインストールをテストする: docker run hello-world

  6. ログ コレクタ作成 ダイアログからコピーしたコレクタ設定コマンドを実行してください。 以下に例を示します。

    (echo db3a7c73eb7e91a0db53566c50bab7ed3a755607d90bb348c875825a7d1b2fce) | docker run --name MyLogCollector -p 21:21 -p 20000-20099:20000-20099 -e "PUBLICIP='192.168.1.1'" -e "PROXY=192.168.10.1:8080" -e "CONSOLE=mod244533.us.portal.cloudappsecurity.com" -e "COLLECTOR=MyLogCollector" --security-opt apparmor:unconfined --cap-add=SYS_ADMIN --restart unless-stopped -a stdin -i mcr.microsoft.com/mcas/logcollector starter
    
  7. ログ コレクターが正常に実行されていることを確認するには、次のコマンドを実行します: docker logs <collector_name>。 結果が表示されます: 正常に完了しました。

オンプレミスのネットワークアプライアンス設定を設定する

[ ログ コレクターの作成 ] ダイアログの指示に従って、FTP ディレクトリの専用 Syslog ポートにログを定期的にエクスポートするようにネットワーク ファイアウォールとプロキシを構成します。 次の例は、 BlueCoat_HQ という名前のデータ ソースの宛先パス形式を示しています。ここで、 <machine_name> はログ コレクター コンピューターの名前です。

BlueCoat_HQ - Destination path: \<<machine_name>>\BlueCoat_HQ\

Defender for Cloud Appsでのデプロイの確認

ステータスが 「Created」であれば、ログコレクタの接続や解析がまだ進行中かもしれません。 ログコレクターテーブルでコレクターの状態を確認し、状態が「接続済み」に変わっているか確認してください。

以下に例を示します。

接続されたコレクターの状態のスクリーンショット。

ガバナンス ログ に移動し、ログがポータルに定期的にアップロードされていることを確認することもできます。

または、次のコマンドを使用して、docker コンテナー内からログ コレクターの状態をチェックすることもできます。

  1. 次のコマンドを使用してコンテナーにログインします。 docker exec -it <Container Name> bash
  2. 次のコマンドを使用して、ログ コレクターの状態を確認します。 collector_status -p

デプロイ中に問題が発生した場合は、「 クラウド検出のトラブルシューティング」を参照してください。

省略可能 - カスタムの連続レポートを作成する

ログがDefender for Cloud Appsにアップロードされていること、およびレポートが生成されていることを確認します。 検証後、カスタム レポートを作成します。 ユーザー グループに基づいてカスタム検出レポートMicrosoft Entra作成できます。 たとえば、マーケティング部門のクラウド使用を確認する場合は、ユーザー グループのインポート機能を使用してマーケティング グループをインポートします。 次に、このグループのカスタム レポートを作成します。 IP アドレス タグまたは IP アドレス範囲に基づいてレポートをカスタマイズすることもできます。

  1. Microsoft Defender ポータルで、[設定] を選択します。 次に、[ Cloud Apps] を選択します。

  2. [ Cloud Discovery]\(クラウド検出\) で、[ 継続的なレポート] を選択します。

  3. [ レポートの作成 ] ボタンをクリックし、フィールドに入力します。

  4. [ フィルター ] では、データ ソース、 インポートされたユーザー グループ、または IP アドレス タグと範囲によってデータをフィルター処理できます。

    注:

    連続レポートにフィルターを適用する場合、選択内容は除外されずに含まれます。 たとえば、特定のユーザー グループにフィルターを適用すると、そのユーザー グループのみがレポートに含まれます。

    データ ソース、ユーザー グループ、および IP アドレス範囲のフィルター オプションを含むカスタムの連続レポート構成ページのスクリーンショット。

ログ コレクターを削除する

Warning

ログ コレクター コンテナーを削除すると、関連付けられているデータ ソースのすべてのログ インジェストが停止します。 新しいログ コレクターを再デプロイまたは再構成するまで、ログはアップロードされません。

既存のログ コレクターがあり、再度デプロイする前に削除する場合、または単に削除する場合は、次のコマンドを実行して、ログ コレクターの Docker コンテナーを停止および削除します。

docker stop <collector_name>
docker rm <collector_name>

次の手順

問題が発生した場合は、こちらにお問い合わせください。 製品の問題に関するサポートを受ける場合は、サポート チケットを開いてください。