エキスパート オプションを使用して Microsoft Sentinel for SAP データ コネクタ エージェント コンテナーをデプロイする
この記事では、エキスパート、カスタム、または手動の構成オプションを使用して Microsoft Sentinel for SAP データ コネクタ エージェント コンテナーをデプロイおよび構成する手順について説明します。 一般的なデプロイでは、代わりにポータルを使用することをお勧めします。
この記事の内容は、SAP BASIS チームを対象としています。 詳細については、「コマンド ラインから SAP データ コネクタ エージェントをデプロイする」を参照してください。
Note
この記事はデータ コネクタ エージェントにのみ関連し、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 secret CLI のドキュメントを参照してください。
エキスパートまたはカスタム インストールを実行する
この手順では、オンプレミスでのインストール時など、エキスパートまたはカスタム インストールを使用して CLI 経由で Microsoft Sentinel for SAP データ コネクタをデプロイする方法について説明します。
前提条件: 認証資格情報と構成データを保存する方法としては、Azure Key Vault をお勧めします。 この手順を実行する前に、SAP 資格情報を使用してキー コンテナーを準備しておくことをお勧めします。
Microsoft Sentinel SAP環境用 データ コネクタをデプロイする:
最新の SAP NW RFC SDK を SAP Launchpad サイト>SAP NW RFC SDK>SAP NW RFC SDK 7.50>nwrfc750X_X-xxxxxxx.zip からダウンロードし、お使いのデータ コネクタ エージェント マシンに保存します。
Note
SDK にアクセスするには、SAP ユーザーのサインイン情報が必要です。また、ご使用のオペレーティング システムに対応する SDK をダウンロードする必要があります。
必ず LINUX ON X86_64 オプションを選択してください。
同じマシン上に、わかりやすい名前の新しいフォルダーを作成し、SDK zip ファイルを新しいフォルダーにコピーします。
Microsoft Sentinel ソリューションの GitHub リポジトリのクローンをオンプレミス マシンに作成し、SAP アプリケーション ソリューション向け Microsoft Sentinel ソリューションの systemconfig.json ファイルを新しいフォルダーにコピーします。
次に例を示します。
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 監査ログを含めるかどうか
- 特に大規模なデータ抽出の際に、データ抽出の間に一定時間待機するかどうか
詳細については、「Microsoft Sentinel SAP 環境用データ コネクタを手動で構成する」と「Microsoft Sentinel に送信される SAP ログを定義する」を参照してください。
構成をテストするために、ユーザーとパスワードを systemconfig.json 構成ファイルに直接追加したい場合があるかもしれません。 資格情報の保存には Azure Key Vault を使用することをお勧めしますが、env.list ファイルやDocker シークレットを使用することもできます。また、systemconfig.json ファイルに資格情報を直接追加することもできます。
詳細については、SAL ログ コネクタの構成に関するセクションを参照してください。
更新した systemconfig.json ファイルをマシンの sapcon ディレクトリに保存します。
資格情報として env.list ファイルを使用することを選択した場合は、必要な資格情報を持つ一時的な env.list ファイルを作成します。 Docker コンテナーが正常に動作したら、このファイルを必ず削除してください。
注意
以下のスクリプトでは、各 Docker コンテナーが特定の ABAP システムに接続しています。 実際の環境に合わせて、必要に応じてスクリプトを変更してください。
実行 (Run):
############################################################## # 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 イメージをダウンロードして実行します。 実行 (Run):
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 コンテナーが正しく実行されていることを確認します。 実行 (Run):
docker logs –f sapcon-[SID]
SAP アプリケーション向け Microsoft Sentinel ソリューションのデプロイに進みます。
ソリューションをデプロイすると、SAP データ コネクタが Microsoft Sentinel に表示されるようになり、SAP ブックと分析ルールがデプロイされます。 完了したら、SAP ウォッチリストを手動で追加してカスタマイズします。
詳細については、「コンテンツ ハブから SAP アプリケーション向け Microsoft Sentinel ソリューションをデプロイする」を参照してください。
Microsoft Sentinel SAP環境用 データ コネクタを手動で構成する
CLI 経由で配置する場合、Microsoft Sentinel for SAP データ コネクタは systemconfig.json ファイルで構成されます。これを、デプロイ手順の一環で SAP データ コネクタ マシンに複製しました。 このセクションの内容を参考にして、データ コネクタ設定を手動で構成します。
詳細については、Systemconfig.json ファイルのリファレンス (または、レガシ システムの場合は Systemconfig.ini ファイルのリファレンス) を参照してください。
Microsoft Sentinel に送信される SAP ログを定義する
既定の systemconfig.json ファイルは、組み込みの分析、ユーザーと特権情報を含む SAP ユーザー認可マスター データ テーブル、SAP ランドスケープ上の変更とアクティビティを追跡する機能をカバーするように構成されています。
既定の構成では、より多くのログ情報が提供されるため、違反後の調査と拡張ハンティング機能に役立ちます。 ただし、場合によっては、時間の経過と共に構成をカスタマイズする必要があります。特に、ビジネス プロセスは季節によって変動する傾向があるからです。
次の一連のコードを使用して systemconfig.json ファイルを構成し、Microsoft Sentinel に送信されるログを定義します。
詳細については、SAP アプリケーション向け Microsoft Sentinel ソリューションのソリューション ログのリファレンス (パブリック プレビュー) に関する記事を参照してください。
既定のプロファイルを構成する
次のコードは、既定の構成を構成しています。
"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 セキュリティ監査ログを含む最小限のプロファイルを構成します。これは、SAP アプリケーション向け Microsoft Sentinel ソリューションが 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 ログ コネクタの設定
次のコードを Microsoft Sentinel SAP 環境用データ コネクタの systemconfig.json ファイルに追加して、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 サービスベースのログの両方を含む、すべての ABAP ログを Microsoft Sentinel に取り込むには、次の ABAP SAP Control の詳細を構成します。
設定 | 説明 |
---|---|
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 = 警告 - - = エラー |
Java SAP Control インスタンスを構成する
SAP Control Web サービス ログを 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 = 警告 - - = エラー |
ユーザー マスターデータ コレクションの構成
ユーザーとロールの認可についての詳細が格納されたテーブルを直接 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 システムから直接取得されたテーブルの参照」を参照してください。
関連するコンテンツ
詳細については、以下を参照してください: