Defender for Cloud Apps: Shadow IT Discovery and App Governance Basics | إزاي تكشف الـ Shadow IT في شركتك قبل ما تبقى مشكلة أمنية
إزاي تكشف الـ Shadow IT في شركتك قبل ما تبقى مشكلة أمنية
دليل عملي لاستخدام Defender for Cloud Apps في اكتشاف الـ cloud apps اللي بيستخدمها الموظفين من غير علم IT، وإزاي تدير الموضوع بشكل منظم.
المقدمة
لو سألت أي مسؤول أمان في شركة متوسطة أو كبيرة "كام cloud app بيستخدمها الموظفين دلوقتي؟"، هتلاقي الإجابة الحقيقية أكبر بكتير من اللي هو متخيله. أنا شخصياً قابلت عميل كان عنده تقدير إنه بيستخدم حوالي 60 تطبيق سحابي، وبعد ما شغّلنا الـ Cloud Discovery في Defender for Cloud Apps ظهر إن العدد الحقيقي أكبر بمراحل، وده كان فيه تطبيقات فيها risk score منخفض جداً وبيتم رفع بيانات حساسة عليها.
المشكلة إن الموظف مش بيقصد يعمل خطأ، هو بس بيحاول يخلص شغله بسرعة، وده اللي بيخلق ما يسمى Shadow IT: أي تطبيق أو خدمة بيستخدمها حد في الشركة من غير موافقة أو رؤية من فريق IT أو الأمان. المقال ده هيوضح إزاي تبدأ تكتشف الموضوع بشكل عملي وتوصل لحوكمة (Governance) حقيقية للتطبيقات.
- ترخيص Microsoft Defender for Cloud Apps (متوفر ضمن Microsoft 365 E5 أو كـ add-on منفصل)
- صلاحيات Global Administrator أو Security Administrator على الـ tenant
- Cloud App Security Administrator role لإعدادات الـ Cloud Discovery
- مصدر logs (Firewall أو Proxy) لو حابب تعمل Cloud Discovery بشكل يدوي، أو Microsoft Defender for Endpoint مفعّل لو عايز automatic discovery
إزاي يعمل Cloud Discovery فعلياً
الفكرة الأساسية إن Defender for Cloud Apps بيحلل traffic logs (سواء من الـ firewall/proxy، أو من Defender for Endpoint لو مفعّل عندك) وبيطابقها مع Cloud App Catalog اللي فيه أكتر من 30 ألف تطبيق سحابي معروف. كل تطبيق ليه risk score من 1 لـ 10 بناءً على أكتر من 80 عامل (compliance، security، legal risk).
1. تفعيل Automatic Log Upload من Defender for Endpoint
لو عندك Defender for Endpoint شغال على الأجهزة، مش محتاج تعمل حاجة زيادة، الـ integration بتاعت Cloud Discovery بتتفعّل من صفحة الإعدادات مباشرة:
Settings -> Cloud Discovery -> Microsoft Defender for Endpoint -> Enable "Automatically upload logs from Microsoft Defender for Endpoint"
ده بيخليك تشوف الـ shadow IT مش بس من على الشبكة الداخلية، لكن حتى من الأجهزة اللي شغالة برا الشركة (remote workers).
2. رفع Log Files يدوياً (لو مفيش Defender for Endpoint)
تقدر ترفع log files من الـ firewall أو الـ proxy بتاعك بشكل يدوي أو مجدول (Continuous Reports) عن طريق:
Cloud Discovery -> Create snapshot report / Create continuous report -> Select log collector type (e.g. Zscaler, Corrata, generic CEF) -> Upload sample log or configure automated log collector
⚠️ لازم تتأكد إن الـ logs فيها الحقول الأساسية (source IP, destination URL/domain, bytes uploaded/downloaded, timestamp)، لأن أي نقص في الحقول دي بيقلل دقة التحليل بشكل كبير.
فهم الـ Risk Score وتصنيف التطبيقات
بعد ما يظهر لك الـ Discovery report، هتلاقي كل app متصنف بـ risk score وبيانات زي عدد المستخدمين، حجم الترافيك، وحالة التطبيق نفسه (sanctioned / unsanctioned / unknown).
| الحالة | المعنى | الإجراء المقترح |
|---|---|---|
| Sanctioned | التطبيق معتمد رسمياً من الشركة | مراقبة عادية عن طريق App Connectors |
| Unsanctioned | تطبيق تم رفضه أو حظره صراحة | حظر عن طريق Conditional Access App Control أو الـ firewall |
| Unknown / Discovered | تطبيق ظهر في الاكتشاف ولسه محتاج تقييم | مراجعة risk score واتخاذ قرار (Sanction/Unsanction) |
✅ الهدف مش إنك تقفل كل التطبيقات اللي مش رسمية، الهدف إنك تعرف هي إيه أولاً، وبعدين تقرر بناءً على الـ risk score والحاجة الفعلية للموظفين.
من الاكتشاف للحوكمة: App Governance
بعد مرحلة الاكتشاف، الخطوة التالية هي App Governance، اللي بتركز على التطبيقات المتصلة بـ Microsoft 365 عن طريق OAuth (زي تطبيقات فيها permissions على Mail أو Files أو Teams). ده جزء مختلف عن Cloud Discovery، وبيتطلب من الـ tenant يكون فيه Defender for Cloud Apps مفعّل مع App Governance add-on.
1. مراجعة OAuth Apps المتصلة
Cloud Apps -> OAuth apps -> filter by Permission level: High
هنا هتلاقي كل تطبيق طلب صلاحيات زي Mail.ReadWrite أو Files.ReadWrite.All، وده بيوضح لك أي تطبيق ثالث ليه وصول واسع على بيانات الشركة.
2. استخدام Graph API لمراجعة الـ Service Principals
GET https://graph.microsoft.com/v1.0/servicePrincipals?$filter=tags/any(t:t eq 'WindowsAzureActiveDirectoryIntegratedApp')
ده بيرجعلك التطبيقات الـ integrated في الـ tenant، وممكن تدمجه مع PowerShell لعمل تقرير دوري.
Connect-MgGraph -Scopes "Application.Read.All"
Get-MgServicePrincipal -Filter "tags/any(t:t eq 'WindowsAzureActiveDirectoryIntegratedApp')" |
Select-Object DisplayName, AppId, PublisherName
3. سحب Sign-in Logs بـ KQL في Log Analytics
لو عندك الـ logs متصدرة على Log Analytics، ده استعلام مفيد لتحديد التطبيقات الأكتر استخداماً من الموظفين خارج نطاق الرقابة:
SigninLogs | where TimeGenerated > ago(30d) | summarize UserCount = dcount(UserId), SignInCount = count() by AppDisplayName | sort by UserCount desc | take 25
التحكم الفعلي: Conditional Access App Control
لما تحدد إن تطبيق معين محتاج تحكم مش حظر كامل (مثلاً تسمح بالقراءة وتمنع الرفع على تطبيق تخزين سحابي غير معتمد)، هنا بييجي دور Conditional Access App Control اللي بيعمل session control عن طريق reverse proxy، من غير ما تحتاج تعدل على الـ endpoint نفسه.
Conditional Access -> New policy -> Cloud apps: select target app -> Session -> Use Conditional Access App Control -> Monitor only / Block download
⚠️ لازم تعمل الربط بين Entra ID Conditional Access و Defender for Cloud Apps الأول، وبعدين تحدد الـ session controls، وإلا الـ policy هتفضل معطلة (Deploy status: Not Deployed).
مشاكل شائعة وحلولها
| المشكلة | الحل |
|---|---|
| الـ Discovery report فاضي أو فيه بيانات ناقصة | تأكد إن الـ log format متطابق مع الـ template المطلوب، والحقول الأساسية زي destination domain موجودة |
| تطبيق مهم تم حظره بالغلط عن طريق Unsanction | رجّعه لحالة Sanctioned من صفحة Cloud Discovery، وراجع الـ Conditional Access policies المرتبطة به |
| Conditional Access App Control ماشي في Monitor فقط ومش بيطبق Block | تأكد إن التطبيق مدعوم بشكل كامل في Conditional Access App Control catalog، بعض التطبيقات بتدعم Monitor بس بدون Control الكامل |
| عدد OAuth apps ضخم ومش قادر تراجعهم كلهم | استخدم App Governance policies الجاهزة لترتيب الأولويات بناءً على الصلاحيات المرتفعة أولاً |
نصائح الأمان 🔐
- ابدأ بمراجعة التطبيقات اللي طالبة صلاحيات Mail أو Files قبل أي شيء تاني، دي أعلى خطورة عادةً
- خلي عندك policy تلقائية في App Governance تنبهك لو تطبيق جديد طلب صلاحية High Risk من غير مراجعة
- متعتمدش على Cloud Discovery وحده، دمجه مع Conditional Access App Control يعطيك تحكم فعلي مش رؤية بس
- راجع الـ risk score بشكل دوري (شهري على الأقل)، لأن تصنيف التطبيقات بيتحدث باستمرار في الـ catalog
- متمنعش كل التطبيقات المكتشفة دفعة واحدة، ده بيخلق ضغط على الموظفين وممكن يدفعهم يستخدموا طرق أسوأ للتحايل
الخلاصة
Shadow IT مش مشكلة تقدر تتجاهلها، لكنها كمان مش مشكلة تحلها بالحظر العشوائي. Defender for Cloud Apps بيعطيك رؤية حقيقية على اللي بيحصل فعلاً في الشبكة، وبعدين بيعطيك الأدوات اللي تتحكم بيها بشكل تدريجي ومدروس.
- فعّل Cloud Discovery إما عن طريق Defender for Endpoint أو رفع logs يدوياً
- راجع risk score لكل تطبيق قبل ما تاخد قرار Sanction أو Unsanction
- فعّل App Governance لمراجعة OAuth apps المتصلة بـ Microsoft 365
- استخدم Conditional Access App Control للتحكم الجزئي مش الحظر الكامل دايماً
إنت جربت Shadow IT Discovery في شركتك قبل كده؟ شاركنا التطبيقات الغريبة اللي ظهرت لك في التعليقات.

Comments
Post a Comment