この記事では、エキスパート、カスタム、または手動の構成オプションを使用して SAP データ コネクタ エージェント コンテナーのMicrosoft Sentinelをデプロイおよび構成する手順について説明します。 一般的なデプロイでは、代わりに ポータル を使用することをお勧めします。
この記事のコンテンツは、 SAP BASIS チームを対象としています。 詳細については、「 コマンド ラインから SAP データ コネクタ エージェントをデプロイする」を参照してください。
注:
この記事はデータ コネクタ エージェントにのみ関連し、 SAP エージェントレス データ コネクタには関係ありません。
前提条件
- 開始する前に、システムが関連する前提条件に準拠していることを確認してください。 詳細については、「SAP アプリケーションのMicrosoft Sentinel ソリューションのデプロイの前提条件」を参照してください。
SAP データ コネクタ エージェントAzure Key Vaultシークレットを手動で追加する
次のスクリプトを使用して、キー コンテナーに SAP システム シークレットを手動で追加します。 プレースホルダーは、必ず独自のシステム ID と追加する資格情報に置き換えてください。
#Add Abap username
az keyvault secret set \
--name <SID>-ABAPUSER \
--value "<abapuser>" \
--description SECRET_ABAP_USER --vault-name $kvname
#Add Abap Username password
az keyvault secret set \
--name <SID>-ABAPPASS \
--value "<abapuserpass>" \
--description SECRET_ABAP_PASSWORD --vault-name $kvname
#Add Java Username
az keyvault secret set \
--name <SID>-JAVAOSUSER \
--value "<javauser>" \
--description SECRET_JAVAOS_USER --vault-name $kvname
#Add Java Username password
az keyvault secret set \
--name <SID>-JAVAOSPASS \
--value "<javauserpass>" \
--description SECRET_JAVAOS_PASSWORD --vault-name $kvname
#Add abapos username
az keyvault secret set \
--name <SID>-ABAPOSUSER \
--value "<abaposuser>" \
--description SECRET_ABAPOS_USER --vault-name $kvname
#Add abapos username password
az keyvault secret set \
--name <SID>-ABAPOSPASS \
--value "<abaposuserpass>" \
--description SECRET_ABAPOS_PASSWORD --vault-name $kvname
#Add Azure Log ws ID
az keyvault secret set \
--name <SID>-LOGWSID \
--value "<logwsod>" \
--description SECRET_AZURE_LOG_WS_ID --vault-name $kvname
#Add Azure Log ws public key
az keyvault secret set \
--name <SID>-LOGWSPUBLICKEY \
--value "<loswspubkey>" \
--description SECRET_AZURE_LOG_WS_PUBLIC_KEY --vault-name $kvname
詳細については、「クイック スタート: Azure CLI を使用してキー コンテナーを作成する」と az keyvault シークレット CLI のドキュメントを参照してください。
エキスパート/カスタム インストールを実行する
この手順では、オンプレミスのインストール時など、エキスパートまたはカスタム インストールを使用して、CLI を使用して SAP データ コネクタのMicrosoft Sentinelをデプロイする方法について説明します。
前提条件: Azure Key Vaultは、認証資格情報と構成データを格納するための推奨される方法です。 この手順は、SAP 資格情報を使用してキー コンテナーを準備した後にのみ実行することをお勧めします。
SAP データ コネクタのMicrosoft Sentinelをデプロイするには:
SAP Launchpad サイト>SAP NW RFC SDK>SAP NW RFC SDK7.50>nwrfc750X_X-xxxxxxx.zipから最新の SAP NW RFC SDK をダウンロードし、データ コネクタ エージェント マシンに保存します。
注:
SDK にアクセスするには SAP ユーザーのサインイン情報が必要であり、オペレーティング システムに一致する SDK をダウンロードする必要があります。
LINUX ON X86_64 オプションを選択してください。
同じコンピューターで、わかりやすい名前の新しいフォルダーを作成し、SDK zip ファイルを新しいフォルダーにコピーします。
Microsoft Sentinel ソリューション GitHub リポジトリをオンプレミスのマシンに複製し、SAP アプリケーション ソリューションのソリューションsystemconfig.jsonファイルMicrosoft Sentinel新しいフォルダーにコピーします。
例:
mkdir /home/$(pwd)/sapcon/<sap-sid>/ cd /home/$(pwd)/sapcon/<sap-sid>/ wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/template/systemconfig.json cp <**nwrfc750X_X-xxxxxxx.zip**> /home/$(pwd)/sapcon/<sap-sid>/埋め込みコメントをガイドとして使用して、必要に応じてsystemconfig.json ファイルを編集します。
systemconfig.json ファイルの手順を使用して、次の構成を定義します。
- systemconfig.json ファイルの手順を使用してMicrosoft Sentinelに取り込むログ。
- 監査ログにユーザーの電子メール アドレスを含めるかどうか
- 失敗した API 呼び出しを再試行するかどうか
- cexal 監査ログを含めるかどうか
- データ抽出の間隔を待機するかどうか (特に大規模な抽出の場合)
詳細については、「SAP データ コネクタのMicrosoft Sentinelを手動で構成する」および「Microsoft Sentinelに送信される SAP ログを定義する」を参照してください。
構成をテストするには、ユーザーとパスワードを systemconfig.json 構成ファイルに直接追加できます。 Azure Key Vault を使用して資格情報を格納することをお勧めしますが、env.list ファイル、Docker シークレットを使用することも、資格情報をsystemconfig.json ファイルに直接追加することもできます。
詳細については、「 SAL ログ コネクタの構成」を参照してください。
更新 したsystemconfig.json ファイルをコンピューターの sapcon ディレクトリに保存します。
資格情報に env.list ファイルを使用することを選択した場合は、必要な資格情報を含む一時的な env.list ファイルを作成します。 Docker コンテナーが正しく実行されたら、必ずこのファイルを削除してください。
注:
次のスクリプトには、特定の ABAP システムに接続する各 Docker コンテナーがあります。 環境に合わせてスクリプトを変更します。
実行:
############################################################## # Include the following section if you're using user authentication ############################################################## # env.list template for Credentials SAPADMUSER=<SET_SAPCONTROL_USER> SAPADMPASSWORD=<SET_SAPCONTROL_PASS> LOGWSID=<SET MICROSOFT SENTINEL WORKSPACE ID> LOGWSPUBLICKEY=<SET MICROSOFT SENTINEL WORKSPACE KEY> ABAPUSER=SET_ABAP_USER> ABAPPASS=<SET_ABAP_PASS> JAVAUSER=<SET_JAVA_OS_USER> JAVAPASS=<SET_JAVA_OS_USER> ############################################################## # Include the following section if you are using Azure Keyvault ############################################################## # env.list template for AZ Cli when MI is not enabled AZURE_TENANT_ID=<your tenant id> AZURE_CLIENT_ID=<your client/app id> AZURE_CLIENT_SECRET=<your password/secret for the service principal> ##############################################################SAP データ コネクタがインストールされている定義済みの Docker イメージをダウンロードして実行します。 実行:
docker pull mcr.microsoft.com/azure-sentinel/solutions/sapcon:latest-preview docker run --env-file=<env.list_location> -d --restart unless-stopped -v /home/$(pwd)/sapcon/<sap-sid>/:/sapcon-app/sapcon/config/system --name sapcon-<sid> sapcon rm -f <env.list_location>Docker コンテナーが正しく実行されていることを確認します。 実行:
docker logs –f sapcon-[SID]SAP アプリケーション用のMicrosoft Sentinel ソリューションのデプロイに進みます。
ソリューションをデプロイすると、SAP データ コネクタがMicrosoft Sentinelに表示され、SAP ブックと分析ルールがデプロイされます。 完了したら、SAP ウォッチリストを手動で追加してカスタマイズします。
詳細については、「コンテンツ ハブから SAP アプリケーション用のMicrosoft Sentinel ソリューションをデプロイする」を参照してください。
SAP データ コネクタのMicrosoft Sentinelを手動で構成する
CLI を使用してデプロイすると、SAP データ コネクタのMicrosoft Sentinelが、デプロイ手順の一環として SAP データ コネクタ マシンに複製したsystemconfig.json ファイルに構成されます。 このセクションの内容を使用して、データ コネクタの設定を手動で構成します。
詳細については、「 Systemconfig.json ファイル リファレンス」または「レガシ システム のファイル リファレンスSystemconfig.ini」を参照 してください。
Microsoft Sentinelに送信される SAP ログを定義する
既定 のsystemconfig.json ファイルは、組み込みの分析、SAP ユーザー承認マスター データ テーブル、ユーザーと特権情報、および SAP ランドスケープでの変更とアクティビティを追跡する機能をカバーするように構成されています。
既定の構成では、違反後の調査と拡張ハンティング機能を可能にするために、より多くのログ情報が提供されます。 ただし、特にビジネス プロセスが季節的になる傾向があるため、時間の経過に伴って構成をカスタマイズしたい場合があります。
次のコード セットを使用して、Microsoft Sentinelに送信されるログを定義するようにsystemconfig.json ファイルを構成します。
詳細については、「Microsoft Sentinelソリューション for SAP アプリケーション ソリューション ログ リファレンス (パブリック プレビュー)」を参照してください。
既定のプロファイルを構成する
次のコードは、既定の構成を構成します。
"logs_activation_status": {
"abapauditlog": "True",
"abapjoblog": "True",
"abapspoollog": "True",
"abapspooloutputlog": "True",
"abapchangedocslog": "True",
"abapapplog": "True",
"abapworkflowlog": "True",
"abapcrlog": "True",
"abaptabledatalog": "False",
"abapfileslogs": "False",
"syslog": "False",
"icm": "False",
"wp": "False",
"gw": "False",
"javafileslogs": "False"
検出に焦点を当てたプロファイルを構成する
次のコードを使用して、検出に焦点を当てたプロファイルを構成します。これには、ほとんどの分析ルールが適切に実行するために必要な SAP ランドスケープのコア セキュリティ ログが含まれています。 侵害後の調査とハンティング機能は限られています。
"logs_activation_status": {
"abapauditlog": "True",
"abapjoblog": "False",
"abapspoollog": "False",
"abapspooloutputlog": "False",
"abapchangedocslog": "True",
"abapapplog": "False",
"abapworkflowlog": "False",
"abapcrlog": "True",
"abaptabledatalog": "False",
"abapfileslogs": "False",
"syslog": "False",
"icm": "False",
"wp": "False",
"gw": "False",
"javafileslogs": "False"
},
....
"abap_table_selector": {
"agr_tcodes_full": "True",
"usr01_full": "True",
"usr02_full": "True",
"usr02_incremental": "True",
"agr_1251_full": "True",
"agr_users_full": "True",
"agr_users_incremental": "True",
"agr_prof_full": "True",
"ust04_full": "True",
"usr21_full": "True",
"adr6_full": "True",
"adcp_full": "True",
"usr05_full": "True",
"usgrp_user_full": "True",
"user_addr_full": "True",
"devaccess_full": "True",
"agr_define_full": "True",
"agr_define_incremental": "True",
"pahi_full": "True",
"pahi_incremental": "True",
"agr_agrs_full": "True",
"usrstamp_full": "True",
"usrstamp_incremental": "True",
"agr_flags_full": "True",
"agr_flags_incremental": "True",
"sncsysacl_full": "False",
"usracl_full": "False",
次のコードを使用して、SAP アプリケーションのMicrosoft Sentinel ソリューションが SAP ランドスケープのアクティビティを分析するために使用する最も重要なデータ ソースである SAP セキュリティ監査ログを含む最小限のプロファイルを構成します。 このログを有効にすることは、セキュリティ カバレッジを提供するための最小限の要件です。
"logs_activation_status": {
"abapauditlog": "True",
"abapjoblog": "False",
"abapspoollog": "False",
"abapspooloutputlog": "False",
"abapchangedocslog": "True",
"abapapplog": "False",
"abapworkflowlog": "False",
"abapcrlog": "True",
"abaptabledatalog": "False",
"abapfileslogs": "False",
"syslog": "False",
"icm": "False",
"wp": "False",
"gw": "False",
"javafileslogs": "False"
},
....
"abap_table_selector": {
"agr_tcodes_full": "False",
"usr01_full": "False",
"usr02_full": "False",
"usr02_incremental": "False",
"agr_1251_full": "False",
"agr_users_full": "False",
"agr_users_incremental": "False",
"agr_prof_full": "False",
"ust04_full": "False",
"usr21_full": "False",
"adr6_full": "False",
"adcp_full": "False",
"usr05_full": "False",
"usgrp_user_full": "False",
"user_addr_full": "False",
"devaccess_full": "False",
"agr_define_full": "False",
"agr_define_incremental": "False",
"pahi_full": "False",
"pahi_incremental": "False",
"agr_agrs_full": "False",
"usrstamp_full": "False",
"usrstamp_incremental": "False",
"agr_flags_full": "False",
"agr_flags_incremental": "False",
"sncsysacl_full": "False",
"usracl_full": "False",
SAL ログ コネクタの設定
次のコードを SAP データ コネクタ systemconfig.json ファイルのMicrosoft Sentinelに追加して、Microsoft Sentinelに取り込まれる SAP ログの他の設定を定義します。
詳細については、「 エキスパート/カスタム SAP データ コネクタのインストールを実行する」を参照してください。
"connector_configuration": {
"extractuseremail": "True",
"apiretry": "True",
"auditlogforcexal": "False",
"auditlogforcelegacyfiles": "False",
"timechunk": "60"
このセクションでは、次のパラメーターを構成できます。
| パラメーター名 | 説明 |
|---|---|
| extractuseremail | ユーザーの電子メール アドレスを監査ログに含めるかどうかを判断します。 |
| apiretry | API 呼び出しをフェールオーバー メカニズムとして再試行するかどうかを決定します。 |
| auditlogforcexal | SAP BASIS バージョン 7.4 など、SAL 以外のシステムに対して監査ログを強制的に使用するかどうかを決定します。 |
| auditlogforcelegacyfiles | パッチ レベルが低い SAP BASIS バージョン 7.4 など、従来のシステム機能を使用して監査ログを強制的に使用するかどうかを決定します。 |
| timechunk | データ抽出の間隔として、システムが特定の分数を待機することを決定します。 大量のデータが必要な場合は、このパラメーターを使用します。 たとえば、最初の 24 時間の初期データ読み込み中に、各データ抽出に十分な時間を与えるために、データ抽出を 30 分ごとに実行する必要がある場合があります。 このような場合は、この値を 30 に設定します。 |
ABAP SAP Control インスタンスの構成
NW RFC と SAP Control Web Service ベースのログの両方を含む、すべての ABAP ログをMicrosoft Sentinelに取り込むには、次の ABAP SAP Control の詳細を構成します。
| Setting | 説明 |
|---|---|
| javaappserver | SAP Control ABAP サーバー ホストを入力します。 例: contoso-erp.appserver.com |
| javainstance | SAP Control ABAP インスタンス番号を入力します。 例: 00 |
| abaptz | SAP Control ABAP サーバーで構成されているタイム ゾーンを GMT 形式で入力します。 例: GMT+3 |
| abapseverity | ABAP ログをMicrosoft Sentinelに取り込む最下位の包括的な重大度レベルを入力します。 値は次のとおりです。 - 0 = すべてのログ - 1 = 警告 - 2 = エラー |
Java SAP Control インスタンスの構成
SAP Control Web Service ログをMicrosoft Sentinelに取り込むには、次の JAVA SAP Control インスタンスの詳細を構成します。
| パラメーター | 説明 |
|---|---|
| javaappserver | SAP Control Java サーバー ホストを入力します。 例: contoso-java.server.com |
| javainstance | SAP Control ABAP インスタンス番号を入力します。 例: 10 |
| javatz | SAP Control Java サーバーで構成されているタイム ゾーンを GMT 形式で入力します。 例: GMT+3 |
| javaseverity | Web サービス ログをMicrosoft Sentinelに取り込む最も低い、包括的な重大度レベルを入力します。 値は次のとおりです。 - 0 = すべてのログ - 1 = 警告 - 2 = エラー |
ユーザー マスター データ収集の構成
ユーザーとロールの承認に関する詳細を含むテーブルを SAP システムから直接取り込むには、テーブルごとに True/False ステートメントを使用してsystemconfig.json ファイルを構成します。
例:
"abap_table_selector": {
"agr_tcodes_full": "True",
"usr01_full": "True",
"usr02_full": "True",
"usr02_incremental": "True",
"agr_1251_full": "True",
"agr_users_full": "True",
"agr_users_incremental": "True",
"agr_prof_full": "True",
"ust04_full": "True",
"usr21_full": "True",
"adr6_full": "True",
"adcp_full": "True",
"usr05_full": "True",
"usgrp_user_full": "True",
"user_addr_full": "True",
"devaccess_full": "True",
"agr_define_full": "True",
"agr_define_incremental": "True",
"pahi_full": "True",
"pahi_incremental": "True",
"agr_agrs_full": "True",
"usrstamp_full": "True",
"usrstamp_incremental": "True",
"agr_flags_full": "True",
"agr_flags_incremental": "True",
"sncsysacl_full": "False",
"usracl_full": "False",
詳細については、「 SAP システムから直接取得されたテーブルのリファレンス」を参照してください。
関連コンテンツ
詳細については、以下を参照してください: