前言:
本系列实验将引导用户完成O365 企业移动性和安全性(Enterprise Mobility Security)的常用操作和配置,本着实用性和安全性的原则,该系列实验会建议一些最佳实践。本系列实验主要分为以下几个阶段:
- 将Azure AD 登陆和审核日志发送到Azure Monitor
- 用户自助密码重设&条件访问策略强制用户使用MFA二次验证&启用标识保护配置风险检测
- 使用 Privileged Identity Management建立管理角色的审批和授权
- 使用Intune 管理设备和移动设备
- 使用Azure Information Protection 保护云中数据
- 使用Azure Advanced Treat Protection保护混合环境的安全
环境要求:
- O365企业版 E1/E3/E5(有O365国际版许可即可);
- EMS E3/E5(部分用到E5的部分会做说明);
- Azure订阅
实验说明:
客户拿到O365账号后,会设置全局管理员。通常我们建议至少分配两个永久性全局管理员账户,一个做日常的运维管理,另一个作为备份账户使用。假设主管理员启用MFA,在手机网络中断时无法进行二次验证时,需要备用管理账户紧急登录,因此备份账户的设置要求避开所有MFA及条件访问控制策略,后续的实验中我们会渗透这点。
实验步骤:
1.登录https://www.office.com选择登录,输入管理员账号和密码。
2.在左侧的导航栏选择点击用户,活跃用户, 添加用户,这里新建一个管理员账户,角色选择全局管理员,分配许可包含EMS和O365,本实验配置[email protected]为主要全局管理员,[email protected] 为备用全局管理员。
3.将 Azure AD日志发送到Azure Monitor,执行此步骤的原因有下:
1)备用全局管理员账户因为是紧急状态下使用,避开了MFA和条件访问控制等策略的使用,且具有全局管理的权限,为避免账号泄露带来不必要的损失,我们需要对此账号进行监控,确保平时该账号处在安全状态中;
2)Azure Monitor是Azure上提供的一项监控服务,可以监控服务器各项指标及应用,AAD相关的日志内容也可以被监控起来,可以借助Azure Monitor实现对备用账号的监控和告警;
3)除了备用管理员账号,其他账号的监控操作同理。
用管理员账号密码登录到https://portal.azure.com,在左侧的导航栏中找到Azure Active Directory,点击诊断设置,如果是一个没有Azure订阅的账号,会显示如下(如果该账号已有Azure订阅,可跳到下一步),点击从此处开始创建新的订阅, 这个链接会引导申请一个Azure的试用订阅,200美金,一个月的额度,申请过程中要求绑定一张Visa或者master card,输入相关信息后会收到短信提示扣掉一美元,无需担心,扣的是预授权,一个月到后如果不手动升级为付费订阅,该订阅将自动停止。
申请完Azure试用订阅后,左侧导航栏点击 所有服务,搜索 Log Analytics, Log Analytics是Azure Monitor负责收集分析日志的工作单元,为了将我们要监控的AAD日志汇聚在一个专门的容器中管理,我们需要创建一个工作区(workspace)用于存放这些数据。点击搜索结果 Log Analytics工作区。
在弹出的如下界面中点击 创建Log Analytics工作区。
输入工作区的名字,资源组可以新建一个,位置选择一个离我们较近的位置(日本或者东南亚都可以),填入相关信息后点击 完成。
如下是创建好的界面。
为了方便我们查看AAD Log的原生数据,我们同时创建一个存储账号。点击左侧 所有服务,搜索框中输入 存储账户,找到如下图标,点击创建,与上一步创建Log Analytics 工作区相同,输入相关信息,位置和资源组名称选择与上一步中相同的,直到完成。
左侧的导航栏中找到Azure Active Directory,点击诊断设置,点击添加诊断设置。
存储账户选择之前创建的账户, 勾选 发送到Log Analytics, 工作区选择之前创建的, LOG部分将Audit和SignIn 都勾选上。最后点击最上方的 保存。
保存后的界面如下:
回到Azure Active Directory,点击诊断设置上面的日志,点击架构,可以看到之前创建的 AADdeemo工作区已经显示在这里,点击展开 LogManagement, 滚动鼠标,在下面的表中找到AuditLogs”和“SignInLogs”,可以看到上一步设置的两个log已经集成进来了。
找到SignInLogs,点击眼睛状图标,显示此表中的示例记录,可以看到新建了一个查询2,默认把前50条记录给查询出来。我们针对整个日志可以用Kusto语句查询,有兴趣的伙伴可以参考:https://docs.microsoft.com/zh-cn/azure/azure-monitor/log-query/get-started-queries 查询相关内容。
回到Azure Active Directory,点击监视 下面的登陆和审核日志,也分别可以看到相关内容,这里的内容会更加直观,并提供了筛选和导出相关功能。有审计需要可以直接来这里导出。
也可以去之前创建的存储账号里查看日志内容:
接下来我们针对要监控的备用全局管理员账户进行报警设置。回到Azure Active Directory,点击用户->所有用户,选择你要监控的账号,点击进入。
在 配置文件 部分,找到标识->对象ID,复制下来。
在左侧导航栏 所有服务 搜索-> Log Analytics 工作区(可以将搜索结果右侧的五角星点击收藏,这样 Log Analytics 工作区就会显示在左侧的导航栏里) 中点击 警报->新建预警规则。
资源 选择之前创建好的工作区名字, 条件 选择点击Custom Log Search,
搜索查询 填入如下语句:
SigninLogs
| project UserId
| where UserId == "4d12a5e0-f52a-45a9-9fa7-39d78a9732d8"
点击完成后,再选择 操作->添加操作组,按下图配置,电子邮件和电话号码选填要接受警报的联系方式。操作完成后,页面最下方 创建后启用规则 选 【是】,保存。
最后我们重新开启一个浏览器页面,以隐私模式打开,登录https://office.com 后用备用管理员账号(本实验用[email protected] )登录,查看手机和电子邮件是否收到警报通知。
参考文档:https://docs.microsoft.com/zh-cn/azure/active-directory/users-groups-roles/directory-emergency-access