チュートリアル: Defender for IoT マイクロ エージェントをインストールする
このチュートリアルは、Defender for IoT マイクロ エージェントをインストールして認証する方法を学習するのに役立ちます。
このチュートリアルで学習する内容は次のとおりです。
- マイクロ エージェントをダウンロードしてインストールする
- マイクロ エージェントを認証する
- インストールを検証する
- システムをテストする
- マイクロ エージェントの特定のバージョンをインストールする
前提条件
アクティブなサブスクリプションが含まれる Azure アカウント。 無料でアカウントを作成できます。
次のいずれかのオペレーティング システムが動作していることを確認してください。
Azure IoT Hub で Microsoft Defender for IoT が有効になっている必要があります。
IoT ソリューションにリソース グループを追加しておく必要があります。
マイクロ エージェントをダウンロードしてインストールする
セットアップによっては、適切な Microsoft パッケージをインストールする必要があります。
適切な Microsoft パッケージ リポジトリを追加するには:
デバイスのオペレーティング システムに対応するリポジトリ構成をダウンロードします。
Ubuntu 18.04 の場合:
curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
Ubuntu 20.04 の場合:
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list > ./microsoft-prod.list
Debian 9 の場合 (AMD64 と ARM64 の両方):
curl https://packages.microsoft.com/config/debian/stretch/multiarch/prod.list > ./microsoft-prod.list
次のコマンドを使用して、リポジトリ構成を
sources.list.d
ディレクトリにコピーします。sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
次のコマンドを使用して、Microsoft GPG 公開キーをインストールします。
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
次のコマンドを使用して、apt を更新しておきます。
sudo apt-get update
次のコマンドを使用して、Debian または Ubuntu ベースの Linux ディストリビューションに Defender for IoT マイクロ エージェント パッケージをインストールします。
sudo apt-get install defender-iot-micro-agent
プロキシ経由で接続する
この手順では、プロキシ経由で Defender for IoT マイクロ エージェントを IoT Hub に接続する方法について説明します。
プロキシ経由での接続を構成するには、次の手順に従います。
マイクロ エージェント マシンで、次の内容を含む
/etc/defender_iot_micro_agent/conf.json
ファイルを作成します。{ "IothubModule_ProxyConfig": "<proxy_ipv4>,<port>,<username>,<password>", "IothubModule_TransportProtocol": "MQTT_WebSocket_Protocol" }
ユーザーとパスワードのフィールドは省略可能です。 これらが必要ない場合は、代わりに次の構文を使用します。
{ "IothubModule_ProxyConfig": "<proxy_ipv4>,<port>", "IothubModule_TransportProtocol": "MQTT_WebSocket_Protocol" }
/var/lib/defender_iot_micro_agent/cache.json にあるキャッシュ ファイルをすべて削除します。
マイクロ エージェントを再起動します。 次を実行します。
sudo systemctl restart defender-iot-micro-agent.service
AMQP プロトコルのサポートを追加する
この手順では、AMQP プロトコルをサポートするために必要な追加手順について説明します。
AMQP プロトコルのサポートを追加するには、次の手順に従います。
マイクロ エージェント マシンで
/etc/defender_iot_micro_agent/conf.json
ファイルを開き、次の内容を追加します。{ "IothubModule_TransportProtocol": "AMQP_Protocol" }
/var/lib/defender_iot_micro_agent/cache.json にあるキャッシュ ファイルをすべて削除します。
マイクロ エージェントを再起動します。 次を実行します。
sudo systemctl restart defender-iot-micro-agent.service
AMQP over Web ソケット プロトコルのサポートを追加するには、次の手順を実行します。
マイクロ エージェント マシンで
/etc/defender_iot_micro_agent/conf.json
ファイルを開き、次の内容を追加します。{ "IothubModule_TransportProtocol": "AMQP_WebSocket_Protocol" }
/var/lib/defender_iot_micro_agent/cache.json にあるキャッシュ ファイルをすべて削除します。
マイクロ エージェントを再起動します。 次を実行します。
sudo systemctl restart defender-iot-micro-agent.service
エージェントはこのプロトコルを使用し、ポート 443 の IoT Hub と通信します。 このプロトコルでは HTTP プロキシ構成がサポートされています。プロキシも構成されている場合、プロキシとの通信ポートはプロキシ構成で定義されているとおりになります。
マイクロ エージェントを認証する
Defender for IoT マイクロ エージェントの認証に使用できるオプションとして、次の 2 つがあります。
モジュール ID の接続文字列を使用した認証
DefenderIoTMicroAgent モジュール ID の詳細からモジュール ID の接続文字列をコピーする必要があります。
モジュール ID の接続文字列をコピーするには、次のようにします。
[IoT Hub]>
Your hub
>[デバイス管理]>[デバイス] に移動します。デバイス ID の一覧からデバイスを選択します。
[モジュール ID] タブを選択します。
デバイスに関連付けられているモジュール ID の一覧から DefenderIotMicroAgent モジュールを選択します。
[コピー] ボタンを選択して接続文字列 (主キー) をコピーします。
次のコマンドを入力して、コピーした utf-8 エンコードの接続文字列を含む
connection_string.txt
という名前のファイルを、Defender for IoT エージェント ディレクトリの/etc/defender_iot_micro_agent
パスに作成します。sudo bash -c 'echo "<connection string>" > /etc/defender_iot_micro_agent/connection_string.txt'
connection_string.txt
は、パスの場所/etc/defender_iot_micro_agent/connection_string.txt
に置かれます。注意
接続文字列には、モジュール自体への直接アクセスを可能にするキーが含まれています。このため、ルート ユーザーのみが使用および読み取り可能な機密情報が含まれています。
このコマンドを使用して、サービスを再起動します。
sudo systemctl restart defender-iot-micro-agent.service
証明書を使用して認証する
証明書を使用して認証するには、次のようにします。
これらの手順に従って、証明書を入手します。
PEM でエンコードされた証明書の公開部分と秘密キーを、
/etc/defender_iot_micro_agent
内のcertificate_public.pem
およびcertificate_private.pem
というファイルに格納します。適切な接続文字列を
connection_string.txt
ファイル内に配置します。 接続文字列は次のようになります。HostName=<the host name of the iot hub>;DeviceId=<the id of the device>;ModuleId=<the id of the module>;x509=true
この文字列は、認証用に証明書が指定されることを想定するように、Defender for IoT エージェントに警告します。
次のコマンドを使用して、サービスを再起動します。
sudo systemctl restart defender-iot-micro-agent.service
インストールを検証する
インストールを検証するには、次のようにします。
次のコマンドを使用して、マイクロ エージェントが正常に実行されていることを確認します。
systemctl status defender-iot-micro-agent.service
サービスを安定させるために、サービスが
active
で、プロセスの稼働時間が適切であることを確認します。
システムをテストする
デバイスにトリガー ファイルを作成することによって、システムをテストできます。 トリガー ファイルによってエージェントでベースライン スキャンが行われ、ファイルがベースライン違反として検出されます。
次のコマンドを使用して、ファイル システムにファイルを作成します。
sudo touch /tmp/DefenderForIoTOSBaselineTrigger.txt
Log Analytics ワークスペースが IoT ハブに接続されていることを確認します。 詳細については、「ログ分析ワークスペースを作成する」を参照してください。
次のコマンドを使用してエージェントを再起動します。
sudo systemctl restart defender-iot-micro-agent.service
ハブに推奨が表示されるまでに最大 1 時間かかります。
"IoT_CISBenchmarks_DIoTTest" というベースラインの推奨が作成されます。 この推奨は、Log Analytics から次のようにして照会できます。
SecurityRecommendation
| where RecommendationName contains "IoT_CISBenchmarks_DIoTTest"
| where DeviceId contains "<device-id>"
| top 1 by TimeGenerated desc
次に例を示します。
マイクロ エージェントの特定のバージョンをインストールする
特定のコマンドを使用して、マイクロ エージェントの特定のバージョンをインストールできます。
Defender for IoT マイクロ エージェントの特定のバージョンをインストールするには、次のようにします。
ターミナルを開きます。
次のコマンドを実行します。
sudo apt-get install defender-iot-micro-agent=<version>
リソースをクリーンアップする
クリーンアップするリソースがありません。