Mengaktifkan aksi pencegahan serangan di AWS dengan Microsoft Sentinel (pratinjau)

Artikel ini menjelaskan cara mengonfigurasi lingkungan AWS Anda sehingga Microsoft Sentinel dapat mengambil tindakan otomatis pada pengguna yang mengasumsikan peran SAML, atau pada akun AWS IAM saat pemberitahuan dipicu. Gangguan serangan otomatis di Microsoft Defender XDR menggunakan sinyal dengan kepercayaan tinggi untuk menahan aset yang dikompromikan dan membatasi kerusakan dari serangan, termasuk tindakan pada identitas di AWS. Sebelum memulai, pastikan prasyarat AWS dan Microsoft Sentinel yang diperlukan sudah ada.

Prasyarat

Sebelum memulai, Anda memerlukan prasyarat berikut:

  • Anda memiliki akun AWS aktif dengan hak istimewa administratif.
  • Ruang kerja analitik Microsoft Azure Sentinel Anda tersambung ke portal operasi keamanan terpadu.
  • AWS Connector untuk Microsoft Sentinel sudah dipasang dan diaktifkan.
  • Log AWS CloudTrail sedang dimasukkan ke dalam Microsoft Sentinel; lihat Hubungkan Microsoft Sentinel ke Amazon Web Services untuk menginput data log layanan AWS.
  • Peran dan izin IAM yang sesuai dikonfigurasi di AWS untuk memungkinkan Microsoft Sentinel melakukan tindakan pada akun IAM.
  • Solusi Amazon Web Services diinstal dari Content Hub di Microsoft Sentinel sehingga konektor Amazon Web Services S3 muncul di galeri konektor data.

Langkah 1: Siapkan AWS untuk integrasi

Selesaikan tugas berikut untuk menyiapkan lingkungan AWS Anda untuk integrasi Microsoft Sentinel.

1.1 Membuat peran IAM khusus untuk Microsoft Azure Sentinel

Buat peran IAM baru di AWS Management Console.

  1. Pilih layanan AWS sebagai entitas tepercaya dan pilih EC2 sebagai tempat penampung sementara. Anda mengganti hubungan kepercayaan ini dengan prinsip Microsoft Sentinel yang benar dalam Mengonfigurasi hubungan kepercayaan.

  2. Lampirkan kebijakan IAM berikut ke peran. Kebijakan ini memberikan Microsoft Sentinel izin yang diperlukan untuk mengelola kebijakan pengguna dan peran IAM untuk tindakan gangguan serangan. Ganti <YOUR_ACCOUNT_ID> sesuai kebutuhan:

    {
      "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 Mengonfigurasi hubungan kepercayaan

Buat kebijakan kepercayaan kustom untuk peran IAM.

Gunakan kebijakan kepercayaan berikut, menentukan prinsip integrasi Microsoft Azure Sentinel (ganti <YOUR_AZURE_SUBSCRIPTION_ID> dengan ID langganan Azure Anda yang sebenarnya):

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

Langkah 2: Aktifkan CloudTrail

Aktifkan pengelogan CloudTrail di semua wilayah AWS sehingga Microsoft Sentinel dapat menerima data aktivitas yang diperlukan.

  1. Di konsol AWS, buka CloudTrail.

  2. Pastikan CloudTrail diaktifkan dan pengelogan aktif untuk semua wilayah.

Langkah 3: Menyebarkan dan mengaktifkan konektor AWS di Microsoft Azure Sentinel

Sebarkan dan aktifkan konektor data AWS S3 di Microsoft Sentinel sehingga dapat menerima data log dari lingkungan AWS Anda. Sebelum memulai, pastikan solusi Amazon Web Services diinstal dari Content Hub di Microsoft Sentinel sehingga konektor Amazon Web Services S3 muncul di galeri konektor data.

  1. Di portal Microsoft Azure, buka konektor Data Microsoft Sentinel>.

  2. Pilih Amazon Web Services S3 dari galeri konektor data.

  3. Ikuti instruksi di Menyambungkan Microsoft Sentinel ke Amazon Web Services untuk menyerap data log layanan AWS untuk menyiapkan lingkungan AWS Anda dan menyambungkannya ke Microsoft Sentinel.

  4. Berikan peran IAM ARN dan URL antrean Amazon SQS yang menerima pemberitahuan log S3 dari lingkungan AWS Anda. Nilai-nilai ini dibuat saat Anda mengatur konektor dengan mengikuti Connect Microsoft Sentinel to Amazon Web Services untuk menginput data log layanan AWS.

Langkah 4: Memvalidasi integrasi

Gunakan pemeriksaan berikut untuk mengonfirmasi bahwa integrasi konektor AWS berfungsi dengan benar.

  1. Di Microsoft Azure Sentinel, konfirmasikan bahwa status konektor Tersambung.

  2. Verifikasi penyerapan log dan kesehatan konektor menggunakan tabel diagnostik SentinelHealth, yang melaporkan status kesehatan konektor dan penyerapan di ruang kerja Log Analytics Anda. Periksa juga status antrean AWS SQS untuk mengonfirmasi bahwa pemberitahuan log sedang diproses.

  3. Di AWS, periksa apakah peristiwa CloudTrail dan GuardDuty dikirim ke Microsoft Sentinel.

Langkah 5: Uji integrasi

Lakukan pengujian berikut untuk memverifikasi bahwa tindakan respons gangguan serangan otomatis berfungsi seperti yang diharapkan.

  1. Memicu pemberitahuan pengujian di AWS (misalnya, penyusupan kredensial yang disimulasikan).

  2. Konfirmasikan bahwa Microsoft Sentinel dapat mengambil tindakan yang dikonfigurasi pada akun IAM yang terpengaruh.

  3. Tinjau log audit di AWS dan Microsoft Sentinel untuk memverifikasi keberhasilan eksekusi.

Langkah 6: Pantau dan pertahankan

Gunakan praktik berikut untuk memantau dan memelihara integrasi dari waktu ke waktu.

  • Tinjau izin peran IAM dan log audit secara teratur di AWS.
  • Perbarui aturan analitik Microsoft Sentinel dan playbook otomatisasi sesuai kebutuhan untuk mencerminkan perubahan di lingkungan AWS Anda.
  • Pantau pemberitahuan dan tindakan respons di portal Microsoft Azure Sentinel.

Skrip berikut mengotomatiskan peran AWS IAM dan penyiapan penyedia OIDC untuk mengintegrasikan Microsoft Sentinel dengan AWS untuk mengaktifkan gangguan serangan:

Skrip Bash berikut mengotomatiskan konfigurasi penyedia AWS OIDC dan pembuatan peran IAM untuk integrasi Microsoft Sentinel. Sebelum Anda menjalankannya, pastikan AWS CLI diinstal dan diautentikasi dengan akun yang memiliki izin administratif IAM. Simpan cuplikan kode sebagai file bash dan jalankan.

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