전문가 구성 옵션, 온-프레미스 배포, SAPControl 로그 원본

이 문서에서는 온-프레미스 머신과 Azure Key Vault를 사용하여 자격 증명을 저장하는 등의 전문가 또는 사용자 지정 프로세스에서 SAP용 Microsoft Sentinel 데이터 커넥터를 배포하는 방법을 설명합니다.

참고 항목

SAP용 Microsoft Sentinel 데이터 커넥터를 배포하는 데 가장 권장되는 기본 프로세스는 Azure VM을 사용하는 것입니다. 이 문서는 고급 사용자를 위한 것입니다.

필수 조건

SAP용 Microsoft Sentinel 데이터 커넥터를 배포하기 위한 기본 필수 조건은 배포 방법에 관계없이 동일합니다.

시작하기 전에 시스템이 주 SAP 데이터 커넥터 필수 구성 요소 문서에 설명된 필수 구성 요소를 충족하는지 확인합니다.

Azure Key Vault 만들기

SAP® 애플리케이션용 Microsoft Sentinel 솔루션 데이터 커넥터 전용으로 사용할 수 있는 Azure 키 자격 증명 모음을 만듭니다.

다음 명령을 실행하여 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을 사용하여 Key Vault 만들기를 참조하세요.

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 자격 증명으로 준비된 Key Vault가 있는 경우 이 절차를 수행하는 것이 좋습니다.

SAP용 Microsoft Sentinel 데이터 커넥터를 배포하려면 다음을 수행합니다.

  1. 온-프레미스 머신에서 SAP Launchpad 사이트>SAP NW RFC SDK>SAP NW RFC SDK 7.50>nwrfc750X_X-xxxxxxx.zip에서 최신 SAP NW RFC SDK를 다운로드합니다.

    참고 항목

    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 파일을 편집합니다. 자세한 내용은 수동으로 SAP용 Microsoft Sentinel 데이터 커넥터 구성을 참조하세요.

    구성을 테스트하려면 사용자와 암호를 systemconfig.ini 구성 파일에 직접 추가하는 것이 좋습니다. Azure Key vault를 사용하여 자격 증명을 저장하는 것이 좋지만, env.List 파일, Docker 암호를 사용하거나, 자격 증명을 systemconfig.ini 파일에 직접 추가할 수도 있습니다.

  5. systemconfig.ini 파일의 지침을 사용하여 Microsoft Sentinel에 수집할 로그를 정의합니다. 예를 들어 Microsoft Sentinel로 전송되는 SAP 로그 정의를 참조하세요.

  6. systemconfig.ini 파일의 지침을 사용하여 다음 구성을 정의합니다.

    • 감사 로그에 사용자 메일 주소를 포함할지 여부
    • 실패한 API 호출을 다시 시도할지 여부
    • cexal 감사 로그를 포함할지 여부
    • 데이터 추출(특히 큰 추출) 간의 시간 간격을 대기할지 여부

    자세한 내용은 SAL 로그 커넥터 구성을 참조하세요.

  7. 머신의 sapcon 디렉터리에 업데이트된 systemconfig.ini 파일을 저장합니다.

  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 데이터 커넥터는 배포 절차의 일부로 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 로그 커넥터 설정

다음 코드를 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 시스템에서 SAP BASIS 버전 7.4와 같은 비 SAL 시스템에 대해 감사 로그를 강제로 사용하도록 하는지 여부를 결정합니다.
auditlogforcelegacyfiles 시스템에서 레거시 시스템 기능(예: 더 낮은 패치 수준의 SAP BASIS 버전 7.4)의 감사 로그를 강제로 사용하도록 하는지 여부를 결정합니다.
timechunk 시스템에서 데이터 추출 간격으로 특정 시간(분) 동안 대기하는지 결정합니다. 많은 양의 데이터가 예상되는 경우 이 매개 변수를 사용합니다.

예를 들어, 처음 24시간 동안 초기 데이터를 로드할 때 각 데이터를 추출하는 데 충분한 시간을 주기 위해 데이터 추출이 30분마다 실행되도록 할 수 있습니다. 이러한 경우에는 이 값을 30으로 설정합니다.

ABAP SAP Control 인스턴스 구성

NW RFC와 SAP Control 웹 서비스 기반 로그를 포함하여 모든 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에 수집할 가장 낮은 포괄적인 심각도 수준을 입력합니다. 다음과 같은 값이 올 수 있습니다.

- 0 = 모든 로그
- 1 = 경고
- 2 = 오류

Java SAP Control 인스턴스 구성

SAP Control 웹 서비스 로그를 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 웹 서비스 로그를 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 솔루션 배포를 참조하세요.

자세한 내용은 다음을 참조하세요.