Distribuire la soluzione Microsoft Sentinel per SAP BTP
Questo articolo descrive come distribuire il sistema BTP (SAP Business Technology Platform) della soluzione Microsoft Sentinel. La soluzione Microsoft Sentinel per i monitoraggi SAP BTP e protegge il sistema SAP BTP. Raccoglie i log di controllo e i log attività dall'infrastruttura BTP e dalle app basate su BTP e quindi rileva minacce, attività sospette, attività non legittimate e altro ancora. Altre informazioni sulla soluzione.
Prerequisiti
Prima di iniziare, verificare che:
- La soluzione Microsoft Sentinel è abilitata.
- Si dispone di un'area di lavoro di Microsoft Sentinel definita e si dispone delle autorizzazioni di lettura e scrittura per l'area di lavoro.
- L'organizzazione usa SAP BTP (in un ambiente Cloud Foundry) per semplificare le interazioni con le applicazioni SAP e altre applicazioni aziendali.
- Si dispone di un account SAP BTP (che supporta gli account BTP nell'ambiente Cloud Foundry). È anche possibile usare un account di valutazione SAP BTP.
- Si dispone del servizio di gestione auditlog e della chiave del servizio SAP BTP. Vedere Configurare l'account BTP e la soluzione.
- Si ha il ruolo collaboratore di Microsoft Sentinel nell'area di lavoro di Microsoft Sentinel di destinazione.
Configurare l'account e la soluzione BTP
Per configurare l'account BTP e la soluzione:
Dopo aver eseguito l'accesso all'account BTP (vedere i prerequisiti), seguire la procedura di recupero del log di controllo nel sistema SAP BTP.
Nel pannello di controllo sap BTP selezionare il servizio di gestione log di controllo.
Creare un'istanza del servizio di gestione log di controllo nell'account secondario BTP.
Creare una chiave del servizio e registrare i valori per
url
,uaa.clientid
,uaa.clientecret
euaa.url
. Questi valori sono necessari per distribuire il connettore dati.Ecco alcuni esempi di questi valori di campo:
- url:
https://auditlog-management.cfapps.us10.hana.ondemand.com
- uaa.clientid:
00001111-aaaa-2222-bbbb-3333cccc4444|auditlog-management!b1237
- uaa.clientsecret:
aaaaaaaa-0b0b-1c1c-2d2d-333333333333
- uaa.url:
https://trial.authentication.us10.hana.ondemand.com
- url:
Accedere al portale di Azure.
Passare al servizio Microsoft Sentinel.
Selezionare Hub contenutoe nella barra di ricerca cercare BTP.
Selezionare SAP BTP.
Selezionare Installa.
Per altre informazioni su come gestire i componenti della soluzione, vedere Individuare e distribuire contenuti predefiniti.
Seleziona Crea.
Selezionare il gruppo di risorse e l'area di lavoro di Microsoft Sentinel in cui distribuire la soluzione.
Selezionare Avanti finché non si supera la convalida e quindi selezionare Crea.
Al termine della distribuzione della soluzione, tornare all'area di lavoro di Microsoft Sentinel e selezionare Connettori dati.
Nella barra di ricerca immettere BTP e quindi selezionare SAP BTP.
Selezionare Apri la pagina del connettore.
Nella pagina del connettore assicurarsi di soddisfare i prerequisiti necessari elencati e completare i passaggi di configurazione. Quando si è pronti, selezionare Aggiungi account.
Specificare i parametri definiti in precedenza durante la configurazione. Il nome dell'account secondario specificato viene proiettato come colonna nella tabella
SAPBTPAuditLog_CL
e può essere usato per filtrare i log quando sono presenti più sottoaccount.Nota
Il recupero dei controlli per l'account globale non recupera automaticamente i controlli per l'account secondario. Seguire i passaggi di configurazione del connettore per ognuno degli account secondari da monitorare e seguire anche questi passaggi per l'account globale. Esaminare queste considerazioni sulla configurazione del controllo dell'account.
Assicurarsi che i log BTP vengano trasmessi nell'area di lavoro di Microsoft Sentinel:
- Accedere al sottoaccount BTP ed eseguire alcune attività che generano log, ad esempio accessi, aggiunta di utenti, modifica delle autorizzazioni e modifica delle impostazioni.
- Consentire l'avvio del flusso dei log da 20 a 30 minuti.
- Nella pagina del connettore SAP BTP verificare che Microsoft Sentinel riceva i dati BTP oppure eseguire direttamente una query sulla tabella SAPBTPAuditLog_CL.
Abilitare la cartella di lavoro e le regole di analisi fornite come parte della soluzione seguendo queste linee guida.
Prendere in considerazione le configurazioni di controllo dell'account
Il passaggio finale del processo di distribuzione consiste nel considerare le configurazioni di controllo dell'account globale e del sottoaccount.
Configurazione del controllo dell'account globale
Quando si abilita il recupero del log di controllo nel cockpit BTP per l'account globale: se l'account secondario per cui si vuole autorizzare il servizio di gestione log di controllo si trova in una directory, è necessario autorizzare prima il servizio a livello di directory. Solo allora è possibile autorizzare il servizio a livello di account secondario.
Configurazione del controllo dell'account secondario
Per abilitare il controllo per un account secondario, completare i passaggi nella documentazione del recupero dell'API di controllo account secondari SAP.
La documentazione dell'API descrive come abilitare il recupero del log di controllo usando l'interfaccia della riga di comando di Cloud Foundry.
È anche possibile recuperare i log tramite l'interfaccia utente:
- Nell'account secondario in SAP Service Marketplace creare un'istanza di Servizio di gestione Log di audit.
- Nella nuova istanza creare una chiave del servizio.
- Visualizzare la chiave del servizio e recuperare i parametri necessari nel passaggio 4 delle istruzioni di configurazione nell'interfaccia utente del connettore dati (URL, uaa.url, uaa.clientid e uaa.clientsecret).
Ruotare il segreto client BTP
È consigliabile ruotare periodicamente i segreti client del sottoaccount BPT. Lo script di esempio seguente illustra il processo di aggiornamento di un connettore dati esistente con un nuovo segreto recuperato da Azure Key Vault.
Prima di iniziare, raccogliere i valori necessari per i parametri degli script, tra cui:
- ID sottoscrizione, gruppo di risorse e nome dell'area di lavoro per l'area di lavoro di Microsoft Sentinel.
- Insieme di credenziali delle chiavi e nome del segreto dell'insieme di credenziali delle chiavi.
- Nome del connettore dati da aggiornare con un nuovo segreto. Per identificare il nome del connettore dati, aprire il connettore dati SAP BPT nella pagina Connettori dati di Microsoft Sentinel. Il nome del connettore dati ha la sintassi seguente: BTP_{connector name}
param(
[Parameter(Mandatory = $true)] [string]$subscriptionId,
[Parameter(Mandatory = $true)] [string]$workspaceName,
[Parameter(Mandatory = $true)] [string]$resourceGroupName,
[Parameter(Mandatory = $true)] [string]$connectorName,
[Parameter(Mandatory = $true)] [string]$clientId,
[Parameter(Mandatory = $true)] [string]$keyVaultName,
[Parameter(Mandatory = $true)] [string]$secretName
)
# Import the required modules
Import-Module Az.Accounts
Import-Module Az.KeyVault
try {
# Login to Azure
Login-AzAccount
# Retrieve BTP client secret from Key Vault
$clientSecret = (Get-AzKeyVaultSecret -VaultName $keyVaultName -Name $secretName).SecretValue
if (!($clientSecret)) {
throw "Failed to retrieve the client secret from Azure Key Vault"
}
# Get the connector from data connectors API
$path = "/subscriptions/{0}/resourceGroups/{1}/providers/Microsoft.OperationalInsights/workspaces/{2}/providers/Microsoft.SecurityInsights/dataConnectors/{3}?api-version=2024-01-01-preview" -f $subscriptionId, $resourceGroupName, $workspaceName, $connectorName
$connector = (Invoke-AzRestMethod -Path $path -Method GET).Content | ConvertFrom-Json
if (!($connector)) {
throw "Failed to retrieve the connector"
}
# Add the updated client ID and client secret to the connector
$connector.properties.auth | Add-Member -Type NoteProperty -Name "clientId" -Value $clientId
$connector.properties.auth | Add-Member -Type NoteProperty -Name "clientSecret" -Value ($clientSecret | ConvertFrom-SecureString -AsPlainText)
# Update the connector with the new auth object
Invoke-AzRestMethod -Path $path -Method PUT -Payload ($connector | ConvertTo-Json -Depth 10)
}
catch {
Write-Error "An error occurred: $_"
}