この記事には、Microsoft Sentinel を使用して SAP 環境に関する正確かつタイムリーなデータ インジェストと監視を確実に行うために役立つトラブルシューティング手順が含まれています。
エージェントレス データ コネクタを使用する場合、ほとんどのトラブルシューティングは SAP Integration Suite で直接行われます。この場合、発生した問題の性質を示すエラーがメッセージ ログに表示されます。
まず、メッセージ処理ログを調べます。 詳細については、 SAP ドキュメントを参照してください。 エラー メッセージは、アクセス許可の不足、接続エラー、およびその他の構成ミスに関する問題を診断するのに役立ちます。
問題に関連するエラーが表示されない場合は、詳細なトラブルシューティングのためにトレース ログを有効にします。 詳細については、 SAP ドキュメントを参照してください。
前提条件を検査する
初期コネクタ構成の実行中にデプロイされるエージェントレス データ コネクタ パッケージには、SAP 管理者が SAP 環境 の構成に関連する問題を診断して修正するのに役立つツールが含まれています。
ツールを実行するには:
統合パッケージを開き、[成果物] タブに移動し、 前提条件チェッカー iflow >Configure を選択します。
チェックする SAP システムにターゲット RFC 宛先を設定します。
SAP システムの場合と同様に、iflow をデプロイします。 たとえば、次のサンプル PowerShell スクリプトを使用して、環境のサンプル プレースホルダー値を変更します。
$cpiEndpoint = "https://my-cpi-uri.it-cpi012-rt.cfapps.eu01-010.hana.ondemand.com" # CPI endpoint URL $credentialsUrl = "https://my-uaa-uri.authentication.eu01.hana.ondemand.com/oauth/token" # SAP authorization server URL $serviceKey = 'sb-12324cd-a1b2-5678-a1b2-1234cd5678ef!g9123|it-rt-my-cpi!h45678' # Process Integration Runtime Service client ID $serviceSecret = '< client secret >' # Your Process Integration Runtime service secret (make sure to use single quotes) $credentials = [Convert]::ToBase64String([Text.Encoding]::ASCII.GetBytes("$serviceKey`:$serviceSecret")) $headers = @{ "Authorization" = "Basic $credentials" "Content-Type" = "application/json" } $authResponse = Invoke-WebRequest -Uri $credentialsUrl"?grant_type=client_credentials" ` -Method Post ` -Headers $headers $token = ($authResponse.Content | ConvertFrom-Json).access_token $path = "/http/checkSAP" $param = "?startTimeUTC=$((Get-Date).AddMinutes(-1).ToString("yyyy-MM-ddTHH:mm:ss"))&endTimeUTC=$((Get-Date).ToString("yyyy-MM-ddTHH:mm:ss"))" $headers = @{ "Authorization" = "Bearer $token" "Content-Type" = "application/json" } $response = Invoke-WebRequest -Uri "$cpiEndpoint$path$param" -Method Get -Headers $headers Write-Host $response.RawContent
Microsoft Sentinel に接続する前に、前提条件チェッカーが正常に実行されていることを確認します。
従来の SAP システムの機能がありません
一部のレガシ SAP システムには、 RFC_READ_TABLE 汎用モジュールに必要な機能が不足している場合があります。 SAP 管理者が SAP ノートの3390051と382318を確認し、それに応じてシステムに修正プログラムを適用していることを確認します。
詳細については、「 SAP Cloud Connector の設定を構成する」を参照してください。
データ コネクタの設定時に "必要な Azure リソースをデプロイする" エラー
Microsoft Sentinel for SAP - エージェントレス データ コネクタを設定する場合は、[ 初期コネクタの構成] > 手順 1: 必要な Azure リソース/SOC エンジニアの自動デプロイをトリガーします。[必要なリソースのデプロイ] を選択すると、" 必要な Azure リソースのデプロイ" エラーまたは同様のエラーが表示されることがあります (エラーは異なる場合があります)。 このエラーは、Entra ID アプリの登録に必要なアクセス許可が不足していることを示している可能性があります。
Entra ID アプリケーション開発者ロール以上を持っていない場合は、このアクセス許可を持つ同僚と協力して、Azure リソースの設定を完了する必要があります。 詳細については、 データ コネクタ エージェントの接続 手順の手順に従ってください。
"最後にルーティングされたアドレス" が見つかりません
最後にルーティングされたアドレス (IP アドレス) が見つからないというエラーがセキュリティ監査ログに表示される場合は、SAP ノート 3566290のガイダンスに従ってください。
不完全な SAP ユーザー マスター データ
SAP ユーザーのマスター データが不完全であるか、 ABAPAuthorizationDetails Microsoft Sentinel テーブルにデータが存在しないというエラーが表示された場合は、次の操作を行います。
- SIAG_ROLE_GET_AUTH SAP 汎用モジュールが SAP ソースシステムに存在することを確認します。
- 関連するソリューションの SAP ノート 3088309のガイダンスに従ってください。
選択したトラブルシューティング手順は、データ コネクタ エージェントが コマンド ライン経由でデプロイされている場合にのみ関連します。 推奨される手順を使用して ポータルからエージェントをデプロイした場合は、ポータルを使用して構成を変更します。
便利な Docker コマンド
SAP 向け Microsoft Sentinel データ コネクタのトラブルシューティングを行う場合、次のコマンドが役に立つ可能性があります。
機能 | コマンド |
---|---|
Docker コンテナーを停止する | docker stop sapcon-[SID] |
Docker コンテナーを起動する | docker start sapcon-[SID] |
Docker システム ログの表示 | docker logs -f sapcon-[SID] |
Docker コンテナーを入力する | docker exec -it sapcon-[SID] bash |
詳細については、 Docker CLI のドキュメントを参照してください。
システム ログを確認する
データ コネクタをインストールまたはリセットした後、システム ログを確認することを強くお勧めします。
次を実行します。
docker logs -f sapcon-[SID]
デバッグ モード印刷を有効/無効にする
この手順は、 コマンド ラインからデータ コネクタ エージェントをデプロイした場合にのみサポートされます。
データ コレクター エージェント コンテナー仮想マシンで、 /opt/sapcon/[SID]/systemconfig.json ファイルを編集します。
[ 全般] セクションが以前に定義されていない場合は定義します。 このセクションでは、
logging_debug = True
を定義してデバッグ モード印刷を有効にするか、logging_debug = False
を定義してそれを無効にします。次に例を示します。
[General] logging_debug = True
ファイルを保存します。
この変更は、ファイルを保存してから約 2 分後に有効になります。 Docker コンテナーを再起動する必要はありません。
すべてのコンテナ―実行ログを表示する
SAP アプリケーション データ コネクタデプロイ用の Microsoft Sentinel ソリューションのコネクタ実行ログは、 VM の /opt/sapcon/[SID]/log/ に格納されます。 ログ ファイル名が OmniLog.log。 ログ ファイルの履歴は保持され、サフィックスは .[number] ( OmniLog.log.1、 OmniLog.log.2 など)。
SAP 向け Microsoft Sentinel データ コネクタの構成ファイルを確認および更新する
この手順は、 コマンド ラインからデータ コネクタ エージェントをデプロイした場合にのみサポートされます。 ポータルを使用してエージェントをデプロイした場合は、引き続きポータルを使用して構成設定を維持および変更します。
コマンド ラインを使用してデプロイした場合は、次の手順を実行します。
VM で、構成ファイル sapcon/[SID]/systemconfig.json を開きます。
必要に応じて構成を更新し、ファイルを保存します。 詳細については、 SAP アプリケーション用の Microsoft Sentinel ソリューション
systemconfig.json
ファイル リファレンスを参照してください。
この変更は、ファイルを保存してから約 2 分後に有効になります。 Docker コンテナーを再起動する必要はありません。
Microsoft Sentinel for SAP データ コネクタをリセットする
次の手順では、コネクタをリセットし、過去 30 分間の SAP ログを再取り込みします。
コネクタを停止します。 次を実行します。
docker stop sapcon-[SID]
/opt/sapcon/[SID] ディレクトリからmetadata.db ファイルを削除します。 次を実行します。
cd /opt/sapcon/<SID> rm metadata.db
注
metadata.db ファイルには、各ログの最後のタイムスタンプが含まれており、重複を防ぐために機能します。
コネクタを再度開始します。 次を実行します。
docker start sapcon-[SID]
完了したら、 必ずシステム ログを確認 してください。
一般的な問題
SAP 向け Microsoft Sentinel データ コネクタとセキュリティ コンテンツの両方をデプロイすると、次のエラーまたは問題が発生する可能性があります。
破損した、または見つからない SAP SDK ファイル
このエラーは、PyRfc でコネクタの起動に失敗した場合、または zip 関連のエラー メッセージが表示された場合に発生することがあります。
- SAP SDK を再インストールします。
- nwrfc750P_8-70002752.zipなど、正しい Linux 64 ビット バージョンであることを確認します。
データ コネクタを手動でインストールした場合は、SDK ファイルを Docker コンテナーにコピーしたことを確認してください。
次を実行します。
docker cp nwrfc750P_8-70002752.zip /sapcon-app/inst/
大規模なシステムに ABAP ランタイム エラーが表示される
この手順は、 コマンド ラインからデータ コネクタ エージェントをデプロイした場合にのみサポートされます。
大規模なシステムに ABAPランタイム エラーが表示される場合は、小さなチャンク サイズを設定してみてください。
/opt/sapcon/[SID]/systemconfig.json ファイルを編集し、[コネクタの構成] セクションで
timechunk = 5
を定義します。次に例を示します。
[Connector Configuration] timechunk = 5
ファイルを保存します。
この変更は、ファイルを保存してから約 2 分後に有効になります。 Docker コンテナーを再起動する必要はありません。
注
timechunk サイズは分単位で定義されます。
監査ログが空か、監査ログが取得されず、特別なエラー メッセージも表示されない
- SAP で監査ログが有効になっているか確認します。
- SM19 トランザクションまたはRSAU_CONFIG トランザクションを確認します。
- 必要に応じてイベントを有効にします。
- コネクタ ログに特別なエラーが表示されることなく、メッセージが SAP SM20 または RSAU_READ_LOGに到着して存在するかどうかを確認します。
キー コンテナー内のワークスペース ID またはキーが正しくない
デプロイ スクリプトに正しくないワークスペース ID またはキーを入力した場合は、Azure Key Vault に格納されている資格情報を更新します。
Azure KeyVault で資格情報を確認した後、コンテナーを再起動します。
docker restart sapcon-[SID]
キー コンテナーの SAP ABAP ユーザー資格情報が正しくない
資格情報を確認し、必要に応じて修正し、Azure Key Vault の ABAPUSER 値と ABAPPASS 値に正しい値を適用します。
次に、コンテナーを再起動します。
docker restart sapcon-[SID]
固定構成で SAP ABAP ユーザー資格情報が正しくない
このセクションは、 コマンド ラインからデータ コネクタ エージェントをデプロイした場合にのみサポートされます。
固定構成とは、パスワードが systemconfig.json 構成ファイルに直接格納される場合です。
資格情報が正しくない場合は、資格情報を確認します。
base64 暗号化を使用して、ユーザーとパスワードを暗号化します。 https://www.base64encode.org/ のようなオンライン暗号化ツールを使用して、資格情報を暗号化することができます。
ABAP (SAP ユーザー) アクセス許可がない
次のようなエラー メッセージが表示される場合: ..バックエンド RFC 承認がありません。SAP の承認とロールが正しく適用されませんでした。
MSFTSEN/SENTINEL_CONNECTOR ロールが変更要求トランスポートの一部としてインポートされ、コネクタ ユーザーに適用されていることを確認します。
SAP トランザクション PFCG を使用して、ロールの生成とユーザー比較プロセスを実行します。
ブックまたはアラートにデータが見つからない
Microsoft Sentinel ブックまたはアラートにデータが見つからない場合は、コンテナー ログ ファイルでエラーが発生せず、SAP 側で Auditlog ポリシーが適切に有効になっていることを確認します。
この手順では 、RSAU_CONFIG_LOG トランザクションを使用します。
詳細については、 SAP ドキュメント と Microsoft Sentinel での SAP HANA 監査ログの収集を参照してください。
特定のログだけでなく、監査ログの "すべての" メッセージの監査を構成することをお勧めします。 通常、インジェスト コストの違いは最小限であり、データは Microsoft Sentinel の検出や侵害後の調査やハンティングに役立ちます。 詳細については、 SAP 監査の構成を参照してください。
SAP 監査ログに IP アドレスまたはトランザクション コード フィールドがない
SAP BASIS 7.5 SP12 以降のバージョンを使用する SAP システムの場合、Microsoft Sentinel では、ABAPAuditLog_CL
および SAPAuditLog
テーブルに追加のフィールドを反映できます。
7.5 SP12 以降の SAP BASIS バージョンを使用しており、SAP 監査ログに IP アドレスまたはトランザクション コードのフィールドがない場合は、データを抽出している SAP システムに、関連する変更要求 (トランスポート) が含まれていることを確認します。 詳細については、「 追加のデータ取得のサポートを構成する (推奨)」を参照してください。
SAP 変更要求が見つからない
必要な SAP 変更要求が見つからないというエラーが表示される場合は、システムに正しい SAP 変更要求がインポートされていることを確認します。 詳細については、「 SAP の前提条件 」および 「Microsoft Sentinel ソリューション用の SAP システムの構成」を参照してください。
SAP テーブルのデータ ログにデータが表示されない
SAP BASIS 7.5 SP12 以降のバージョンを使用する SAP システムの場合、Microsoft Sentinel では、ABAPTableDataLog_CL
テーブルにテーブル データ ログの変更を反映できます。
データが ABAPTableDataLog_CL
テーブルに表示されていない場合は、データを抽出する SAP システムに関連する変更要求 (トランスポート) が含まれていることをご確認ください。 詳細については、「 追加のデータ取得のサポートを構成する (推奨)」を参照してください。
レコードがない/レコードが遅れている
データ コレクター エージェントが動作するには、タイム ゾーン情報が正確である必要があります。 SAP 監査ログと変更ログにレコードがない場合、またはレコードが数時間遅れている場合は、SAP TZCUSTHELP レポートにエラーが表示されるかどうかを確認します。 詳細については、 SAP ノート481835を参照してください。
また、データ コレクター エージェント コンテナーがホストされている仮想マシンのクロックに問題がある可能性があり、VM のクロックが UTC からずれていると、データ収集に影響します。 さらに重要なのは、SAP システム マシンとデータ コレクター エージェント マシンの両方のクロックが一致している必要があることです。
特定のログだけでなく、監査ログの "すべての" メッセージの監査を構成することをお勧めします。 通常、インジェスト コストの違いは最小限であり、データは Microsoft Sentinel の検出や侵害後の調査やハンティングに役立ちます。 詳細については、 SAP 監査の構成を参照してください。
ネットワーク接続の問題
SAP 環境または Microsoft Sentinel へのネットワーク接続の問題が発生している場合は、ネットワーク接続を確認し、データが予想どおり流れていることを確認します。
次のような一般的な問題があります。
Docker コンテナーと SAP ホストの間のファイアウォールによってトラフィックがブロックされている可能性があります。 SAP ホストは、開いている必要がある TCP ポート (32xx、5xx13、および 33xx) を介して通信を受信します。xx は SAP インスタンス番号です。
SAP エージェント ホストから Microsoft Container Registry または Azure への送信通信にはプロキシ構成が必要です。 これは通常、インストールに影響を与え、
HTTP_PROXY
およびHTTPS_PROXY
環境変数を構成する必要があります。 Docker-e
create
/ コマンドにrun
フラグを追加して、コンテナーの作成時に環境変数を Docker コンテナーに取り込むこともできます。
監査ログを取得しようとすると警告が出て失敗する
このセクションは、 コマンド ラインからデータ コネクタ エージェントをデプロイした場合にのみサポートされます。
必要な構成なしで監査ログを取得しようとして、プロセスが警告で失敗した場合は、次のいずれかの方法を使用して SAP Auditlog を取得できることを確認します。
- 以前のバージョンで XAL と呼ばれる互換モードを使用する
- 最近修正プログラムが適用されていないバージョンを使用する
- Microsoft Sentinel データ コネクタ エージェントへの接続を変更しない。 詳細については、「 Microsoft Sentinel ソリューション用に SAP システムを構成する」を参照してください。
システムは必要に応じて互換性モードに自動的に切り替わりますが、手動で切り替えることが必要な場合があります。 互換性モードに手動で切り替えるには:
/opt/sapcon/[SID]/systemconfig.json ファイルを編集します。
[ コネクタの構成] セクションで、次の内容を定義します。
auditlogforcexal = True
次に例を示します。
[Connector Configuration] auditlogforcexal = True
ファイルを保存します。
この変更は、ファイルを保存してから約 2 分後に有効になります。 Docker コンテナーを再起動する必要はありません。
SAPCONTROL または JAVA サブシステムが接続できない
OS ユーザーが有効であり、ターゲットの SAP システムで次のコマンドを実行できるかどうか確認します。
sapcontrol -nr <SID> -function GetSystemInstanceList
SAPCONTROL または JAVA サブシステムがタイムゾーン関連のエラー メッセージで失敗する
SAPCONTROL または JAVA サブシステムがタイムゾーン関連のエラー メッセージで失敗する場合は、SAP サーバーへの構成とネットワーク アクセス ('Etc/NZST' を確認してください)、標準のタイムゾーン コードを使用していることを確認してください。
たとえば、javatz = GMT+12
または abaptz = GMT-3**
を使用します。
初期読み込み後に監査ログ データが取り込まれない
RSAU_READ_LOADトランザクションまたは SM200 トランザクションで表示される SAP 監査ログ データが初期読み込み後に Microsoft Sentinel に取り込まれていない場合は、SAP システムと SAP ホスト オペレーティング システムの構成が間違っている可能性があります。
- 初期ローディングは、Microsoft Sentinel for SAP データ コネクタの新規インストール後、または metadata.db ファイルが削除された後に取り込まれます。
- STZAC トランザクションで SAP システムのタイムゾーンが CET に設定されているが、SAP ホスト オペレーティング システムのタイム ゾーンが UTC に設定されている場合、構成ミスの例が考えられます。
構成の誤りを確認するには、トランザクション SE38 で RSDBTIME レポートを実行します。 SAP システムと SAP ホスト オペレーティング システムの間で不一致が見つかった場合:
Docker コンテナーを停止します。 実行
docker stop sapcon-[SID]
/opt/sapcon/[SID] ディレクトリからmetadata.db ファイルを削除します。 次を実行します。
rm /opt/sapcon/[SID]/metadata.db
SAP システムと SAP ホスト オペレーティング システムが、同じタイム ゾーンなど、一致する設定になるように更新します。 詳細については、 SAP コミュニティ Wiki を参照してください。
もう一度コンテナーを起動します。 次を実行します。
docker start sapcon-[SID]
その他の予期せぬ問題
この記事に記載されていない予期せぬ問題がある場合は、次のステップを試してください。
- コネクタをリセットしてログを再読み込みする
- コネクタを 最新バージョンにアップグレードします。
ヒント
大きな構成変更を行った後には、コネクタをリセットし、アップグレードが最新であることを確認することをお勧めします。
関連するコンテンツ
SAP 向け Microsoft Sentinel ソリューション アプリケーションの詳細については、以下を参照してください。
- SAP アプリケーション用の Microsoft Sentinel ソリューションをデプロイする
- SAP アプリケーション用の Microsoft Sentinel ソリューションをデプロイするための前提条件
- Microsoft Sentinel ソリューション用に SAP システムを構成する
- コンテンツ ハブからソリューション コンテンツをデプロイする
参照ファイル:
- SAP アプリケーション向け Microsoft Sentinel ソリューション データ リファレンス
- SAP アプリケーション向け Microsoft Sentinel ソリューション: セキュリティ コンテンツ リファレンス
詳細については、 Microsoft Sentinel ソリューションを参照してください。