Azure で Docker を使用してログの自動アップロードを構成する
この記事では、Azure の Docker on Ubuntu または CentOS を使用して、Defender for Cloud Appsで継続的レポートの自動ログ アップロードを構成する方法について説明します。
前提条件
開始する前に、環境が次の要件を満たしていることを確認してください。
要件 | 説明 |
---|---|
OS | 以下のいずれか: - Ubuntu 14.04、16.04、18.04、および 20.04 - CentOS 7.2 以上 |
ディスク領域 | 250 GB |
CPU コア | 2 |
CPU アーキテクチャ | Intel 64 と AMD 64 |
RAM | 4 GB |
ファイアウォール構成 | ネットワーク要件で定義されているとおり |
パフォーマンス別にログ コレクターを計画する
各ログ コレクターは、最大 10 個のデータ ソースで構成される 1 時間あたり最大 50 GB のログ容量を正常に処理できます。 ログ収集プロセスのメインボトルネックは次のとおりです。
ネットワーク帯域幅 - ネットワーク帯域幅によって、ログのアップロード速度が決まります。
仮想マシンの I/O パフォーマンス - ログ コレクターのディスクにログを書き込む速度を決定します。 ログ コレクターには、ログが到着したレートを監視し、アップロード率と比較する安全メカニズムが組み込まれています。 輻輳が発生した場合、ログ コレクターはログ ファイルの削除を開始します。 通常、セットアップが 1 時間あたり 50 GB を超える場合は、複数のログ コレクター間でトラフィックを分割することをお勧めします。
10 を超えるデータ ソースが必要な場合は、複数のログ コレクター間でデータ ソースを分割することをお勧めします。
データ ソースを定義する
Microsoft Defender ポータルで、[Cloud Apps > Cloud Discovery >設定] > [自動ログ アップロード] を選択します。
[ データ ソース ] タブで、ログをアップロードするファイアウォールまたはプロキシごとに一致するデータ ソースを作成します。
[ データ ソースの追加] を選択します。
[ データ ソースの追加 ] ダイアログで、データ ソースの名前を入力し、ソースとレシーバーの種類を選択します。
ソースを選択する前に、[ 必要なログ ファイルのサンプルを表示する ] を選択し、ログと予想される形式を比較します。 ログ ファイルの形式がこのサンプルと一致しない場合は、データ ソースを Other として追加します。
一覧にないネットワーク アプライアンスを操作するには、[その他] > [顧客のログ形式] または [その他 ] (手動のみ) を選択します。 詳細については、「 カスタム ログ パーサーの操作」を参照してください。
注:
セキュリティで保護された転送プロトコル (FTPS と Syslog – TLS) との統合には、多くの場合、追加の設定またはファイアウォール/プロキシが必要です。
ネットワーク上のトラフィックを検出するためにログを使用できるファイアウォールとプロキシごとに、このプロセスを繰り返します。
ネットワーク デバイスごとに専用のデータ ソースを設定し、調査目的で各デバイスの状態を個別に監視できるようにし、各デバイスが異なるユーザー セグメントで使用されている場合は、デバイスごとのシャドウ IT 検出を調べるために使用することをお勧めします。
ログ コレクターを作成する
Microsoft Defender ポータルで、[Cloud Apps > Cloud Discovery >設定] > [自動ログ アップロード] を選択します。
[ ログ コレクター ] タブで、[ ログ コレクターの追加] を選択します。
[ ログ コレクターの作成 ] ダイアログで、次の詳細を入力します。
- ログ コレクターの名前
- ホスト IP アドレス。これは、Docker のデプロイに使用するマシンのプライベート IP アドレスです。 ホスト IP アドレスは、ホスト名を解決する DNS サーバーまたは同等のサーバーがある場合は、マシン名に置き換えることもできます。
次に、[ データ ソース ] ボックスを選択してコレクターに接続するデータ ソースを選択し、[ 更新 ] を選択して変更を保存します。 各ログ コレクターは、複数のデータ ソースを処理できます。
[ ログ コレクターの作成 ] ダイアログには、コレクター構成をインポートするコマンドなど、デプロイの詳細が表示されます。 以下に例を示します。
コマンドの横にあるコピー アイコンを使用して、クリップボードにコピーします。
[ ログ コレクターの作成 ] ダイアログに表示される詳細は、選択したソースとレシーバーの種類によって異なります。 たとえば、Syslog を選択した場合、syslog リスナーがリッスンしているポートの詳細がダイアログに表示されます。
Defender for Cloud Appsと通信するようにログ コレクターを構成するときに必要になるので、画面の内容をコピーしてローカルに保存します。
[ エクスポート] を選択して、アプライアンスでログ エクスポートを構成する方法を説明する .CSV ファイルにソース構成をエクスポートします。
ヒント
FTP 経由でログ データを初めて送信するユーザーの場合は、FTP ユーザーのパスワードを変更することをお勧めします。 詳細については、「 FTP パスワードの変更」を参照してください。
Azure にマシンをデプロイする
この手順では、Ubuntu を使用してマシンをデプロイする方法について説明します。 他のプラットフォームのデプロイ手順は若干異なります。
Azure 環境で新しい Ubuntu マシンを作成します。
マシンが起動したら、ポートを開きます。
マシン ビューで、[ ネットワーク ] に移動し、関連するインターフェイスをダブルクリックして選択します。
[ネットワーク セキュリティ グループ] に移動し、関連するネットワーク セキュリティ グループを選択します。
[受信セキュリティ規則] に移動し、[追加] をクリックします。
次の規則を追加します ( 詳細 モード)。
名前 宛先ポート範囲 プロトコル ソース Destination (転送先) 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
任意
詳細については、「 セキュリティ 規則の操作」を参照してください。
コンピューターに戻るし、[接続] をクリックしてコンピューター上のターミナルを開きます。
sudo -i
を使用してルート特権に変更します。ソフトウェア ライセンス条項に同意する場合は、環境に適したコマンドを実行して、古いバージョンをアンインストールし、Docker CE をインストールします。
古いバージョンの Docker を削除します。
yum erase docker docker-engine docker.io
Docker エンジンの前提条件をインストールします。
yum install -y yum-utils
Docker リポジトリを追加します。
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo yum makecache
Docker エンジンをインストールします。
yum -y install docker-ce
Docker を起動する
systemctl start docker systemctl enable docker
Docker のインストールをテストする:
docker run hello-world
[ ログ コレクターの作成 ] ダイアログから、先ほどコピーしたコマンドを実行します。 以下に例を示します。
(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
ログ コレクターが正常に実行されていることを確認するには、次のコマンドを実行します:
Docker logs <collector_name>
。 結果が表示されます: 正常に完了しました。
ネットワーク アプライアンスオンプレミス設定を構成する
ダイアログの指示に従って、FTP ディレクトリの専用 Syslog ポートにログを定期的にエクスポートするようにネットワーク ファイアウォールとプロキシを構成します。 以下に例を示します。
BlueCoat_HQ - Destination path: \<<machine_name>>\BlueCoat_HQ\
Defender for Cloud Appsでのデプロイの確認
ログ コレクター テーブルでコレクターの状態を確認し、状態が [接続済み] であることを確認します。 [作成済み] の場合は、ログ コレクターの接続と解析が完了していない可能性があります。
以下に例を示します。
ガバナンス ログ に移動し、ログがポータルに定期的にアップロードされていることを確認することもできます。
または、次のコマンドを使用して、docker コンテナー内からログ コレクターの状態をチェックすることもできます。
- 次のコマンドを使用してコンテナーにログインします。
docker exec -it <Container Name> bash
- 次のコマンドを使用して、ログ コレクターの状態を確認します。
collector_status -p
デプロイ中に問題が発生した場合は、「 クラウド検出のトラブルシューティング」を参照してください。
省略可能 - カスタムの連続レポートを作成する
ログがDefender for Cloud Appsにアップロードされていること、およびレポートが生成されていることを確認します。 検証後、カスタム レポートを作成します。 ユーザー グループに基づいてカスタム検出レポートMicrosoft Entra作成できます。 たとえば、マーケティング部門のクラウド使用を確認する場合は、ユーザー グループのインポート機能を使用してマーケティング グループをインポートします。 次に、このグループのカスタム レポートを作成します。 IP アドレス タグまたは IP アドレス範囲に基づいてレポートをカスタマイズすることもできます。
Microsoft Defender ポータルで、[設定] を選択します。 次に、[ Cloud Apps] を選択します。
[ Cloud Discovery]\(クラウド検出\) で、[ 継続的なレポート] を選択します。
[ レポートの作成 ] ボタンをクリックし、フィールドに入力します。
[ フィルター ] では、データ ソース、 インポートされたユーザー グループ、または IP アドレス タグと範囲によってデータをフィルター処理できます。
注:
連続レポートにフィルターを適用する場合、選択内容は除外されずに含まれます。 たとえば、特定のユーザー グループにフィルターを適用すると、そのユーザー グループのみがレポートに含まれます。
ログ コレクターを削除する
既存のログ コレクターがあり、再度デプロイする前に削除する場合、または単に削除する場合は、次のコマンドを実行します。
docker stop <collector_name>
docker rm <collector_name>
次の手順
問題が発生した場合は、ここにお問い合わせください。 製品の問題に関するサポートまたはサポートを受けるためには、 サポート チケットを開いてください。