Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel wird beschrieben, wie Sie Ihre AWS-Umgebung so konfigurieren, dass Microsoft Sentinel automatisierte Aktionen für einen Benutzer ausführen können, der eine SAML-Rolle annimmt, oder für ein AWS IAM-Konto, wenn eine Warnung ausgelöst wird. Angriffsunterbrechungen verwenden Signale mit hoher Zuverlässigkeit, um kompromittierte Ressourcen einzudämmen und den Schaden durch Angriffe zu begrenzen, einschließlich Aktionen für Identitäten in AWS.
Voraussetzungen
Bevor Sie beginnen, müssen die folgenden Voraussetzungen erfüllt sein:
- Sie verfügen über ein aktives AWS-Konto mit Administratorrechten.
- Ihr Microsoft Sentinel Analysearbeitsbereich ist mit dem Unified Security Operations-Portal verbunden.
- Der AWS-Connector für Microsoft Sentinel wird bereitgestellt und aktiviert.
- AWS CloudTrail-Protokolle werden in Microsoft Sentinel erfasst. Weitere Informationen finden Sie unter Verbinden von Microsoft Sentinel mit Amazon Web Services zum Erfassen von AWS-Dienstprotokolldaten.
- In AWS werden geeignete IAM-Rollen und -Berechtigungen konfiguriert, damit Microsoft Sentinel Aktionen für IAM-Konten ausführen können.
Schritt 1: Vorbereiten von AWS für die Integration
1.1 Erstellen einer dedizierten IAM-Rolle für Microsoft Sentinel
- Erstellen Sie eine neue IAM-Rolle in der AWS-Verwaltungskonsole.
Wählen Sie AWS-Dienst als vertrauenswürdige Entität aus, und wählen Sie EC2 aus (als Nächstes aktualisieren Sie die Vertrauensstellung).
Fügen Sie die folgende Richtlinie an die Rolle an (ersetzen Sie <bei Bedarf YOUR_ACCOUNT_ID> ):
{ "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 Konfigurieren einer Vertrauensstellung
Erstellen Sie eine benutzerdefinierte Vertrauensrichtlinie für die IAM-Rolle.
Verwenden Sie die folgende Vertrauensrichtlinie, und geben Sie den Microsoft Sentinel Integrationsprinzipal an (ersetzen Sie durch <YOUR_AZURE_SUBSCRIPTION_ID> Ihre tatsächliche Azure Abonnement-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"
}
]
}
Schritt 2: Aktivieren von CloudTrail
Navigieren Sie in der AWS-Konsole zu CloudTrail.
Stellen Sie sicher, dass cloudTrail aktiviert ist und die Protokollierung für alle Regionen aktiv ist.
Schritt 3: Bereitstellen und Aktivieren des AWS-Connectors in Microsoft Sentinel
Wechseln Sie im Azure-Portal zu Microsoft Sentinel > Datenconnectors.
Wählen Sie amazon Web Services S3 aus dem Datenconnectors-Katalog aus.
Wenn der Connector nicht angezeigt wird, installieren Sie die Amazon Web Services-Lösung aus dem Content Hub in Microsoft Sentinel.
Befolgen Sie die Anweisungen in der offiziellen Dokumentation, um Ihre AWS-Umgebung einzurichten und mit Microsoft Sentinel zu verbinden.
Geben Sie den IAM-Rollen-ARN und die SQS-Warteschlangen-URL nach Bedarf an.
Schritt 4: Überprüfen der Integration
Vergewissern Sie sich in Microsoft Sentinel, dass der Connector status Verbunden ist.
Überprüfen Sie die Protokollerfassung und die Connectorintegrität mithilfe von SentinelHealth-Protokollen und AWS SQS-Warteschlangen status.
Überprüfen Sie in AWS, ob CloudTrail- und GuardDuty-Ereignisse an Microsoft Sentinel gesendet werden.
Schritt 5: Testen der Integration
Auslösen einer Testwarnung in AWS (z. B. simulierte Kompromittierung von Anmeldeinformationen).
Vergewissern Sie sich, dass Microsoft Sentinel die konfigurierten Aktionen für das betroffene IAM-Konto ausführen können.
Überprüfen Sie überwachungsprotokolle in AWS und Microsoft Sentinel, um die erfolgreiche Ausführung zu überprüfen.
Schritt 6: Überwachen und Verwalten
- Überprüfen Sie regelmäßig IAM-Rollenberechtigungen und Überwachungsprotokolle in AWS.
- Aktualisieren Sie Microsoft Sentinel Analyseregeln und Automatisierungsplaybooks nach Bedarf, um Änderungen in Ihrer AWS-Umgebung widerzuspiegeln.
- Überwachen von Warnungen und Reaktionsaktionen im Microsoft Sentinel-Portal.
Die folgenden Skripts können den Prozess zum Erstellen der Integration mit Microsoft Sentinel und AWS automatisieren, um eine Angriffsunterbrechung zu ermöglichen:
Speichern Sie den folgenden Codeausschnitt als Bash-Datei, und führen Sie ihn aus.
#!/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"