Posts

Showing posts from August, 2026

Securing Service Principals and Managed Identities in Entra ID Workload Identities | الهوية اللي محدش بيحميها: أمّن Service Principals و Managed Identities في Entra ID

Image
الهوية اللي محدش بيحميها: أمّن Service Principals و Managed Identities في Entra ID دليل عملي لاكتشاف وتأمين الـ Workload Identities في Tenant بتاعك قبل ما تتحول لثغرة سايبة لأي حد يستغلها. المقدمة كنت بعمل Security Review لـ Tenant عميل، ولقيت Service Principal معاه App Role اسمه Mail.Send على مستوى الـ Tenant كله، والـ Secret بتاعه عمره أكتر من سنتين، وحد أنشأه اسمه مش موجود في الشركة من زمان. حد ما كان عارف الـ App ده بيعمل ايه أصلاً. ده مثال بسيط جداً على مشكلة أكبر: احنا بنحمي حسابات البني آدمين بـ MFA وConditional Access وPIM، وفي نفس الوقت عندنا مئات الـ Service Principals وManaged Identities اللي عندها صلاحيات فوق الوصف، ومفيش حد بيراقبها لأنها "مش هيوزر" في نظرنا. الهوية دي بالذات هي أسهل نقطة دخول لأي attacker دلوقتي، لأنها غالباً مش عليها MFA، ومفيش عليها Conditional Access افتراضياً، وأحياناً الـ Secret بتاعها متسرب في كود على GitHub من سنين. 💡 المتطلبات: - Entra ID P1 كحد أدنى، وEntra Workload ID Premium (أو Entra ID Governance) عشان تطبق Condition...

Break-Glass Account Strategy That Survives an Incident | استراتيجية Break-Glass Accounts اللي فعلا بتنجيك وقت الكارثة

Image
استراتيجية Break-Glass Accounts اللي فعلا بتنجيك وقت الكارثة حكاية حساب طوارئ اتعمل صح من أول مرة، مش بس اتعمل وخلاص المقدمة تخيل معايا الموقف ده: عميل عنده Conditional Access policy جديدة اتعملها الصبح، وبعد ساعتين كل الـ Global Admins بتاعته اتقفلهم الدخول لأن الـ policy طلعت أشمل مما المفروض وطلبت MFA من جهاز مش متسجل. الحل الطبيعي كان إنه يستخدم الـ break-glass account، بس المفاجأة إن الحساب ده كان متضمن غصب عنه جوا نفس الـ Conditional Access policy لأنه اتحط في exclusion group غلط من سنة. يعني الحساب اللي المفروض ينجيك، هو نفسه واقع في نفس المشكلة. من هنا بقى واضح إن عمل break-glass account مش بس "خد حساب وحط عليه Global Admin"، ده استراتيجية كاملة لازم تتختبر بجد قبل ما تحتاجها فعلا. 💡 المتطلبات: صلاحية Global Administrator أو Privileged Role Administrator على الـ tenant، وصول لـ Microsoft Entra admin center، Microsoft Graph PowerShell SDK أو Graph Explorer، Microsoft Sentinel أو Defender XDR (لو عايز alerting)، ومكان آمن فيزيقي أو digital vault (زي Azure ...

Entra Connect Sync Health and Hybrid Identity Troubleshooting | مشاكل مزامنة Entra Connect: دليلك العملي لتشخيص أعطال الـ Hybrid Identity

Image
مشاكل مزامنة Entra Connect: دليلك العملي لتشخيص أعطال الـ Hybrid Identity حكاية يوم عملي فيه Break Fix لـ Sync متوقف من يومين وحد ما حسش، وإزاي بقيت أتابع الصحة دي بشكل دوري بدل ما أستناها تبوظ. المقدمة لو إنت شغال في بيئة Hybrid فيه On-Premises Active Directory متزامن مع Microsoft Entra ID، بقالك فترة طويلة معتمد على إن Entra Connect (أو Cloud Sync) شغال في الخلفية وكل حاجة ماشية تمام. المشكلة إن الأداة دي مش زي الخدمات التانية اللي بتديك Alert فورية لما تقف، ممكن الـ Sync يفشل بصمت لمدة أيام وإنت مش حاسس غير لما حد يشتكي إن الـ Password بتاعه اتغير في الـ AD بس لسه مش شغال على Microsoft 365. أنا شخصيًا واجهت السيناريو ده أكتر من مرة: عميل عنده Export Deletion Threshold وقف الـ Sync كامل لأن حد عمل Bulk Delete غلط في الـ OU، وعميل تاني عنده Duplicate Attribute بسبب proxyAddresses متكرر بين يوزرين. في البوست ده هنمشي خطوة خطوة على إزاي تتابع صحة الـ Sync، وإيه أشهر الأعطال، وإزاي تحلها بسرعة قبل ما توصل لحالة Escalation. 💡 المتطلبات: صلاحيات Domain Admin أو Enterpris...

Entra ID Protection Risk Policies: Sign-in Risk vs User Risk Explained | Sign-in Risk ولا User Risk؟ إزاي تفهم Entra ID Protection صح

Sign-in Risk ولا User Risk؟ إزاي تفهم Entra ID Protection صح دليل عملي للفرق بين النوعين، وإزاي تبني عليهم Conditional Access policies تحمي بيها الشركة بدون ما تضرب المستخدمين بـ friction زيادة. المقدمة كنت شغال على incident فيه user واحد جالوا Risk Detections كتير في نفس اليوم، وأول حاجة اتسألت فيها في الاجتماع كانت "طب ده Sign-in Risk ولا User Risk؟". ولو أنت جديد على Entra ID Protection، ممكن تفتكر إن الاتنين نفس الحاجة، بس الحقيقة إن كل واحد منهم بيحل مشكلة مختلفة تماماً. لو خلطت بينهم في تصميم الـ Conditional Access policies، ممكن تعمل experience تعبان للمستخدمين، أو الأسوأ، تسيب gap أمني حقيقي. في البوست ده هنفكك الفرق بينهم بشكل عملي، هنشوف إزاي تبني policy لكل واحد، وهنشوف كمان إزاي تراقب النتيجة بـ Microsoft Graph وKQL في Defender XDR. 💡 المتطلبات: ترخيص Microsoft Entra ID P2 (جزء من Entra ID Governance أو E5) صلاحية Security Administrator أو Conditional Access Administrator على الـ tenant Microsoft Graph PowerShell SDK متثبت (Install-Module Micro...

Automating Access Reviews for Privileged Roles and Groups in Entra ID | Access Reviews: خلي الـ Recertification للـ Privileged Roles يمشي لوحده

Image
Access Reviews: خلي الـ Recertification للـ Privileged Roles يمشي لوحده إزاي تشيل عن دماغك موضوع "مين لسه محتاج يكون Global Admin" وتخلي النظام يسأل بدالك كل فترة المقدمة لو انت مسؤول عن Entra ID Tenant فيه أكتر من 50 يوزر، أكيد جالك اليوم اللي بتفتح فيه Privileged Identity Management أو Azure AD Roles وتلاقي ناس معينة Role زي Global Administrator أو Exchange Administrator من سنة ونص ومحدش فاكر ليه أصلاً. المشكلة مش إنك مش عارف مين معاه إيه، المشكلة إن محدش بيراجع الموضوع ده بشكل دوري لأنه ببساطة عمل يدوي ممل ومحدش هيعمله كل شهر بإرادته. أنا شخصياً كنت بعمل الموضوع ده بـ Excel Sheet وإيميلات لمدراء الأقسام، وكانت النتيجة إن الـ Review بياخد شهر كامل عشان يتقفل. لما حولت الموضوع كله على Access Reviews مع Logic Apps بسيطة للـ Notifications، الوقت نزل لأسبوع والالتزام زاد لأن الناس بتاخد Email فيه Deadline واضح. 💡 المتطلبات: Microsoft Entra ID Governance License (متضمنة في Entra ID P2 أو Entra Suite) صلاحية Identity Governance Administrator أو Global Administrator...

Stopping Guest-Inviting-Guest Sprawl in Entra External Collaboration Settings | لما الـ Guest بيعزم Guest تاني: إزاي توقف فوضى التعاون الخارجي في Entra ID

Image
لما الـ Guest بيعزم Guest تاني: إزاي توقف فوضى التعاون الخارجي في Entra ID حكاية تينانت بدأ بـ 12 guest وخلص بـ 400، وإزاي تمسك الخيط من الأول قبل ما يتفلت. المقدمة حصل معايا الموضوع ده فعلاً في تينانت لعميل عنده شركة استشارات صغيرة. البداية كانت طبيعية جداً: قسم الـ Sales عزم شريك خارجي واحد على SharePoint site عشان يتشارك في عرض. المشكلة إن الشريك ده كان عنده صلاحية Invite Guest افتراضياً في التينانت بتاعه، فراح عازم اثنين من زمايله يساعدوه، وهما كل واحد عزم واحد تاني "للمراجعة"، وفي أسبوعين بقى عندك 40 guest جديد ولا أحد فاكر ليه أصلاً كل واحد فيهم موجود. المشكلة الحقيقية مش إن الـ external collaboration حاجة وحشة، هي أداة أساسية للشغل، لكن لو سايبها على Default Settings من غير حدود، هتلاقي نفسك بعد شهور مش عارف مين موجود في التينانت وليه، وده كابوس حقيقي وقت أي Access Review أو Audit. 💡 المتطلبات: صلاحية Global Administrator أو External ID User Flow Administrator على الأقل عشان تعدل authorization policy Entra ID P1 (أو P2 لو هتستخدم Entitlement Management ...

Restricting Multi-Tenant App Registrations to Specific Tenants in Entra ID | مش كل Tenant يعدي: إزاي تقيّد تطبيقك الـ Multi-Tenant في Entra ID

Image
مش كل Tenant يعدي: إزاي تقيّد تطبيقك الـ Multi-Tenant في Entra ID إزاي تتحكم في مين يستخدم App Registration بتاعك من بره تنانتك، من غير ما تكسر الفكرة الأساسية اللي هي إنه Multi-Tenant. المقدمة حصل معايا الموضوع ده وأنا بشتغل على App Registration داخلي، اتعمل Multi-Tenant من الأول عشان استخدام مؤقت مع شركة تانية بعد Merger، وبعد ما خلصنا الغرض، لقيت إن Service Principal بتاع التطبيق ده لسه موجود في تنانتات تانية معملهاش أي Review. المشكلة إن Entra ID مش بيعطيك زرار جاهز اسمه "اسمح للـ Tenants دول بس"، وده بيخلي كتير من المهندسين يفترضوا إن الموضوع مقفول تلقائي بمجرد ما الاستخدام يخلص. الموضوع ده مهم جداً لو عندك SaaS App أو حتى Internal Tool بيتشارك بين شركات فرعية، لأن أي Tenant تاني ممكن يعمل Consent عليه لو الـ Publisher settings مش مضبوطة صح. 💡 المتطلبات: صلاحية Application Administrator أو Cloud Application Administrator على الـ App Registration Permission اسمه Application.ReadWrite.All على Microsoft Graph Microsoft Graph PowerShell SDK أو الوصول لـ Gra...

Passwordless Authentication in Entra ID: Passkeys, Windows Hello, and FIDO2 Rollout | وداعًا للباسورد: دليل تفعيل Passkeys و Windows Hello و FIDO2 في Entra ID

Image
وداعًا للباسورد: دليل تفعيل Passkeys و Windows Hello و FIDO2 في Entra ID تجربة عملية من واقع رول أوت حقيقي لعميل عايز يقفل الباب على الـ password spray وIRT tickets بتاعة "نسيت الباسورد". المقدمة لو انت شغال Identity Engineer أو حتى IT Support، بالتأكيد جالك تذاكر من نوع "نسيت الباسورد" أو "الحساب اتقفل بسبب محاولات دخول غلط". المشكلة إن الباسورد نفسه هو أضعف حلقة في السلسلة، مهما وضعنا عليه Conditional Access أو MFA. في مشروع اشتغلت فيه مؤخرًا، العميل كان عنده تذاكر Password Reset بشكل يومي، وده كان الدافع الأساسي إننا نبدأ رحلة Passwordless بجدية، مش كخيار اختياري في Authentication Methods policy وبس. في البوست ده هنتكلم عن الفرق بين Windows Hello for Business وFIDO2 security keys وPasskeys (اللي هي التطور الطبيعي لـ FIDO2)، وهنعمل رول أوت فعلي خطوة بخطوة باستخدام PowerShell وGraph API، مع التركيز على الـ gotchas اللي ممكن تقابلك في بيئة Hybrid. 💡 المتطلبات: Entra ID P1 على الأقل (P2 مفيد لو هتستخدم PIM أو Identity Protection مع الـ policy...

Identity Lifecycle Automation with Entra ID Governance Workflows | أتمتة دورة حياة الهوية في Entra ID: الموظف يتعين أو يمشي والنظام يتصرف لوحده

Image
أتمتة دورة حياة الهوية في Entra ID: الموظف يتعين أو يمشي والنظام يتصرف لوحده إزاي تستخدم Lifecycle Workflows في Entra ID Governance عشان تسيب الـ onboarding والـ offboarding يحصلوا لوحدهم من غير ما تفتح Ticket واحد. المقدمة لو شغال في أي بيئة فيها أكتر من 200، 300 موظف، بتعرف كويس المشكلة: الـ HR بيضيف موظف جديد في نظام الـ HR بتاعه، وبعدين في اليوم اللي المفروض يبدأ فيه الشغل بيتفاجئ إنه مش عنده حساب، أو الأكونت موجود بس مش داخل الجروبات الصحيحة، أو الأسوأ: موظف اتفصل من شهرين وحسابه لسه فاعل وعنده Access على SharePoint وTeams. أنا شخصيًا شفت الحالة التالتة في أكتر من عميل، وده بالذات اللي خلاني أعتمد على Lifecycle Workflows بدل ما أفضل معتمد على Scripts يدوية أو Power Automate flows مبعثرة كل واحد فيها بيعمل حاجة مختلفة. الفكرة إن Entra ID Governance بيوفر لك engine جاهز اسمه Lifecycle Workflows، بيربط بين حالة الموظف في HR source (زي Workday أو SAP SuccessFactors) وبين اللي بيحصل فعليًا في Entra ID: إنشاء الحساب، الإضافة للجروبات، إرسال welcome email، وفي الآخر، تعطيل ال...