エキスパートの構成オプション、オンプレミス デプロイ、SAPControl のログ ソース

この記事では、Microsoft Sentinelの SAP環境用 データ コネクタをエキスパートまたはカスタム プロセスにデプロイする方法について説明します。これには、オンプレミスのマシンと Azure Key Vault を使用した資格情報の保存などが含まれます。

注意

Microsoft Sentinel のSAP環境用 データ コネクタをデプロイするための、既定かつ最も推奨されるプロセスは、Azure VM を使用することによってです。 この記事は、上級ユーザーを対象にしています。

前提条件

Microsoft Sentinelの SAP環境用 データ コネクタをデプロイするための基本的な前提条件は、デプロイ方法に関係なく同じです。

始める前に、メインの SAP データ コネクタ前提条件説明書に記載されている前提条件にシステムが準拠していることを確認してください。

Azure キー コンテナーを作成する

SAP® アプリケーション用の Microsoft Sentinel ソリューションのデータ コネクタ専用にできる Azure キー コンテナーを作成します。

次のコマンドを実行して、Azure キー コンテナーを作成し、Azure サービス プリンシパルにアクセスを許可します。

kvgp=<KVResourceGroup>

kvname=<keyvaultname>

spname=<sp-name>

kvname=<keyvaultname>
# Optional when Azure MI not enabled - Create sp user for AZ cli connection, save details for env.list file
az ad sp create-for-rbac –name $spname --role Contributor --scopes /subscriptions/<subscription_id>

SpID=$(az ad sp list –display-name $spname –query “[].appId” --output tsv

#Create key vault
az keyvault create \
  --name $kvname \
  --resource-group $kvgp
  
# Add access to SP
az keyvault set-policy --name $kvname --resource-group $kvgp --object-id $spID --secret-permissions get list set

詳細については、「クイック スタート: Azure CLI を使用してキー コンテナーを作成する」を参照してください。

Azure Key Vault シークレットを追加する

Azure Key Vault シークレットを追加するには、自身のシステム 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

詳細については、az keyvault secret に関する CLI のドキュメントを参照してください。

エキスパートまたはカスタム インストールを実行する

この手順では、オンプレミスでのインストール時など、エキスパートまたはカスタム インストールを使用して SAP データ コネクタ用のMicrosoft Sentinelをデプロイする方法について説明します。

SAP 資格情報を使用してキー コンテナーを準備した後に、この手順を実行することをお勧めします。

Microsoft Sentinel SAP環境用 データ コネクタをデプロイする

  1. オンプレミスのマシンで、[SAP Launchpad サイト][SAP NW RFC SDK][SAP NW RFC SDK 7.50][nwrfc750X_X-xxxxxxx.zip] から最新の SAP NW RFC SDK をダウンロードします。

    Note

    SDK にアクセスするには、SAP ユーザーのサインイン情報が必要です。また、ご使用のオペレーティング システムに対応する SDK をダウンロードする必要があります。

    必ず LINUX ON X86_64 オプションを選択してください。

  2. オンプレミスのマシン上にわかりやすい名前の新しいフォルダーを作成し、SDK の zip ファイルを新しいフォルダーにコピーします。

  3. オンプレミスのマシンに Microsoft Sentinel ソリューションの GitHub リポジトリをクローンし、SAP® アプリケーション用の Microsoft Sentinel ソリューションの systemconfig.ini ファイルをその新しいフォルダーにコピーします。

    次に例を示します。

    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.ini 
    cp <**nwrfc750X_X-xxxxxxx.zip**> /home/$(pwd)/sapcon/<sap-sid>/
    
  4. 埋め込みコメントを参考にして、必要に応じて systemconfig.ini ファイルを編集します。 詳細については、「Microsoft SentinelSAP環境用 データ コネクタを手動で構成する」を参照してください。

    構成をテストするために、ユーザーとパスワードを systemconfig.ini 構成ファイルに直接追加したい場合があるかもしれません。 認証情報の保存には Azure Key Vault を使用することをお勧めしますが、env.list ファイルや Docker Secrets を使用することもできますし、systemconfig.ini ファイルに直接認証情報を追加することもできます。

  5. systemconfig.ini ファイルの指示を使用して、Microsoft Sentinel に取り込むログを定義します。 例については、「Microsoft Sentinel に送信される SAP ログを定義する」を参照してください。

  6. systemconfig.ini ファイルの指示に従って、次の構成を定義します。

    • 監査ログにユーザーのメール アドレスを含めるかどうか
    • 失敗した API 呼び出しを再試行するかどうか
    • cexal 監査ログを含めるかどうか
    • 特に大規模なデータ抽出の際に、データ抽出の間に一定時間待機するかどうか

    詳細については、SAL ログ コネクタの構成に関するセクションを参照してください。

  7. 更新した systemconfig.ini ファイルをマシンの sapcon ディレクトリに保存します。

  8. 資格情報として env.list ファイルを使用することを選択した場合は、必要な資格情報を持つ一時的な env.list ファイルを作成します。 Docker コンテナーが正常に動作したら、このファイルを必ず削除してください。

    注意

    以下のスクリプトでは、各 Docker コンテナーが特定の ABAP システムに接続しています。 実際の環境に合わせて、必要に応じてスクリプトを変更してください。

    次を実行します。

    ##############################################################
    # 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 SENTINEL WORKSPACE id>
    LOGWSPUBLICKEY=<SET 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>
    ##############################################################
    
  9. 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>
    
  10. Docker コンテナーが正しく実行されていることを確認します。 次を実行します。

    docker logs –f sapcon-[SID]
    
  11. SAP® アプリケーション用の Microsoft Sentinel ソリューションのデプロイに進みます。

    ソリューションをデプロイすると、SAP データ コネクタが Microsoft Sentinel に表示されるようになり、SAP ブックと分析ルールがデプロイされます。 完了したら、SAP ウォッチリストを手動で追加してカスタマイズします。

    詳細については、「コンテンツ ハブから SAP applications® 向け Microsoft Sentinel ソリューションをデプロイする」を参照してください。

Microsoft Sentinel SAP環境用 データ コネクタを手動で構成する

Microsoft Sentinel の SAP用 データ コネクタは、デプロイプロシージャの一部として SAP データ コネクタ マシンにクローンした systemconfig.ini ファイルで構成されます。

次のコードは、systemconfig.ini ファイルのサンプルを示しています。

[Secrets Source]
secrets = '<DOCKER_RUNTIME/AZURE_KEY_VAULT/DOCKER_SECRETS/DOCKER_FIXED>'
keyvault = '<SET_YOUR_AZURE_KEYVAULT>'
intprefix = '<SET_YOUR_PREFIX>'

[ABAP Central Instance]
##############################################################
# Define the following values according to your server configuration.
ashost = <SET_YOUR_APPLICATION_SERVER_HOST>
mshost = <SET_YOUR_MESSAGE_SERVER_HOST> - #In case different then App
##############################################################
group = <SET_YOUR_LOGON_GROUP>
msserv = <SET_YOUR_MS_SERVICE> - #Required only if the message server service is not defined as sapms<SYSID> in /etc/services
sysnr = <SET_YOUR_SYS_NUMBER>
user = <SET_YOUR_USER>
##############################################################
# Enter your password OR your X509 SNC parameters
passwd = <SET_YOUR_PASSWORD>
snc_partnername = <SET_YOUR_SNC_PARTNER_NAME>
snc_lib = <SET_YOUR_SNC_LIBRARY_PATH>
x509cert = <SET_YOUR_X509_CERTIFICATE>
##############################################################
sysid = <SET_YOUR_SYSTEM_ID>
client = <SET_YOUR_CLIENT>

[Azure Credentials]
loganalyticswsid = <SET_YOUR_LOG_ANALYTICS_WORKSPACE_ID>
publickey = <SET_YOUR_PUBLIC_KEY>

[File Extraction ABAP]
osuser = <SET_YOUR_SAPADM_LIKE_USER>
##############################################################
# Enter your password OR your X509 SNC parameters
ospasswd = <SET_YOUR_SAPADM_PASS>
x509pkicert = <SET_YOUR_X509_PKI_CERTIFICATE>
##############################################################
appserver = <SET_YOUR_SAPCTRL_SERVER IP OR FQDN>
instance = <SET_YOUR_SAP_INSTANCE NUMBER, example 10>
abapseverity = <SET_ABAP_SEVERITY 0 = All logs ; 1 = Warning ; 2 = Error>
abaptz = <SET_ABAP_TZ --Use ONLY GMT FORMAT-- example - For OS Timezone = NZST use abaptz = GMT+12>

[File Extraction JAVA]
javaosuser = <SET_YOUR_JAVAADM_LIKE_USER>
##############################################################
# Enter your password OR your X509 SNC parameters
javaospasswd = <SET_YOUR_JAVAADM_PASS>
javax509pkicert = <SET_YOUR_X509_PKI_CERTIFICATE>
##############################################################
javaappserver = <SET_YOUR_JAVA_SAPCTRL_SERVER IP ADDRESS OR FQDN>
javainstance = <SET_YOUR_JAVA_SAP_INSTANCE for example 10>
javaseverity = <SET_JAVA_SEVERITY  0 = All logs ; 1 = Warning ; 2 = Error>
javatz = <SET_JAVA_TZ --Use ONLY GMT FORMAT-- example - For OS Timezone = NZST use javatz = GMT+12>

Microsoft Sentinel に送信される SAP ログを定義する

SAP® アプリケーション用の Microsoft Sentinel ソリューションの systemconfig.ini ファイルに次のコードを追加して、Microsoft Sentinel に送信するログを定義します。

詳細については、SAP® アプリケーション用の Microsoft Sentinel ソリューションのソリューション ログ リファレンス (パブリック プレビュー) に関する記事を参照してください。

##############################################################
# Enter True OR False for each log to send those logs to Microsoft Sentinel
[Logs Activation Status]
ABAPAuditLog = True
ABAPJobLog = True
ABAPSpoolLog = True
ABAPSpoolOutputLog = True
ABAPChangeDocsLog = True
ABAPAppLog = True
ABAPWorkflowLog = True
ABAPCRLog = True
ABAPTableDataLog = False
# ABAP SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
ABAPFilesLogs = False
SysLog = False
ICM = False
WP = False
GW = False
# Java SAP Control Logs - Retrieved by using SAP Conntrol interface and OS Login
JAVAFilesLogs = False
##############################################################

SAL ログ コネクタの設定

次のコードを Microsoft Sentinel SAP 環境用データ コネクタの systemconfig.ini ファイルに追加して、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 に取り込む最小限の包括的な重大度レベルを入力します。 次の値が含まれます。

- - = すべてのログ
- - = 警告
- - = エラー

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 に取り込む最小限の包括的な重大度レベルを入力します。 次の値が含まれます。

- - = すべてのログ
- - = 警告
- - = エラー

ユーザー マスターデータ コレクションの構成

ユーザーとロールの認可についての詳細が格納されたテーブルを直接 SAP システムから取り込むには、テーブルごとに True/False ステートメントを使用して systemconfig.ini ファイルを構成します。

次に例を示します。

[ABAP Table Selector] 
USR01_FULL = True
USR02_FULL = True
USR02_INCREMENTAL = True
UST04_FULL = True
AGR_USERS_FULL = True
AGR_USERS_INCREMENTAL = True
USR21_FULL = True
AGR_1251_FULL = True
ADR6_FULL = True
AGR_TCODES_FULL = True 
DEVACCESS_FULL = True
AGR_DEFINE_FULL = True
AGR_DEFINE_INCREMENTAL = True
AGR_PROF_FULL = True
PAHI_FULL = True

詳細については、「SAP システムから直接取得されるテーブル」を参照してください。

次のステップ

SAP データ コネクタをインストールしたら、SAP 関連のセキュリティ コンテンツを追加できます。

詳細については、SAP ソリューションを配置する方法に関するセクションを参照してください。

詳細については、次を参照してください。