SAP® アプリケーション用の Microsoft Sentinel ソリューションのデプロイに関するトラブルシューティング

便利な Docker コマンド

Microsoft Sentinel for SAP データ コネクタのトラブルシューティングを行うときに、次のコマンドが役に立つ場合があります。

機能 コマンド
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]

デバッグ モード印刷を有効/無効にする

デバッグ モード印刷を有効にするには:

  1. 仮想マシンで、/opt/sapcon/[SID]/systemconfig.ini ファイルを編集します。

  2. [General] セクションが以前に定義されていない場合は定義します。 このセクションで、logging_debug = True を定義します。

    次に例を示します。

    [General]
    logging_debug = True
    
  3. ファイルを保存します。

この変更は、ファイルを保存してから 2 分後に有効になります。 Docker コンテナーを再起動する必要はありません。

デバッグ モード印刷を無効にするには:

  1. 仮想マシンで、/opt/sapcon/[SID]/systemconfig.ini ファイルを編集します。

  2. [General] セクションで、logging_debug = False を定義します。

    次に例を示します。

    [General]
    logging_debug = False
    
  3. ファイルを保存します。

この変更は、ファイルを保存してから 2 分後に有効になります。 Docker コンテナーを再起動する必要はありません。

すべてのコンテナ―実行ログを表示する

SAP® アプリケーション用の Microsoft Sentinel ソリューションのデータ コネクタ デプロイのコネクタ実行ログは、VM 上の /opt/sapcon/[SID]/log/ に格納されます。 ログ ファイル名は OmniLog.log です。 OmniLog.log.1OmniLog.log.2 などのように .[number] という接尾辞が付いたログファイルの履歴が保持されます

Microsoft Sentinel for SAP データ コネクタの構成を確認および更新する

Microsoft Sentinel for SAP データ コネクタの構成ファイルを確認し、手動で更新する場合は、次の手順を実行します。

  1. VM 上で、次の構成ファイルを開きます。

    • sapcon/[SID]/systemconfig.json: 2023 年 6 月 22 日以降にリリースされたエージェント バージョンの場合。
    • sapcon/[SID]/systemconfig.ini: 2023 年 6 月 22 日よりも前にリリースされたエージェント バージョンの場合。
  2. 必要に応じて構成を更新し、ファイルを保存します。

この変更は、ファイルを保存してから 2 分後に有効になります。 Docker コンテナーを再起動する必要はありません。

Microsoft Sentinel for SAP データ コネクタをリセットする

次の手順では、コネクタをリセットし、過去 30 分間の SAP ログを再取り込みします。

  1. コネクタを停止します。 次を実行します。

    docker stop sapcon-[SID]
    
  2. /opt/sapcon/[SID] ディレクトリから、metadata.db ファイルを削除します。 次を実行します。

    cd /opt/sapcon/<SID>
    rm metadata.db
    

    注意

    metadata.db ファイルには各ログの最後のタイムスタンプが含まれ、重複を防止します。

  3. コネクタを再度開始します。 次を実行します。

    docker start sapcon-[SID]
    

作業を終えたら、必ずシステム ログを確認します

SAP 監査ログに IP アドレスまたはトランザクション コード フィールドがない

このソリューションにより、SAP BASIS 7.5 SP12 以降のバージョンを持つ SAP システムは、 ABAPAuditLog_CLSAPAuditLog テーブルに追加のフィールドを反映できます。

7.5 SP12 以降の SAP BASIS バージョンを使用していて、SAP 監査ログに IP アドレスまたはトランザクション コードのフィールドが欠けている場合、データを抽出している SAP システムに関連する変更要求(トランスポート)が含まれていることをご確認ください。 詳細については、前提条件の「SAP から追加情報を取得する」セクションをご覧ください。

SAP テーブルのデータ ログにデータが表示されない

このソリューションにより、SAP BASIS 7.5 SP12 以降のバージョンを持つ SAP システムは、ABAPTableDataLog_CL テーブルにテーブル データ ログの変更を反映できます。

データが ABAPTableDataLog_CL テーブルに表示されていない場合は、データを抽出する SAP システムに関連する変更要求 (トランスポート) が含まれていることをご確認ください。 詳細については、前提条件の「SAP から追加情報を取得する」セクションをご覧ください。

一般的な問題

Microsoft Sentinel for SAP データ コネクタとセキュリティ コンテンツの両方をデプロイすると、次のエラーまたは問題が発生する可能性があります。

破損した、または見つからない SAP SDK ファイル

このエラーは、PyRfc でコネクタの起動に失敗した場合、または zip 関連のエラー メッセージが表示された場合に発生することがあります。

  1. SAP SDK を再インストールします。
  2. 正しい Linux 64 ビット バージョンを使用していることを確認します。 現時点において、リリース ファイル名は、nwrfc750P_8-70002752.zip です。

データ コネクタを手動でインストールした場合は、SDK ファイルを Docker コンテナーにコピーしたことを確認してください。

次を実行します。

Docker cp SDK by running docker cp nwrfc750P_8-70002752.zip /sapcon-app/inst/

大規模なシステムに ABAP ランタイム エラーが表示される

大規模なシステムに ABAPランタイム エラーが表示される場合は、小さなチャンク サイズを設定してみてください。

  1. /opt/sapcon/[SID]/systemconfig.ini ファイルを編集し、[Connector Configuration] セクションで timechunk = 5 を定義します。

    次に例を示します。

    [Connector Configuration]
    timechunk = 5
    
  2. ファイルを保存します。

この変更は、ファイルを保存してから 2 分後に有効になります。 Docker コンテナーを再起動する必要はありません。

注意

timechunk のサイズは、分単位で定義されます。

監査ログが空か、監査ログが取得されず、特別なエラー メッセージも表示されない

  1. SAP で監査ログが有効になっているか確認します。
  2. SM19 または RSAU_CONFIG トランザクションを確認します。
  3. 必要に応じてイベントを有効にします。
  4. コネクタ ログに特別なエラーが表示されずに、SAP SM20 または RSAU_READ_LOG にメッセージが到着し、存在していることを確認します。

Microsoft Sentinel ワークスペース ID またはキーが正しくない

デプロイ スクリプトに間違ったワークスペース ID またはキーを入力した場合は、Azure Key Vault に格納されている資格情報を更新します。

Azure KeyVault で資格情報を確認した後、コンテナーを再起動します。

docker restart sapcon-[SID]

固定構成で SAP ABAP ユーザー資格情報が正しくない

固定構成では、パスワードが systemconfig.ini 構成ファイルに直接格納されます。

資格情報が正しくない場合は、資格情報を確認します。

base64 暗号化を使用して、ユーザーとパスワードを暗号化します。 https://www.base64encode.org/ のようなオンライン暗号化ツールを使用して、資格情報を暗号化することができます。

キー コンテナーの SAP ABAP ユーザー資格情報が正しくない

資格情報を確認し、必要に応じて修正して、Azure Key Vault の ABAPUSERABAPPASS の値に正しい値を適用します。

次に、コンテナーを再起動します。

docker restart sapcon-[SID]

ABAP (SAP ユーザー) アクセス許可がない

"..バックエンド RFC 承認がありません..." のようなエラー メッセージが表示される場合には、SAP の承認とロールが正しく適用されていません。

  1. 変更要求転送の一部として MSFTSEN/SENTINEL_CONNECTOR ロールがインポートされ、コネクタ ユーザーに適用されていることを確認してください。

  2. SAP トランザクション PFCG を使用して、ロールの生成とユーザー比較プロセスを実行します。

ブックまたはアラートにデータが見つからない

Microsoft Sentinel ブックまたはアラートにデータがない場合は、Auditlog ポリシーが SAP 側で正しく有効になっており、ログ ファイルにエラーがないことを確認します。

この手順には、RSAU_CONFIG_LOG トランザクションを使用します。

SAP 変更要求が見つからない

必要な SAP 変更要求が見つからないというエラーが表示される場合は、システムに正しい SAP 変更要求がインポートされていることを確認します。

詳細については、「SAP 環境の検証手順」を参照してください。

レコードがない/レコードが遅れている

エージェントが動作するには、タイム ゾーン情報が正しいことが必要です。 SAP 監査ログと変更ログにレコードがない場合、またはレコードが常に数時間遅れている場合は、SAP レポート TZCUSTHELP がエラーを示しているかどうかを調べてください。 詳細については、SAP Note 481835 を参照してください。 加えて、SAP® アプリケーション向け Microsoft Sentinel ソリューションのエージェントがホストされている VM 上の時計に問題が生じている可能性があります。 VM の時計と UTC との不一致は、データ収集に影響します。 さらに重要なのは、SAP VM の時計と Sentinel エージェントの VM の時計が一致する必要がある点です。

ネットワーク接続の問題

SAP 環境または Microsoft Sentinel へのネットワーク接続の問題が発生している場合は、ネットワーク接続を確認し、データが予想どおり流れていることを確認します。

次のような一般的な問題があります。

  • Docker コンテナーと SAP ホストの間のファイアウォールによってトラフィックがブロックされている可能性があります。 SAP ホストでは、開いている必要がある 32xx5xx1333xx (xx は SAP インスタンス番号) の TCP ポートを介して通信を受信します。

  • SAP ホストから Microsoft Container Registry または Azure への送信通信にはプロキシ構成が必要です。 これは通常、インストールに影響を与え、HTTP_PROXY および HTTPS_PROXY 環境変数を構成する必要があります。 Docker create / run コマンドに -e フラグを追加して、コンテナーの作成時に環境変数を Docker コンテナーに取り込むこともできます。

その他の予期せぬ問題

この記事に記載されていない予期せぬ問題がある場合は、次のステップを試してください。

ヒント

大きな構成変更を行った後には、コネクタをリセットし、アップグレードが最新であることを確認することをお勧めします。

監査ログを取得しようとすると警告が出て失敗する

必要な変更要求がデプロイされていない状態か、古い、またはパッチが未適用のバージョンで監査ログを取得しようとして、警告が出てプロセスが失敗した場合は、次のいずれかの方法を使用して SAP 監査ログを取得できることを確認してください。

  • 古いバージョンで XAL という互換性モードを使用する
  • 最近修正プログラムが適用されていないバージョンを使用する
  • 必要な変更要求がインストールされていない状態で

システムは必要に応じて互換性モードに自動的に切り替わりますが、手動で切り替える必要がある場合があります。 互換性モードに手動で切り替えるには:

  1. /opt/sapcon/[SID]/systemconfig.ini ファイルを編集する

  2. [Connector Configuration] セクションで、auditlogforcexal = True を定義します。

    次に例を示します。

    [Connector Configuration]
    auditlogforcexal = True
    
  3. ファイルを保存します。

この変更は、ファイルを保存してから 2 分後に有効になります。 Docker コンテナーを再起動する必要はありません。

SAPCONTROL または JAVA サブシステムが接続できない

OS ユーザーが有効であり、ターゲットの SAP システムで次のコマンドを実行できるかどうか確認します。

sapcontrol -nr <SID> -function GetSystemInstanceList

SAPCONTROL または JAVA サブシステムが、「SAP サーバー 'Etc/NZST' の構成とネットワーク アクセスを確認してください」のようなタイムゾーン関連のエラー メッセージが表示されて失敗する場合には、標準のタイムゾーン コードを使用しているかどうか確認します。

たとえば、javatz = GMT+12 または abaptz = GMT-3** を使用します。

変更要求転送を SAP にインポートできない

必要な SAP ログ変更要求をインポートできず、無効なコンポーネント バージョンに関するエラーが表示される場合には、変更要求をインポートする際に ignore invalid component version を追加します。

初期読み込み後に監査ログ データが取り込まれない

RSAU_READ_LOAD または SM200 のいずれかのトランザクションに表示される SAP 監査ログ データが、初期読み込み後に Microsoft Sentinel に取り込まれない場合は、SAP システムと SAP ホスト オペレーティング システムの構成が間違っている可能性があります。

  • 初期読み込みは、Microsoft Sentinel for SAP データ コネクタの新規インストール後、または metadata.db ファイルが削除された後に取り込まれます。
  • 誤った構成の例として、STZAC トランザクション内で SAP システムのタイムゾーンが CET に設定されているのに、SAP ホスト オペレーティング システムのタイム ゾーンが UTC に設定されている場合があります。

構成の誤りを確認するには、トランザクション SE38RSDBTIME レポートを実行します。 SAP システムと SAP ホスト オペレーティング システムの間で不一致が見つかった場合:

  1. Docker コンテナーを停止します。 実行

    docker stop sapcon-[SID]
    
  2. /opt/sapcon/[SID] ディレクトリから、metadata.db ファイルを削除します。 次を実行します。

    rm /opt/sapcon/[SID]/metadata.db
    
  3. SAP システムと SAP ホスト オペレーティング システムを、同じタイム ゾーンなどの一致する設定に更新します。 詳細については、SAP コミュニティの Wiki を参照してください。

  4. もう一度コンテナーを起動します。 実行 (Run):

    docker start sapcon-[SID]
    

SAP 監査ログに IP アドレスまたはトランザクション コード フィールドがない

このソリューションでは、SAP システムの SAP BASIS のバージョンが 7.5 SP12 以上の場合に追加フィールドを ABAPAuditLog_CL テーブルと SAPAuditLog テーブルに反映できます。 使用している SAP BASIS のバージョンが 7.5 SP12 以上の場合に、IP アドレスまたはトランザクション コードのフィールドが SAP 監査ログに存在しないときは、データの抽出元である SAP システムの中に、関連する変更依頼 (移送) があることを確認してください。 詳細については、「SAP から追加情報を取得する (省略可能)」を参照してください。

SAP テーブルのデータ ログにデータが表示されない

このソリューションでは、SAP システムの SAP BASIS のバージョンが 7.5 SP12 以上の場合にテーブル データ ログの変更を ABAPTableDataLog_CL テーブルに反映できます。 ABAPTableDataLog_CL にデータがない場合は、データの抽出元である SAP システムの中に関連する変更依頼 (移送) があることを確認してください。 詳細については、「SAP から追加情報を取得する (省略可能)」を参照してください。

次のステップ

SAP® 向け Microsoft Sentinel ソリューション アプリケーションについて詳しくは、以下を参照してください。

参照ファイル:

詳細については、Microsoft Sentinel ソリューションに関する記事を参照してください。