Povolení akcí přerušení útoku na AWS s Microsoft Sentinel (Preview)

Tento článek popisuje, jak nakonfigurovat prostředí AWS tak, aby Microsoft Sentinel mohli provádět automatizované akce s uživatelem, který přebírá roli SAML, nebo s účtem AWS IAM při aktivaci upozornění. Automatické narušení útoků v Microsoft Defender XDR využívá signály s vysokou jistotou k zadržení kompromitovaných aktiv a omezení škod způsobených útoky, včetně akcí na identity v AWS. Než začnete, ujistěte se, že jsou splněné požadované požadavky AWS a Microsoft Sentinel.

Požadavky

Než začnete, musíte mít splněné následující požadavky:

  • Máte aktivní účet AWS s oprávněními správce.
  • Váš analytický pracovní prostor Microsoft Sentinel je připojený ke sjednocenému portálu operací zabezpečení.
  • AWS Connector pro Microsoft Sentinel je nasazen a aktivován.
  • AWS CloudTrail logy jsou zaznamenávány do Microsoft Sentinel; viz Připojit Microsoft Sentinel k Amazon Web Services pro ingest dat AWS service log.
  • Příslušné role a oprávnění IAM jsou v AWS nakonfigurované tak, aby Microsoft Sentinel mohly provádět akce s účty IAM.
  • Řešení Amazon Web Services je nainstalováno z Content Hubu v Microsoft Sentinel, takže konektor Amazon Web Services S3 se zobrazuje v galerii datových konektorů.

Krok 1: Příprava AWS na integraci

Dokončete následující úlohy a připravte prostředí AWS na integraci Microsoft Sentinel.

1.1 Vytvoření vyhrazené role IAM pro Microsoft Sentinel

Vytvořte novou roli IAM v konzole pro správu AWS.

  1. Jako důvěryhodnou entitu vyberte službu AWS a jako dočasný zástupný symbol zvolte EC2 . Tento vztah důvěryhodnosti nahradíte správným objektem zabezpečení Microsoft Sentinel v konfiguraci vztahu důvěryhodnosti.

  2. Připojte k roli následující zásadu IAM. Tato zásada uděluje Microsoft Sentinel oprávnění potřebná ke správě zásad uživatelů a rolí IAM pro akce přerušení útoku. Podle potřeby nahraďte <YOUR_ACCOUNT_ID> :

    {
      "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 Konfigurace vztahu důvěryhodnosti

Vytvořte vlastní zásady důvěryhodnosti pro roli IAM.

Použijte následující zásady vztahu důvěry, ve kterých uvedete objekt služby integrace Microsoft Sentinel (nahraďte <YOUR_AZURE_SUBSCRIPTION_ID> skutečným ID vašeho předplatného Azure):

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Principal": {
        "Service": "ec2.amazonaws.com",
        "AWS": "arn:aws:iam::<YOUR_AZURE_SUBSCRIPTION_ID>:root"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}

Krok 2: Povolení Služby CloudTrail

Povolte protokolování CloudTrail ve všech oblastech AWS, aby Microsoft Sentinel mohly přijímat požadovaná data aktivit.

  1. V konzole AWS přejděte na CloudTrail.

  2. Ujistěte se, že je povolená služba CloudTrail a že je aktivní protokolování pro všechny oblasti.

Krok 3: Nasazení a povolení konektoru AWS v Microsoft Sentinel

Nasaďte a povolte datový konektor AWS S3 ve službě Microsoft Sentinel, aby mohl přijímat data z protokolů z vašeho prostředí AWS. Než začnete, ujistěte se, že je řešení Amazon Web Services nainstalované z centra obsahu v Microsoft Sentinel tak, aby se konektor Amazon Web Services S3 zobrazil v galerii datových konektorů.

  1. V Azure Portal přejděte na Microsoft Sentinel > Datové konektory.

  2. V galerii datových konektorů vyberte Amazon Web Services S3 .

  3. Postupujte podle pokynů v tématu Připojení Microsoft Sentinel k Amazon Web Services k ingestování dat protokolu služby AWS a nastavte prostředí AWS a připojte je k Microsoft Sentinel.

  4. Zadejte roli IAM ARN a adresu URL fronty Amazon SQS, která přijímá oznámení protokolu S3 z vašeho prostředí AWS. Tyto hodnoty se vytvoří při nastavení konektoru pomocí Connect Microsoft Sentinel to Amazon Web Services pro zpracování dat z logu AWS servisu.

Krok 4: Ověření integrace

Pomocí následujících kontrol ověřte, že integrace konektoru AWS funguje správně.

  1. V Microsoft Sentinel ověřte, že je konektor ve stavu Připojeno.

  2. Pomocí diagnostické tabulky SentinelHealth ověřte příjem protokolů a stav konektoru; tato tabulka hlásí stav konektoru a stav příjmu dat ve vašem pracovním prostoru Log Analytics. Zkontrolujte také stav fronty AWS SQS a ověřte, že se zpracovávají oznámení o protokolech.

  3. V AWS zkontrolujte, že se události CloudTrail a GuardDuty odesílají do Microsoft Sentinel.

Krok 5: Testování integrace

Provedením následujícího testu ověřte, že akce reakce na přerušení automatizovaného útoku fungují podle očekávání.

  1. Aktivace testovacího upozornění v AWS (například simulované ohrožení zabezpečení přihlašovacích údajů)

  2. Ověřte, že Microsoft Sentinel může u dotčeného účtu IAM provést nakonfigurované akce.

  3. Zkontrolujte protokoly auditu v AWS a Microsoft Sentinel a ověřte úspěšné provedení.

Krok 6: Monitorování a údržba

Pomocí následujících postupů můžete monitorovat a udržovat integraci v průběhu času.

  • Pravidelně kontrolujte oprávnění role IAM a protokoly auditu v AWS.
  • Aktualizujte Microsoft Sentinel analytická pravidla a playbooky automatizace podle potřeby tak, aby odrážely změny v prostředí AWS.
  • Monitorujte výstrahy a akce odpovědí na portálu Microsoft Sentinel.

Následující skripty automatizují nastavení role AWS IAM a zprostředkovatele OIDC pro integraci Microsoft Sentinel s AWS, aby se umožnilo přerušení útoku:

Následující skript Bash automatizuje konfiguraci zprostředkovatele AWS OIDC a vytvoření role IAM pro integraci Microsoft Sentinel. Než ho spustíte, ujistěte se, že je rozhraní příkazového řádku AWS nainstalované a ověřené pomocí účtu s oprávněními správce IAM. Uložte fragment kódu jako soubor Bash a spusťte ho.

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