Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här artikeln beskriver hur du konfigurerar AWS-miljön så att Microsoft Sentinel kan vidta automatiserade åtgärder för en användare som antar en SAML-roll eller på ett AWS IAM-konto när en avisering utlöses. Automatisk attackstörning i Microsoft Defender XDR använder högkonfidenssignaler för att begränsa komprometterade tillgångar och begränsa skador från attacker, inklusive åtgärder på identiteter i AWS. Innan du börjar kontrollerar du att nödvändiga AWS- och Microsoft Sentinel krav är uppfyllda.
Förhandskrav
Innan du börjar behöver du följande förutsättningar:
- Du har ett aktivt AWS-konto med administratörsbehörighet.
- Din Microsoft Sentinel analysarbetsyta är ansluten till portalen för enhetliga säkerhetsåtgärder.
- AWS Connector för Microsoft Sentinel är distribuerad och aktiverad.
- AWS CloudTrail-loggar matas in i Microsoft Sentinel; se Connect Microsoft Sentinel to Amazon Web Services för att ta in AWS-tjänsteloggdata.
- Lämpliga IAM-roller och -behörigheter konfigureras i AWS så att Microsoft Sentinel kan utföra åtgärder på IAM-konton.
- Amazon Web Services-lösningen installeras från Content Hub i Microsoft Sentinel så att Amazon Web Services S3-kontakten visas i galleriet med datakopplar.
Steg 1: Förbereda AWS för integrering
Slutför följande uppgifter för att förbereda AWS-miljön för Microsoft Sentinel integrering.
1.1 Skapa en dedikerad IAM-roll för Microsoft Sentinel
Skapa en ny IAM-roll i AWS-hanteringskonsolen.
Välj AWS-tjänsten som betrodd entitet och välj EC2 som tillfällig platshållare. Du ersätter den här förtroenderelationen med det korrekta Microsoft Sentinel-säkerhetsobjektet i Konfigurera förtroenderelation.
Koppla följande IAM-princip till rollen. Den här policyn ger Microsoft Sentinel de behörigheter som krävs för att hantera IAM-principer för användare och roller för åtgärder för attackstörning. Ersätt <YOUR_ACCOUNT_ID> efter behov:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:DeleteRolePolicy", "iam:PutUserPolicy", "iam:AttachUserPolicy", "iam:ListUserPolicies", "iam:PutRolePolicy", "iam:GetUser", "iam:DetachUserPolicy", "iam:GetRolePolicy", "iam:DeleteUserPolicy", ], "Resource": "*" } ] }
1.2 Konfigurera förtroenderelation
Skapa en anpassad förtroendeprincip för IAM-rollen.
Använd följande förtroendeprincip och ange Microsoft Sentinel integrationsobjekt (ersätt <YOUR_AZURE_SUBSCRIPTION_ID> med ditt faktiska Azure prenumerations-ID):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "ec2.amazonaws.com",
"AWS": "arn:aws:iam::<YOUR_AZURE_SUBSCRIPTION_ID>:root"
},
"Action": "sts:AssumeRole"
}
]
}
Steg 2: Aktivera CloudTrail
Aktivera CloudTrail-loggning i alla AWS-regioner så att Microsoft Sentinel kan ta emot nödvändiga aktivitetsdata.
Gå till CloudTrail i AWS-konsolen.
Kontrollera att en CloudTrail är aktiverad och att loggning är aktiv för alla regioner.
Steg 3: Distribuera och aktivera AWS-anslutningstjänsten i Microsoft Sentinel
Distribuera och aktivera AWS S3-dataanslutningen i Microsoft Sentinel så att den kan ta emot loggdata från din AWS-miljö. Innan du börjar kontrollerar du att Amazon Web Services-lösningen är installerad från Content Hub i Microsoft Sentinel så att Amazon Web Services S3-anslutningsappen visas i galleriet för dataanslutningar.
I Azure Portal går du till Microsoft Sentinel > dataanslutningsprogram.
Välj Amazon Web Services S3 från galleriet för dataanslutningar.
Följ anvisningarna i Anslut Microsoft Sentinel till Amazon Web Services för att mata in AWS-tjänstloggdata för att konfigurera din AWS-miljö och ansluta den till Microsoft Sentinel.
Ange IAM-rollen ARN och Amazon SQS-kö-URL:en som tar emot S3-loggmeddelanden från din AWS-miljö. Dessa värden skapas när du sätter upp connectorn genom att följa Connect Microsoft Sentinel till Amazon Web Services för att ta in AWS-tjänsteloggdata.
Steg 4: Validera integrationen
Använd följande kontroller för att bekräfta att integreringen av AWS-anslutningstjänsten fungerar korrekt.
I Microsoft Sentinel bekräftar du att anslutningsstatusen är Ansluten.
Kontrollera logginmatningen och anslutningsprogrammets hälsotillstånd med hjälp av diagnostiktabellen SentinelHealth, som rapporterar hälsostatus för anslutningsprogram och logginmatning i din Log Analytics-arbetsyta. Kontrollera även AWS SQS-köstatusen för att bekräfta att loggmeddelanden bearbetas.
I AWS kontrollerar du att CloudTrail- och GuardDuty-händelser skickas till Microsoft Sentinel.
Steg 5: Testa integreringen
Utför följande test för att kontrollera att automatiska åtgärder för attackavbrott fungerar som förväntat.
Utlös en testavisering i AWS (till exempel kompromettering av simulerade autentiseringsuppgifter).
Bekräfta att Microsoft Sentinel kan vidta de konfigurerade åtgärderna på det berörda IAM-kontot.
Granska granskningsloggarna i AWS och Microsoft Sentinel för att verifiera att körningen lyckades.
Steg 6: Övervaka och underhålla
Använd följande metoder för att övervaka och underhålla integreringen över tid.
- Granska regelbundet IAM-rollbehörigheter och granskningsloggar i AWS.
- Uppdatera Microsoft Sentinel analysregler och automationsspelböcker efter behov för att återspegla ändringar i AWS-miljön.
- Övervaka aviseringar och svarsåtgärder i Microsoft Sentinel-portalen.
Följande skript automatiserar konfigurationen av AWS IAM-rollen och OIDC-providern för att integrera Microsoft Sentinel med AWS och därmed möjliggöra att attacker kan störas:
Följande Bash-skript automatiserar konfigurationen av AWS OIDC-providern och skapandet av IAM-rollen för Microsoft Sentinel integrering. Innan du kör det kontrollerar du att AWS CLI är installerat och autentiserat med ett konto som har administrativa IAM-behörigheter. Spara kodfragmentet som en bash-fil och kör det.
#!/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"