專家組態選項、內部部署和 SAPControl 記錄來源

本文描述如何在專家或自訂程序中,部署適用於 SAP 的 Microsoft Sentinel 資料連接器,例如使用內部部署機器和 Azure Key Vault 來儲存憑證。

注意

部署適用於 SAP 的 Microsoft Sentinel 資料連接器的預設和建議程序是使用 Azure VM。 本文適用於進階使用者。

先決條件

無論您的部署方法為何,部署適用於 SAP 的 Microsoft Sentinel 資料連接器的基本必要條件都相同。

開始之前,請確定您的系統符合主要 SAP 資料連線器中先決文件記載的必要條件。

建立 Azure Key Vault

建立 Azure 金鑰保存庫,以便您專用於適用于 SAP® 應用程式資料連線器的 Microsoft Sentinel 解決方案。

執行下列命令來建立 Azure Key Vault,並授與 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 金鑰保存庫祕密,請使用您自己的系統識別碼和您想要新增的認證來執行下列指令碼:

#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 認證之後執行此程序。

若要部署適用於 SAP 的 Microsoft Sentinel 資料連線器

  1. 在您的內部部署機器上,從 SAP Launchpad 網站>[SAP NW RFC SDK]>[SAP NW RFC SDK 7.50]>[nwrfc750X_X-xxxxxxx.zip] 下載最新版的 SAP NW RFC SDK。

    注意

    您需要 SAP 使用者登入資訊才能存取 SDK,而且您必須下載符合您作業系統的 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 檔案,並使用內嵌註解作為指南。 如需詳細資訊,請參閱手動設定適用於 SAP 的 Microsoft Sentinel 資料連接器

    若要測試您的設定,您可能想要將使用者和密碼直接新增至 systemconfig.ini 組態檔。 雖然我們建議您使用 Azure 金鑰保存庫以儲存認證,但您也可以使用 env.list 檔案、Docker 祕密,或直接將憑證新增至 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 容器之後,請務必刪除此檔案。

    注意

    下列指令碼包含每個連線到特定 ABAP 系統的 Docker 容器。 視您的環境需求修改指令碼。

    請執行:

    ##############################################################
    # 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 應用程式的® Microsoft Sentinel 解決方案

手動設定適用於 SAP 的 Microsoft Sentinel 資料連接器

適用於 SAP 的 Microsoft Sentinel 資料連接器是在systemconfig.ini 檔案中設定,這是您在部署程序中複製到 SAP 資料連線器電腦的檔案。

下列程式碼顯示範例 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 記錄連接器設定

將下列程式碼新增至適用於 SAP 的 Microsoft Sentinel 資料連線器 systemconfig.ini 檔案,以定義內嵌至 Microsoft Sentinel 的 SAP 記錄其他設定。

如需詳細資訊,請參閱執行專家/自訂 SAP 資料連線器安裝

##############################################################
[Connector Configuration]
extractuseremail = True
apiretry = True
auditlogforcexal = False
auditlogforcelegacyfiles = False
timechunk = 60
##############################################################

本節可讓您設定下列參數:

參數名稱 描述
extractuseremail 判斷稽核記錄是否包含使用者電子郵件地址。
apiretry 判斷是否將 API 呼叫重試為容錯移轉機制。
auditlogforcexal 判斷系統是否針對非 SAL 系統 (例如 SAP BASIS 7.4 版) 強制使用稽核記錄。
auditlogforcelegacyfiles 判斷系統是否強制使用具有舊版系統功能的稽核記錄,例如從具有較低修補層級的 SAP BASIS 7.4 版。
timechunk 判斷系統是否在資料擷取之間等候特定分鐘數作為間隔。 如果您預期大量資料,請使用此參數。

例如,在前 24 小時內的初始資料載入期間,您可能只想每 30 分鐘執行一次資料擷取,讓每個資料有足夠的時間擷取。 在這種情況下,請將此值設定為 30

設定 ABAP SAP Control 執行個體

若要將所有 ABAP 記錄內嵌至 Microsoft Sentinel,包括 NW RFC 和 SAP Control Web 服務型記錄,請設定下列 ABAP SAP 控制詳細資料:

設定 描述
javaappserver 輸入您的 SAP Control ABAP 伺服器主機。
例如:contoso-erp.appserver.com
javainstance 輸入您的 SAP Control ABAP 執行個體編號。
例如:00
abaptz 以 GMT 格式輸入 SAP Control ABAP 伺服器上設定的時區。
例如:GMT+3
abapseverity 輸入您要將 ABAP 記錄內嵌至 Microsoft Sentinel 的最低、內涵嚴重性的層級。 數值包括:

- 0 = 所有記錄
- 1 = 警告
- 2 = 錯誤

設定 JAVA SAP Control 執行個體

若要將 SAP Control Web 服務記錄內嵌至 Microsoft Sentine 中l,請設定下列 JAVA SAP Control 實例詳細資料:

參數 描述
javaappserver 輸入您的 SAP Control JAVA 伺服器主機。
例如:contoso-java.server.com
javainstance 輸入您的 SAP Control ABAP 執行個體編號。
例如:10
javatz 以 GMT 格式輸入 SAP Control JAVA 伺服器上設定的時區。
例如:GMT+3
javaseverity 輸入您要將 Web 服務記錄內嵌至 Microsoft Sentinel 的最低、內涵嚴重性的層級。 數值包括:

- 0 = 所有記錄
- 1 = 警告
- 2 = 錯誤

設定使用者主資料收集

若要直接從 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 解決方案

如需詳細資訊,請參閱