Aktivieren von Angriffsunterbrechungsaktionen in AWS mit Microsoft Sentinel (Vorschau)

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. Automatische Angriffsstörung in Microsoft Defender XDR verwendet Hochkonfidenzsignale, um kompromittierte Vermögenswerte einzudämmen und den Schaden durch Angriffe zu begrenzen, einschließlich Aktionen auf Identitäten in AWS. Bevor Sie beginnen, stellen Sie sicher, dass die erforderlichen AWS- und Microsoft Sentinel Voraussetzungen vorhanden sind.

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 eingesessen; siehe Connect Microsoft Sentinel to Amazon Web Services to Import AWS Service Log-Daten.
  • In AWS werden geeignete IAM-Rollen und -Berechtigungen konfiguriert, damit Microsoft Sentinel Aktionen für IAM-Konten ausführen können.
  • Die Amazon Web Services-Lösung wird von Content Hub in Microsoft Sentinel installiert, sodass der Amazon Web Services S3-Connector in der Daten-Connector-Galerie erscheint.

Schritt 1: Vorbereiten von AWS für die Integration

Führen Sie die folgenden Aufgaben aus, um Ihre AWS-Umgebung für Microsoft Sentinel Integration vorzubereiten.

1.1 Erstellen einer dedizierten IAM-Rolle für Microsoft Sentinel

Erstellen Sie eine neue IAM-Rolle in der AWS-Verwaltungskonsole.

  1. Wählen Sie AWS-Dienst als vertrauenswürdige Entität aus, und wählen Sie EC2 als temporären Platzhalter aus. Ersetzen Sie diese Vertrauensstellung durch den richtigen Microsoft Sentinel-Prinzipal unter Konfigurieren der Vertrauensstellung.

  2. Fügen Sie der Rolle die folgende IAM-Richtlinie hinzu. Diese Richtlinie gewährt Microsoft Sentinel berechtigungen, die zum Verwalten von IAM-Benutzer- und Rollenrichtlinien für Angriffsunterbrechungsaktionen erforderlich sind. Ersetzen Sie <YOUR_ACCOUNT_ID> nach Bedarf:

    {
      "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 Konfigurieren einer Vertrauensstellung

Erstellen Sie eine benutzerdefinierte Vertrauensrichtlinie für die IAM-Rolle.

Verwenden Sie die folgende Vertrauensrichtlinie, und geben Sie den Integrationsprinzipal von Microsoft Sentinel an (ersetzen Sie <YOUR_AZURE_SUBSCRIPTION_ID> durch 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

Aktivieren Sie die CloudTrail-Protokollierung in allen AWS-Regionen, damit Microsoft Sentinel die erforderlichen Aktivitätsdaten empfangen können.

  1. Navigieren Sie in der AWS-Konsole zu CloudTrail.

  2. 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

Stellen Sie den AWS S3-Datenconnector in Microsoft Sentinel bereit und aktivieren Sie ihn, damit er Protokolldaten aus Ihrer AWS-Umgebung empfangen kann. Bevor Sie beginnen, stellen Sie sicher, dass die Amazon Web Services-Lösung im Content Hub in Microsoft Sentinel installiert ist, damit der Amazon Web Services S3-Connector im Datenconnectorskatalog angezeigt wird.

  1. Navigieren Sie im Azure-Portal zu Microsoft Sentinel > Datenkonnektoren.

  2. Wählen Sie Amazon Web Services S3 aus dem Katalog für Datenconnectors aus.

  3. Befolgen Sie die Anweisungen in Verbinden von Microsoft Sentinel mit Amazon Web Services zum Importieren von AWS-Dienstprotokolldaten, um Ihre AWS-Umgebung einzurichten und sie mit Microsoft Sentinel zu verbinden.

  4. Stellen Sie die IAM-Rolle ARN und die Amazon SQS-Warteschlangen-URL bereit, die S3-Protokollbenachrichtigungen von Ihrer AWS-Umgebung empfängt. Diese Werte werden erstellt, wenn Sie den Connector einrichten, indem Sie "Connect Microsoft Sentinel to Amazon Web Services verwenden, um AWS-Service-Logdaten zu übertragen.

Schritt 4: Überprüfen der Integration

Verwenden Sie die folgenden Überprüfungen, um zu bestätigen, dass die AWS-Connector-Integration ordnungsgemäß funktioniert.

  1. Vergewissern Sie sich in Microsoft Sentinel, dass der Connector status Verbunden ist.

  2. Überprüfen Sie die Protokollerfassung und die Integrität des Connectors mithilfe der Diagnosetabelle „SentinelHealth“, die den Integritätsstatus von Connector und Erfassung in Ihrem Log Analytics-Arbeitsbereich meldet. Überprüfen Sie außerdem den AWS SQS-Warteschlangenstatus, um zu bestätigen, dass Protokollbenachrichtigungen verarbeitet werden.

  3. Überprüfen Sie in AWS, ob CloudTrail- und GuardDuty-Ereignisse an Microsoft Sentinel gesendet werden.

Schritt 5: Testen der Integration

Führen Sie den folgenden Test aus, um zu überprüfen, ob die Reaktionsaktionen für automatisierte Angriffsunterbrechungen erwartungsgemäß funktionieren.

  1. Auslösen einer Testwarnung in AWS (z. B. simulierte Kompromittierung von Anmeldeinformationen).

  2. Vergewissern Sie sich, dass Microsoft Sentinel die konfigurierten Aktionen für das betroffene IAM-Konto ausführen können.

  3. Überprüfen Sie überwachungsprotokolle in AWS und Microsoft Sentinel, um die erfolgreiche Ausführung zu überprüfen.

Schritt 6: Überwachen und Verwalten

Verwenden Sie die folgenden Methoden, um die Integration im Laufe der Zeit zu überwachen und aufrechtzuerhalten.

  • Ü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 automatisieren die AWS-IAM-Rolle und das OIDC-Anbietersetup für die Integration von Microsoft Sentinel in AWS, um Angriffsunterbrechungen zu ermöglichen:

Das folgende Bash-Skript automatisiert die Konfiguration des AWS-OIDC-Anbieters und die Erstellung der IAM-Rolle für die Microsoft-Sentinel-Integration. Stellen Sie vor der Ausführung sicher, dass die AWS CLI installiert und mit einem Konto authentifiziert wird, das über ADMINISTRATORberechtigungen für IAM verfügt. Speichern Sie den 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"