SNC を使用して Microsoft Sentinel for SAP データ コネクタをデプロイする

この記事では、セキュリティで保護された接続を介して SAP NetWeaver および SAP ABAP ログを取り込むために、Secure Network Communications (SNC) を使用して Microsoft Sentinel for SAP データ コネクタをデプロイする方法について説明します。

SAP データ コネクタ エージェントでは、通常、リモート関数呼び出し (RFC) 接続を使用して SAP ABAP サーバーに接続し、認証にはユーザー名とパスワードを使用します。

ただし、環境によっては、暗号化されたチャネルを介して接続し、環境によっては、認証にクライアント証明書を使用することが必要な場合があります。 このような場合は、SAP の SNC を使用して、データ コネクタを安全に接続できます。 この記事で説明されているように、手順を完了します。

前提条件

SNC を使用して Microsoft Sentinel for SAP データ コネクタをデプロイするには、次のものが必要です:

  • SAP 暗号化ライブラリ
  • ネットワーク接続。 SNC では、ポート 48 xx (xx は SAP インスタンス番号) を使用して ABAP サーバーに接続します。
  • SNC 認証をサポートするように構成された SAP サーバー。
  • ユーザー認証用の自己署名またはエンタープライズ証明機関 (CA) によって発行された証明書。

Note

この記事は、SNC を構成するためのサンプル ケースについて説明します。 運用環境では、SAP 管理者に相談してデプロイ計画を作成することを強くお勧めします。

サーバー証明書をエクスポートする

まず、サーバー証明書をエクスポートします:

  1. SAP クライアントにサインインし、STRUST トランザクションを実行します。

  2. 左側のウィンドウで、[SNC SAPCryptolib] に移動し、セクションを展開します。

  3. システムを選択し、[件名] の値を選択します。

    [証明書] セクションにサーバー証明書の情報が表示されます。

  4. [証明書のエクスポート] を選択します。

    Screenshot that shows how to export a server certificate.

  5. [証明書のエクスポート] ダイアログで、次の操作を行います:

    1. ファイル形式の場合は、[Base64] を選択します。

    2. [ファイル パス] の横にある二重ボックス アイコンを選択します。

    3. 証明書のエクスポート先のファイル名を選択します。

    4. 緑色のチェックマークを選択して証明書をエクスポートします。

証明書をインポートする

このセクションでは、証明書をインポートして ABAP サーバーによって信頼されるようにする方法について説明します。 SAP システムにどの証明書をインポートする必要があるかを把握することが重要です。 SAP システムにインポートする必要があるのは、証明書の公開キーのみです。

  • ユーザー証明書が自己署名のものである場合: ユーザー証明書をインポートします。

  • ユーザー証明書がエンタープライズ CA 発行のものである場合: エンタープライズ CA 証明書をインポートします。 ルートと下位の両方の CA サーバーが使用されている場合は、ルートと下位の両方の CA 公開証明書をインポートします。

証明書をインポートするには:

  1. STRUST トランザクションを実行します。

  2. [Display<->Change] (表示 <-> 変更) を選択します。

  3. [証明書のインポート] を選択します。

  4. [証明書のインポート] ダイアログで、次の操作を行います:

    1. [ファイル パス] の横にあるダブル ボックス アイコンを選択し、証明書に移動します。

    2. 証明書が含まれているファイル (公開キーのみ) に移動し、緑色のチェックマークを選択して証明書をインポートします。

      証明書の情報が [証明書] セクションに表示されます。

    3. [Add to Certificate List] (証明書一覧に追加) を選択します。

      証明書が [証明書の一覧] セクションに表示されます。

証明書をユーザー アカウントに関連付ける

証明書をユーザー アカウントに関連付けるには:

  1. SM30 トランザクションを実行します。

  2. [テーブル/ビュー] で、「USRACLEXT」と入力し、[更新] を選択します。

  3. 出力を確認し、ターゲット ユーザーに既に関連付けられた SNC 名があるかどうかを確認します。 ユーザーに SNC 名が関連付けられていない場合は、[新しいエントリ] を選択します。

    Screenshot that shows how to create a new entry in the USERACLEXT table.

  4. [ユーザー] に、ユーザーのユーザー名を入力します。 [SNC 名] に、ユーザーの証明書のサブジェクト名の前に「p:」を入力し、[保存] を選択します。

    Screenshot that shows how to create a new user in USERACLEXT table.

証明書を使用してログオン権限を付与する

ログオン権限を付与するには:

  1. SM30 トランザクションを実行します。

  2. [テーブル/ビュー] で、「VSNCSYSACL 」と入力し、[保守] を選択します。

  3. 情報プロンプトが表示されたら、テーブルがクロス クライアントであることを確認します。

  4. [作業領域の決定: エントリ] で、[ACL エントリの種類] に 「E」と入力し、緑色のチェックマークを選択します。

  5. 出力を確認し、ターゲット ユーザーに既に関連付けられた SNC 名があるかどうかを確認します。 ユーザーに SNC 名が関連付けられていない場合は、[新しいエントリ] を選択します。

    Screenshot that shows how to create a new entry in the VSNCSYSACL table.

  6. システム ID、および p: というプレフィックスを付けたユーザー証明書のサブジェクト名を入力します。

    Screenshot that shows how to create a new user in the VSNCSYSACL table.

  7. [アクティブ化された RFC のエントリ][アクティブ化された証明書のエントリ] のチェック ボックスがオンになっていることを確認し、[保存] を選択します。

ABAP サービス プロバイダーのユーザーを外部ユーザー ID にマップする

ABAP サービス プロバイダー ユーザーを外部ユーザー ID にマップするには:

  1. SM30 トランザクションを実行します。

  2. [テーブル/ビュー] で、「VUSREXTID」と入力し、[保守] を選択します。

  3. [作業領域の決定: エントリ] で、DN ID タイプを [作業領域] として選択します。

  4. 次の値を入力します。

    • [外部 ID] に「CN=SentinelC=US」と入力します。
    • Seq の場合。なし、「000」と入力します。
    • [ユーザー] に「SENTINEL」と入力します。
  5. [保存] を選択し、[入力] を選択します。

    Screenshot that shows how to set up the SAP VUSREXTID table.

コンテナーを設定する

Note

UI を使用して SAP データ コネクタ エージェント コンテナーを設定する場合は、このセクションで説明する手順を完了しないでください。 代わりに、コネクタ ページで引き続きコネクタを設定します。

コンテナーを設定するには:

  1. コンテナーを作成するシステムに、libsapcrypto.sosapgenpse ファイルを転送します。

  2. コンテナーを作成するシステムに、クライアント証明書 (秘密キーと公開キーの両方) を転送します。

    クライアント証明書とキーの可能な形式は、.p12.pfx、または Base-64 .crt および .key です。

  3. コンテナーを作成するシステムに、サーバー証明書 (公開キーのみ) を転送します。

    サーバー証明書は Base-64 .crt 形式でなければなりません。

  4. クライアント証明書がエンタープライズ証明機関によって発行された場合は、コンテナーを作成するシステムに、発行元 CA とルート CA の証明書を転送します。

  5. Microsoft Sentinel GitHub リポジトリから Kickstart スクリプトを取得します:

    wget https://raw.githubusercontent.com/Azure/Azure-Sentinel/master/Solutions/SAP/sapcon-sentinel-kickstart.sh
    
  6. スクリプトのアクセス許可を変更して実行可能になるようにします。

    chmod +x ./sapcon-sentinel-kickstart.sh
    
  7. 次のベース パラメーターを指定してスクリプトを実行します:

    ./sapcon-sentinel-kickstart.sh \
    --use-snc \
    --cryptolib <path to sapcryptolib.so> \
    --sapgenpse <path to sapgenpse> \
    --server-cert <path to server certificate public key> \
    

    クライアント証明書が .crt または .key 形式の場合は、次のスイッチを使用します:

    --client-cert <path to client certificate public key> \
    --client-key <path to client certificate private key> \
    

    クライアント証明書が .pfx または .p12 形式の場合は、次のスイッチを使用します:

    --client-pfx <pfx filename>
    --client-pfx-passwd <password>
    

    クライアント証明書がエンタープライズ CA によって発行された場合は、信頼チェーン内の CA ごとに次のスイッチを追加します。

    --cacert <path to ca certificate>
    

    次に例を示します。

    ./sapcon-sentinel-kickstart.sh \
    --use-snc \
    --cryptolib /home/azureuser/libsapcrypto.so \
    --sapgenpse /home/azureuser/sapgenpse \
    --client-cert /home/azureuser/client.crt \
    --client-key /home/azureuser/client.key \
    --cacert /home/azureuser/issuingca.crt
    --cacert /home/azureuser/rootca.crt
    --server-cert /home/azureuser/server.crt \
    

kickstart スクリプトで使用できるオプションの詳細については、「リファレンス: Kickstart スクリプト」を参照してください。

トラブルシューティングとリファレンス

トラブルシューティング情報については、次の記事をご覧ください。

次の記事を参照してください: