Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo descrive come configurare l'ambiente AWS in modo che Microsoft Sentinel possano eseguire azioni automatizzate su un utente che assume un ruolo SAML o su un account AWS IAM quando viene attivato un avviso. L'interruzione degli attacchi usa segnali ad alta attendibilità per contenere asset compromessi e limitare i danni causati dagli attacchi, incluse le azioni sulle identità in AWS.
Prerequisiti
Prima di iniziare, sono necessari i prerequisiti seguenti:
- Si dispone di un account AWS attivo con privilegi amministrativi.
- L'area di lavoro Microsoft Sentinel analytics è connessa al portale delle operazioni di sicurezza unificato.
- Il connettore AWS per Microsoft Sentinel viene distribuito e abilitato
- I log di AWS CloudTrail vengono inseriti in Microsoft Sentinel Vedere: Connettere Microsoft Sentinel ad Amazon Web Services per inserire i dati del log dei servizi AWS
- I ruoli e le autorizzazioni di IAM appropriati vengono configurati in AWS per consentire a Microsoft Sentinel di eseguire azioni sugli account IAM.
Passaggio 1: Preparare AWS per l'integrazione
1.1 Creare un ruolo IAM dedicato per Microsoft Sentinel
- Creare un nuovo ruolo IAM nella console di gestione AWS.
Selezionare il servizio AWS come entità attendibile e scegliere EC2 .you'll update the trust relationship next.
Collegare i criteri seguenti al ruolo (sostituire <YOUR_ACCOUNT_ID> in base alle esigenze):
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:UpdateLoginProfile", "iam:DeactivateMFADevice", "iam:DeleteAccessKey", "iam:DeleteLoginProfile", "iam:DeleteUser", "iam:RemoveUserFromGroup", "iam:ResetServiceSpecificCredential", "iam:ResyncMFADevice", "iam:DeleteUserPermissionsBoundary", "iam:DeleteUserPolicy", "iam:DetachUserPolicy" ], "Resource": "arn:aws:iam::<YOUR_ACCOUNT_ID>:user/*" } ] }
1.2 Configurare la relazione di trust
Creare criteri di attendibilità personalizzati per il ruolo IAM.
Usare i criteri di attendibilità seguenti, specificando l'entità di integrazione Microsoft Sentinel (sostituire <YOUR_AZURE_SUBSCRIPTION_ID> con l'ID sottoscrizione Azure effettivo):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com",
"AWS": "arn:aws:iam::<YOUR_AZURE_SUBSCRIPTION_ID>:root"
},
"Action": "sts:AssumeRole"
}
]
}
Passaggio 2: Abilitare CloudTrail
Nella console di AWS passare a CloudTrail.
Assicurarsi che cloudtrail sia abilitato e che la registrazione sia attiva per tutte le aree.
Passaggio 3: Distribuire e abilitare il connettore AWS in Microsoft Sentinel
Nel portale di Azure passare a Microsoft Sentinel > Connettori dati.
Selezionare Amazon Web Services S3 dalla raccolta di connettori dati.
Se il connettore non viene visualizzato, installare la soluzione Amazon Web Services dall'hub contenuti in Microsoft Sentinel.
Seguire le istruzioni nella documentazione ufficiale per configurare l'ambiente AWS e connetterlo a Microsoft Sentinel.
Specificare il ruolo IAM ARN e L'URL della coda SQS in base alle esigenze.
Passaggio 4: Convalidare l'integrazione
In Microsoft Sentinel verificare che lo stato del connettore sia Connesso.
Verificare l'inserimento dei log e l'integrità dei connettori usando i log sentinelhealth e lo stato della coda di AWS SQS.
In AWS verificare che gli eventi CloudTrail e GuardDuty vengano inviati a Microsoft Sentinel.
Passaggio 5: Testare l'integrazione
Attivare un avviso di test in AWS (ad esempio, compromissione simulata delle credenziali).
Verificare che Microsoft Sentinel possano eseguire le azioni configurate sull'account IAM interessato.
Esaminare i log di controllo in AWS e Microsoft Sentinel per verificare la corretta esecuzione.
Passaggio 6: Monitorare e gestire
- Esaminare regolarmente le autorizzazioni dei ruoli IAM e i log di controllo in AWS.
- Aggiornare Microsoft Sentinel regole analitiche e playbook di automazione in base alle esigenze per riflettere le modifiche nell'ambiente AWS.
- Monitorare gli avvisi e le azioni di risposta nel portale di Microsoft Sentinel.
Gli script seguenti possono automatizzare il processo di compilazione dell'integrazione con Microsoft Sentinel e AWS per abilitare l'interruzione degli attacchi:
Salvare il frammento di codice seguente come file bash ed eseguirlo.
#!/bin/bash
# AWS Sentinel OIDC Setup Script
# Configures IAM roles and policies for Microsoft Sentinel integration
set -e # Exit on error
# Color codes for output
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
CYAN='\033[0;36m'
NC='\033[0m' # No Color
ms_federated_endpoint="sts.windows.net/33e01921-4d64-4f8c-a055-5bdaffd5e33d"
actions_audience="api://b7c1e142-0933-4310-ba00-8b28878bfece"
role_name="OIDC_Actions_Sentinel"
policy_name="SentinelActionsPolicy"
# Verify AWS credentials are configured
echo -e "${CYAN}Verifying AWS credentials...${NC}"
if ! account_id=$(aws sts get-caller-identity --query Account --output text 2>&1); then
echo -e "\n${RED}ERROR: AWS credentials not configured or invalid${NC}"
echo -e "${RED}Details: $account_id${NC}"
echo -e "\n${YELLOW}Please authenticate using one of these methods:${NC}"
echo -e "${YELLOW} 1. Run 'aws configure' to set up credentials${NC}"
echo -e "${YELLOW} 2. Set AWS environment variables (AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY)${NC}"
echo -e "${YELLOW} 3. Use 'aws sso login --profile <profile-name>' for SSO${NC}"
exit 1
fi
echo -e "${GREEN}✓ AWS authenticated (Account: $account_id)${NC}"
trust_policy_document=$(cat << EOM
{
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Federated": "arn:aws:iam::$account_id:oidc-provider/$ms_federated_endpoint/"
},
"Action": "sts:AssumeRoleWithWebIdentity",
"Condition": {
"StringEquals": {
"$ms_federated_endpoint/:aud": "$actions_audience",
"sts:RoleSessionName": "MicrosoftSentinel_$account_id"
}
}
}
]
}
EOM
)
permissions_policy_document=$(cat << EOM
{
"Statement": [
{
"Sid": "SentinelActionsPermissions",
"Effect": "Allow",
"Action": [
"iam:GetUserPolicy",
"iam:DeleteRolePolicy",
"iam:PutUserPolicy",
"iam:AttachUserPolicy",
"iam:ListUserPolicies",
"iam:PutRolePolicy",
"iam:GetUser",
"iam:DetachUserPolicy",
"iam:GetRolePolicy",
"iam:DeleteUserPolicy",
"s3:PutBucketPublicAccessBlock"
],
"Resource": "*"
}
]
}
EOM
)
aws iam add-client-id-to-open-id-connect-provider --open-id-connect-provider-arn arn:aws:iam::$account_id:oidc-provider/$ms_federated_endpoint/ --client-id $actions_audience
aws iam create-role --role-name $role_name --assume-role-policy-document "$trust_policy_document" || aws iam update-assume-role-policy --role-name $role_name --policy-document "$trust_policy_document"
aws iam put-role-policy --role-name $role_name --policy-name $policy_name --policy-document "$permissions_policy_document"