Aanvalsonderbrekingsacties op AWS inschakelen met Microsoft Sentinel (preview)

In dit artikel wordt beschreven hoe u uw AWS-omgeving configureert, zodat Microsoft Sentinel geautomatiseerde acties kunt uitvoeren op een gebruiker die een SAML-rol aanneemt, of op een AWS IAM-account wanneer een waarschuwing wordt geactiveerd. Automatische aanvalsverstoring in Microsoft Defender XDR gebruikt high-confidence signalen om gecompromitteerde middelen te beheersen en de schade van aanvallen te beperken, inclusief acties op identiteiten in AWS. Voordat u begint, moet u ervoor zorgen dat aan de vereiste AWS- en Microsoft Sentinel vereisten is voldaan.

Vereisten

Voordat u begint, hebt u de volgende vereisten nodig:

  • U hebt een actief AWS-account met beheerdersbevoegdheden.
  • Uw Microsoft Sentinel analytische werkruimte is verbonden met de portal voor geïntegreerde beveiligingsbewerkingen.
  • De AWS Connector voor Microsoft Sentinel is geïreerd en ingeschakeld.
  • AWS CloudTrail-logs worden ingevoerd in Microsoft Sentinel; zie Connect Microsoft Sentinel to Amazon Web Services om AWS-serviceloggegevens te verwerken.
  • De juiste IAM-rollen en -machtigingen zijn geconfigureerd in AWS, zodat Microsoft Sentinel acties kunnen uitvoeren op IAM-accounts.
  • De Amazon Web Services-oplossing wordt geïnstalleerd vanuit Content Hub in Microsoft Sentinel, zodat de Amazon Web Services S3-connector in de dataconnectorgalerij verschijnt.

Stap 1: AWS voorbereiden voor integratie

Voer de volgende taken uit om uw AWS-omgeving voor te bereiden op Microsoft Sentinel integratie.

1.1 Een toegewezen IAM-rol maken voor Microsoft Sentinel

Maak een nieuwe IAM-rol in de AWS-beheerconsole.

  1. Selecteer de AWS-service als de vertrouwde entiteit en kies EC2 als tijdelijke aanduiding. U vervangt deze vertrouwensrelatie door de juiste Microsoft Sentinel principal in Vertrouwensrelatie configureren.

  2. Koppel het volgende IAM-beleid aan de rol. Dit beleid verleent Microsoft Sentinel de machtigingen die nodig zijn voor het beheren van IAM-gebruikers- en rolbeleidsregels voor aanvalsonderbrekingsacties. Vervang <YOUR_ACCOUNT_ID> indien nodig:

    {
      "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 Vertrouwensrelatie configureren

Maak een aangepast vertrouwensbeleid voor de IAM-rol.

Gebruik het volgende vertrouwensbeleid en geef de Microsoft Sentinel integratie-principal op (vervang door <YOUR_AZURE_SUBSCRIPTION_ID> uw werkelijke Azure abonnements-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"
    }
  ]
}

Stap 2: CloudTrail inschakelen

Schakel CloudTrail-logboekregistratie in alle AWS-regio's in, zodat Microsoft Sentinel de vereiste activiteitsgegevens kan ontvangen.

  1. Ga in de AWS-console naar CloudTrail.

  2. Zorg ervoor dat een CloudTrail is ingeschakeld en dat logboekregistratie actief is voor alle regio's.

Stap 3: de AWS-connector implementeren en inschakelen in Microsoft Sentinel

Implementeer en schakel de AWS S3-gegevensconnector in Microsoft Sentinel zodat deze logboekgegevens van uw AWS-omgeving kan ontvangen. Voordat u begint, moet u ervoor zorgen dat de Amazon Web Services-oplossing is geïnstalleerd vanuit Content Hub in Microsoft Sentinel, zodat de Amazon Web Services S3-connector wordt weergegeven in de galerie met gegevensconnectors.

  1. Ga in de Azure Portal naar Microsoft Sentinel > Gegevensconnectors.

  2. Selecteer Amazon Web Services S3 in de galerie met gegevensconnectors.

  3. Volg de instructies in Connect Microsoft Sentinel to Amazon Web Services om logboekgegevens van de AWS-service op te nemen om uw AWS-omgeving in te stellen en deze te verbinden met Microsoft Sentinel.

  4. Geef de IAM-rol ARN en de URL van de Amazon SQS-wachtrij op die S3-logboekmeldingen ontvangt van uw AWS-omgeving. Deze waarden worden aangemaakt wanneer je de connector opzet door Connect Microsoft Sentinel to Amazon Web Services te volgen om AWS-serviceloggegevens te verwerken.

Stap 4: Integratie valideren

Gebruik de volgende controles om te controleren of de integratie van de AWS-connector correct werkt.

  1. Controleer in Microsoft Sentinel of de connectorstatus Verbonden is.

  2. Controleer de status van logboekopname en connector met behulp van de diagnostische tabel SentinelHealth, die de status van de connector en opnamestatus rapporteert in uw Log Analytics werkruimte. Controleer ook de status van de AWS SQS-wachtrij om te bevestigen dat logboekmeldingen worden verwerkt.

  3. Controleer in AWS of CloudTrail- en GuardDuty-gebeurtenissen worden verzonden naar Microsoft Sentinel.

Stap 5: de integratie testen

Voer de volgende test uit om te controleren of acties voor automatische aanvalsonderbrekingen werken zoals verwacht.

  1. Een testwaarschuwing activeren in AWS (bijvoorbeeld gesimuleerde inbreuk op referenties).

  2. Controleer of Microsoft Sentinel de geconfigureerde acties voor het betrokken IAM-account kunt uitvoeren.

  3. Controleer auditlogboeken in AWS en Microsoft Sentinel om te controleren of de uitvoering is geslaagd.

Stap 6: Bewaken en onderhouden

Gebruik de volgende procedures om de integratie in de loop van de tijd te bewaken en te onderhouden.

  • Controleer regelmatig IAM-rolmachtigingen en auditlogboeken in AWS.
  • Werk Microsoft Sentinel-analyseregels en automatiseringsplaybooks zo nodig bij om wijzigingen in uw AWS-omgeving te weerspiegelen.
  • Waarschuwingen en reactieacties bewaken in de Microsoft Sentinel-portal.

Met de volgende scripts worden de AWS IAM-rol en de OIDC-providerinstallatie geautomatiseerd voor de integratie van Microsoft Sentinel met AWS om onderbreking van aanvallen mogelijk te maken:

Het volgende Bash-script automatiseert de configuratie van de AWS OIDC-provider en het maken van IAM-rollen voor Microsoft Sentinel-integratie. Voordat u deze uitvoert, moet u ervoor zorgen dat de AWS CLI is geïnstalleerd en geverifieerd met een account met IAM-beheerdersmachtigingen. Sla het codefragment op als een bash-bestand en voer het uit.

#!/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"