Azure Stack 作为一款混合云产品,安全防护及安全的业务提供是必备基础能力,本篇将从云安全的定义、Azure Stack 安全机制、Azure Stack 未提供的安全防护三方面,探究 Azure Stack 在安全层面所提供的技术保障以及需要加固的方方面面。
早在 2008 年,当很多人还认为云计算还处于概念阶段时,趋势科技和瑞星等安全厂商纷纷宣布“云安全”计划,在国内云安全这一概念名词由此诞生。“云安全”计划的提出是为了应对病毒的日益泛滥,做法是将病毒资料库放在“云”端,让“云”端对不安全链接直接判断,阻止其进入用户机器。
云安全一词在国内大受杀毒厂商的追捧,其核心思想是利用大规模的云计算来抵御日益复杂多样的黑客攻击与病毒攻击。在国外,安全软件处于云端的做法,称之为基于云的安全软件 -“Cloud-Based Security” 或者安全即服务 -“Security as a Service”。
而本文所提及的云安全(Cloud Security), 是云计算安全性(Cloud computing security)的简称,顾名思义,是关注云计算业务系统本身的安全性,其概念采用维基百科的解释:通过部署一套广泛的策略、技术与控制方法, 来保护数据、应用程序、与云计算的基础设施的安全性。
云计算的安全疑虑很多,每个建设环节都可能导致安全问题,包括物理机房环境、网络、应用、数据存储等各方面的安全。除去机房环境,可以简单归结为以下几个方面:
混合云 Azure Stack 场景中,在公共云供应商或者 Azure Stack 供应商和客户之间有一条非常明显的责任分界线。当一个 IaaS 客户角色转变成一个 PaaS 或 SaaS 客户角色,其相应的责任也会发生改变,一个 IaaS 层角色与 PaaS 层角色的责任是明显不同的,比如我们管理一个运行在一台自己管理的虚机上 SQL Server 的责任,与管理一个 Azure SQL 数据库而不用管理运行该数据库的虚机所面临的责任是不一样的。
Azure Stack 的安全机制主要分为三个层面:硬件安全,平台层安全,租户层安全。
Azure Stack 拥有从物理层面到不同的 SaaS 服务层面的多种安全机制,以确保数据安全。在 Azure Stack 混合云环境中,客户不能够访问虚拟机管理程序层,PaaS/SaaS 服务提供商同样不能访问。
Azure Stack 平台硬件层面的基本安全机制有安全启动(Secure boot)和统一的可扩展固件接口(UEFI)。不同品牌的硬件提供商(Lenovo、Dell EMC、HPE 等)针对 Azure Stack 的硬件层都提供了自己强有力的硬件安全解决方案,有效地解决 Azure Stack 的硬件安全问题,等 Azure Stack 硬件 GA 后,我们会详细地比较、分析、评价各厂商的硬件安全解决方案。
Azure Stack 相对于微软的公有云 Azure 是一个独立的平台,但安全管理方面有很大的相似性:
在 Azure Stack 中,作为一个服务提供商只能访问管理门户 admin portal,可通过并仅能通过管理门户或者管理 API 创建用户订阅,管理 Azure Stack 架构,监控平台健康状态,查看审计日志信息,但没有权限查看正常用户的数据与业务。
Azure Stack 实现平台的安全,主要基于两个安全原则:
“Assume breach”原则
基于“Assume breach”安全原则,如果平台检测到任何黑客攻击行为,不仅可以有效阻断,还可以有效限定被攻击的范围,减少被攻击损失。如果一个 Azure Stack 组件被黑客攻破,也不会导致整个平台瘫痪,有效保证其他组件的安全。通常,管理员角色最易受到攻击,Azure Stack 通过一个预定义的约束管理经验模型,保证如果一个管理员证书被攻破,攻击者只能访问该管理员被限制访问的组件。
为了实现 Azure Stack 平台的安全,微软制定了多种安全机制:
1、约束管理,Azure Stack 提供了非常精细的,基于角色的访问控制
2、锁定基础设施
3、为了提高检测能力,Azure Stack 启用每个基础架构组件的安全和审计日志,可以监控任何入侵。
4、隔离 host,杜绝 Azure Stack 账户直接访问底层 host。微软与 OEM 厂商提供 host 的全生命周期的管理,提供不影响用户业务及数据的加固服务,比如提供固件、驱动、操作系统补丁升级等服务。
“Hardened by default”原则
Azure Stack 默认启用许多安全控制机制,比如:
1、静态数据加密,Azure Stack 所有的存储都应用 BitLocker 加密,同时提供三备份机制。
2、基础架构组件之间,采用强身份验证。
3、基于 Security Compliance Manager,在底层操作系统上使用预定义安全模板。
4、在底层操作系统,禁用传统旧协议,比如 SMB1,NTLMv1,MS-CHAPv2,Digest。
5、应用 Windows Server 2016 的安全功能
上一章节,我们介绍了平台层的安全机制,相对租户层不可见的平台层安全机制,Azure Stack 对租户层用户也提供了多种安全机制。
资源管理器 ARM 本身有一个 Role-Based Access 模型,用来定义一个用户可以访问订阅、资源组。其中,ARM 内部的访问能够使用默认定义角色或者自定义角色。
下图描述了 Azure Stack 基于角色的访问控制模型 (参照微软官方 Azure RBAC):
在 Azure Stack 租户层所采用的一些安全策略:
Azure Stack 本身提供了用户身份认证、权限的租户隔离和虚拟化资源共享业务安全问题的解决方案,但是对于用户应用数据的安全问题则有赖于用户自己解决,这其中包括如下三个方面:
1) 客户虚拟机和应用集群的统一、自动化管理,比如大数据集群管控。
2) 客户数据的自动备份、保护机制,比如数据脱敏,数据防泄漏等。
3) 客户虚拟机和客户网络的安全防护,比如更符合客户习惯的身份认证与访问控制,恶意软件防护,防火墙等。
针对 Azure Stack 未提供的用户应用、数据方面的安全问题,技术层面需要 CMP 和系列安全防护融合的综合解决方案。通过 CMP 可以实现客户虚拟机和应用集群的统一、自动化管理和客户数据的自动备份和保护,而客户虚拟机和网络的安全防护则需要通过专业的安全防护解决方案来解决。
针对混合云,一个专业的安全解决方案,可以提供私有云和公有云统一的安全管理平台,保护 IT 环境免遭数据泄露和业务中断,降低运营成本,获得如下六个方面的功能防护:
1) 入侵检测:
2) 防恶意软件:
3) 防火墙,双向有状态防火墙,兼容各类主流协议。
4)Web 信誉,对百万计的 web 站点评级分类,访问低信誉网站时主动提醒。
5) 完整性监控,保护系统文件和注册表,阻止对系统关键资源的更改。
6) 日志审查,智能提取日志中的安全事件。
感谢江柳对本文的审校。
评价本文
来源: http://www.infoq.com/cn/articles/azure-stack-security