إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
توضح هذه المقالة كيفية تكوين بيئة AWS بحيث يمكن Microsoft Sentinel اتخاذ إجراءات تلقائية على مستخدم يفترض دور SAML، أو على حساب AWS IAM عند تشغيل تنبيه. يستخدم تعطيل الهجوم إشارات عالية الثقة لاحتواء الأصول المخترقة والحد من الأضرار الناجمة عن الهجمات، بما في ذلك الإجراءات على الهويات في AWS. قبل البدء، تأكد من وجود المتطلبات الأساسية المطلوبة ل AWS و Microsoft Sentinel.
المتطلبات الأساسية
قبل البدء، تحتاج إلى المتطلبات الأساسية التالية في مكانها:
- لديك حساب AWS نشط مع امتيازات إدارية.
- مساحة العمل التحليلية Microsoft Sentinel متصلة بمدخل عمليات الأمان الموحدة.
- يتم نشر موصل AWS Microsoft Sentinel وتمكينه
- يتم استيعاب سجلات AWS CloudTrail في Microsoft Sentinel راجع: الاتصال Microsoft Sentinel ب Amazon Web Services لاستيعاب بيانات سجل خدمة AWS
- يتم تكوين أدوار وأذونات IAM المناسبة في AWS للسماح Microsoft Sentinel بتنفيذ الإجراءات على حسابات IAM.
الخطوة 1: إعداد AWS للتكامل
أكمل المهام التالية لإعداد بيئة AWS الخاصة بك للتكامل Microsoft Sentinel.
1.1 إنشاء دور IAM مخصص Microsoft Sentinel
- إنشاء دور IAM جديد في وحدة تحكم إدارة AWS.
حدد خدمة AWS ككيان موثوق به واختر EC2 كعنصر نائب مؤقت. يمكنك استبدال علاقة الثقة هذه بكيان Microsoft Sentinel الصحيح في تكوين علاقة الثقة.
إرفاق نهج IAM التالي بالدور. يمنح هذا النهج Microsoft Sentinel الأذونات اللازمة لإدارة مستخدم IAM ونهج الدور لإجراءات تعطيل الهجوم. استبدل <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 تكوين علاقة الثقة
إنشاء نهج ثقة مخصص لدور IAM.
استخدم نهج الثقة التالي، مع تحديد أساس تكامل Microsoft Sentinel (استبدل <YOUR_AZURE_SUBSCRIPTION_ID> بمعرف اشتراك 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"
}
]
}
الخطوة 2: تمكين CloudTrail
تمكين تسجيل CloudTrail في جميع مناطق AWS بحيث يمكن Microsoft Sentinel تلقي بيانات النشاط المطلوبة.
في وحدة تحكم AWS، انتقل إلى CloudTrail.
تأكد من تمكين CloudTrail وأن التسجيل نشط لجميع المناطق.
الخطوة 3: نشر موصل AWS وتمكينه في Microsoft Sentinel
نشر وتمكين موصل بيانات AWS S3 في Microsoft Sentinel بحيث يمكنه تلقي بيانات السجل من بيئة AWS الخاصة بك. قبل البدء، تأكد من تثبيت حل Amazon Web Services من مركز المحتوى في Microsoft Sentinel بحيث يظهر موصل Amazon Web Services S3 في معرض موصلات البيانات.
في مدخل Azure، انتقل إلى موصلات البيانات Microsoft Sentinel>.
حدد Amazon Web Services S3 من معرض موصلات البيانات.
اتبع الإرشادات الواردة في Connect Microsoft Sentinel إلى Amazon Web Services لاستيعاب بيانات سجل خدمة AWS لإعداد بيئة AWS وتوصيلها Microsoft Sentinel.
قم بتوفير دور IAM ARN وعنوان URL لقائمة انتظار Amazon SQS الذي يتلقى إعلامات سجل S3 من بيئة AWS الخاصة بك. يتم إنشاء هذه القيم أثناء إعداد الموصل الموضح في الخطوة السابقة.
الخطوة 4: التحقق من صحة التكامل
استخدم عمليات التحقق التالية للتأكد من أن تكامل موصل AWS يعمل بشكل صحيح.
في Microsoft Sentinel، تأكد من أن حالة الموصل متصلة.
تحقق من صحة استيعاب السجل والموصل باستخدام جدول تشخيص SentinelHealth، الذي يبلغ عن حالة صحة الموصل والاستيعاب في مساحة العمل Log Analytics. تحقق أيضا من حالة قائمة انتظار AWS SQS للتأكد من معالجة إعلامات السجل.
في AWS، تحقق من إرسال أحداث CloudTrail و GuardDuty إلى Microsoft Sentinel.
الخطوة 5: اختبار التكامل
قم بإجراء الاختبار التالي للتحقق من أن إجراءات الاستجابة التلقائية لتعطل الهجوم تعمل كما هو متوقع.
تشغيل تنبيه اختبار في AWS (على سبيل المثال، محاكاة اختراق بيانات الاعتماد).
تأكد من أن Microsoft Sentinel يمكنه اتخاذ الإجراءات المكونة على حساب IAM المتأثر.
راجع سجلات التدقيق في AWS Microsoft Sentinel للتحقق من التنفيذ الناجح.
الخطوة 6: المراقبة والصيانة
استخدم الممارسات التالية لمراقبة التكامل والحفاظ عليه بمرور الوقت.
- راجع بانتظام أذونات دور IAM وسجلات التدقيق في AWS.
- قم بتحديث Microsoft Sentinel القواعد التحليلية ودلائل مبادئ التشغيل التلقائي حسب الحاجة لتعكس التغييرات في بيئة AWS الخاصة بك.
- مراقبة التنبيهات وإجراءات الاستجابة في مدخل Microsoft Sentinel.
تعمل البرامج النصية التالية على أتمتة دور AWS IAM وإعداد موفر OIDC لتكامل Microsoft Sentinel مع AWS لتمكين تعطيل الهجوم:
يقوم البرنامج النصي Bash التالي بأتمتة تكوين موفر AWS OIDC وإنشاء دور IAM لتكامل Microsoft Sentinel. قبل تشغيله، تأكد من تثبيت AWS CLI ومصادقته باستخدام حساب لديه أذونات إدارية ل IAM. احفظ مقتطف التعليمات البرمجية كملف bash وقم بتنفيذه.
#!/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"