添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
GitLab

招商云安全白皮书

招商局集团 招商局金融科技

2021年01月

# 1 白皮书介绍

招商云是招商局金融集团为实现成员公司IT集中治理而发起核心项目,也是支撑金融集团数字化战略落地的信息化整体架构中的最重要组成部分。在招商金融整体数字化战略指引下,招商金科自主规划设计和研发的招商云平台,通过拥抱开源,研发云管平台等27个平台系统,发布上线云主机、容器、裸机、云硬盘、对象存储、数据库等20个云产品服务。招商云平台实现了管理多云、多可用区、多集群和多租户,纳管计算、存储、网络、数据库等各种资源,实现资源池化和计量计费;并建设上线云监控、自动化运维和安全管理平台。

未来,招商云主动参与技术变革大潮,抓住国家推动企业上云的大好时机,走自研-自用-输出的发展路径,在自主研发关键基础设施的过程中,构建应对技术基础设施下一轮演进的能力。通过资源整合,吸引有共同价值目标的实体入驻,构建云上生态圈,实现大数据、人工智能、区块链、物联网等云服务,推动业务创新,助力集团业务发展。

数据安全和用户隐私是招商云的最重要原则。招商云致力于打造公共、开放、安全的云计算服务平台。通过技术创新,不断提升计算能力与规模效益,将云计算变成真正意义上的基础设施。招商云竭诚为用户提供专业、安全、增值、可靠的云计算基础服务,帮助用户保护其系统及数据的可用性、机密性和完整性。

本白皮书介绍了招商云云安全体系,内容包括:

安全责任共担

安全合规和隐私

招商云基础设施

招商云安全架构

招商云产品提供的安全功能

招商云安全管理平台提供的安全服务

# 2 安全责任共担

基于招商云的用户应用,其安全责任由双方共同承担:招商云确保云服务平台的安全性,用户负责基于招商云服务构建的应用系统的安全。

招商云负责基础设施(包括跨地域、多可用区部署的数据中心,以及招商云骨干传输网络)、物理设备(包括计算、存储和网络设备)、招商云操作系统及之上的各种云服务产品的安全控制、管理和运营,从而为用户提供高可用和高安全的云服务平台。

招商云为用户提供安全服务,保护用户的应用系统。用户负责以安全的方式配置和使用云主机(ECS)、数据库(RDS)实例及其他云产品,基于这些云产品以安全可控的方式构建自己的应用。安全责任共担模式之下,招商云提供并保障基础设施的安全,能够让用户降低IaaS层的安全性的顾虑,安心使用招商云IaaS服务,更专注于核心业务发展。

# 2.1 招商云安全责任

招商云负责基础设施、物理设备、云操作系统及云服务产品安全,并为用户提供保护云端应用及数据的技术手段。

保障云平台自身安全:

保障云数据中心物理安全;

保障云平台硬件、软件和网络安全,如操作系统及数据库的补丁管理、网络访问控制、DDoS防护、灾难恢复等;

及时发现云平台的安全漏洞并修复,修复漏洞过程不影响用户业务可用性;

通过与外部第三方独立安全监管与审计机构合作,对招商云进行安全合规与审计评估;

招商云为用户提供保护云端信息系统的技术手段;

为用户提供多地域、多可用区分布的云数据中心以及多线BGP接入网络,使得用户可利用招商云基础设施构建跨机房高可用的云端应用;

云账户支持主子账号、多因素认证、分组授权、细粒度授权、临时授权;

为用户提供安全审计手段;

为用户提供数据加密手段;

为用户提供招商云安全管理平台安全服务。

# 2.2 用户安全责任

用户基于招商云提供的服务构建自己的云端应用系统,综合运用招商云产品的安全功能和安全服务来保护自己的业务系统。

招商云提供的云主机(ECS)、专有网络(VPC)服务的实例完全由用户控制,用户应管理实例并进行安全配置。例如用户应加固租用的云主机操作系统、升级补丁。

用户如需进行防火墙的网络访问控制配置,可向招商云提出要求。

# 3 安全合规和隐私

招商云的安全流程机制已经得到国内外相关权威机构的认可,我们将金融安全最佳实践融入到云平台的安全防护中,将众多的合规标准融入云平台合规内控管理和产品设计中,并通过独立的第三方验证招商云如何符合标准。下表是招商云具有的资质列表。

资质 简介
ISO27001 信息安全管理体系国际认证,从数据安全、网络安全、通信安全、操作安全等各个方面证明招商云平台履行的安全职责。
ISO27018 标志着招商云个人信息保护管理体系有能力满足国内外高标准的个人信息保护法律法规要求。
CSASTAR 云安全管理体系国际认证,招商云获得金牌。
ISO27701 全球首个隐私体系标准,招商云重视客户的隐私保护,确保客户隐私保护管理合规,实现长期的个人隐私安全保护。
ISO29151 国际通行的个人身份信息保护指南,招商云依据29151开展个人身份信息保护。
ISO22301 业务连续性管理体系是国际公认能够衡量企业服务连续性能力是否满足社会责任和客户承诺的唯一标准, 阿里云通过全球首个最新版 ISO/IEC 22301 业务连续性国际认证。
PCI DSS 是一项重要的支付卡业务质素认证,评测支付卡数据的安全性,包括信用卡号、CVV2 号等,同时关注账号或密码传输与储存的安全性,招商云为PCI DSS安全认证云服务商。
可信云 可信云国内首个云服务质量评估体系,此次通过可信云服务认证,标志着招商云的云主机已达到国内顶级云服务评测系统的认证标准,意味着招商云的云主机无论是在服务水平上还是云计算风险管理能力上都能经得起重重考核。
等级保护测评 招商云通过云计算等级保护三级测评,意味着招商云满足国家网络安全法的合规要求。

# 3.1 合规

招商云依据标准和金融行业最佳实践不断完善自身的管理与机制,并通过了一系列的标准认证、三方审计以及自评估,务求更好的向用户展示招商云的合规实践。同时,成员企业用户在面对合规需求时,存在自身经验与资源的局限性。招商云也希望借由审计报告、合规解决方案、以及合规架构咨询等诸多方式,来帮助成员企业开展合规工作,将招商云合规实践的价值最大化。

招商云面对不同角度、不同行业、不同地区的合规需求,整体合规工作可以划分为如下几类:

  1. 管理体系合规: 旨在体现招商云目前成熟的管理机制和遵从的行业最佳实践。

ISO 27001: 信息安全管理体系

CSA STAR:云服务安全的成熟度模型

ISO27018:公有云个人信息保护管理体系

ISO27701:隐私信息管理体系

ISO22301:业务连续性管理体系

PCI DSS:支付卡行业数据安全标准

等级保护测评(3级)

  1. 体系化合规报告: 旨在向用户展示云平台管控的完整性和有效性。例如:体系控制是否持续有效,职责分离是否准确,运维操作审计等。

  2. 其他:一些合规工作无法通过上述的三种形式展现,招商云一直致力协助各个地区的监管机构建立和完善标准,分享招商云的最佳实践。

# 3.2 隐私保护

招商云的个人信息处理原则:用户对所有提供给招商云的个人信息拥有所有权和控制权。每个用户在使用招商云服务的时候,出于信任将最宝贵的个人信息托付给我们。招商云也致力于保护每位用户的个人信息,并严格保障在用户期望范围内使用。招商云在隐私政策方面对于公众完全透明,可以参考官网的隐私政策。同时,招商云采用各种技术手段确保用户的个人信息仅存在于招商云业务范围。

招商云的官网提供了全面的合规信息,希望可以帮助用户更好地理解招商云在合规方面的各种实践,并希望用户不仅可以一如既往地信任招商云,也可以从招商云的实践中获取合规方面的经验,与我们一起提高金融企业的合规能力。

在此,我们再一次声明,招商云致力于保护各类用户的个人信息,并遵守经营业务市场所属国家或地区的适用法律。招商云的隐私政策可以在官方网站上找到,任何隐私相关问题都可以通过我们的官网网页提交。隐私政策官方网站: https://cloud.cmft.com/

# 3.3 透明度

与全国的其他大型互联网公司或云服务提供商相似,招商云有时会面临依法配合国家行政、司法机关执行公务的相关要求。当政府机构依法要求招商云进行必要的数据披露时,我们会根据法律规定的义务进行规范化的配合与支持。此类场景可能包括配合公检法打击犯罪、侦破案件时进行取证,完成监管部门依照法律要求进行的安全检查,以及配合工商、知识产权部门查处各类打假、侵权案等。

对应每一种数据披露场景,招商云都有严格的内部审核数据提取流程。在数据披露过程中,我们会要求数据需求方提供完备的证件与法律函件,对相关人员信息进行验证并记录。招商云遵守依法提供、流程规范、风险可控、最小够用等原则,确保数据的提取和送达安全可控、有据可依。

# 4 招商云基础设施

招商云为用户提供多地域多可用区的云数据中心;招商云操作系统为所有云产品提供高可用基础架构和多副本数据冗余;自动化的运维及安全,国内领先的合规性;专业、安全、增值、可靠的云计算基础设施。

招商云在部署异地数据中心,同地域支持多个可用区。用户业务跨地域、跨可用区部署,可实现高可用架构,例如同城应用双活、异地数据灾备。

国家 地域 可用区数量
中国 华南1 实业测试专区 实业共享专区 金融测试专区 金融DMZ共享专区 金融集团共享专区 仁和专享区
中国 华南2 仁和专享区 金融DMZ共享专区
中国 华东 建设中
中国 华北1 实业共享专区
中国 华北2 建设中
中国 香港 建设中
中国 东北 建设中

# 5 招商云安全架构

如上图所示,招商云提供了共8个不同层面的安全架构保障,其中包括物理安全,网络安全,虚拟化安全,云开发安全等 4个云平台层面的安全架构保障;以及账户安全,数据安全,安全运营,云产品安全等4个云用户层面的安全架构保障。

本章在介绍整体安全架构时,会简要介绍各个架构层面中的关键特性,同时会覆盖多种招商云产品,包括安全产品。各种产品的详情请参加白皮书相关的章节内容。

# 5.1 云平台安全架构

招商云云平台的安全架构如上图所示,主要包括了物理安全,网络安全,虚拟化安全以及云开发安全四个重要组成部分。

# 5.1.1 物理安全

招商云数据中心和办公区均设置入口管控,并划分单独的访客区,访客出入必须佩戴证件,且由机房员工陪同。招商云数据中心建设满足GB50174《电子信息机房设计规范》A 类和 TIA 942《数据中心机房通信基础设施标准》中 T3+标准,包含本章以下物理与环境安全控制要求。

# 5.1.1.1 机房容灾

火灾检测及应对

招商云数据中心火灾探测系统利用热和烟雾传感器实现,传感器位于天花板和地板下面;在事件触发时,提供声光报警。数据中心采用整体气体灭火系统与手动灭火器,同时组织火灾检测与应对的培训和演练。

电力

为保障招商云业务7x24小时持续运行,招商云数据中心采用双路市电电源和冗余的电力系统,主、备电源和系统具备相同的供电能力。若电源发生故障,会由带有冗余机制的电池组和柴油发电机对设备进行供电,保障数据中心在一段时间内的持续运行能力。

温度和湿度

招商云数据中心采用精密空调来保障恒温恒湿的环境,并对温湿度进行电子监控,一旦发生告警立即采取应对措施。空调机组均采用热备冗余模式。

# 5.1.1.2 人员管理

访问管理

招商云数据中心仅向本数据中心机房运维人员授予长期访问权限,若运维人员转岗或离职,权限立即清除。其他人员若因为业务需求要进入数据中心,必须先提出申请,经各方领导审批通过后才能获取短期授权;每次出入需要出示证件,并进行登记,且数据中心机房运维人员全程陪同。招商云数据中心内部划分机房包间,测电区域,库房间等区域,各个区域拥有独立的门禁系统,特定区域采用铁笼进行物理隔离。

# 5.1.1.3 运维审计

监控

招商云数据中心机房各区域设有安防监控系统,监控范围覆盖所有区域和通道,配有物业保安7x24小时巡逻。所有视频监控和文档记录均会长期保存,且由专人定期复核。

# 5.1.1.4 硬件固件安全

硬件固件是云计算安全依赖的安全基础,为了保障硬件固件安全,招商云对底层硬件固件进行加固,其中包括硬件固件基线扫描,高性能GPU实例保护,BIOS固件验签,BMC固件保护。

硬件固件基线扫描:定期对硬件和固件基本信息及相应版本进行扫描,检测可能的异常硬件固件信息。

高性能GPU实例保护:通过对开放给用户虚拟机的GPU关键寄存器保护,确保用户虚拟机除了进行高性能计算之外,无法篡改GPU的固件程序等重要资源。

BIOS固件验签:确保只有招商云签名过的BIOS固件才可以被刷写在相关服务器上,从而避免了恶意的BIOS固件刷写。

BMC 固件保护:确保在主机操作系统中,无法对BMC固件进行非授权的恶意刷写。

# 5.1.2 网络安全

# 5.1.2.1 网络隔离

招商云对生产网络与非生产网络进行了安全隔离,从非生产网络不能直接访问生产网络的任何服务器和网络设备。招商云把对外提供服务的云主机网络和支撑云服务的物理机网络进行安全隔离,通过网络ACL确保云主机网络无法访问物理机网络。招商云也采取网络控制措施防止非授权设备私自联到云平台内部网络,并防止云平台物理服务器主动外联。

招商云在生产网络边界部署了堡垒机,办公网内的运维人员只能通过堡垒机进入生产网进行运维管理。堡垒机使用高强度加密算法保障运维通道数据传输的机密性和完整性。

# 5.1.2.2 专有网络 (VPC)

专有网络(Virtual PrivateCloud)可以帮助用户基于招商云构建出一个隔离的网络环境,并可以自定义IP地址范围、网段、路由表和网关等;此外,也可以通过专线/VPN等连接方式实现云上VPC与传统IDC的互联,构建混合云业务。

# 5.1.2.3 DDoS 防御

招商云的DDoS防护系统保护所有数据中心,提供DDoS攻击自动检测、调度和清洗功能 ,保证云平台网络的稳定性。

# 5.1.3 虚拟化安全

虚拟化技术是云计算的主要技术支撑,通过计算虚拟化,存储虚拟化,网络虚拟化来保障云计算环境下的多租户隔离。招商云虚拟化安全技术主要包括租户隔离,补丁热修复,逃逸检测三大基础安全部分来保障招商云虚拟化层的安全。

# 5.1.3.1 租户隔离

虚拟化层在租户隔离中起到至关重要的作用,CPU、内存通过KVM虚拟化技术隔离。基于硬件虚拟化技术的虚拟机管理将多个计算节点的虚拟机在系统层面进行隔离,租户不能访问相互之间未授权的系统资源,从而保障计算节点的基本计算隔离。同时虚拟化管理层还提供了存储隔离和网络隔离。

计算隔离

招商云提供各种基于云的计算服务,包括各种计算实例和服务,可自动伸缩以满足应用程序或企业的需求。这些计算实例和服务在多个级别提供计算隔离以保护数据,同时保障了用户需求的配置灵活性。计算隔离中关键的隔离边界是管理系统与用户虚拟机以及用户虚拟机之间的隔离,这种隔离由KVMHypervisor直接提供。招商云平台使用的虚拟化环境,将用户实例作为独立虚拟机运行,并且通过使用物理处理器权限级别强制执行此隔离,确保用户虚拟机无法通过未授权的方式访问物理主机和其他用户虚拟机的系统资源。

存储隔离

作为云计算虚拟化基础设计的一部分,招商云将基于虚拟机的计算与存储分离。这种分离使得计算和存储可以独立扩展,从而更容易提供多租户服务。在虚拟化层,KVMHypervisor采用分离设备驱动模型实现I/O虚拟化。虚拟机所有I/O操作都会被KVMHypervisor截获处理,保证虚拟机只能访问分配给它的物理磁盘空间,从而实现不同虚拟机硬盘空间的安全隔离。云用户实例服务器释放后,原有的磁盘空间将会被可靠的清零以保障用户数据安全。

网络隔离

为了支持ECS虚拟机实例使用网络连接,招商云将虚拟机连接到招商云虚拟网络。招商云虚拟网络是建立在物理网络结构之上的逻辑结构。每个逻辑虚拟网络与所有其他虚拟网络隔离。这种隔离有助于确保部署中的网络流量数据不能被其它ECS虚拟机访问。

# 5.1.3.2 逃逸检测

虚拟机逃逸攻击主要包括两个基本步骤:首先将攻击方控制的虚拟机置于与其中一个攻击目标虚拟机相同的物理主机上,然后破坏隔离边界,以窃取攻击目标的敏感信息或实施影响攻击目标功能的破坏行为。

招商云虚拟化管理程序通过使用高级虚拟机布局算法以防止恶意用户的虚拟机运行在特定物理机上。招商云在虚拟化管理软件层面还提供了虚拟化管理程序加固、虚拟化管理程序下攻击检测核心技术来防范恶意虚拟机的攻击。

# 5.1.4 云开发安全

招商云为用户提供了多种不同的云产品,其中包括云主机ECS,云数据库RDS,对象存储 OSS,云备份等等。

# 5.1.4.1 云开发安全生命周期(SPLC)

招商云为云上产品量身定制云开发安全生命周期,目标是将安全融入到整个产品开发生命周期中。云开发安全生命周期(SPLC)在产品架构审核、开发、测试审核、应急响应的各个环节层层把关,每个节点都有完整的安全审核机制确保产品的安全性能够满足严苛的云上要求,从而有效地提高云产品的安全能力并降低安全风险。

如上图所示,整个云开发安全生命周期可以分为六大阶段,分别是:产品立项、需求设计阶段、开发阶段、测试阶段、线上运营。

在产品立项阶段,安全架构师和产品开发一同根据业务内容、业务流程、技术框架建立功能需求文档、绘制详细架构图,并在招商云产品上云的所有安全基线要求中确认属于产品范围的《安全基线要求》。同时,本阶段会安排针对性的安全培训课程与考试给产品开发人员,从而避免在后续产品开发中出现明显的安全风险。

在需求设计阶段阶段,安全架构师在上一阶段产出的功能需求文档和架构图的基础上对产品进行针对性的安全架构评估并做出产品的威胁建模。在威胁建模的过程中,安全架构师会对产品中的每一个需要保护的资产、资产的安全需求、可能的被攻击场景做出详细的模型,并提出相对应的安全解决方案。安全架构师会综合《安全基线要求》和威胁建模中的安全解决方案,一并与产品开发确认对于该产品的所有《安全要求》。

在开发阶段,产品开发会根据《安全要求》在产品开发中遵守安全编码规范,并实现产品的相关安全功能和要求。为了保证云产品快速持续的开发,发布与部署效率,产品开发会在本阶段进行自评确认《安全要求》都已经实现,并提供相对应的测试信息(如代码实现地址,自测结果报告等)给负责测试的安全工程师,为下阶段的安全测试审核做好准备。

在测试阶段,安全工程师会根据产品的《安全要求》对其进行架构、设计,服务器环境等全方位的安全复核,并对产品的代码进行代码审核和渗透测试。在此阶段发现的安全问题会要求产品开发进行安全修复和加固。

在发布阶段,只有经过安全复核,并且得到安全审批许可后,产品才能通过标准发布系统部署到生产环境,以防止产品携带安全漏洞在生产环境运行。

在线上运营阶段,安全应急团队会不断监控云平台可能的安全问题,并通过外部渠道(如ASRC等)或者内部渠道(如内部扫描器、安全自测等)得知安全漏洞。在发现漏洞后应急团队会对安全漏洞进行快速评级,确定安全漏洞的紧急度和修复排期,从而合理分配资源,做到快速并合理的修复安全漏洞,保障招商云用户、自身的安全。

# 5.2 云用户侧安全架构

招商云在用户侧安全架构如上图所示,提供了4个层面的安全保障,其中包括了账户安全、数据安全、安全运营及云产品安全。

# 5.2.1 数据安全

招商云数据安全体系从数据安全生命周期角度出发,采取管理和技术两方面的手段,进行全面、系统的建设。通过对数据生命周期(数据生产、数据存储、数据使用、数据传输、数据传播、数据销毁)各环节进行数据安全管理管控,实现数据安全目标。在数据安全生命周期的每一个阶段,都有相应的安全管理制度以及安全技术保障。

运行在云计算平台上的开发者、公司、政府、社会机构的数据,所有权绝对属于用户;云计算平台不得将这些数据移作它用。平台方有责任和义务,帮助用户保障其数据的私密性、完整性和可用性。

# 5.2.1.1 数据加密

数据传输加密

招商云为用户访问提供了HTTPS协议来保证数据传输的安全。如果用户通过招商云控制台操作,招商云控制台会使用HTTPS进行数据传输。

数据存储加密

对于云平台运行需要用到的敏感数据,例如授权凭证、用户密码、密钥,统一使用招商云加密机制进行加密存储。同时,不同的云产品也支持数据加密以满足用户的要求(具体产品请参照产品对应章节)

在RDS数据库透明加密层,数据库数据可以被加密的形式存放到数据库系统中。

分布式冗余存储

招商云使用分布式存储,文件被分割成许多数据片段分散存储在不同机架的不同设备上,每个数据片段存有多个副本,既提高了数据的可靠性,又提高了数据的安全性。

# 5.2.1.2 镜像快照

ECS提供快照与自定义镜像功能,快照可以保留某个时间点上的系统数据状态,用于数据备份,或者制作镜像。用户可以方便的创建磁盘的自动快照策略,定义自动快照的创建时间、重复时间和保留时间等参数。用户可以使用快照创建自定义镜像,将快照的操作系统、数据环境信息完整的包含在镜像中。然后使用自定义镜像创建多台具有相同操作系统和数据环境信息的实例,非常方便的复制实例。快照使用增量的方式,两个快照之间只有数据变化的部分才会被拷贝。推荐用户在以下业务场景中使用快照:

系统盘、数据盘的日常备份,用户可以利用快照定期的对重要业务数据进行备份,来应对误操作、攻击、病毒等导致的数据丢失风险。更换操作系统,应用软件升级或业务数据迁移等重大操作前,用户可以创建一份或多份数据快照,一旦升级、迁移过程中出现任何问题,可以通过数据快照及时恢复到正常的系统数据状态。

生产数据的多副本应用,用户可以通过对生产数据创建快照,从而为数据挖掘、报表查询、开发测试等应用提供近实时的真实生产数据。用户还可以自己创建镜像导入招商云ECS使用。

招商云镜像集成了所有已知的高危漏洞补丁,防止主机上线之后即处于高风险状态。在发现新的高危安全漏洞后,招商云会迅速更新镜像并提供给用户。同时,招商云会使用数据校验算法确保镜像完整性,防止被恶意篡改。

# 5.2.1.3 数据擦除

对于曾经存储过用户数据的内存和磁盘,一旦释放和回收,其上的残留信息将被自动进行零值覆盖。同时,任何更换和淘汰的存储设备,都将统一执行消磁处理,才能运出数据中心。招商云建立了对设备全生命周期(包含接收、保存、安置、维护、转移以及重用或报废)的安全管理。设备的访问控制和运行状况监控有着严格管理,并定期进行设备维护和盘点。特别是当设备重用或报废时,招商云会对存储介质进行覆写、消磁或粉碎等数据清除处理。招商云的数据清除技术满足行业标准,清除操作留有完整记录,确保用户数据不被未授权访问。

招商云运维人员未经用户许可,不得以任意方式访问用户未经公开的数据内容。招商云遵循生产数据不出生产集群的原则,从技术上控制了生产数据流出生产集群的通道,防止运维人员从生产系统拷贝数据。

# 5.2.2 安全运营

# 5.2.2.1 变更管理

虚拟化系统是云计算的重要基础,针对虚拟化系统的变更会直接影响业务运行。招商云建立了完整的变更管理流程,根据变更紧急程度进行变更等级划分;根据变更来源、对象等进行变更分类管理,明确了可能发生的变更结果的界定标准。整个变更以流程化或自动化的系统和工具来支撑,流程涵盖变更申请、评估、审批、测试、实施及复核等阶段,并明确了变更管理流程中各角色的职责。

变更申请阶段:界定了变更类型、对象、背景和业务影响等关键节点。

变更执行阶段:主要涵盖变更方案、变更计划、变更评估和变更实施等要求,所有的变更在获准执行之前,需经过测试,变更时间窗口和变更方案等需经过评审,同时招商云会向可能受影响的用户发出变更通知。重要的变更操作要求双人复核。

变更验证阶段:明确了变更验证、配置项复核和变更结果通知等要求。招商云会完整记录变更过程中的信息,并部署了自动化配置检查工具,可自动进行基础设施和信息系统的配置校验

# 5.2.2.2 应急响应

招商云组建了专门的安全应急团队来应对云平台上可能的安全威胁,并对异常事件积极的进行响应和处理。安全应急团队会不断监控云平台可能的安全问题,并会通过外部渠道(如ASRC等)或者内部渠道(如内部扫描器、安全工程师自测等)得知安全漏洞。一旦发现漏洞,应急团队会对安全漏洞进行快速评级并着手修复。同时,应急团队也会及时的发公告将安全问题第一时间通知用户。招商云制定有严格的应急响应流程来确保每一次安全事件都进行严格而快速的处理。

为了确保安全应急响应流程技术有效,招商云组建了专门的团队不定期的对招商云进行攻击演练,以确保安全应急响应流程的有效性。招商云还会定期邀请第三方团队对招商云进行渗透测试,以验证招商云安全防护体系的有效性和安全应急响应流程的流畅性。

# 5.2.2.3 安全管理平台

安全管理平台集成网盾、入侵防御系统、Web应用防火墙、上网行为管理、反病毒,对云上资产暴露面和暴露风险进行实时采集、监控和拦截,对安全攻防决策具有重要参考意义,是用户统一查看安全风险的入口,为招商云上用户建立完整的安全纵深防御体系,提供从网络层、主机层到应用层的纵向安全防护,具有检测、响应和加固建议的全闭环流程。

# 5.2.3 账户安全管理

在招商云整体的云上安全架构设计中,账户安全管理是整个安全体系中最直接面向用户的,最基础的也是最重要的安全管理组成部分。账户安全管理主要体现在四个方面,包括访问控制、账户认证、多因素认证、日志审计。

# 5.2.3.1 访问控制

招商云为客户提供了多种接入方式和相应工具,以便客户根据自己的实际需求接入招商云并且根据相应权限获取资源,默认采取个人授权。访问控制的权限策略主要包括:组织(公司)授权、模块(系统)授权、个人授权。

组织(公司)授权

招商云为用户提供了组织(公司)整体授权访问功能。若用户需要整个公司的人员或者指定组织(部门)下的人员有权限访问指定资源,则可以采用这种权限策略。如公司的公共资源可以授权整个公司的人员访问,部分业务资源可以授权给相应的指定部门人员访问。

模块(系统)授权

招商云为用户提供了指定模块(系统)授权访问功能。若用户需要以模块(系统)为单位访问指定资源,如用户的部分API接口只能提供给指定模块(系统)使用,则可以采用这种权限策略。

个人授权

招商云为用户提供了个人授权访问功能。若用户需要以人员为单位访问指定资源,则可以采用这种权限策略。如公司的敏感资源只允许少数几个人员有权限访问。

# 5.2.3.2 账户认证

账户认证是指通过凭证信息认证用户的真实身份,招商云根据用户的身份授权可以下发其指定的资源。请注意,账户认证的过程中使用到的凭证信息对于用户来说是敏感信息,用户必须妥善保护好相关敏感信息。招商云的账户认证主要包括:账号密码认证、短信认证、扫码认证、AK-SK认证、SSO认证。

账号密码认证

招商云为用户提供了账号密码认证方式,用户可以通过自己的域账号、招商盾账号、手机账号和对应密码在统一用户登录页登录。

短信认证

招商云为用户提供了短信认证方式,用户可以在统一用户登录页,使用在招商云绑定的手机号获取短信验证码来通过认证。

扫码认证

招商云为用户提供了扫码认证方式,用户可以在统一用户登录页,使用已在移动端认证通过的招商随行APP扫码,登录Web端的招商云。

AK-SK认证

招商云为用户提供了AK-SK认证方式,若用户以模块(系统)为单位获取招商云上的资源,如调用相关API,此时没有具体的人员信息。需要以模块为单位申请模块的AK(ACCESS KEY),SK(SECRET KEY),再通过招商云提供的加密工具生成实时签名进行认证,从而获取相应资源。注意,每个模块的SK属于敏感数据,用户需要妥善保管,招商云也提供更服务。

SSO认证

招商云支持基于NUC用户中心的单点登录(Single Sign On,简称SSO)。可以支持企业客户多个系统一处登录处处登录的需求。如企业A拥有多个系统,这些系统均会接入招商云,且这些系统的目标用户群体一致。当用户通过其中一个系统的认证后,在认证有效期内访问另一个系统时则可以通过SSO自动完成认证。

# 5.2.3.3 多因素认证

上述的账户认证是单因素认证,即用户只需要通过其中一种认证方式便可获取相应授权资源。实际场景中某些资源因为其保密性和安全性要求较高,招商云提供了多因素认证,即用户必须通过多因素认证的所有条件才能完成认证。多因素认证目前提供了账号密码认证、短信认证、设备认证、人脸识别认证等多种认证方式的组合认证方案。

# 5.2.3.4 日志审计

日志审计用于监控用户在招商云下的登录认证操作及资源访问操作,便于用户的合规性审计和辅助诊断安全状况。日志审计主要包括事件记录、登录记录。

事件记录

用户可以通过事件记录查询指定模块(系统)在招商云下的资源访问操作记录,从而实现实时监控和辅助诊断资源使用情况。

登录记录

用户可以通过登录记录查询指定用户在招商云下的登录认证记录。比如:可以通过手机号查询短信认证记录,通过账号、姓名查询用户认证记录等。从而实现实时监控和辅助诊断登录认证情况。

# 6 云产品安全

# 6.1 弹性计算

招商云提供了多种基于云的弹性计算服务,这些计算服务主要通过云主机ECS来对外提供服务。

# 6.1.1 云主机ECS

招商云云主机ECS实例是一个虚拟的计算环境,包含了CPU、内存、操作系统、磁盘、带宽等最基础的服务器组件,是ECS提供给每个用户的操作实体。一个实例就等同于一台虚拟机,用户对所创建的实例拥有管理员权限,可以随时登录进行使用和管理。用户可以在实例上进行基本操作,如挂载磁盘、创建快照、创建镜像、部署环境等。

招商云云主机ECS要求满足招商云主机安全基线,用户不允许随意更改和调整,如需调整和更改,需进行报备和审批。用户对于招商云云主机的使用,应遵循招商云云主机的使用管理规范。不能影响招商云平台和其他租户正常的云资源和服务的使用,不能运行可能损害招商云云平台稳定性的服务及软件。

# 6.1.1.1 租户隔离

由于ECS的实例会分配给不同的用户,因此实例之间的隔离对各个用户是重要的安全保障。ECS的租户实例隔离是基于硬件虚拟化技术的虚拟机管理,将多个虚拟机在系统层面进行隔离。实例不能访问相互之间未授权的系统资源,从而保障运算节点的基本计算资源的隔离。同时虚拟化管理层还提供了存储隔离和网络层隔离。租户隔离中关键的隔离边界是虚拟机管理系统与用户虚拟机以及用户虚拟机之间的隔离。以下将从CPU隔离,内存隔离,存储隔离,和网络隔离4个层面介绍ECS实例间资源隔离的实现机制。

CPU隔离

基于硬件虚拟化技术Intel® VT-x,Hypervisor运行在 VMX root 模式,而虚拟机运行在 VMXnon-root模式。通过使用物理处理器的不同权限级别,可以有效地防止虚拟机通过未授权的方式访问物理主机和其他的用户虚拟机的系统资源,同时也做到了虚拟机之间的有效隔离。KVMHypervisor通过提供相互隔离的计算通道控制虚拟机与主机资源进行交互。这样可以防止用户获得对系统以及对其他租户的原始读/写/执行访问,并减轻共享系统资源所带来的风险,保障租户之间的计算隔离。

内存隔离

在虚拟化层, KVM Hypervisor负责隔离内存。ECS实例运行时,使用硬件辅助EPT(Extended PageTables,扩展页表)技术,可以确保虚拟机之间无法互访对方内存。实例释放后,它的所有内存会被 Hypervisor 清零,从而有效防止ECS实例关闭后释放的物理内存页内容被其他用户的实例访问到。

存储隔离

作为云计算虚拟化基础设计的一部分,招商云将基于虚拟机的计算与存储分离。这种分离使得计算和存储可以独立扩展,从而更容易提供多租户服务。在虚拟化层,KVM Hypervisor采用分离设备驱动模型实现I/O虚拟化,虚拟机所有I/O操作都会被KVMHypervisor截获处理,保证虚拟机只能访问分配给它的物理磁盘空间,从而实现不同虚拟机硬盘空间的安全隔离。云用户实例服务器释放后,原有的磁盘空间将会被可靠的清零以保障用户数据安全。

网络隔离

为了支持ECS虚拟机实例使用网络连接,招商云要求将虚拟机连接到招商云虚拟网络。招商云虚拟网络是建立在物理网络结构之上的逻辑结构。每个逻辑虚拟网络与所有其他虚拟网络隔离。这种隔离有助于确保部署中的网络流量数据不能被其他ECS虚拟机访问。招商云ECS虚拟机可以通过KVMHypervisor提供的虚拟网络进行相互之间的隔离以确保自身的流量不被随意转发,同时所有的ECS虚拟机均可利用招商云VPC和安全组防火墙功能,以满足用户在各种场景下的网络访问权限切分。

# 6.1.1.2 高可用性

负载均衡

多台ECS云主机可以使用 SLB 负载均衡服务组成集群,消除单点故障,提升应用系统的可用性。

可用性

云主机提供99.98%可用性服务,镜像文件、快照文件均使用云存储,文件持久性达到99.9999%。

故障自动迁移恢复

云主机部署在宿主机(承载云主机的物理服务器)上,宿主机可能因性能异常或者硬件原因导致故障,当检测到云主机所在的宿主机发生故障时,系统会启动保护性迁移,把云主机迁移到正常的宿主机上,恢复实例正常运行,保障应用的高可用性。

# 6.1.2 云硬盘

招商云云硬盘(BlockStorage),是招商云为云主机ECS提供的低时延、持久性、高可靠的数据块级随机存储。云硬盘支持在可用区内自动复制用户的数据,防止意外的硬件故障导致数据不可用,以保护用户的业务免于组件故障的威胁。就像对待硬盘一样,用户可以对挂载到ECS实例上的云硬盘做格式化、创建文件系统等操作,并对数据持久化存储。

# 6.1.2.1 高可用性

云硬盘采用多副本保护,每个集群独立网络和服务器,集群内数据写入多个跨机架的存储节点中,每个副本落在独立机架服务器上,避免单一硬件故障造成的数据丢失,可靠性达到99.9%,数据持久性达到99.9999%。

# 6.1.2.2 数据安全

云硬盘支持快照技术实现简单高效的数据备份,防止因篡改或误删导致的数据丢失,保障在业务故障时能够快速回退。

# 6.1.3 文件存储

招商云文件存储(Network AttachedStorage,NAS)是面向招商云ECS实例和Docker的文件存储服务,提供标准的文件访问协议NFS和CIFS,用户无需对现有应用做任何修改,对单一文件系统的扩容,支持从GB~TB,甚至可定制的PB级的文件系统。

# 6.1.3.1 访问控制

文件存储使用IP授权和基于POSIX 的权限控制,支持对单个IP地址或整个网段的IP授权,也支持账号方式的授权,用户可按需选择不同的访问权限。

# 6.1.3.2 高可用性

文件存储采用双控制器和磁盘raid技术,可提供99.9%的数据可靠性,数据持久性达到99.9999%。

# 6.1.3.3 动态扩容

文件存储支持在线动态扩容,用户可自行在运管平台上按需扩容空间。

# 6.1.3.4 数据安全

文件存储支持数据备份及恢复功能,提供多种备份策略,用户可自行在云管平台上按需设置备份策略,可按需选择备份数据保留周期,在数据损坏时可通过恢复功能进行数据恢复。

# 6.1.4 ISCSI共享云盘

招商云共享云盘是一种支持多个云服务器共享访问的数据块级存储设备。主要应用于需要支持HA(High Available,指高可用集群)能力的关键企业应用场景,多个云服务器可同时访问一个共享云硬盘。基于iSCSI协议,目前支持Windows MSCS集群。

# 6.1.4.1 访问控制

共享云盘使用客户端(iSCSI Initiator)的IP和iSCSI 节点名称 (IQN)进行授权。

# 6.1.4.2 高可用性

共享云盘采用双控制器和磁盘raid技术,可提供99.9%的数据可靠性,数据持久性达到99.9999%。

# 6.1.4.3 租户隔离

对于不同的租户的云主机的iSCSI连接,共享云盘提供不同的iSCSI Target的服务IP,达到租户间的网络隔离。

# 6.1.4.4 数据备份

共享云盘支持操作系统的文件级别的数据备份及恢复功能,需要先将共享云盘挂载到OS的文件系统中。用户可自行在云管平台上按需选择要备份的文件目录,设置备份策略,可按需选择备份数据保留周期,在数据损坏时可通过恢复功能进行数据恢复。

# 6.1.5 弹性伸缩

招商云弹性伸缩(AutoScaling),是根据用户的业务需求和策略,经济地自助调整弹性计算资源的管理服务。弹性伸缩不仅适合业务量不断波动的应用程序,同时也适合业务量稳定的应用程序。

# 6.1.6 自动疏散

招商云自动疏散,通过结合监控系统、自动疏散服务、云管平台多种功能,当检测到云服务器部署的宿主机(承载云服务器的物理服务器)因异常宕机或者硬件原因导致故障或者发生了重启时,自动疏散服务会启动保护性迁移,把云服务器迁移到正常的宿主机上,恢复实例正常运行,保障应用的高可用性。

# 6.2 网络

# 6.2.1 负载均衡SLB

招商云负载均衡(Server LoadBalancer,SLB)是对多台云主机进行流量分发的负载均衡服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。

# 6.2.1.1 高可用性

采用全冗余设计,无单点,支持同城容灾。搭配DNS可实现跨地域容灾,可用性高达99.9%。同时SLB可以根据应用负载进行弹性扩容,在流量波动情况下不中断对外服务。

# 6.2.1.2 健康检查

SLB服务会检查云主机池中ECS的健康状态,自动隔离异常状态的ECS,该ECS恢复正常后自动解除屏蔽,从而解决了单台ECS的单点问题,同时提高了应用的整体服务能力。

# 6.2.1.3 访问控制

SLB可以屏蔽后端服务器IP地址,对外只提供虚拟IP(VIP)。SLB提供源IP白名单功能,可限制仅允许可信的源IP访问用户通过SLB开放的服务。

# 6.2.1.4 HTTPS

SLB支持HTTPS/SSL/TLS负载均衡功能:

对于需要进行证书认证的服务,可以集中、统一在SLB上管理证书和密钥。而无须部署在每台ECS(RealServer)上。

可配置密文卸载(Off Load)功能,解密处理统一在SLB上进行,降低后端ECS CPU开销。

SLB提供证书管理系统管理和存储用户证书和密钥,用户上传到证书管理系统的私钥都会加密存储。

# 6.2.1.5 日志功能

负载均衡提供日志管理功能,用户可以查看某个实例的操作日志和健康检查日志。

# 6.2.2 专有网络VPC

用户可以使用招商云提供的专有网络(Virtual PrivateCloud,VPC)构建出一个隔离的网络环境,并可以自定义IP地址范围、网段、路由表和网关等;此外,也可以通过专线/VPN 等连接方式实现云上VPC与传统IDC的互联,构建混合云业务。

典型的 VPC 网络架构如下图所示:

# 6.2.2.1 自定义网络

用户可以在VPC内自定义网络地址,划分子网,自定义路由。

# 6.2.2.2 防火墙

可以通过具备状态检测包过滤功能的安全组防火墙进行网络安全域的划分。

# 6.2.2.3 网络边界控制

Internet 边界

只有绑定了弹性公网IP(EIP)的实例可以直接访问互联网。没有EIP的实例可以把默认路由指向有EIP且配置了SNAT的实例访问互联网。

专线接入

招商云提供专线接入点,通过专线可以把VPC与物理网络互联组成混合网络。专线接入不支持VPN隧道。

# 6.2.2.4 网络访问控制

VPC使用安全组防火墙进行三层网络访问控制。

# 6.2.2.5 租户隔离

不同租户的云主机ECS部署在不同的VPC里。不同VPC之间通过VxLAN隧道ID进行隔离。VPC内部由于虚拟交换机和虚拟机路由器的存在,所以可以像传统网络环境一样划分子网,每一个子网内部的不同云主机使用同一个虚拟交换机互联,不同子网间使用虚拟路由器互联。不同VPC 之间内部网络完全隔离,只能通过弹性公网IP互联。

# 6.2.2.6 弹性公网 IP

弹性公网IP(Elastic IPAddress,EIP),是可以独立购买和持有的公网IP地址资源,能动态绑定到不同的ECS实例上,绑定和解绑时无需停机。

EIP是一种NAT IP。它实际位于招商云的公网网关上,通过NAT方式映射到了被绑定ECS实例的私网网卡上。因此,绑定了EIP的ECS实例可以直接使用这个IP进行公网通信,但是在网卡上并不能看到这个IP地址。EIP可以用于不同VPC之间的互联。

# 6.2.2.7 NAT网关

招商云NAT网关(NATGateway)是一款企业级的VPC公网网关,提供NAT代理(SNAT、DNAT)、1Gbps级别的转发能力以及跨可用区的容灾能力。NAT网关作为一个网关设备,需要配置公网IP和公网带宽才能正常工作。NAT网关上的公网IP和公网带宽,被抽象为共享带宽包。一个共享带宽包由一份公网带宽和一组公网IP组成,这些公网IP共享带宽。

NAT网关与共享带宽包需要配合使用,组合成为高性能、配置灵活的企业级网关。

# 6.3 数据库

# 6.3.1 云数据库RDS

招商云关系型数据库(Relational DatabaseService,RDS)是一种稳定可靠、可弹性伸缩的在线数据库服务。基于招商云分布式文件系统和高性能存储,RDS支持Oracle,MySQL、SQLServer等数据库引擎,并且提供了容灾、备份、恢复、监控、迁移等方面的全套解决方案。

云数据库RDS提供了多样化的安全加固功能来保障用户数据的安全,其中包括但不限于:

网络:IP白名单、VPC网络、SSL/TLS(安全套接层协议)

存储:TDE(透明数据加密)、自动备份

容灾:同城容灾(多可用区实例)、异地容灾(容灾实例)

主机:主备机高可用

# 6.3.1.1 租户隔离

招商云基于硬件虚拟化技术将多个计算节点的虚拟机在系统层面、网络、存储资源进行了隔离,不同租户之间不能访问相互之间未授权的系统资源。招商云针对各租户实现产品或功能鉴权管理,具有该租户用户只能看到租户内相关RDS实例,未授权用户不能看到其他租户实例以及同租户未授权项目下的RDS实例。

# 6.3.1.2 高可用性

高可用版RDS实例拥有多个数据库节点进行主从热备,主节点发生故障可以迅速切换至备节点,月服务可用性承诺为 99.9%。

用户可以随时发起数据库的备份,RDS能够根据备份策略将数据库恢复至任意时刻,提高了数据可回溯性。

# 6.3.1.3 访问控制

数据库账户

当用户创建实例后,RDS并不会为用户创建任何初始的数据库账户。用户可以通过控制台来创建数据库账户,并根据不同RDS的特性来设置账号的权限。如果用户需要更细粒度的权限控制,比如表/视图/字段级别的权限,也可以通过控制台管理页面先创建高权限数据库账户。高权限数据库账户可以设置更细粒度权限。

# 6.3.1.4 网络隔离

VPC网络

除了IP白名单外,RDS还支持用户使用VPC来获取更高程度的网络访问控制。VPC是用户在公共云里设定的私有网络环境,通过底层网络协议严格地将用户的网络包隔离,在网络2层完成访问控制;用户可以通过VPN或者专线,将自建IDC的服务器资源接入招商云,并使用VPC自定义的RDSIP段来解决IP资源冲突的问题,实现自有服务器和招商云ECS同时访问RDS的目的。使用VPC和IP白名单将极大程度提升RDS实例的安全性。

Internet

部署在VPC中的RDS实例默认只能被同一个VPC中的ECS实例访问。如果有需要也可以通过申请公网IP的方式接受来自公网的访问(不推荐),包括但不限于:

# 6.3.1.5 备份恢复

为了保证数据完整可靠,招商云的数据库提供备份策略配置服务,用户可通过恢复功能进行数据库恢复操作。RDS提供两种备份功能,分别为数据备份和日志备份,用户可按需自定义不同的备份策略和备份数据保留策略。

# 6.3.1.6 软件升级

RDS为用户提供数据库软件的新版本。在绝大多数情况下版本升级都是非强制性的。用户可以根据业务影响范围,选着业务空闲时间段升级,同时应避免RDS在业务高峰期进行强制升级。

# 6.3.2 云数据库Redis

招商云缓存数据库Redis支持高性能、大容量、可靠的弹性缓存和持久化的内存服务。当前支持单节点、高可靠双机热备、无缝扩展的分片集群部署架构,提供容灾、监控、扩容等方面全套解决方案,根据最佳实践,提供多种比例套餐供自定义消费,满足高读写性能及容量需弹性伸缩的业务场景。

# 6.3.2.1 高可用性

云数据库Redis不仅支持单节点架构,也支持主从热备架构和分片集群架构来达到故障时系统自动切换保障系统服务的高可用性。

单节点架构

单节点架构适用于纯缓存场景,支持单节点集群弹性变配,满足高QPS场景,提供超高性价比。

主从热备架构

系统工作时主节点(Master)和从节点(Slave)数据实时同步,主节点发生故障可以迅速切换至从节点,全程自动且对业务无影响,主从架构保障系统服务具有高可用性。

分片集群架构

集群(Cluster)实例采用分布式架构,每个分片都采用一主一备的高可用架构,自动容灾切换、故障迁移,多种集群规格可适配不同的业务压力,线性扩展数据库性能。

# 6.3.2.2 身份认证

云数据库Redis提供基于密码的身份登录认证机制。

# 6.3.2.3 访问控制

内网访问

云数据库Redis仅支持招商云内网访问,不支持外网访问,即只有在招商云ECS上的应用才能与云数据库Redis建立连接并进行数据操作。

# 6.3.2.4 数据持久化

云数据库Redis创建实例时,可根据业务场景和缓存数据的重要性,用户自定义是否需要数据持久化功能,确保数据的安全性管理。

# 6.3.3 云数据库 MongoDB

招商云云数据库MongoDB完全兼容MongoDB协议,提供稳定可靠、高可用、弹性伸缩、扩展性强、面向集合的开源分布式数据库服务。目前支持单节点、副本集、集群分片部署架构,提供容灾、备份、监控、扩容等方面全套解决方案,根据业务场景最佳实践,提供多种规则套餐服务。基于多副本高可用和分片(sharding)集群架构,很好的支撑基于实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性场景,也比较适合JSON文档的高效存储与访问、支持丰富的地理信息管理(范围、就近、交集等)业务场景。

# 6.3.3.1 高可用性

云数据库MongoDB在支持单节点架构的同时,也支持多副本架构和分片集群架构来达到故障时系统自动切换保障系统服务的高可用性。

单节点架构

单节点适用于开发、测试及其他非企业核心数据存储的场景。让您能够以更低的入门价格享受云数据库MongoDB在运维支持、内核级优化上的产品优势。单节点架构可以根据各类场景的差异适配对应的产品形态,为企业降低更多的成本支出。

副本集架构

默认采用一主两从三副本集架构,系统工作时主节点将所有操作记录到oplog,从节点定期轮询主节点获取这些操作,然后对自己的数据副本执行这些操作,从而保证从节点的数据与主节点一致。,当主节点发生故障,从节点替代主节点,保障系统服务具有高可用性。

分片集群架构

基于多个副本集(每个副本集沿用三节点副本模式)组成的分片集群实例提供Mongos(服务代理)、Shard(分片服务器)、ConfigServer(配置节点)三个组件。可以自由的选择Mongos和Shard节点的个数和配置,组建服务能力不同的MongoDB集群。能够将数据集分布式存储在不同的分片(shard)上,每个分片只保存数据集的一部分,MongoDB保证各个分片之间不会有重复的数据,所有分片保存的数据之和就是完整的数据集。而且分片集群将数据集分布式存储,能够将负载分摊到多个分片上,充分利用了各个Shard的系统资源,提高数据库系统的吞吐量。

# 6.3.3.2 身份认证

云数据库MongoDB提供基于实例ID、密码的身份认证机制。

# 6.3.3.3 访问控制

内网访问

云数据库MongoDB仅支持招商云内网访问,不支持外网访问,即只有在招商云ECS上的应用才能与云数据库MongoDB建立连接并进行数据操作。

数据库账号

当用户创建实例后,MongoDB并不会为用户创建任何初始的数据库账户。用户可以通过控制台来创建数据库账户,并设置数据库级别的权限。如果用户需要更细粒度的权限控制,比如表/字段等的权限,也可以通过控制台账号管理入口创建高权限数据库账户,通过数据库客户端连接数据库进行细粒度的权限控制。

# 6.3.3.4 访问控制

VPC网络

云数据库MongoDB通过虚拟化VPC网络技术进行租户隔离,每个租户拥有自己独立的VPC网络,各租户默认VPC网络之间不可访问。招商云对生产网络与非生产网络进行了安全隔离,非生产网络不能直接访问生产网络的任何服务器和数据库。同时,用户可以通过专线,将自建IDC的资源接入招商云,实现自有资源和招商上RDS互通。

Internet

部署在VPC中的RDS实例默认只能被同一个VPC中的ECS实例访问。仅支持招商云内网直接访问,不支持外网访问,如果有需要公网访问数据库,必须通过堡垒机,进行特定授权之后。通过数据库相关客户端访问数据库,且不能直接登录到数据库主机。

# 6.3.3.5 备份恢复

实例创建成功后,MongoDB会按照默认备份策略自动备份数据。您可以修改备份策略,实例按照您设定的备份策略自动备份数据。通过控制台操作从MongoDB实例中的某个备份点来创建新的实例,新建的实例数据恢复至源实例选择的备份点,可用作数据恢复或数据验证。或者操作按时间点新建实例,将会按照实例运行的某个时间点创建新的实例。新建的实例数据恢复至源实例选择的时间点,可用作数据恢复或数据验证。

# 6.3.4 DMS数据管理服务

DMS数据管理服务实现提供RDSMySQL和RDSOracle数据管理平台,提供免安装、免运维、即开即用、多种数据类型与多种环境统一的数据管理平台,支持数据库列表展示、对象展示、标准SQL窗口编写、执行、结果集显示、结果集导出、操作审计等功能,满足研发和运维类等工作需求。

# 6.3.4.1 访问控制

数据库账号

需具备访问数据库实例中库、对象(表、索引、存储过程、触发器、视图等)账号权限

# 6.3.4.2 租户隔离

DMS管理平台用户只能通过DMS数据管理系统WEB页面登录访问自身具有权限数据库,不能跨租户访问其他数据库。

# 6.3.5 CDTS云数据传输服务

CDTS云数据传输产品支持同构类MYSQL至MYSQL表和库级别全量和增量同步功能;ORACLE至ORACLE表级别、SCHEMA级别迁移、表级别同步功能、异构类MYSQL、ORACLE同步至KAFKA、异构类MYSQL、ORACLE迁移至HDOOP功能,主要包含:支持云上云下RDS和ECS自建库迁移和同步功能、源端目标端预检查(PING、TELNET端口、账号权限等)、迁移列表穿梭框、下拉数据库列表清单和对象清单、目标端支持数据库重命名和表重命名、迁移链路启动、暂停、配置修改、释放等功能。

# 6.3.5.1 访问控制

数据库账号

需具备访问数据库实例中库、对象(表、索引、存储过程、触发器、视图等)账号权限

# 6.3.5.2 权限隔离

跨租户跨不同区域访问数据库,需源端数据库用户许可,通过申请源端数据库和CDTS服务端网络防火墙端口,并具有相关数据库账号权限,安全将数据从源端同步到目标端。

# 6.4 大数据平台

大数据平台为企业提供一种快速、完全托管的GB/TB/PB级大数据湖解决方案,平台集成了分布式处理系统FusionInsight HD、高性能数仓 GaussDB 200、大数据操作系统 DataOS、数据呈现 、多维分析 Kyligence、机器学习平台等全方位大数据服务,能够更快速的解决海量数据分析处理问题,有效降低企业成本,并保障数据安全。

# 6.4.1 分布式处理系统 FusionInsight HD

分布式处理系统FusionInsight HD集成主流的大数据处理组件,包括Hadoop3.X、Spark 2.X、Hive、Flink、HBase、Kafka、Elasticsearch、Zookeeper、GraphBase等,在安全性方面做了企业级的增强。

# 6.4.1.1 身份认证

分布式处理系统会对用户进行身份认证,防止不合法用户访问集群。租户在申请分布式处理系统服务后,平台管理员会为租户创建相应的数据连接账号,此账号用于配置DataOS中的数据连接。

分布式处理系统底层组件统一使用Kerberos认证协议进行安全认证。Kerberos协议支持客户端与服务端进行相互认证,提高了安全性,可有效消除使用网络发送用户凭据进行模拟认证的安全风险。集群中由KrbServer提供Kerberos认证支持。

Kerberos用户对象:Kerberos协议中,每个用户对象即一个principal。一个完整的用户对象包含两个部分信息:用户名和域名。在运维管理或应用开发的场景中,需要在客户端认证用户身份后才能连接到集群服务端。分布式处理系统操作运维与业务场景中主要使用的用户分为“人机”用户和“机机”用户。二者主要区别在于“机机”用户密码由系统随机生成。

Kerberos认证:Kerberos认证支持两种方式:密码认证及keytab认证。认证有效时间默认为24小时。

1)密码认证:通过输入用户正确的密码完成身份认证。主要在运维管理场景中使用“人机”用户进行认证,命令为:kinit+“空格”+用户名。

2)keytab认证:keytab文件包含了用户principal和用户凭据的加密信息。使用keytab文件认证时,系统自动使用加密的凭据信息进行认证无需输入用户密码。主要在组件应用开发场景中使用“机机”用户进行认证。keytab文件也支持在kinit命令中使用。

# 6.4.1.2 权限模型

分布式处理系统的权限模型由“用户-用户组-角色-权限”四类对象构成:

权限

由组件侧定义,允许访问组件某个资源的能力。不同组件针对自己的资源,有不同的权限。例如:HDFS针对文件资源权限,有读、写、执行等权限。HBase针对表资源权限,有创建、读、写等权限。

角色

组件权限的一个集合,一个角色可以包含多个组件的多个权限,不同的角色也可以拥有同一个组件的同一个资源的权限。

用户组

用户的集合,当用户组关联某个或者多个角色后,该用户组内的用户就将拥有这些角色所定义的组件权限。不同用户组可以关联同一个角色,一个用户组也可以不关联任何角色,该用户组原则上将不具有任何组件资源的权限。

通过采用以上RBAC(role-based access control,基于角色的权限控制)方式对大数据系统进行权限管理,将系统中各组件零散的权限管理功能集中呈现和管理,对普通用户屏蔽掉了内部的权限管理细节,对管理员简化了权限管理的操作方法,提升权限管理的易用性和用户体验。

# 6.4.1.3 多租户

多租户是分布式处理系统中的多个资源集合(每个资源集合是一个租户),具有分配和调度资源的能力。资源包括计算资源和存储资源。多租户将分布式处理系统的资源隔离成一个个资源集合,彼此互不干扰,用户通过“租用”需要的资源集合,来运行应用和作业,并存放数据。为用户提供多租户服务,带来的优势如下:

1.合理配置和隔离资源:租户之间的资源是隔离的,一个租户对资源的使用不影响其它租户,保证了每个租户根据业务需求去配置相关的资源,可提高资源利用效率。

2.测量和统计资源消费:系统资源以租户为单位进行计划和分配,租户是系统资源的申请者和消费者,其资源消费能够被测量和统计。

3.保证数据安全和访问安全:多租户场景下,分开存放不同租户的数据,以保证数据安全;控制用户对租户资源的访问权限,以保证访问安全。

# 6.4.1.4 日志审计

分布式处理系统的管理页面为用户提供操作日志审计信息,包括操作类型、安全级别、开始时间、结束时间、用户、主机名称、服务、实例、操作结果等:

1.用户可以在安全级别中选择高危、危险、一般和提示级别的审计日志。在高级搜索中,用户可设置过滤条件来查询审计日志。

2.用户可根据用户管理、集群、服务、健康检查等来指定操作类型查询对应的审计日志。

3.用户可选择相应的服务来查询审计日志。用户可选择成功、失败和未知来查询审计日志。

4.用户可一次性导出所有审计信息,可导出“TXT”或者“CSV”格式。

# 6.4.1.5 数据加密

分布式处理系统中可以对表、字段加密,系统内部用户信息禁止明文存储。

加密灵活

加密算法插件化,可进行扩充,亦可自行开发。非敏感数据可不加密,不影响性能(加密约有5%性能开销)。

业务透明

上层业务只需指定敏感数据(Hive表级、HBase列族级加密),加解密过程业务完全不感知。

# 6.4.1.6 备份恢复

分布式处理系统提供对集群内的用户数据及系统数据的备份恢复能力,备份功能按组件提供。系统支持备份Manager的数据、组件元数据(DBService、Elasticsearch、HDFS NameNode、HBase、Kafka)及业务数据(HBase、HDFS、Elasticsearch、Hive、ZooKeeper、Redis)。备份功能支持将数据备份至本地磁盘(LocalDir)、本端HDFS(LocalHDFS)、远端HDFS(RemoteHDFS)、NAS(NFS/CIFS),具体操作请参考备份数据。对于支持多服务的组件,支持同服务多个实例的备份恢复功能且备份恢复操作与自身服务实例一致。

备份恢复任务的使用场景如下:

1.用于日常备份,确保系统及组件的数据安全。

2.当系统故障导致无法工作时,使用已备份的数据完成恢复操作。

3.当主集群完全故障,需要创建一个与主集群完全相同的镜像集群,可以使用已备份的数据完成恢复操作。

# 6.4.2 高性能数仓 GaussDB 200

GaussDB 200采用MPP(Massively Parallel Processing)架构,可用于支撑各类数据仓库系统、BI(Business Intelligence)系统和决策支持系统,统一为上层应用的决策分析等提供服务。

# 6.4.2.1 身份认证

租户在申请GaussDB 200服务审批完成后,平台管理员会为租户创建各个GaussDB 200 数仓的系统账号,此账号用于配置DataOs中的GaussDB 200数据连接。GaussDB 200通过在Kerberos和LDAP(Lightweight Directory Access Protocol)创建相同名字的用户,来配合工作实现用户管理:

Kerberos用于在用户登录FusionInsight Manager与使用组件客户端时认证用户身份,普通模式则不认证用户身份。

LDAP用于存储用户记录、用户组信息与权限信息等用户信息。

# 6.4.2.2 权限管理

GaussDB 200权限管理使用RBAC(Role-Based Access Control)方式,即基于角色授予权限,形成权限的集合。用户通过分配一个或多个已授权的角色取得对应的权限。

# 6.4.2.3 多租户

租户,是对系统一系列资源实体(CPU、内存、IO、存储空间)逻辑划分后的抽象。一个租户即代表了系统资源的一个集合。在实际业务运行中,系统压力可能集中在集群中的一部分节点或者系统资源中的某项资源,导致系统资源不能充分利用,集群性能不能充分发挥。 GaussDB 200提供了基于用户资源池的资源管理功能,可以与企业组织结构相匹配,将不同类型的作业关联到不同的资源池分别管理,适用于多部门、多应用混合使用MPPDB服务时需要对系统资源进行隔离、配额管控以保障SLA的场合,可实现企业下多个租户之间实现逻辑集群间的资源隔离,业务上实现逻辑集群间的数据互访。

# 6.4.2.4 日志审计

GaussDB 200提供了审计信息查询服务,包括操作类型、安全级别、开始时间、结束时间、用户、主机名称、服务、实例、操作结果等:

1.用户可以在安全级别中选择高危、危险、一般和提示级别的审计日志。在高级搜索中,用户可设置过滤条件来查询审计日志。

2.用户可根据用户管理、集群、服务、健康检查等来指定操作类型查询对应的审计日志。

3.用户可选择相应的服务来查询审计日志。用户可选择成功、失败和未知来查询审计日志。

4.用户可一次性导出所有审计信息,可导出“TXT”或者“CSV”格式。

# 6.4.2.5 数据加密

透明数据加密(TDE)是指加密GaussDB 200的数据文件。 通常在数据库的安全防护措施里面,可以采取一些消减措施来帮助保护数据安全。例如,设计一个安全系统、加密机密资产以及在数据库服务器的周围构建防火墙。但是,如果遇到物理介质(如硬盘)被黑客或者内部人员盗取的情况,恶意破坏方只需还原或附加数据库即可浏览用户数据。 有一种解决方案是加密数据库中的敏感数据,并保护加密数据的密钥,该方案可以防止任何没有密钥的人使用这些数据,但这种保护必须事先计划。GaussDB 200提供了完整的解决方案TDE。TDE可对数据实时I/O加密和解密,只要打开透明加密开关,对正常使用的用户是无感知的。 这种加密使用数据库加密密钥 (DEK),该密钥不会直接存储在数据库系统中。 DEK是使用存储在KMS服务器的集群密钥(CEK)保护的对称密钥,数据库服务器仅仅保存其密文。在数据库启动阶段,数据库的每个CN/DN使用身份认证(例如Kerberos)来连接KMS服务器,并且解密DEK密文,从而获取到密钥明文,缓存在内存中。一旦机器下电或者集群关闭,密钥将会被清理。因此,需要保护好集群中的密钥文件,因为一旦丢失,则会造成不可恢复的危害。

GaussDB 200数据库级透明加密,每个GaussDB 200集群有一个CEK,每个数据库单独配置DEK加密保护,DEK使用CEK加密保护,保存在GaussDB 200集群侧。密钥通过KMS服务申请和加解密,加密算法通过配置项统一配置。目前支持AES、SM4算法,其中SM4算法在hi 1620以上版本芯片中支持硬件加速。该加密方式直接对整个数据库加密,只需要对不同数据库进行大的分类。对现有SQL语句兼容性好,需要在创建数据库时指定加密。

# 6.4.2.6 备份恢复

数据备份是保护数据安全的重要手段之一,为了更好的保护数据安全,GaussDB 200提供对系统内管理数据和用户数据的备份恢复能力。平台支持的备份任务的使用场景如下:

  • 自动定时备份任务用于数据日常备份,确保当系统及组件的数据因系统故障不可用时,能够及时快速地恢复。

  • 手动临时备份任务:重大操作之前对数据进行备份,确保当重大操作失败后,能够及时将数据恢复到操作前的状态。 备份机制包括:

  • 集群级全量备份:通过物理文件拷贝的方式,以磁盘块为基本单位将集群数据从主机复制到备机,对数据库进行备份,备份效率高,在全量备份场景下实现低成本、快速备份。

  • 集群级增量备份:增量集群备份在全量集群备份的基础上,对用户数据做的修改进行精准备份,可有效的降低系统中备份数据的冗余度,提升数据库性能,但备份效率较低。

  • 表级全量备份,它将备份时刻的元数据和业务数据通过导出为外表的方式写入存储文件,转储到备份路径下。由于备份效率较低,适用于备份变化量较小的数据对象,如单个表或多个表。

备份数据默认采用基于业界开源压缩软件zlib的压缩功能进行压缩。备份成功后,一旦系统出现故障需要恢复数据,下发恢复任务后系统会按照如下步骤处理:

1.集群级恢复时,停止集群,并清空集群数据。

2.开始还原数据。集群级恢复直接将磁盘块中复制的数据拷贝回集群中;表级恢复从导出的外表文件中以sql方式导入数据库中。

3.集群级恢复时,启动集群。 无论是集群备份或表备份,全量备份或增量备份,都只能对备份时刻的数据状态进行备份,所以恢复时也只能恢复到备份时保存的数据,无法恢复故障点和备份点之间的数据。

# 6.4.3 大数据操作系统DataOS

DataOS可提供数据集成、批量数据开发、实时数据开发、任务调度、监控运维等大数据计算服务,帮助企业专注于数据价值的挖掘和探索。

# 6.4.3.1 身份认证

DataOS集成了统一用户认证系统(NUC认证),集团用户可以使用工号或手机号登陆平台:

若NUC系统认证失败,则PowerBI判断认证失败。

若NUC系统认证成功,则平台判断认证成功,可进入系统、按照该用户在平台中的权限进行相应操作。若用户首次登陆,用户信息会从NUC认证系统自动同步到PowerBI用户体系中。

项目管理员在为项目成员配置权限时,若成员未登陆过系统,管理员可以在用户管理页面添加成员的NUC账号,或者让成员先登陆系统后再授权。

# 6.4.3.2 权限管理

平台会为每个租户创建一个或多个“工作空间”,“工作空间”彼此隔离,每个“工作空间”有至少一名管理员,管理员有权限对“工作空间”的资源进行权限管理。DataOS 权限管理使用RBAC(Role-Based Access Control)方式,即基于角色授予权限,形成权限的集合。用户通过分配一个或多个已授权的角色取得对应的权限。

角色 权限级别 权限
System Admin 系统级 系统级用户,系统的超级管理员,只分配给“admin”用户,属于系统内部角色,不允许被修改。
System User 系统级 系统级用户,除“admin”之外的用户都自动分配该角色,属于系统内部角色,不允许被修改。
System App Creater 系统级 系统级用户,不允许被修改。
DLFCommon Admin 系统级 系统级用户,具有集群配置管理,集群连接管理,数据源管理和主机管理的管理、查看和操作权限。
Domain Owner 域/租户级 域/租户的责任人,只有“admin”用户具备该角色,属于系统内部角色,不允许被修改。
Tenant User 域/租户级 域/租户的用户,每个普通用户都被赋予Tenant User角色,属于系统内部角色,不允许被修改。
Application Owner 应用级 应用的责任人,具有该应用中所有资源的管理、查看和操作权限,系统自动为该应用的创建者赋予该角色。目前Public应用默认的Application Owner为“admin”。
Application User 应用级 应用的参与者,系统自动为Application Owner之外的用户赋予该角色,无特定操作权限。
DI Administrator 应用级 当前应用中DI的系统概览、集群管理、作业管理、整库迁移的所有查看、操作等权限。
DI Viewer 应用级 当前应用中DI的系统概览、集群管理、作业管理、整库迁移的查看权限。
DI User 应用级 当前应用中DI的系统概览、集群管理、作业管理、整库迁移的所有查看、操作等权限,目前与DI_Administrator的权限相同。
DS Administrator 应用级 当前应用中DS的数据管理、数据开发、运维调度、数仓管理的所有查看、操作等权限。
DS Viewer 应用级 当前应用中DS的数据管理、数据开发、运维调度、数仓管理的查看权限。
DS User 应用级 当前应用中DS的数据管理、数据开发、运维调度的操作权限,数仓管理的查看权限。
# 6.4.3.3 沙箱隔离

“工作空间”是DataOS用户数据隔离的基本单位,工作空间内的所有任务均运行在沙箱内,以保证数据不被泄露,同时也防止开发人员擅自操作外部资源。默认情况下,数据开发任务仅可访问指定的计算引擎,数据集成任务仅可访问已添加的数据源。如需在工作空间中访问除以上两种情形之外的外部资源,需要由工作空间管理员进行权限设置。

# 6.4.3.4 数据加密

DataOS所有敏感信息包括用户代码、业务流程配置、数据源连接等信息均加密存储。只有合法并具备权限的用户,方能查看、使用、修改这些数据。底层数据加密依靠分布式存储系统的加密能力。

# 6.4.3.5 数据下载控制

支持配置数据下载控制,可以降低用户数据外泄的风险,保障用户数据安全。为了安全考虑,平台统一禁止了用户通过DataOS数据查询页面从下载生产环境数据。

# 6.4.3.6 日志审计

DataOS会针对不同用户不同日志数据进行日志审计,提供日志数据存储,包括静态数据使用情况统计、运行记录及安全信息等内容。

# 6.4.4 数据呈现 PowerBI

Power BI 可以轻松快速地创建自助式商业智能仪表板、报表、数据集和可视化。使用 Power BI,可以连接到多个不同的数据源,合并并调整来自这些连接的数据,然后创建可与其他人共享的报表和仪表板。

# 6.4.4.1 身份认证

PowerBI 集成了统一用户认证系统(NUC认证),集团用户可以使用工号或手机号登陆平台:

若NUC系统认证失败,则PowerBI判断认证失败。

若NUC系统认证成功,则平台判断认证成功,可进入系统、按照该用户在平台中的权限进行相应操作。若用户首次登陆,用户信息会从NUC认证系统自动同步到PowerBI用户体系中。

项目管理员在为项目成员配置权限时,若成员未登陆过系统,管理员可以在用户管理页面添加成员的NUC账号,或者让成员先登陆系统后再授权。

# 6.4.4.2 工作区隔离

平台会为每个租户创建一个独立的 Power BI 工作区。每个工作区都包含该租户相关的数据集、报表和仪表板,每个工作区仅连接到该租户的数据。工作区和租户之间的简单映射可防止一个租户中的用户看到另一个租户的内容,也可以防止人为失误或凭据泄漏导致多个客户的数据被公开。

# 6.4.4.3 权限管理

平台会为每一个租户创建工作区,各个租户的工作区彼此隔离,每个租户工作区有至少一名管理员,管理员有权限对工作区的资源进行权限管理,可以操作的权限项主要包括:

权限 说明
查看所有数据集 该应用可以查看已登录用户的所有数据集以及该用户有权访问的数据集。
读写所有数据集 该应用可以查看和写入已登录用户的所有数据集以及该用户有权访问的数据集。
将数据添加到用户的数据集 对应用授予添加或删除用户的数据集行的访问权限。 此权限不会对应用授予访问用户数据的权限。
创建内容 应用可以自动为用户创建内容和数据集。
查看用户组 该应用可以查看已登录用户所属的所有组。
查看所有组 该应用可以查看已登录用户所属的所有组。
读取和写入所有组 该应用可以查看和写入已登录用户的所有组以及该用户有权限访问的任何组。
查看所有仪表板 该应用可以查看已登录用户的所有仪表板以及该用户有权访问的仪表板。
查看所有报表 该应用可以查看已登录用户的所有报表以及该用户有权访问的报表。 该应用还可以查看报表数据及其结构。
读取和写入所有报表 该应用可以查看和写入已登录用户的所有报表以及该用户有权访问的任何报表。 这不提供创建新报表的权限。
读取和写入租户中的所有内容 该应用可以查看和写入所有项目,例如 Power BI 中的组、报表、仪表板以及数据集。 前提是已登录用户为 Power BI 服务管理员。
查看租户中的所有内容 该应用可以查看所有项目,例如 Power BI 中的组、报表、仪表板以及数据集。 前提是已登录用户为 Power BI 服务管理员。
# 6.4.4.4 行级别安全

行级别安全性 (RLS) 可用于限制用户访问仪表板、磁贴、报表和数据集中的数据。 这样一来,各个用户虽然处理的是相同项目,但看到的数据却不同。行级别安全性是在数据模型一级筛选数据的功能,后端数据源可控制 RLS 设置,也可在 Power BI 报表中配置或在数据源一级角色权限中配置。

嵌入分页报表时,也可以控制所显示的数据。 允许为每个用户定制显示的信息。此功能可以安全地显示数据的子集而不影响其余数据,该功能可以在 Power BI 报表(未分页)、仪表板、磁贴和数据集中安全地显示数据。

# 6.4.4.5 数据加密

Power BI中的数据包括静态数据和正在处理或传输中的数据(例如,正在运行的查询、正在执行操作的数据连接和模型、服务发送或接收的数据)都是经过处理的。用于加密存储的加密密钥(CEK)是一个随机生成的256位密钥,CEK 用于加密内容的算法是 AES_CBC_256,可满足敏感数据的安全存储需求。

# 6.4.5 数据呈现 永洪BI

永洪BI是企业级大数据分析平台,通过简单的拖拽操作即可完成数据分析与丰富的大屏可视化效果。一站式分析平台,集数据准备、报告制作、数据分析为一体。无基础人员也可快速上手。利用列存储和内存计算,实现从千万到百亿级数据分析的秒级响应,快速完成数据分析。灵活部署的方式,支持公有云、私有云和混合云架构。无缝支持PC、iPhone、iPad和Android,并在这些终端设备上保持一致、易用的用户体验。挖掘数据价值,联动、多维分析、动态计算、预警、填报等功能为企业带来业务驱动的数据分析工作模式。内置模型化分析帮助企业深入挖掘数据价值,对数据走向进行精准预测。多方位的权限管理为企业建立优秀的数据安全防护。

# 6.4.5.1 身份认证

永洪BI支持第三方系统(NUC认证)通过携带用户信息或Token等方式登录访问永洪系统:

当用户从第三方系统传递参数至BI工具,永洪会通过参数判断该用户是否存在于第三方系统中。若不存在,则拒绝登录。若存在,则判断该用户信息是否存在于永洪系统中,存在可直接登录。不存在则需要系统自动创建用户后登录,并保存用户信息。

用户也可通过自行登录(以管理员身份)永洪BI手动添加用户。在添加用户时,永洪系统会判断添加的用户是否在第三方系统中存在。若不存在,则拒绝添加该用户。若存在,则添加成功。成功后可以通过上述方式直接单点登录至用永洪BI系统。

# 6.4.5.2 工作区隔离

永洪BI内置角色权限管理,对于不同的部门或者区域对应不同的Group可实现分组的工作业务隔离,实现不同的区域用户登录只可查看所在区域或个人的权限业务与数据信息,而对于同一区域不同的角色,永洪BI可定位到everyone_role,同一区域下的不同用户,角色身份不同可查看与操作的项目报告与资源也不同,实现工作区隔离,保证数据安全。

# 6.4.5.3 行级别安全

永洪BI除了支持访问管理权限以外,还支持数据级别的访问权限控制,永洪BI 提供了一种称为虚拟权限控制(VPM)的功能来控制信息的安全,用户能配置一个数据集的列对哪些用户可见,一个数据集的行对哪些用户可见。对于一个省的经营分析系统而言,不同地区的用户只能看到本地区的数据。永洪BI的安全模块提供两种方式来支持管理用户信息:文件权限管理系统和定制权限管理系统。选择好管理系统,并创建好了用户信息,用户所在的组和角色信息后,就可以给需要控制权限的数据集部署 VPM。主要是通过添加过滤和列权限,行权限来控制权限。一旦部署好了 VPM,就可以放心的把数据集提供给制作报告和查看报告的用户,同时得到完全的数据安全的控制。

# 6.4.5.4 安全防护

永洪BI的系统登录提供安全可靠的防暴力破解技术与密码找回机制,防止他人非法破解您的密码,保护数据安全。同一账户,在短时间内连续登陆错误的次数超出限制后,再次登陆将会得到锁定提示。联系管理员重置用户密码后可以正常登陆。

其次,对于连接的数据源,产品利用 SAP BW 服务器中已实施的所有安全策略。数据源中的所有用户身份验证和授权均由 SAP BW 执行。产品将凭据传递到 SAP BW 系统进行身份验证。经过身份验证之后,只会看到SAP BW 系统上用户对应的具有访问权限的对象和数据。

对于已连接的数据源,针对不同的用户,永洪BI更细粒度的数据权限控制,多方位管控数据安全,严格控制用户在自己权限范围内读写数据。更高级别的数据集读权限控制:当用户对某数据集仅具有读权限时,该用户既不能编辑语句、脚本、excel工作表,也无法使用行过滤、同步数据集、刷新元数据、保存数据集。

# 6.4.5.5 数据加密

永洪BI支持为敏感数据加密显示,即使是制作报告的业务人员,也无法看到完整数据,保障了数据的安全。在数据集处设置了脱敏规则之后,直接在单个数据集设置列属性->编辑->数据脱敏中应用脱敏规则即可。在脱敏用户中可以选择用户,组和角色,例如选择“业务销售组”作为脱敏用户。该组下的所有用户进入到数据集和报告中查看数据,看到的只是脱敏后的数据。

# 6.4.6数据呈现 FineReport

FineReport 是企业级 Web 报表工具,无需编码,易学易用,功能强大,简单拖拽操作便可制作中国式复杂报表,轻松实现报表的多样化展示、交互分析、数据录入、权限管理、定时调度、打印输出、门户管理和移动应用等需求。为了保证企业应用的安全,FineReport 着重在安全性上发力,从修补漏洞和主动防御两个方面去提升应用安全。

# 6.4.6.1 身份认证

FineReport集成了统一用户认证系统(NUC认证),集团用户可以使用工号或手机号登陆平台:

若NUC系统认证失败,则FineReport判断认证失败。

若NUC系统认证成功,则平台判断认证成功,可进入系统、按照该用户在平台中的权限进行相应操作。若用户首次登陆,用户信息会从NUC认证系统自动同步到FineReport用户体系中。

项目管理员在为项目成员配置权限时,若成员未登陆过系统,管理员可以在用户管理页面添加成员的NUC账号,或者让成员先登陆系统后再授权。

# 6.4.6.2 权限管理

权限管理就是指系统设置的安全规则或者安全策略,用户可以访问而且只能访问自己被授权的资源。平台会为每一个租户创建根目录,各个租户的根目录彼此隔离,每个租户根目录有至少一名管理员,管理员有权限对租户的资源进行权限管理。

FineReport 中的权限管理从权限项和权限受体两个方面来分类描述:

权限项:权限项就是指被分配的对象,指物,FineReport 平台系统的权限项包括报表、平台管理、和数据连接。

权限受体:权限受体就是指将权限分配给谁,指人,FineReport 平台系统中的权限受体包括部门职位和角色和用户。

根据权限受体的不同我们可以将权限分配分为根据部门职位分配权限、根据角色分配权限、根据用户分配权限:

根据部门职位分配权限:部门职位是指从 用户管理机构部门列表 中加载过来的所有职位列表,以部门关系树状显示,其权限分配过程请查看 根据部门职位分配权限。

根据角色分配权限:角色是指从 用户管理导入用户 的角色选项中加载过来的角色列表和手动添加的角色列表,其权限分配过程请查看 根据角色分配权限。

根据用户分配权限:用户是平台里的用户,其权限分配过程请查看 根据用户分配权限。 租户内部通常要使用分级权限管理,创建子租户机子租户管理员,分级管理包括分级授权和报表编辑两个选项:

分级授权:是指总的管理员将一些权限进行下放,使普通用户拥有分配权限的功能,将该普通用户所拥有授权权限的权限项分配给别的用户,一般是下属,详细请查看 分级权限分配。

报表编辑:编辑报表的权限配置是指在分配下级用户是否拥有 目录管理 的设置权限,详细请查看 报表编辑权限。

# 6.4.6.3 安全防护

出于平台安全性考量,管理系统的安全防护模预设四个安全功能开关:Cookie 增强、文件上传校验、脚本调用公式限制、Security Headers。

Cookie 增强功能会对当前协议进行检测,检测结果为 https 时正常开启,检测结果为 http 时弹窗提示“检测到当前协议为 http,未能成功启用。

文件上传校验对填报及平台外观配置中上传文件的后缀和大小进行校验。通过校验文件二进制头,禁止上传后缀与实际不符合的文件(比如 a.txt 改成 a.jpg 后上传)平台外观设置中禁止上传超过 20M 的图片,防止程序挂死(填报上传文件大小通过控件的大小限制自行做出限制),上传超出限制大小的图片弹出提示框,提示信息为使显示效果较佳,请选择尺寸不小于 1024*768,大小不超过20M的图片,支持 PNG、JPG 格式。

脚本调用公式限制:JS中FR.remoteEvaluate 和FR.remoteEvaluateAsync这两个接口,可以用来调用 SQL 公式,其使用频率较高,但这个接口也存在巨大的安全风险。这两个接口中执行的 SQL 在请求中是明文的,只要某张模板使用了这个方法,或者攻击者知道有这个接口,就可以通过前端执行 JS 来实现对数据库的增删查改等操作,其风险等级已经相当于远程执行了。产品增加了脚本调用公式限制这一功能。当用户使用了JS中的 FR.remoteEvaluate和FR.remoteEvaluateAsync这两个接口,并且接口的 formula 使用的是公式中的报表类函数,如果用户开启了脚本调用公式限制开关,则效果预览时弹出提示框信息此调用存在安全风险,如需使用请在安全管理中修改脚本调用公式限制。

Security Headers 安全头系列设置,开启后将给请求头附加 HTTP Security Headers 属性,阻止漏洞攻击。Security Headers--安全头系列,其中包括:

1)CSP 内容安全策略——开启后,请求头部增加 Content-Security-Policy:object-src 'self' 设置

2)XSS 攻击防护——开启后,请求头部增加 X-XSS-Protection:1; mode=block 设置

3)点击劫持攻击防护——开启后,请求头部增加 X-Frame-Options:SAMEORIGIN 设置

4)内容嗅探攻击防护——开启后,请求头部增加 X-Content-Type-Options:nosniff 设置

5)浏览器缓存禁用——开启后,增加 Cache-Control:no-cache、Pragma:no-cache&Expires:0 设置

# 6.4.6.4 访问控制

平台可以开启访问控制,限制单 IP 访问频率,降低并发性或限制访问:

频率限制默认开启,可自定义设置访问频率,对报表的访问请求进行频率限制。限制频率默认为 60 秒访问 200 次。超过则拉入拦截名单,拦截后该 IP 再访问会有页面提示:您的访问有风险,已被系统限制访问,如有疑问请联系管理员。

拦截名单提供超出访问频率被拦截的 IP 的信息,鼠标放置在某个 IP 名单上,会悬浮显示移出按钮,可将该 IP 移出拦截名单。

# 6.4.6.5 SQL防注入

SQL 注入就是一些人可以通过恶意的参数输入,让后台执行这段 SQL,然后达到获取数据或者破坏数据库的目的。SQL 防注入就是通过以下两种方式来达到防止 SQL 注入的目的:

开启特殊关键字,当 SQL 参数中存在需要禁用的字符时,则在日志中抛出错误信息。

开启字符,当 SQL 参数中存在需要转义的字符时,则这些字符会被转为空。

# 6.4.7 多维分析 Kyligence

Kyligence 基于分布式处理系统FusionInsight HD的企业级智能大数据分析平台,在PB级数据集上提供亚秒级查询响应和互联网级的高并发访问,实现大数据场景下的OLAP(联机分析处理)分析与大规模BI(商务智能)应用,助力数据分析师与业务用户快速发现海量数据的业务价值,驱动商业决策。

# 6.4.7.1 身份认证

Kyligence集成了统一用户认证系统(NUC认证),集团用户可以使用工号或手机号登陆平台:

若NUC系统认证失败,则Kyligence判断认证失败。

若NUC系统认证成功,则平台判断认证成功,可进入系统、按照该用户在平台中的权限进行相应操作。若用户首次登陆,用户信息会从NUC认证系统自动同步到Finereport用户体系中。

项目管理员在为项目成员配置权限时,若成员未登陆过系统,管理员可以在用户管理页面添加成员的NUC账号,或者让成员先登陆系统后再授权。

# 6.4.7.2 用户组管理

用户组是一组用户的集合,用户组中的用户通过用户组共享相同的访问权限。系统默认会初始化用户组,对应名称为ALL_USERS、ROLE_ADMIN、ROLE_ANALYST 和ROLE_MODELER,其中ALL_USERS组是一个默认的用户组,用户被创建后,即进入该组,也就是说,所有用户都包含在ALL_USERS用户组中。ALL_USERS用户组不能被修改或删除,系统管理员可以对除ALL_USERS以外的其他组进行批量添加或删除用户,也可以将某个用户添加到除ALL_USERS以外的多个组中。系统管理员可以对用户组赋予项目级∕行级∕表级∕列级权限。在对用户组赋予某种项目级∕行级∕表级∕列级权限时,用户组中的用户会继承所属组的相应权限。当用户组与用户组中的用户被同时赋予某一项目级∕行级∕表级∕列级权限时,用户的权限取两者最大权限。

# 6.4.7.3 权限管理

Kyligence提供了丰富的企业级安全控制能力,每一个用户动作都必需同时具备操作权限和数据访问权限,然后才能执行。

操作权限:定义在项目级别,指定每个用户可以在项目中执行哪些操作。权限由低到高分别为:

1)QUERY:查询权限,允许执行查询。

2)OPERATION:运维权限,允许执行Cube的构建、刷新、Segment管理等,且包含QUERY权限。

3)MANAGEMENT:管理权限,允许创建或编辑模型和Cube,且包含OPERATION权限。

4)ADMIN:项目级管理员,允许管理源表,且可以执行项目中的所有操作。

数据访问权限:定义在数据上,指定用户可以访问哪些表,以及表中的哪些列和哪些行。

1)表级权限:指定用户是否可以访问某张表,详见表级访问权限。

2)列级权限:指定用户是否可以访问表中的某些列,详见列级访问权限。

3)行级权限:指定用户是否可以访问表中的某些行,详见行级访问权限。

# 6.4.7.4 数据加密

Kyligence所有敏感信息包括用户代码、业务流程配置、数据源连接等信息均加密存储。只有合法并具备权限的用户,方能查看、使用、修改这些数据。底层数据加密依靠分布式存储系统的加密能力。

# 6.4.7.5 备份恢复

Kyligence实例是无状态的服务,所有的状态信息都存储元数据中,因此备份与恢复元数据是运维工作中一个至关重要的环节,可以在由于误操作导致整个实例或某个Cube异常时将Kyligence快速从备份中恢复出来。平台提供元数据备份服务,这可以保证在操作失败后有回滚的可能,在最坏情况下依然保持系统的稳定性。元数据备份级别分为系统级别、项目级别、Cube级别。恢复操作时,会用本地元数据覆盖远端元数据,所以从备份到恢复期间,服务将处于关闭或者无活动(包括构建任务)状态,否则从备份到恢复之间的其它元数据改变会因此而丢失。如果希望Kyligence服务不受影响,可以使用项目级别或者􀀁、Cube级别的元数据恢复。

# 6.4.8 机器学习 ModelArts

# 6.4.8.1 身份认证

机器学习ModelArts使用大数据湖平台统一Kerberos安全认证,提供方便易用的用户身份管理与资源访问控制服务。用户申请机器学习服务后,平台将为用户创建“工作空间”,并分配管理员账号和开发者账号,ModelArts支持多个账户协同开发。注意,账号初始密码为系统随机生成,用户首次登陆,系统会提示用户修改密码。

# 6.4.8.2 权限管理

ModelArts 自带的权限托管策略中包含管理员、操作员、审计员、开发、访客和安全管理员等多种角色,满足工程团队内部的角色分工需求和细粒度安全管控。

角色名 权限
Manager_administrator Manager管理员,具有Manager和租户资源的所有权限,可创建、修改新的用户组,指定用户权限,以满足不同用户对系统的管理需求。
Manager_operator Manager操作员,具有除系统配置、集群管理和租户管理之外的Manager系统的全部权限。
Manager_auditor Manager审计员,具有查看和管理Manager系统审计日志的权限。
Manager_viewer Manager查看员,具有查看Dashboard,服务,主机,告警,审计日志等信息的权限。
Manager_tenant Manager租户管理页面查看角色,具有查看租户管理页面的权限。
System_administrator 系统管理员,具有Manager的管理员权限及所有组件服务管理员的权限。
Default 为集群default租户创建的默认角色。拥有Yarn组件default队列的管理权限。非首个安装集群的default租户默认角色为“c<集群ID>_default”。
# 6.4.8.3 沙箱隔离

ModelArts支持以“工作空间”为单位管理代码与配置。“工作空间”是ModelArts用户数据隔离的基本单位,工作空间内的所有任务均运行在沙箱内,以保证数据不被泄露,同时也防止开发人员擅自操作外部资源。

默认情况下,“工作空间”仅可访问指定的计算引擎和已添加的数据源。如需在“工作空间”中访问除以上两种情形之外的外部资源,需要由“工作空间”管理员进行资源权限申请,审批通过后该项目系统账号将被赋予相应的资源使用权限。ModelArts资源池与Yarn队列、资源池、计算节点的映射关系以及租户权限模型如下图所示,Yarn中的租户(队列)与资源池是一对一的关系,Yarn的资源池与计算节点是一对多的关系,ModelArts的资源池与Yarn中的租户(队列)是一对一的关系,操作用户与租户(队列)是多对多的关系。

# 6.4.8.4 数据加密

ModelArts所有敏感信息包括用户代码、业务流程配置、数据源连接等信息均加密存储。只有合法并具备权限的用户,方能查看、使用、修改这些数据。底层数据加密依靠分布式存储系统的加密能力。

# 6.4.8.5 审计日志

ModelArts会针对不同用户不同日志数据进行日志审计,提供日志数据存储,包括静态数据使用情况统计、运行记录及安全信息等内容。

# 6.4.9 数据文件传输服务 MFT

# 6.4.9.1 身份认证

数据文件传输服务MFT对外提供安全的SFTP、FTPS服务,通过账号密码的方式认证权限,只有具有权限的账户可对数据进行访问。可使用本身Virtual Folder Management服务构建虚拟目录SFTP、FTPS服务,亦可使用华为FusionInsight HD HDFS FTPS服务作为文件传输的目录,可随时更改账户权限。

# 6.4.9.2 权限管理

数据文件传输服务 MFT提供管理员、文件服务操作员等角色

角色名 权限
MFT管理员 MFT管理员,具体有最高权限,如同linux的root用户。
FTPS、SFTP操作员 FTPS、SFTP操作员,具有访问FTPS、SFTP的权限,可精细化权限管理,如查看、下载、上传、删除/创建目录等。
# 6.4.9.3 数据加密

数据文件传输服务 MFT 只提供文件传输服务,数据加密可由数据提供者根据自己的实际情况进行各种级别的加密,如可对ZIP文件进行AES-256加密。

# 6.4.9.4 审计日志

数据文件传输服务 MFT会针对不同文件传输事件进行日志审计,提供日志数据存储,包括事件执行时间,文件传输大小,文件传输耗时等审计内容。

# 6.4.10 数据接口服务 DataAPI

# 6.4.10.1 身份认证

DataAPI服务主要提供马账号密码、令牌身份认证服务。亦可提供其它主流认证服务如:Kerberos Token、OpenID Connect、SSL Certificate等等。

# 6.4.10.2 权限管理

DataAPI提供三层API服务分别是API开发服务、API网关服务、API门户服务。每个服务拥有自己的Administrator管理员,API开发服务开发员、API网关服务API提供员、API门户服务业务员。

角色名 权限
API开发服务管理员 具有Integration Server的所有权限,可创建、修改新的用户组,指定用户权限,以满足不同用户对系统的管理需求。
API网关服务管理员 具有API Gateway Server的所有权限,可创建、修改新的用户组,指定用户权限,以满足不同用户对系统的管理需求。
API开发服务开发员 具有Integration Server的开发权限,可开发API对外提供数据支持服务。
API网关服务API提供员 具有API Gateway Server的发布权限,修改API认证、限流的权限。
API门户服务业务员 API门户的注册用户,具有试用API,申请API使用权限,使用审批后API的权限。
# 6.4.10.3 审计日志

DataAPI会针对不同API进行日志审计,提供API每个时断的调用次数,API响应耗时、运行记录及调用详细信息等内容。

# 6.4.11 统一调度平台Control-M

BMC 提供的企业级作业调度管理解决方案,通过单一控制节点,集中地管理跨平台、跨应用的生产控制和调度过程,按照业务逻辑自动调度和提交相关作业、实时监控和分析作业运行状态和运行结果、基于运行结果自动进行作业的后续处理,实现作业运任务运行的集中化、可视化、自动化和规范化管理 。

# 6.4.11.1 高可用架构

Control-M采用三层架构,Control-M EM主要负责提供前端访问服务,Control-M Server 是作业调度的核心管理部分,Control-M Agent作为调度任务的具体执行节点。 Control-M EM 和Control-M Server均采用HA主备模式;为环境的调度任务提供Control-M Agent集群服务,单Agent节点故障均不会不影响任务的正常运行,且Agent节点数可按业务需求线性增减。

# 6.4.11.2 身份认证

Control-M集成了统一用户认证系统(NUC认证),集团用户可以使用域账号或手机号登陆平台: 若NUC系统认证失败,则登陆Control-M判断认证失败。 若NUC系统认证成功,则登陆Control-M判断认证成功。用户成功进入系统后,可在平台中在用户的权限范围内进行相应操作。若用户首次登陆,用户信息会从NUC认证系统自动同步到Control-M用户体系中。 项目管理员可以在Control-M后台为NUC系统里的用户创建Control-M账号。

# 6.4.11.3 权限管理

Control-M提供企业级安全控制能力,可为用户提供应用、子应用、模块、服务及单一任务级别的权限控制,用户登陆Control-M系统后需管理员申请相应权限,然后才能执行权限内的操作。 用户权限控制列表:

应用(application)、子应用(Sub application)权限:控制用户可以操作的应用、子应用列表及对每个应用、子应用粒度权限,如只读、可更新项目但不可删除、操作项目的所有权限。

作业权限:控制用户对单个作业的操作权限,如是否可浏览作业属性、查看作业日志等信息;是否可以干预作业的执行过程如重跑、手动释放等;是否可执行删除等更新当前计划任务。

模块权限:控制用户对Control-M功能模块化的权限,如控制普通用户不具备管理员模块的权限。

服务(Service)权限: 控制用对Control-M 各Service服务的操作权限, 如对各Business Impact Service 服务的权限。

管理员权限,平台的一切操作权限。

# 6.5 存储与CDN

# 6.5.1 对象存储OSS

招商云对象存储服务(Object StorageService,OSS),是招商云对外提供的海量、安全和高可靠的云存储服务。RESTful API的平台无关性,容量和处理能力的弹性扩展,按实际容量付费等特点使用户能专注于其核心业务。

# 6.5.1.1 身份认证

当用户向OSS发送请求时,需要首先将发送的请求按照OSS指定的格式生成签名字符串;然后使用Access KeySecret对签名字符串进行加密产生验证码。验证码带时间戳,以防止重放攻击。OSS 收到请求以后,通过Access Key ID找到对应的Access KeySecret,以同样的方法提取签名字符串和验证码,如果计算出来的验证码和提供的一样即认为该请求是有效的;否则,OSS 将拒绝处理这次请求,并返回 HTTP 403 错误。

# 6.5.1.2 访问控制

对OSS的资源访问分为拥有者访问、第三方用户访问。这里的拥有者指的是Bucket的拥有者,也称为开发者。第三方用户是指访问Bucket里资源的用户。访问又分为匿名访问和带签名访问。对于OSS来说,如果请求中没有携带任何和身份相关的信息即为匿名访问。带签名访问指的是按照OSSAPI文档中规定的在请求头部或者在请求URL中携带签名的相关信息。OSS提供Bucket和Object的权限访问控制。Bucket 有三种访问权限:

Public-read-write:任何人(包括匿名访问)都可以对该Bucket中的Object进行读/写/删除操作;所有这些操作产生的费用由该Bucket的Owner承担,请慎用该权限。

Public-read:只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行写/删除操作;任何人(包括匿名访问)可以对Object进行读操作。

Private:只有该Bucket的Owner或者授权对象可以对存放在其中的Object进行读/写/删除操作;其他人在未经授权的情况下无法访问该Bucket内的Object。

用户新创建一个Bucket时,如果不指定Bucket权限,OSS会自动为该Bucket设置private权限。Object有四种访问权限:

Public-read-write:所有用户拥有此Object的读写权限。

Public-read:非此Object的Owner拥有此Object的读权限,只有此Object的Owner拥有此Object的读写权限。

Private:此Object的Owner拥有该Object的读写权限,其他的用户没有权限操作该Object。

Default : Object遵循Bucket的访问权限。

用户上传 Object时,如果不指定Object权限,OSS会为Object设置为default权限。

# 6.5.1.3 高可用性

OSS数据采用多副本技术,将数据写入到三份不同跨机架的不同存储节点中,数据可靠性达到99.9%,数据持久性达到99.9999%,避免单一硬件故障造成数据丢失。

# 6.5.1.4 租户隔离

OSS将用户数据切片,每片用户数据打上用户标签,离散存储在分布式文件系统中,并且用户数据和数据索引分离存储。OSS用户认证采用AccessKey对称密钥认证技术,对于用户的每个HTTP请求都验证签名。在用户验证通过后,根据用户标签,重组用户离散存储的数据。从而实现多租户间的数据存储隔离。

# 6.5.1.5 数据安全

OSS提供跨集群跨区域的数据同步功能,避免一个地区的存储受到不可抗逆灾难时造成的损失,从而达到数据容灾的效果,保证数据的持久性和稳定性,为重要数据加上多重保险。

# 6.5.2 归档存储

归档存储(ArchiveStorage)致力于提供低成本、高可靠的数据归档服务,适合于海量数据的长期归档、备份,提供生命周期管理功能,对于到期文件自动进行删除操作,节省存储空间。

归档存储服务使用AccessKey进行身份认证。当用户向归档存储服务发送请求时,需要首先将发送的请求按照归档存储服务指定的格式生成签名字符串;然后使用Access KeySecret对签名字符串进行加密产生验证码。验证码带时间戳,以防止重放攻击。归档存储服务收到请求以后,通过Access Key ID找到对应的Access KeySecret,以同样的方法提取签名字符串和验证码,如果计算出来的验证码和提供的一样即认为该请求是有效的;否则,消息服务将拒绝处理这次请求,并返回HTTP 403错误。

# 6.5.2.1 高可用性

归档存储采用多冗余的可靠架构,有效应对各类硬件故障,消除单点隐患,数据可靠性达到99.9%。

# 6.5.2.2 租户隔离

归档存储将用户数据切片,每片用户数据打上用户标签,离散存储在分布式文件系统中,并且用户数据和数据索引分离存储。用户认证采用AccessKey对称密钥认证技术,对于用户的每个HTTP请求都验证签名。在用户验证通过后,根据用户标签,重组用户离散存储的数据。从而实现多用户间的数据存储隔离。

# 6.6 容器

容器服务提供高性能可伸缩的容器应用管理服务,支持用 Docker 和Kubernetes 进行容器化应用的生命周期管理,提供多种应用发布方式和持续交付能力并支持微服务架构。

# 6.6.1 租户隔离

基于计算资源、存储、网络隔离的虚拟化隔离技术,提供不同租户部署不同容器集群的部署方案,从而达到租户之间的相互隔离。集群间数据库、overlay 网络、容器管理组件相互独立,提高故障域隔离能力,防止不同租户间相互影响。

# 6.6.2 用户权限管理

用户可以通过访问控制能力限制团队下账号对容器服务集群的读写权限。容器服务支持基于角色的权限管理,权限的控制粒度可以细化到各个功能级别,容器服务用户可以通过扮演自定义角色进行访问,该用户将拥有角色绑定策略内的访问权限。

# 6.6.3 容器网络隔离

默认情况下,容器集群会启用OVS多租户插件,一个命名空间中的容器集流量会与其他命名空间(项目)的容器集流量隔离开。建议不同系统使用不同的命名空间,默认不允许不同系统之间的POD直接互相访问。

# 6.6.4 安全上下文约束(SCC)

可以使用安全性上下文约束(SCC)定义POD运行必须满足的一组条件,以便其能被系统接受。可由SCC管理的一些方面包括:

运行特权容器

容器可请求添加的功能

将主机目录用作卷

容器的SELinux上下文

容器用户 ID

建议使默认SCC运行POD,不运行特权容器和使用root用户运行容器。如果需要其它权限,您可以根据需要新建SCC策略并且调整为更宽松。

# 6.6.5 监控审计

容器服务支持平台访问审计日志的自动采集和可视化过滤、检索。

# 6.6.6镜像管理

针对基于 Linux 的部分基础镜像,金科容器镜像服务已经提供了镜像安全扫描的功能。本功能可以发现与被扫描镜像相关的最新CVE安全漏洞信息。

容器镜像的签名和校验可确保仅在容器平台上部署经过容器使用方签名确认的的容器镜像。借助镜像签名和二进制授权校验,容器使用者可以要求在开发过程中由可信授权方对镜像进行签名,然后在部署时强制执行签名验证。通过强制执行验证,可以确保仅将经过验证的镜像集成到构建和发布流程中,从而对容器环境实施更严格的安全控制。

# 6.7 应用服务

# 6.7.1 API网关

招商云API网关作为微服务架构下系统统一流量入口,涵盖API发布、管理、运维、应用的全生命周期管理。辅助用户简单、快速、低成本、低风险的实现微服务聚合、前后端分离、系统集成,向合作伙伴、开发者开放功能和数据。

# 6.7.1.1 高可用性

API网关通过在容器平台部署服务,使其具备编排功能,故障诊断、自动恢复、弹性伸缩等能力。搭配F5和DNS可实现多数据中心提供服务、异地容灾等能力,可用性高达99.9%。

# 6.7.1.2 健康检查

API网关会根据业务请求中业务服务端响应结果和网关节点对业务服务端心跳结果两种方式检查业务服务端的健康状态,对业务服务端进行健康状态标记,并自动隔离异常状态的服务节点。不仅提高整体服务能力,还避免频繁的心跳检查对业务服务端的压力。

# 6.7.1.3 安全认证

API网关根据业务要求对客户端请求进行不同级别和方式的安全认证。包括用户认证、设备认证、APP认证等。

API网关提供通过招商云统一用户认证工具NUC对API调用者进行安全验证的功能。并且认证流程采用标准OAuth2.0协议,不会接触用户的用户名和密码,保证用户信息安全。API网关将用户授权获得的资源经JWT-Token加密传输给业务服务端,密文传输且具有时效性,进一步保证用户信息不泄露。

设备认证是一种更为有效的安全实践方案,目前移动设备已经逐渐成为个人身份、地理位置的验证工具。设备认证能够在用户统一安全认证的基础上额外加一层安全保护。

API网关亦可以通过APP认证保障API调用的安全性。APP认证包括访问密钥 ID(App key)和秘密访问密钥(App Secret)。App key 和 App Secret 由API网关颁发给访问者(可以通过API网关控制台申请和管理),全程严格管控,确保只有招商云API网关和用户知道。

用户可以登录API网关控制台来管理 App key 和 App Secret ,包括创建、更新、删除操作。

# 6.7.1.4 访问控制

API网关除了提供多种安全认证对客户端调用API进行权限控制,还提供额外的访问控制方式——黑白名单、流量控制,来保护业务服务端。

# 6.7.1.5 业务隔离

API网关支持动态创建多个代理实例,并对代理实例进行特殊配置。不同业务系统可以指定自己使用的代理实例,实现路由服务系统级别的业务隔离,保证各个业务系统的安全

# 6.7.1.6 服务监控

API网关集成了招商云统一监控平台,实时输出网关实例运行状态和服务路由状态,并给出趋势统计图,供用户实时查看分析。

# 6.7.1.7 日志分析

API网关集成了招商云统一日志平台,可以对所有经由网关的业务流量进行统计分析,为业务功能扩展和服务伸缩提供数据依据。

# 6.7.2 日志服务

招商云日志服务(LogService,简称Log)是针对日志类数据的一站式服务,用户无需开发就能快捷完成日志数据采集、消费、投递以及查询分析等功能,提升运维、运营效率,建立DT时代海量日志处理能力。

# 6.7.2.1 高可用性

Log服务的日志数据存放在分布式文件系统上,以多种数据形式同时存储,在文本存储搜索引擎、大数据分布式文件系统保存,有效保障实时、近实时、历史数据存储的可靠性;提供三副本存储机制,有效的保障了文件存储的可靠性。

# 6.7.2.2 只读日志系统

Log服务有一个重要特性就是防篡改。Log提供的是一个AppendOnly的日志系统,只能追加日志,而不能修改已经写入的日志,从根本上解决了日志防篡改的问题。

# 6.7.2.3 日志数据收集

Log服务,通过配置日志收集规则,包括文件路径、文件类型、文件编码、文件附属标签等信息,从虚拟机及容器中近实时采集日志文件数据,将数据打包成JSON数据格式,投递到消息数据总线中转,有效的保障了数据收集的实时性及容器生命周期结束后,日志数据文件被清理后数据的保存。

# 6.7.2.4 日志数据检索

Log服务提供基于全文搜索引擎Elasticsearch的检索服务,基于ES,打造丰富的日志数据检索搜段,提供模糊查询、精准查询、范围查询、正则查询等检索功能,可以便捷的分析检索日志数据,准确定位问题。同时针对海量的历史数据查询,提供了基于Hive的检索能力,提供模糊匹配查询能力,形成检索功能的高低搭配,为高价值的近期日志数据提供丰富的查询检索分析能力,为低价值的历史日志数据提供基本的数据检索功能和保障。

# 6.7.2.5 身份验证

Log服务认证采用由招商云颁发给用户的访问服务的密钥(AccessKey),在身份认证时使用HMAC-SHA1签名算法。

Log提供基于招商云统一用户认证NUC服务对访问者身份进行安全验证的功能,同时Log服务基于访问授权管理(RAM)机制,限制用户仅可以访问授权范围内的日志数据,保障数据访问安全。

# 6.7.3统一用户中心

统一用户中心,维护了招商局集团及其成员企业的用户信息、组织架构、应用模块信息、角色信息、资源信息、权限信息等。提供统一认证服务、以及角色管理、模块管理、权限管理等功能。

# 6.7.3.1 高可用性

用户中心通过在容器平台部署服务,使其具备编排功能,故障诊断、自动恢复、弹性伸缩等能力。搭配F5和DNS可实现多数据中心提供服务、可用性达99.9%。

# 6.7.3.2 用户体系

账户管理:账户管理用于区分账号类型,记录账号注册来源,控制账号状态,绑定身份,人员。

模块管理:模块管理用于企业内部开发业务系统/项目注册。

资源管理:资源管理为各个模块提供菜单、按钮及API的配置管理。

角色管理:角色管理为各个模块提供配置角色(管理员/普通用户/...)功能,可以为账号配置角色。

权限管理:权限管理结合模块、资源、角色管理,可以控制某个角色有访问模块、资源的权限。

# 6.7.3.3 认证体系

单点登录:在安全域中任意一个域下登录,即可访问安全域下的所有系统。

Oauth2: OAuth2.0是一个开放标准,用户授权后,第三方应用无需获取用户的用户名和密码就可以访问该用户在某一网站上存储的私密的资源(如姓名,业务单位)。

扫码登录:对接扫码登录接口,可使用APP扫码登录。

密码认证:使用账号密码登录。

短信认证:手机账号可以使用短信验证码登录。

双因子认证服务:先进行账号密码验证,再向绑定的手机/邮箱发送验证,验证码校验成功才能正常登录。

# 6.7.3.4 数据安全

安全管理:记录异地登录,登录错误次数限制,账号冻结。

数据加密:登录密码加密;数据库敏感信息加密;接口使用sign签名

# 6.8 中间件

# 6.8.1 RocketMQ

消息队列 RocketMQ 是基于Apache RocketMQ 构建的低延迟、高并发、高可用、 高可靠的分布式消息中间件。产品基于高可用分布式集群技术,提供消息发布订阅、消息轨迹查询、定时(延时)消息、资源统计、监 控报警等一系列消息云服务。消息队列 RocketMQ 为分布式 应用系统提供异步解耦、削峰填谷的能力,同时具备海量消息堆积、高吞吐、可靠重试等应用所需的特性。

# 6.8.1.1 多协议支持

提供 TCP、HTTP 和 STOMP 协议的多语言接入方式,方便不同编程语言开 发接入。

  • HTTP协议:支持 Java、 C++、.NET、Go、Python、Node.js 和 PHP 七种语言客户端。
  • TCP 协议:SDK 方式接入服务。支持的语言包括 Java、C/C++ 以及 .NET。
  • STOMP 协议:类似于 HTTP 的纯文本的协议机制,常用于脚本语言(如 Ruby、Python、 Perl)和消息队列 RocketMQ Broker 进行轻量级交互。
# 6.8.1.2 监控告警

RocketMQ集成promethus实现监控告警,对集群状态,节点状态,服务器资源如内存、自盘提供监控,如果达到告警条件会发送告警邮件,保证可以第一时间发现并处理异常。

# 6.8.1.3 集群高可用

RocketMQ采用简洁高效的三主架构部署,如果其中一个master节点宕机不会影响其他两个节点对外提供服务。异常节点解决好后整个集群恢复正常。

# 6.8.2 云代理

云代理是基于Nginx构建的共享代理层,不同用户可以通过共享服务构建Web服务器、反向代理服务器,业。产品提供页面化选择不同事件模块,配置转发策略,自动生成配置文件并自动部署。

# 6.8.3 日志服务

日志服务基于Elasticsearch构建的一款简单、易用的日志分析、管理工具,致力于降低企业客户直接使用ELK开源产品的部署和使用成本,并且根据客户日志内容及需求抽象出更多的使用场景,可以利用它对日志进行集中管理和准实时搜索、分析,使用搜索、可视化和监控等简单易用的功能,帮助用户进行线上业务的准实时监控、业务异常时及时定位原因、排除故障、程序研发时跟踪分析Bug、业务趋势分析、安全与合规审计,深度挖掘日志的大数据价值。 用户选择日志服务后,在中间组件标准化后无需任何开发,可接入日志平台,完成日志结构化、采集、查询和分析等。

# 6.8.4 统一管理

基于脚本语言构建的一套自动管理中间组件工具,命令行管理中间组件实例,降低运维成本,提高运维效能。

# 6.9 管理与监控

# 6.9.1 云监控

云监控(CloudMonitor)是一项针对招商云资源和互联网应用进行监控的服务。云监控服务可用于收集获取招商云资源的监控指标,探测互联网服务可用性,以及针对指标设置警报。云监控服务能够监控云主机ECS、云数据库RDS,存储,网络设备和网络专线等各种招商云服务资源,同时也能够通过HTTP,ICMP等通用网络协议监控互联网应用的可用性。用户可以全面了解在招商云上的资源使用情况、性能和运行状况。借助报警服务,用户可以设置不同的报警规则,在监控数据达到报警阈值时发送报警信息,让用户可以及时做出反应,保证应用程序顺畅运行。

# 6.9.1.1 访问控制

云监控支持通过RAM访问控制实现子账号对云服务监控的监控数据、管理报警规则、管理联系人和联系人组的权限控制。注意,RAM系统权限中的“只读访问云监控(CloudMonitor)的权限”包含监控、报警服务、应用组、报警联系人组等监控相关的只读权限。云监控除基本的子账号权限控制外,目前支持时间、MFA、IP三种鉴权类型。

# 6.9.1.2 服务监控

云监控平台提供了日志、端口和进程等高级监控功能,同样在平台实现了内部系统资源和服务的监控。除了指标历史数据查询和实时的告警推送,还有容量平台提供数据统计和趋势预测,支持报表导出,为服务状态和资源规划提供数据支撑。

# 6.9.2 容量管理

容量平台提供了云产品的数据分析和容量统计功能。容量统计服务周期性采集云产品实例的日、周、月报告,包括以下:

  • 主机资源(CPU,内存和网卡流量)
  • 数据库资源(连接数,库容量,磁盘容量)
  • 网络专线资源(出口流量,入口流量)
  • 存储资源(块存储容量,CBS 云硬盘容量)
  • EIP 资源(带宽使用)

容量平台提供对资源使用率进行预测,对当前配置进行改进建议,合理配置资源,实现稳定运行的情况下成本达到最优分布。

# 7.招商云安全管控

招商云安全管理平台为用户提供如DDoS防护、主机入侵防护、Web应用防火墙、安全管理中心等一站式安全服务。招商云安全管理平台的以下所有产品都已支持接入RAM服务,支持通过RAM创建子用户并进行授权。

# 7.1. 基础防护

# 7.1.1. DDoS基础防护

招商云免费为用户提供最高1G的默认DDoS防护能力。在此基础上,招商云推出了安全信誉防护联盟计划,将基于安全信誉分进一步提升DDoS防护能力。

# 7.1.2 网络防火墙

招商云为用户提供基于IP和端口控制的防火墙能力,在保障业务系统运行的前提下,最小化网络暴露面,个性化制定网络访问规则。提供黑名单和白名单策略机制,可以限制某些恶意IP访问,也可以只允许某些安全IP访问。

# 7.1.3 云防火墙

云防火墙通过VLAN隧道ID进行不同租户网络的隔离。VPC内部由于虚拟交换机和虚拟机路由器的存在,可以像传统网络环境一样划分子网。即便不同租户的虚拟机资源在同一物理宿主机上,也能实现相互之间资源访问的逻辑隔离。云防火墙提供访问控制功能,基于租户的业务访问需求,可以申请访问云上特定资源。

# 7.2 高级防护

# 7.2.1 Web应用防火墙

Web应用防火墙(WebApplicationFirewall,WAF)采用业界顶尖产品,结合了多年攻防经验和一系列针对性优化算法的高级 Web 应用防火墙。采用正则规则和语义分析的双引擎架构,对SQL注入、跨站攻击、命令和代码注入、目录遍历、扫描器、恶意BOT、CC 等OWASP常见攻击进行监测和阻断,智能识别并拦截恶意请求,将正常、安全的流量回源到服务器,避免源站被黑客恶意攻击和入侵,保障业务数据安全。

WAF的工作方式是将硬件设备以透明桥方式部署在招商云Internet入口,所有业务流量都将通过WAF进行检测,过滤,然后后再转发到应用服务器。WAF还提供告警且不阻断的观察模式,用户可以使用此模式先观察WAF的误报情况和拦截情况,使用更放心。

Web应用防火墙具有如下功能:

常见Web攻击海量过滤:WAF可识别 99% 的Web攻击,包括SQL注 入、XSS、命令注入、代码注入、目录遍历、敏感文件获取等常见(OWASP Top 10)攻击类型,并能检测在网址、参数、头字段等位置的恶意攻击有效载荷。

强大的编码还原功能:能够对url_encode,unicode编码,xml编码,c-oct编码,十六进制编码,html转义编码,base64编码,大小写混淆,javascript、 shell、php等拼接混淆进行还原等。

CC攻击防护:CC攻击(应用层 DDoS的一种)会占用大量业务资源,影响正常业务体验。WAF可基于ip、cookie和referer信息对用户进行标识,并通过灵活的配置阈值,执行访问限速,对超过阈值的访问者,可阻断其请求,避免对业务造成压力;也可发起验证码挑战,进行人机识别,更精准地将攻击者甄别出来,并进行阻断。

Webshell防范: WAF通过对HTTP(S)传输通道的内容检测,对各种类型的Web shell进行检测和阻断,防止其给业务带来后续危害。用户可以一键启用该功能,对业务进行防护。同时,WAF服务使用简便、易于管理。

自定义精准控制:用户可以通过WAF提供的接口,设置自定义的检测规 则。包括自定义的黑白IP名单、用户代理黑名单及其他更复杂的检测规则。

隐私过滤:可避免在WAF的事件日志中出现涉及用户隐私的用户名密码等信息。用户可灵活自定义过滤规则,实现隐私过滤。

集中管理:在后端对WAF节点集中管理,如策略下发、事件日志的查看处理等。

# 7.2.2 入侵防御

网络入侵防御系统(Intrusion Prevention System,IPS),能够及时发现来自网络层面的攻击,例如APT,漏洞利用攻击,侦测攻击,SQL注入等,并集成了威胁情报能力,无需在业务系统上安装软件补丁,即可智能阻断入侵行为。

# 7.2.2.1 网络入侵防御

网络入侵防御系统(Intrusion Prevention System,IPS),能够及时发现来自网络层面的攻击,例如APT,漏洞利用攻击,侦测攻击,SQL注入等,并集成了威胁情报能力,无需在业务系统上安装软件补丁,即可智能阻断入侵行为。

# 7.2.2.2 主机入侵检测

主机入侵防御是一款主机安全软件,是用于检测主机上是否发现黑客入侵行为,是否有黑客正在暴力破解服务器账号和密码,是否登录成功以及是否安装了后门木马。通过安装在云主机上的轻量级Agent,与安全管理平台联动,提供资产管理、漏洞管理、基线检查、入侵检测等功能,能够帮助企业更方便地管理主机安全风险,实时发现并阻止黑客入侵行为,保障云主机的安全以及满足等保合规的要求。

主机入侵防御提供以下主要功能:

资产管理:提供账号、端口、进程、Web目录和软件等安全资产信息的管理和分析。

漏洞管理:检测Windows/Linux操作系统与SSH、OpenSSL、Apache、Mysql等 软件存在的漏洞,并给出修复建议。

基线检查:检测系统口令复杂度策略、经典弱口令、风险账号,以及常用系统与 中间件的配置,识别不安全项目,预防安全风险。

恶意程序检测:通过程序特征、行为检测,结合AI图像指纹算法以及云查杀,有 效识别病毒、木马、后门、蠕虫和挖矿软件等恶意程序,并提供一键隔离查杀能力。

# 7.2.3漏洞扫描平台

招商云漏洞扫描平台提供检测主机漏洞的扫描服务,全面覆盖OWASPTop10风险,能准确、全面扫描主机存在的漏洞,避免漏洞被恶意利用从而破坏主机安全,用户无需安装任何插件,即可获得主机的漏洞态势,以及每个漏洞的修补建议。漏洞扫描平台包括以下服务内容:

# 7.2.3.1通用漏洞检测

SQL注入漏洞,支持基于GET、POST方式提交的至少包括字符、数字、搜索等的注入漏洞。

XSS漏洞,支持基于GET、POST方式的跨站攻击漏洞。

CSRF漏洞,目录遍历漏洞,信息泄漏漏洞,认证方式脆弱,包括但不限于各种登录、绕过、常见帐号、弱口令等。

URLRewriter、Struts2、Jboss、Jenkins、Django等企业开源框架漏洞。

支持主机漏洞,如永恒之蓝、CVE-2019-0708漏洞扫描。

# 7.2.3.2 指纹识别

覆盖400多种web指纹及主机指纹,针对发现的每种漏洞类型,Web漏洞扫描服务提供了专业的修复建议。

# 7.2.3.3 安全漏洞管理

每季度定期扫描系统、应用层安全漏洞,及时发现安全隐患。

漏洞修复指导,低成本高效修复安全漏洞。

漏洞修复验证,保证漏洞修复效果。

高危0day漏洞预警,第一时间了解漏洞信息,防患于未然。

# 7.2.3.4 风险分析

支持OWASPTOP10漏洞分类和风险分析,以及按照威胁严重性分高中低三个等级进行风险分析,为用户提供权威的分析结果。

支持风险的对比分析和趋势分析,既可以帮助用户进行多站点差异化风险管理,还可以助其更准确的了解和分析站点的历史风险状况和未来的风险趋势,提高风险管理的水平。

# 7.2.4 堡垒机

堡垒机是一款专门针对IT运维人员、运维行为进行管理和控制的安全产品。主要解决多人使用相同ECS账号登录ECS,难以定位责任人;ECS密码管理复杂,密码泄露严重;运维人员的操作不透明,越权导致数据泄漏;法律法规要求严格,安全运维管理风险突出等运维安全问题。堡垒机提供以下功能:

# 7.2.4.1 操作审计

记录运维人员的操作行为,作为追溯的保障和事故分析的依据。

运维操作记录

详细记录操作失误、恶意操作、越权操作。

Linux命令审计

可提取命令字符审计,命令定点回放。

Windows操作录像

远程桌面的操作,全程录像,包括:键盘操作、鼠标操作、窗口打开等。

文件传输审计

支持远程桌面文件传输、FTP/SFTP的原文件审计。

会话审计控制

支持管理员对任何活跃会话进行监管,一旦发现违规操作,可强制结束会话。

# 7.2.4.2 权限管控

进行账号管控和权限组管理,分职权进行人员和资产管理。

账号管控

确保人员运维账号唯一性,解决共享账号、临时账号、滥用权限等问题。

权组管理

按照人员、部门组织、资源组,建立人员职责与资源分配的授权管理。

# 7.2.4.3 安全认证

引入第三方认证和多因子认证机制,防止运维人员身份冒用和复用。

支持第三方认证

支持与第三方认证,如AD/LDAP、radius、ISO8583认证整合。

账号多因子认证

支持多因子认证机制,通过短信认证、动态令牌等技术,控制账号密码泄露风险。

# 7.2.4.4 高效运维

从架构、工具、ECS接入等多方面提升运维效率。

B/S架构运维接入

支持SSH、RDP、TELNET、VNC、FTP/SFTP协议。

支持各种运维工具

PuTTY、SecureCRT、Xshell、WinSCP、mstsc等。

ECS高效接入

一键同步并导入云主机ECS。

# 7.2.5 代码审计(白盒测评平台)

招商云代码审计通过自动化分析工具和人工审查的组合审计方式,对程序源代码逐条进行检查、分析,发现其中的错误信息、安全隐患和规范性缺陷问题,以及由这些问题引发的安全漏洞,提供代码修订措施和建议。

# 7.2.5.1 支持可审计的程序语言

可审计PHP、ASPX、Python、Java等程序,发现程序存在的安全漏洞。

# 7.2.5.2 提供漏洞报告

对审计中发现的漏洞问题进行分析,输出漏洞报告,并提供修复建议。

# 7.2.5.3 安全编码咨询

为成员企业系统开发人员提供安全编码规范、规则等内容的咨询,并提供相应的建议,在编码时就能及时规避一些安全风险。

# 7.2.5.4 代码审计流程

前期准备阶段:进行技术沟通,确认审计对象,获取开发相关文档,确认审计时间和方式。

代码审计阶段:自动化工具扫描,人工代码审计,汇总审计结果,形成审计报告,与客户沟通审计结果; 复查阶段:二次检查,提交复查报告。

# 7.2.6 虚拟流量采集

支持虚拟机、Underlay网络与Overlay网络的流量采集,并可支持无代理方式从宿主机上直接采集网络流量,设备支持不少于40G带宽,并通过流量实际检验网络安全策略的执行状态。

# 7.2.6.1 流量总览

整体显示全部公网流量的统计概况、IP统计信息。

# 7.2.6.2 虚拟流量采集

支持在OVS上直接采集虚拟机流量,不需通过交换机进行流量镜像。

# 7.2.6.3 回溯分析

检索历史数据,并展示出Flow数据在相邻两个维度的映射关系。每个维度坐标按照线性排列(如时间)或该维度的TOP排序,支持自定义维度展示顺序。

# 7.2.6.4 流量特征

将不同特征分析的结果进行规整,提取最有效的信息进行汇总和呈现,并表现出发展趋势。

# 7.2.6.5 实时分析

整体显示全部虚拟网络流量的统计概况、IP统计信息。

# 7.2.6.6 虚拟网络性能量化

分析虚拟网络中虚拟机间网络性能。

# 7.2.6.7 流量报表

流量报表页面列出历史已经生成的报表,提供报表的预览和下载功能。

# 7.2.7 深度包检测及流量分析

深度包检测技术是在传统IP数据包检测技术之上增加了对应用层数据的应用协议识别,数据包内容检测与深度解码。通过特征匹配技术,将数据包在封装过程中所添加的各层头部信息解析并提取,然后与已有规则库中特征信息进行匹配,从而进行流量的识别。

# 7.2.7.1 数据检索分析要求

能够方便的检索捕获的任意时间范围的网络通讯数据。

能够检索捕获的流量的趋势,包括总体流量的趋势,可区分网络的上行流量和下行流量;数据包趋势,可区分网络的上行数据包和下行数据包;TCP参数趋势,包括TCP同步数据包个数、TCP同步确认数据包个数、TCP同步重置数据包个数;利用率趋势,可区分网络的上行利用率和下行利用率。

能够检索指定时间范围的所有应用的通讯流量信息,包括接收发送流量,接收发送数据包等,用户可以根据自己的需求进行应用定义,定义条件包括IP地址、TCP/UDP端口、IP地址组和地址段、端口组或范围,以及多种条件的组合。

# 7.2.7.2 流量监测报警功能

能够对网络中的异常流量进行监控和报警。通过异常流量分析模块,可以发现异常的应用流量,如异常的HTTP会话,异常的SMTP会话,可以对异常流量进行报警并分析。

能够对网络中关键主机的流量进行监测和报警。自动发现肉鸡和木马控制者,并对其流量进行分析和报警。能够对木马主机的连接,心跳,传输文件等操作进行发现和分析警报条件:能设定>=条件、<条件,多种参数条件的与或关系时间警 报。触发时间间隔:1秒,5秒,60秒。

能够对网络中重点的应用流量进行监测和报警。能够对重点关注的应用进行监控和报警,如SMTP,POP3,HTTP,FTP,DNS等应用进行检测和报警,发现可疑的行为能够进行深入到数据包级的分析。

# 7.2.7.3 数据分析要求

能够对检索到的网络通讯数据包进行深入分析。

提供物理端点和IP端点以及IP会话分析视图。(需提供产品功能证明截图)

提供针对IP端点的入出流量,bps、pps、总流量、总数据包数分析。

# 7.2.7.4 木马分析要求

提供已知木马分析的分析视图,实时的对已知木马行为进行报警,并能够进行数据包级的回溯分析。

可以通过定义DNS黑名单,异常的SMTP,HTTP流量等参数自动发现网络可疑木马行为,对未知木马进行分析和提取特征。 支持自定义添加木马特征,包括16进制和ASCII码的特征,并能用偏移量,使用tcp/udp端口,网络协议,TCP标准位, 数据包大小等参数对特征进行严格匹配,减少误报。

# 7.2.7.5 具备回查历史原始数据包能力

新获得的攻击者使用的域名、IP、特征流等特征,可以在系统回查历史数据,发现历史数据中是否存在符合特征的攻击行为;

能够根据设定的网络可疑行为特征,回查历史数据,发现符合可疑行为定义的网络行为。

支持IP反查DNS的功能。对一个IP地址,通过反查功能了解该IP是由什么域名解析得来。

# 7.2.8 安全管理平台

安全管理平台集成网盾、入侵防御系统、Web应用防火墙、上网行为管理、反病毒等产品,对云上资产暴露面和暴露风险进行实时采集、监控、预警和拦截,对安全事件的分析和响应具有重要参考意义,是用户统一查看安全风险的入口,为招商云上用户提供了多处事件来源的便捷分析通道,完善的安全防御体系使用户更加专注于业务的发展而无网络安全方面的忧虑。

安全管理平台具有以下功能:

安全告警集中化

对云上业务的网络安全(DDOS攻击、IPS-入侵防御)、主机安全(主机入侵、病毒及木马的查杀)、应用安全(WEB攻击)进行全方位的监控,集成多方面的数据(攻击、漏洞、网络流量、拦截、主机日志、应用访问记录等)进行安全分析,挖掘潜在威胁,提前规避风险。

安全事件关联调查

安全事件的检索分析,对历史事件回溯关联,帮用户发现事件的成因,过程,目的,对黑客行为进行全链路取证。

安全可视化操作

安全大屏进行安全可视化展示,汇总了所有安全相关的告警设置,让企业安全状况尽收眼底。

实时日志检索

支持逻辑检索,支持多维度的数据逻辑组合,日志类型:HTTP流量,网络session连接,病毒及木马的查杀,应用攻击防护日志。

# 7.2.9 安全专家服务

安全专家服务由招商金科专业的安全专家团队提供,包括安全咨询、渗透测试、应急响应等服务,帮助用户在业务系统运营过程中,获得各种安全解决方案、发现潜在安全威胁、提高用户的安全防护水平,满足全面的安全保障及监管合规要求。

# 7.2.9.1 安全咨询服务

安全咨询依据国家政策和国家信息安全标准,基于客户信息安全需求,提供企业信息安全规划与管理方面的安全咨询。招商云协助企业识别信息资产及业务流程的信息安全弱点,并针对信息安全威胁提供信息安全风险处理规划建议。安全咨询包括合规类咨询服务、安全管理咨询服务、安全体系咨询服务与行业安全解决方案咨询服务。

# 7.2.9.2 渗透测试服务

在用户授权前提下,对用户提供的业务系统、服务主机等的操作系统及服务漏洞、应用系统漏洞、安全配置缺陷、功能逻辑缺陷等方面进行全面测试。通过模拟正常用户的使用,提前发现系统漏洞,并指导用户进行处置,有效避免业务系统遭受安全漏洞攻击。服务内容:

Web应用渗透测试

移动APP渗透测试

微信平台渗透测试

漏洞解决咨询。

# 7.2.9.3 等保合规服务

招商云等保合规服务联合各地等保测评中心,为用户提供本地化、系统化、专业的等保测评服务;另外,招商云完备的安全合作生态,为成员企业提供一站式安全产品及服务,帮助用户测评整改,提升安全防护能力,快速满足国家实行的网络安全等级保护制度。

# 7.2.9.4 安全应急响应服务

快速响应、及时处置,将黑客攻击的影响降到最低。

分析黑客入侵手法与入侵后行为,评估入侵损失。

提供安全加固与安全防范指导,防止重复发生安全事件。

# 8.安全基线

# 8.1 主机安全基线

# 8.1.1 Windows主机安全基线(适用于Win 2012以上版本)

# 8.1.1.1 身份鉴别
安全配置基线要求 参考配置
根据用户的不同类型、管理要求,设定不同的帐户和帐户组,比如:系统管理员用户,数据库用户,审计用户和维护用户等 进入“控制面板->管理工具->计算机管理”,在“系统工具->本地用户和组->用户”:
根据系统的要求,设定不同的帐户和帐户组,管理员用户,数据库用户,审计用户和维护用户等
针对于采用静态口令认证技术的操作系统,应配置当用户连续认证失败次数超过5次(含5次)则锁定该用户帐户的使用时间 进入“控制面板->管理工具->本地安全策略”,在“帐户策略->帐户锁定策略”:
“帐户锁定阀值”设置为5次;
“帐户锁定时间”设置为10分钟
操作系统管理帐户密码长度应设置为12字符或以上,必须符合复杂性的要求,即密码至少包含以下四种类别的字符中的三种:
(1)英语大写字母 A, B, C, … Z ;
(2)英语小写字母 a, b, c, … z ;
(3)西方阿拉伯数字 0, 1, 2, … 9 ;
(4)非字母数字字符,如标点符号,@, #, $, %, &, *等
进入“控制面板->管理工具->本地安全策略”,在“帐户策略->密码策略”:
“密码必须符合复杂性要求”设置为“已启动”;
“密码长度最小值”设置为“12”
针对采用静态口令认证技术的主机操作系统,设置密码有效期为90天 进入“控制面板->管理工具->本地安全策略”,在“帐户策略->密码策略”:
“密码最长使用期限”设置为“90天”;
针对采用静态口令认证技术的主机操作系统,设置最短密码期限1天 进入“控制面板->管理工具->本地安全策略”,在“帐户策略->密码策略”:
“密码最短密码期限”设置为“1天”;
针对采用静态口令认证技术的主机操作系统,应配置用户帐户的密码不能重复使用最近8次(含8次)内已使用的口令 进入“控制面板->管理工具->本地安全策略”,在“帐户策略->密码策略”:
“强制密码历史”设置为“记住8个密码”
启用远程终端服务器SSL加密功能 gpedit.msc>计算机配置>管理模板>Windows 组件>远程桌面服务>远程桌面会话主机>安全>远程(RDP)连接要求使用指定的安全层设置为 SSL或者TLS
# 8.1.1.2 访问控制
安全配置基线要求 参考配置
设置具备远程强制关闭系统权限的用户组为Administrators组 进入“控制面板->管理工具->本地安全策略”,在“本地策略->用户权利指派”
“从远程系统强制关机”设置为“Administrators组”
在本地安全设置中关闭系统仅指派给Administrators组 进入“控制面板->管理工具->本地安全策略”,在“本地策略->用户权利指派”
“关闭系统”设置为“只指派给Administrators组”
在本地安全设置中取得文件或其它对象的所有权仅指派给Administrators 进入“控制面板->管理工具->本地安全策略”,在“本地策略->用户权利指派”
“取得文件或其它对象的所有权”设置为“只指派给Administrators组”
应对操作系统默认管理员帐号名称Administrator进行修改或禁用,创建新的管理员账号,防止帐户被枚举猜测 进入“控制面板->管理工具->计算机管理”,在“系统工具->本地用户和组->用户”:
Administrator->属性->重命名
应禁用操作系统来宾帐户,比如Guest等 进入“控制面板->管理工具->计算机管理”,在“系统工具->本地用户和组->用户”:
来宾帐户(比如Guest等)->属性->已停用
# 8.1.1.3 安全审计
安全配置基线要求 参考配置
设备应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的帐号,登录是否成功,登录时间,以及远程登录时,用户使用的IP地址 进入“控制面板->管理工具->本地安全策略->审核策略”
“审核登录事件”设置为“成功”和“失败”都审核
启用组策略中对Windows系统的审核策略更改,成功和失败都要审核 进入“控制面板->管理工具->本地安全策略”,在“本地策略->审核策略”中:
“审核策略更改”设置为“成功”和“失败”都要审核
启用组策略中对Windows系统的审核对象访问,成功和失败都要审核 进入“控制面板->管理工具->本地安全策略”,在“本地策略->审核策略”中:
“审核对象访问”设置为“成功”和“失败”都要审核
启用组策略中对Windows系统的审核目录服务访问,失败需要审核 进入“控制面板->管理工具->本地安全策略”,在“本地策略->审核策略”中:
“审核目录服务器访问”设置为“成功”和“失败”都要审核
启用组策略中对Windows系统的审核特权使用,成功和失败都要审核 进入“控制面板->管理工具->本地安全策略”,在“本地策略->审核策略”中:
“审核特权使用”设置为“成功”和“失败”都要审核
启用组策略中对Windows系统的审核系统事件,成功和失败都要审核 进入“控制面板->管理工具->本地安全策略”,在“本地策略->审核策略”中:
“审核系统事件”设置为“成功”和“失败”都要审核
启用组策略中对Windows系统的审核帐户管理,成功和失败都要审核 进入“控制面板->管理工具->本地安全策略”,在“本地策略->审核策略”中:
“审核帐户管理”设置为“成功”和“失败”都要审核
启用组策略中对Windows系统的审核过程追踪,成功和失败都要审核 进入“控制面板->管理工具->本地安全策略”,在“本地策略->审核策略”中:
“审核过程追踪”设置为“失败”需要审核
设置主机操作系统日志文件(包括应用程序日志、安全日志和系统日志等)大小至少为100M,设置当达到最大的日志尺寸时,按需要改写事件日志保存时间至少6月以上 1. 进入“控制面板->管理工具->事件查看器”,在“事件查看器(本地)”,“应用程序”、“安全性”和“系统”等选项的属性中的日志大小设置为“100M”以上,设置当达到最大的日志尺寸时,勾选“按需要改写事件”设置
2. 查询日志记录,查看日志创建时间、访问时间等,查看是否有6个月之前的记录
# 8.1.1.4入侵防范
安全配置基线要求 参考配置
列出所需要服务的列表(包括所需的系统服务),关闭不需要的系统服务;
最小化服务:只开启足够完成工作或任务所需要的服务 进入“控制面板->管理工具->计算机管理”,进入“服务和应用程序”
查看所有服务,应该关闭如下服务:
1)Alerter
2)Messenger
3)Task Scheduler
4)PrintSpooler
5)Remote Registry
6)Remote Desktop Help Session Manager
默认情况下,系统显示上次成功登录用户名;应设置成“不显示上次的用户名” 开始->运行->gpedit.msc->计算机配置->Windows设置->安全设置->本地策略->安全选项,启用“不显示上次的用户名”
关机:清除虚拟内存页面文件,应设置成“启用” 开始->运行->secpol.msc->本地策略->安全选项,启用“关机:清除虚拟内存页面文件”;
开始->运行->secpol.msc->本地策略->安全选项,禁用“用可还原的加密来存储密码”
应安装Windows操作系统最新的Service Pack补丁集;对服务器系统进行SP部署时应先进行兼容性测试,确保业务运行的安全稳定 安装最新的Service Pack补丁集
应安装最新的Hotfix补丁,安装前对服务器系统应先进行兼容性测试 安装最新的Hotfix补丁,安装前对服务器系统应先进行兼容性测试
如需启用SNMP服务,应修改默认的SNMP Community String设置参数 打开“控制面板-> 管理工具->服务”,找到“SNMP Service”,单击右键打开“属性”面板中的“安全”选项卡,在这个配置界面中,可以修改community strings参数
默认情况下,Windows系统允许匿名用户枚举主机帐号列表,获得一些敏感信息,应限制系统被匿名枚举 “开始->运行->gpedit.msc->计算机配置->Windows设置->本地策略->安全选项”,启用“网络访问:不允许SAM帐户和共享的匿名枚举”
对于远程登陆的帐号,设置不活动断连时间15分钟 进入“控制面板->管理工具->本地安全策略”,在“本地策略->安全选项”:
“Microsoft网络服务器”设置为“在挂起会话之前所需的空闲时间”为15分钟
主机系统应安装防病毒软件,并及时更新病毒库,保持更新时间在一周以内 主机系统应安装防病毒软件,并及时更新病毒库,保持更新时间在一周以内
定期通过单位认可漏洞扫描工具检测主机系统存在的安全漏洞状况,确保主机系统无高、中危风险漏洞 使用单位认可的漏洞扫描工具检测主机系统存在的安全漏洞分布、状况和程度,确保主机系统无高、中危风险漏洞
定期查看防病毒软件系统上的病毒查杀记录或使用其他恶意代码检测工具监测主机系统是否感染恶意代码 定期查看防病毒软件系统上的病毒查杀记录或使用其他恶意代码检测工具监测主机系统无感染恶意代码
定期监测主机系统开放的网络服务端口列表,与基准的清单比较,不在此清单范围的网络服务高危端口(例如:TCP 137、139、445、593、1025、2745、3127、6129、3389 端口和 UDP 135、139、445 端口)需重点关注或关闭 在“开始-运行-输入cmd”,输入netstat –an命令(注意-前有个小空格),在IP地址“:”后面就是系统开放的端口号
克隆用户拥有与管理员一样的权限,但却不会出现在用户管理面板中,隐蔽性很强,对系统安全存在很大威胁,及时删除 进入“开始->运行->regedit,进入注册表HKLM\SAM\SAM\Domains\accoutn\user\names\,删除存在其他键值为0x1f4用户和更改SAM文件权限注:SAM文件属性权限更改为Administrator用户,完全控制和读取权限,关闭重新打开后才可以查找\Domains\accoutn\user\names
能够记录入侵的源IP、攻击的类型、攻击的目的、攻击的时间,并在发生严重入侵事件时提供报警 经常查看系统日志并对其进行分析或已安装的主机入侵检查系统启用报警功能
# 8.1.1.5 系统资源控制
安全配置基线要求 参考配置
应通过软件工具实时或人工定期监测主机系统CPU、内存、磁盘和网络的使用率水平,确保硬件设施运行状态在安全可靠的范围内 1)CUP使用率(持续监测5分钟,使用率应在80%以下):进入“Windows任务管理器”->“性能”选项->“CPU使用”;
2)内存使用率监测(持续监测5分钟,使用率应在80%以下):进入“Windows任务管理器”->“性能”选项->“内存使用”;
3)磁盘使用率监测(各磁盘使用率应在80%以下):进入“控制面板->管理工具->计算机管理”,在“系统工具->磁盘管理->“%空闲”;
4)网络使用率监测(持续监测5分钟,使用率应在80%以下):进入“Windows任务管理器”->“联网”选项->“本地连接
定期监测主机系统启动时自动加载的系统服务列表,与基准的清单比较,不在此清单范围的系统服务需重点关注或关闭 进入“控制面板->管理工具->服务”,单击“状态”选项卡,选择“已启动”,确认和对比系统已启动的服务基准清单
设置带密码的屏幕保护,并将时间设定为5分钟 进入“控制面板->显示->屏幕保护程序”:
启用屏幕保护程序,设置等待时间为“5分钟”,启用“在恢复时使用密码保护”
非域环境中,关闭Windows硬盘默认共享,例如C$,D$ 进入“开始->运行->Regedit”,进入注册表编辑器,更改注册表键值:在HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\下,增加REG_DWORD类型的AutoShareServer 键,值为 0
查看每个共享文件夹的共享权限,只允许授权的帐户拥有权限共享此文件夹 进入“控制面板->管理工具->计算机管理”,进入“系统工具->共享文件夹”:
查看每个共享文件夹的共享权限,只将权限授权于指定帐户
不允许未登录系统执行关机命令 开始->运行->gpedit.msc->计算机配置->Windows设置->安全设置->本地策略->安全选项,禁用“允许未登录关机”
关闭Windows自动播放功能 点击开始→运行→输入gpedit.msc,打开组策略编辑器,浏览到计算机配置→管理模板→系统,在右边窗格中双击“关闭自动播放”,对话框中选择所有驱动器,确定即可
要求配置时间同步源,终端定期执行时间同步操作(必要时) 进入“控制面板->日期和时间->Internet时间”,更改设置中服务器地址进行统一设置

# 8.1.2 Linux主机安全基线(适用于Centos 6/Centos 7, Redhat 6/Redhat 7, Ubuntu 16以上版本)

# 8.1.2.1 身份鉴别
安全配置基线要求 参考配置
删除不需要的帐号 可通过userdel [name]命令删除相应的用户,其中[name]为具体的用户名,建议删除不需要的帐号
检查系统passwd文件,确保系统中每个可登录用户的密码被shadow机制加密 1、执行awk -F: '{if($2 !="x" && $2 != "*") print $1}'/etc/passwd查看用户名有没有被shadow加密过
2、如果输出的用户只是个别的,可能是/etc/passwd文件被人恶意修改,建议删除并重建此帐号,如需要则执行以下操作
#userdel [name]
#useradd -g[grp] [name]
#passwd [name]其中[name]是要删除和添加的具体用户名,[grp]是指定这个用户是属于哪个组如果输出了全部的用户,可能是本系统版本过低,不支持shadow机制或被人恶意修改,请及时于管理员确认
帐号密码策略设置(包括密码长度限制、最大有效天数、最小有效天数、过期提前警告天数等) 登录密码有效期90天
登录密码最短修改时间,可以防止非法用户短期更改多次
登录密码最小长度12位
登录密码过期提前7天提示修改
登录错误时等待时间10秒
登录错误记录到日志
帐户锁定策略 当用户连续认证失败次数超过5次后,锁定该用户使用的帐号功能:在/etc/pam.d/system-auth配置中添加retry设置
设置超时900秒
禁止使用ftp的系统帐号 查看cat /etc/ftpusers或cat /etc/ftpd/ftpusers
以下帐户不允许ftp登录:root,daemon,bin,sys,adm,lp,uucp,nuucp,listen,nobody,noaccess,nobody4
启用远程终端服务器SSL加密功能 #yum install ssh
#service sshd start
#service sshd restart
远程管理使用ssh方式管理
# 8.1.2.2 访问控制
安全配置基线要求 参考配置
重要目录和文件的权限设置 执行以下命令检查目录和文件的权限设置情况:
/etc/passwd 644
/etc/shadow 000
/etc/rc3.d 744
/etc/profile 744
/etc/inet.conf 744
/etc/xinet.conf 744
命令执行:
chmod 644 /etc/passwd 修改文件权限
不允许任何人都有写权限的目录,除了/tmp及其下级目录外 查找任何人都有写权限的目录用下面的命令:
for A in awk '($3 == "ext2" || $3 == "ext3") { print $2 }' /etc/fstab ;
do find $A -xdev -type d ( -perm -0002 -a ! -perm -1000 ) -print Done
帐号与口令-检查是否存在除rhroot、root之外UID为0的用户 执行:awk -F:'{if($3==0) print $1}'/etc/passwd如果输出包含除root之外的其他用户名,则编辑/etc/passwd文件,找到对应的用户名开头的行进行修改UID值
# 8.1.2.3 安全审计
安全配置基线要求 参考配置
对ssh、su登录日志进行记录 如果检查未通过,编辑文件:# vi etc/syslog.conf在空白处加入:
# The authpriv file hasrestricted access authpriv.*/var/log/secure
保证bash shell保存少量的(或不保存)命令,保存较少的命令条数,减少安全隐患 编辑vi /etc/profile,查看变量HISTSIZE的值,如果已经设置,则把值改为300或300以下如果没有设置在空白行输入:HISTSIZE=300
注意换行,每项设置应该独占一行退出后自动清除记录命令
# 8.1.2.4 入侵防范
安全配置基线要求 参考配置
禁止root用户直接登录系统 禁止root用户直接登录
vi /etc/ssh/sshd_config
#PermitRootLogin yes
将“#”删除,再将行末的yes改为no
超时自动注销登录 编辑profile文件(vi /etc/profile),在“HISTSIZE=”后面加入下面这行: TMOUT=900,表示900秒,也就是表示15分钟;改变这项设置后,必须先注销用户,再用该用户登录才能生效
远程连接的安全性配置 查看是否存在如下两个文件:
执行:find / -name .netrc,检查系统中是否有.netrc文件,
执行:find / -name .rhosts ,检查系统中是否有.rhosts文件
避免任何人可以su为root,减少安全隐患 编辑su文件(vi /etc/pam.d/su),在开头添加下面两行:
auth sufficient/lib/security/pam_rootok.so
auth required/lib/security/pam_wheel.sogroup=wheel
这表明只有wheel组的成员可以使用su命令成为root用户你可以把用户添加到wheel组,以使它可以使用su命令成为root用户添加方法为:# chmod –G10
减少系统提示信息,降低安全隐患 执行命令 #vi /etc/rc.d/rc.local在打开的文件的末尾加入(注意,一定要在末尾加入)
echo > /etc/issue
echo> /etc/issue.net
#rm -f/etc/issue.net /etc/issue
删除不同主机间信任关系(hosts.equiv文件) /etc/hosts.equiv文件是为了便于远程主机在本地计算机上执行远程命令而设计的,如果文件存在并且其内容被设置,则其它计算机和用户可以不用提供口令就在本地计算机上执行远程命令,这个能带来安全隐患为了主机的安全性,需要删除/etc/hosts.equiv
# 8.1.2.5 系统资源控制
安全配置基线要求 参考配置
应通过软件工具实时或人工定期监测主机系统CPU、内存、磁盘和网络的使用率水平,确保硬件设施运行状态在安全可靠的范围内 1)CPU使用率(持续监测5分钟,使用率应在80%以下):输入cat /proc/cpuinfo;
2)内存使用率监测(持续监测5分钟,使用率应在80%以下):输入free或cat /proc/meminfo;
3)磁盘使用率监测(各磁盘使用率应在80%以下):输入df -Th;
4)网络使用率监测(持续监测5分钟,使用率应在80%以下):安装nmon或ntop工具可实时监测
应安装最新的系统安全补丁,确保主机系统的安全性,安装前对服务器系统应先进行兼容性测试 安装最新的更新,安装前对服务器系统应先进行兼容性测试
主机系统服务最小化安装 建议在确认不需要的情况下只开放如下系统服务:
atd
crond
irqbalance
microcode_ctl
network
sshd
syslog
查看ntsysv或chkconfig --list | grep on | awk '{print $1}'
定期通过单位认可的漏洞扫描工具检测主机系统存在的安全漏洞状况,确保主机系统无高、中危风险漏洞 使用单位认可漏洞扫描工具检测主机系统存在的安全漏洞分布、状况和程度,确保主机系统无高、中危风险漏洞

# 8.2 应用安全基线

# 8.2.1 Web应用系统安全基线

# 8.2.1.1 身份认证与访问控制
安全配置基线要求 参考配置
配置帐号锁定策略 应用系统具备登录失败自动锁定帐号的功能。
使用验证码 同时满足:
1. 应用系统提供用户登录需图片验证码的功能,且要求验证码有良好的混淆程度和随机性,确保不易被自动化程序识别。
2. 开放互联网的应用系统登陆,需短信验证码的功能。
3. 验证码由服务端生成和校验,禁止在客户端校验。
4. 短信验证码要对发送短信的频率进行管控,多次发送短信后要求进行图片验证码校验才可继续发送短信。
禁止提供保存登录功能 应用系统禁止提供“保存登录”的功能。
登陆注册密码找回页面安全访问 同时满足:
1. 不显示明文密码
2. 对登陆的IP频率进行限制
3. 对用户输入的密码信息进行混淆处理
4. 引导用户设置强密码,使用技术手段对弱密码进行检测和警示。
5. 无论登陆失败原因是什么,均归一化进行登陆失败的提示。
敏感资源的访问 应用系统因对敏感页面、信息,限定访问权限、访问ip地址。
SSL证书部署 同时满足:
1. 应用系统部署SSL证书。
2. 禁止使用TLS1.0、TLS1.1等SSL协议
跨域配置 Access-Control-Allow-Origin: *中禁止使用星号,需要改为具体的域名
用户敏感行为可追溯 记录用户使用敏感功能行为,包括不限于上传、下载、删除、查看敏感信息,保持时间不低于6个月。
# 8.2.1.2 会话管理
安全配置基线要求 参考配置
配置会话超时终止 用户超过30分钟不操作时,系统自动终止超时会话
配置会话强制终止 系统需提供“退出”功能,允许用户强制终止当前的会话。且退出登录或客户端程序、浏览器页面关闭后,应立即终止会话
配置随机会话标识 应用系统所提供的会话标识应具有随机、唯一性
# 8.2.1.3 应用代码质量
安全配置基线要求 参考配置
防范跨站脚本攻击 应用系统严格控制用户输入内容,如严格过滤部分特殊英文以及字符,确保无跨站脚本攻击漏洞
防范SQL注入 可通过配置以下选项之一进行防范:
1. 严格过滤输入内容,对特殊字符以及SQL敏感函数进行过滤。
2. 使用预编译处理传入的SQL请求参数
3. 使用ORM框架模型
防范路径遍历 防止用户输入文件路径,对目录权限做严格管控
防范命令注入 Web应用系统严格控制用户输入,可以通过正则表达式,或限制长度;对单引号和双引号进行转换等。
防范下载漏洞 Web应用系统具有严格限制用户下载敏感资源文件控制。
防范上传漏洞 对用户上传文件名做随机化处理,同时控制文件类型
安全的HTTP请求方式 不使用PUT、DELETE、PATCH等危险的HTTP请求方式
保证资源释放 系统需保证在正常与异常流程时都能正确释放不需要的资源,例如数据库连接在查询完毕需要关闭连接等。
# 8.2.1.4 内容管理
安全配置基线要求 参考配置
加密处理敏感信息 同时满足:
1. 加密存储敏感信息,如密码、信用卡号等。应当采用国家密码局认定的国产密码算法或商业秘密算,且符合算法的应用场景。
2. 加密传输敏感信息,要先加密,再通过https等安全传输协议进行传输。
避免泄露敏感技术细节 要求当页面发生异常时,页面中不得包含以下任何信息:
1. 错误提示以及技术性注释
2. 服务器、中间件、CMS版本
3. 源代码等信息
4. Debug报错调试信息
5. web目录下所有测试所用的页面、脚本、文件、备份文件
避免直接显示用户敏感信息 避免直接显示敏感信息,例如身份证号、手机号、家庭住址等,可以用星号掩盖敏感信息中部分内容。
加密处理敏感信息 同时满足:
1. 加密存储敏感信息,如密码、信用卡号等。应当采用国家密码局认定的国产密码算法或商业秘密算,且符合算法的应用场景。
2. 加密传输敏感信息,要先加密,再通过https等安全传输协议进行传输。

# 8.3 数据库安全基线

# 8.3.1O racle安全基线(适用大版本范围:10G以上版本)

# 8.3.1.1 身份鉴别
安全配置基线要求 参考配置
确保所有客户端,用户和服务器在访问Oracle数据库之前都需要进行身份验证 确保所有客户端,用户和服务器在访问Oracle数据库之前都需要进行身份验证
# 8.3.1.2 访问控制-用户访问控制
安全配置基线要求 参考配置
限制具备数据库超级管理员(SYSDBA)权限的用户远程登录 1.在spfile中设置REMOTE_LOGIN_PASSWORDFILE=NONE来禁止SYSDBA用户从远程登陆。
2.show parameter REMOTE_LOGIN_PASSWORDFILE
3.在sqlnet.ora中设置SQLNET.AUTHENTICATION_SERVICES=NONE来禁用 SYSDBA 角色的自动登录。(删除)
# 8.3.1.3账户及权限管理
# 8.3.1.3.1 密码策略
安全配置基线要求 参考配置
必须配置用户密码,密码应该符合我司账号口令管理要求 为用户建profile,调整PASSWORD_VERIFY_FUNCTION,指定密码复杂度
CREATE PROFILE "TEST_PROFILE" LIMIT
PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION;
ALTER USER "USER_NAME"  PROFILE "TEST_PROFILE";
# 8.3.1.3.2 账号管理
安全配置基线要求 参考配置
对用户的属性进行控制,包括密码策略、资源限制等 可通过下面类似命令来创建profile,并把它赋予一个用户
CREATE PROFILE app_user2 LIMIT
FAILED_LOGIN_ATTEMPTS 6
PASSWORD_LIFE_TIME 60
PASSWORD_REUSE_TIME 60
PASSWORD_REUSE_MAX 5
PASSWORD_VERIFY_FUNCTION verify_function
PASSWORD_LOCK_TIME 1/24
PASSWORD_GRACE_TIME 90;
ALTER USER jd PROFILE app_user2;
应按照用户分配账号,避免不同用户间共享账号 create user abc1 identified by password1;
create user abc2 identified by password2;
建立role,并给role授权,把role赋给不同的用户
abc1和abc2是两个不同的账号名称,可根据不同用户,取不同的名称;
# 8.3.1.3.3 权限管理
安全配置基线要求 参考配置
在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限 grant 权限 to username;
revoke 权限 from username;
用第一条命令给用户赋相应的最小权限
用第二条命令收回用户多余的权限
使用数据库角色(ROLE)来管理对象的权限 1. 使用Create Role命令创建角色。
2. 使用用Grant命令将相应的系统、对象或Role的权限赋予应用用户
umask用户配置设置为027 $ echo "umask 027" >> .bash_profile
$ source .bash_profile
# 8.3.1.4 安全审计
# 8.3.1.4.1 日志记录
安全配置基线要求 参考配置
根据业务要求制定数据库审计策略 通过设置参数audit_trail = db或os来打开数据库审计。然后可使用Audit命令对相应的对象进行审计设置
数据库应配置日志功能,记录对与数据库相关的安全事件(包括对用户登录进行记录,记录内容包括用户登录使用的账号、登录是否成功、登录时间以及远程登录时用户使用的IP地址,日志保存时长不少于180天 创建ORACLE登录触发器,记录相关信息,但对IP地址的记录会有困难
1.建表LOGON_TABLE
2.建触发器
CREATE TRIGGER TRI_LOGON
AFTER LOGON ON DATABASE
BEGIN
INSERT INTO LOGON_TABLE VALUES (SYS_CONTEXT('USERENV', 'SESSION_USER'),
SYSDATE);
END;
# 8.3.1.5 系统安全
# 8.3.1.5.1 补丁安装
安全配置基线要求 参考配置
安装最新的安全补丁(注:在保证业务及网络安全的前提下,经过兼容性测试后安装最新补丁) 安装最新的安全补丁(注:在保证业务及网络安全的前提下,经过兼容性测试后安装最新补丁)
# 8.3.1.5.2默认端口修改
安全配置基线要求 参考配置
修改默认端口1521为随机非知名端口 修改默认端口1521为随机非知名端口
# 8.3.1.6 资源管理
# 8.3.1.6.1 数据存储路径配置
安全配置基线要求 参考配置
在配置文件里自定义数据存储路径 SQL> alter tablespace users rename datafile
'/u01/oracle/oradata/yoon/users01.dbf' to
'/u01/oracle/oradata/yoondata/users01.dbf';
Tablespace altered.
连接数控制 alter system set processes = 300 scope = spfile; --修改最大连接数:

# 8.3.2 Mssql安全基线(适用大版本范围:SQLServer 2012以上版本)

# 8.3.2.1 身份鉴别
安全配置基线要求 参考配置
确保所有客户端,用户和服务器在访问Mssql数据库之前都需要进行身份验证 确保所有客户端,用户和服务器在访问Mssql数据库之前都需要进行身份验证
# 8.3.2.2账户及权限管理
# 8.3.2.2.1 账号管理
安全配置基线要求 参考配置
应按照用户分配账号,避免不同用户间共享账号 应按照用户分配账号,避免不同用户间共享账号
应删除或锁定与数据库运行、维护等工作无关的账号 应删除或锁定与数据库运行、维护等工作无关的账号
# 8.3.2.2.2 密码策略
安全配置基线要求 参考配置
必须配置用户密码,密码应该符合我司账号口令管理要求 要求按照我司密码管理规范配置密码长度、复杂度、有效期等
# 8.3.2.3 访问控制
# 8.3.2.3.1 用户访问控制
安全配置基线要求 参考配置
确保已正确启用和配置基于角色的访问控制 确保已正确启用和配置基于角色的访问控制
# 8.3.2.4 安全审计
# 8.3.2.4.1 日志记录
安全配置基线要求 参考配置
开启相关日志审计功能,备份保存日志应不少于180天 打开数据库“属性”,选择“安全性”,将安全性中的审计级别调整为“全部”,身份验证调整为“SQL Server 和Windows”
# 8.3.2.5系统安全
# 8.3.2.5.1补丁安装
安全配置基线要求 参考配置
安装最新的安全补丁(注:在保证业务及网络安全的前提下,经过兼容性测试后) 下载并安装最新 sql 安全补丁。安全警报和补丁下载网址是:
https://portal.msrc.microsoft.com/zh-cn/security-guidance
# 8.3.2.5.2默认端口修改
安全配置基线要求 参考配置
根据实际情况和业务需求,修改默认端口为随机非知名端口 打开“SQL配置管理器”找到“SQL网络配置”-“XX实例的协议”,在右边选择“TCP/IP”属性,选“IP地址”在对应的IP地址上配置修改默认端口1433为随机非知名端口
# 8.3.2.5.3安全配置
安全配置基线要求 参考配置
开启“强制密码策略” 开启“强制密码策略”
应该删除危险的扩展存储过程 去掉xp_cmdshell扩展存储过程,使用:
use master
sp_dropextendedproc 'xp_cmdshell'
对于下列扩展存储过程,应与应用开发人员沟通后删除。
Sp_OACreate
Sp_OADestroy
Sp_OAGetErrorInfo
Sp_OAGetProperty
Sp_OAMethod
Sp_OASetProperty
Sp_OAStop
Xp_regaddmultistring
Xp_regdeletekey
Xp_regdeletevalue
Xp_regenumvalues
Xp_regremovemultistring
xp_sdidebug
xp_availablemedia
xp_cmdshell
xp_deletemail
xp_dirtree
xp_dropwebtask
xp_dsninfo
xp_enumdsn
xp_enumerrorlogs
xp_enumgroups
xp_enumqueuedtasks
xp_eventlog
xp_findnextmsg
xp_fixeddrives
xp_getfiledetails
xp_getnetname
xp_grantlogin
xp_logevent
xp_loginconfig
xp_logininfo
xp_makewebtask
xp_msver xp_perfend
xp_perfmonitor
xp_perfsample
xp_perfstart
xp_readerrorlog
xp_readmail
xp_revokelogin
xp_runwebtask
xp_schedulersignal
xp_sendmail
xp_servicecontrol
xp_snmp_getstate
xp_snmp_raisetrap
xp_sprintf
xp_sqlinventory
xp_sqlregister
xp_sqltrace
xp_sscanf
xp_startmail
xp_stopmail
xp_subdirs
xp_unc_to_drive
xp_dirtree

# 8.3.3 Mysql安全基线(适用的大版本范围:5.6以上版本)

# 8.3.3.1 身份鉴别
安全配置基线要求 参考配置
确保所有客户端,用户和服务器在访问MySQL数据库之前都需要进行身份验证 确保所有客户端,用户和服务器在访问MySQL数据库之前都需要进行身份验证
检查Mysql服务是否允许匿名登陆 登陆Mysql数据库,执行以下命令删除匿名帐户:
delete from user where user='';flush privileges;
# 8.3.3.2 用户及权限管理
# 8.3.3.2.1 权限控制
安全配置基线要求 参考配置
在数据库权限配置能力内,根据用户的业务需要,配置其所需的最小权限 合理设置用户权限,撤销危险授权。
以普通帐户安全运行 mysqld,禁止mysql以管理员帐号权限运行 Linux下可以通过在/etc/my.cnf 中设置:
[mysql.server]
user=mysql
# 8.3.3.2.2账号管理
安全配置基线要求 参考配置
应按根据用户的不同类型、管理要求,设定不同的用户,避免不同用户间共享帐号 //创建用户
mysql> insert into
mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_sub
ject) values("localhost","pppadmin",password("passwd"),'','','');
这样就创建了一个名为:phplamp 密码为:C1m2F3t@4 的用户。
然后登录一下。
mysql>exit;
@>mysql -u phplamp -p
@>输入密码
mysql>登录成功
应删除或锁定与数据库运行、维护等工作无关的帐号 DROP USER 语句用于删除一个或多个MySQL 帐户。要使用DROP USER,必须拥有mysql 数据库的全局CREATE USER 权限或DELETE 权限。帐户名称的用户和主机部分与用户表记录的User 和Host 列值相对应。
使用DROP USER,您可以取消一个帐户和其权限,操作如下:
DROP USER user;该语句可以删除来自所有授权表的帐户权限记录。
# 8.3.3.2.3密码策略
安全配置基线要求 参考配置
必须配置用户密码,密码应该符合我司账号口令管理要求 必须配置用户密码,密码应该符合我司账号口令管理要求
# 8.3.3.3 安全审计
# 8.3.3.3.1 日志记录
安全配置基线要求 参考配置
数据库应配置日志功能,对用户登录进行记录,记录内容包括用户登录使用的帐号、登录是否成功、登录时间以及远程登录时用户使用的IP地址 mysql 有以下几种日志:
错误日志: -log-err
查询日志: -log (可选)
慢查询日志: -log-slow-queries (可选)
更新日志: -log-update
二进制日志: -log-bin
在 mysql 的安装目录下,打开my.ini,在后面加上上面的参数,保存后重启mysql 服务就行了。
例如:
#Enter a name for the binary log. Otherwise a default name will be used.
#log-bin=
#Enter a name for the query log file. Otherwise a default name will be used.
#log=
#Enter a name for the error log file. Otherwise a default name will be used.
log-error=
#Enter a name for the update log file. Otherwise a default name will be used.
#log-update=
上面只开启了错误日志,要开其他的日志就把前面的“#”去掉
1、补充操作说明
show variables like 'log_%';查看所有的log 命令
2、show variables like 'log_bin';查看具体的log 命令
启用错误日志可以提高检测针对mysql和其他关键消息的恶意尝试的能力,例如,如果错误日志未启用,则连接错误可能会被忽略 编辑Mysql配置文件/etc/my.cnf,在[mysqld_safe] 段落中配置log-error参数,<log_path>代表存放日志文件路径,如:/var/log/mysqld.log,并重启mysql服务:
log-error=<log_path>
# 8.3.3.4 系统安全
# 8.3.3.4.1 补丁安装
安全配置基线要求 参考配置
安装最新的安全补丁,及时修补漏洞(注:在保证业务及网络安全的前提下,经过兼容性测试后) 下载并安装最新 mysql 安全补丁。安全警报和补丁下载网址是 http://www.mysql.com
# 8.3.3.4.2 默认端口修改
安全配置基线要求 参考配置
避免使用系统默认端口3306,修改为随机非知名端口 编辑/etc/my.cnf文件,[mysqld] 段落中配置新的端口参数,并重启mysql服务:
port=3506
# 8.3.3.4.3 安全配置
安全配置基线要求 参考配置
禁用symbolic-links选项以防止各种安全风险 编辑Mysql配置文件/etc/my.cnf,在[mysqld] 段落中配置 symbolic-links=0 ,5.6及以上版本应该配置为 skip_symbolic_links=yes ,并重启mysql服务。
确保log-raw选项没有配置为ON 编辑Mysql配置文件/etc/my.cnf,删除log-raw参数,并重启mysql服务
删除系统环境变量中Mysql密码(MYSQL_PWD) 配置mysql_pwd环境变量的使用意味着mysql凭证的明文存储,极大增加mysql凭据泄露风险。
禁用local_infile选项会降低攻击者通过SQL注入漏洞器读取敏感文件的能力 编辑Mysql配置文件/etc/my.cnf,在[mysqld] 段落中配置local-infile参数为0,并重启mysql服务:
local-infile=0
禁止使用--skip-grant-tables选项启动Mysql服务 编辑Mysql配置文件/etc/my.cnf,删除skip-grant-tables参数,并重启mysql服务
# 8.3.3.5 资源管理
# 8.3.3.5.1 数据存储路径配置
安全配置基线要求 参考配置
在配置文件里自定义数据存储路径 编辑Mysql配置文件/etc/my.cnf,在[mysqld] 段落中配置datadir参数
# 8.3.3.5.2 连接数控制
安全配置基线要求 参考配置
根据机器性能和业务需求,设置最大最小连接数 编辑 MySQL 配置文件:my.cnf 或者是 my.ini在[mysqld]配置段添加:
max_connections = 1000
保存,重启MySQL 服务。

# 8.3.4MongoDB安全基线(适用大版本范围:3.4以上版本)

# 8.3.4.1 身份鉴别
安全配置基线要求 参考配置
确保所有客户端,用户和服务器在访问MongoDB数据库之前都需要进行身份验证 开启身份认证和认证文件认证
a.在mongod.conf文件中应设置
security:
authorization: enabled
或配置:auth=true
b.设置启动参数—auth
有带—auth启动
确保MongoDB不会通过localhost异常绕过身份验证 将配置文件中的setParameter选项将其设置为false
setParameter:
enableLocalhostAuthBypass: false
确保访问群集的每个客户端都必须提供凭据,包括在集群中相互访问的MongoDB实例 1、生成密钥文件
2、在共享群集中的每个组件上,通过执行以下任一操作来启用身份验证:
在配置文件 /etc/mongod.conf中,将 keyFile 选项设置为key文件的路径,然后使用以下命令启动组件
keyFile=/srv/mongodb/keyfile
3、启动组件时,设置 --keyFile 选项,mongos实例和mongod实例。将 --keyFile 设置为密钥文件的路径
# 8.3.4.2 用户及权限管理
# 8.3.4.2.1 权限控制
安全配置基线要求 参考配置
确保 monogdb 服务以最低特权用户身份运行 创建一个仅用于运行Mongodb和直接相关进程的用户。这个用户必须对该系统没有管理权限:
useradd -m -d /home/mongodb -s /bin/bash -g mongodb -u 1234 mongodb
然后将所有权设置为仅mongodb用户:
sudo chown -R mongodb:mongodb /data/db
# 8.3.4.2.2 密码策略
安全配置基线要求 参考配置
必须配置用户密码,密码应该符合我司账号口令管理要求 要求按照我司密码管理规范配置密码长度、复杂度、有效期等
# 8.3.4.2.3账户管理
安全配置基线要求 参考配置
确保每个MongoDB数据库的每个角色都是必需的,并且仅授予必要的特权 运行命令从用户定义的角色上的数据库撤消指定的特权,该revokePrivilegesFromRole命令语法如下:
{
revokePrivilegesFromRole: " "
privileges:
[{ resource: { }, actions: [ " ", ... ]},...],
}
定期检查所有角色,并从不需要这些角色的所有用户中进行删除,最大程度地减少每个用户所拥有的特权 要从当前数据库的一个或多个角色中删除用户,请使用以下命令:
use <dbName>
db.revokeRolesFromUser( "<username>", [ <roles> ])
定期审计数据库中的超级用户/管理员角色,有助于最大程度地降低特权不再需要的访问可能性 从当前数据库的一个或多个角色中删除用户:
use <dbName>
db.revokeRolesFromUser( "<username>", [ <roles> ])
# 8.3.4.3访问控制
# 8.3.4.3.1 用户访问控制
安全配置基线要求 参考配置
确保已正确启用和配置基于角色的访问控制 1.为MongoDB建立角色
2.为每个角色分配适当的特权
3.为每个角色分配适当的用户
4.删除分配给用户的任何个人特权
# 8.3.4.4 安全审计
# 8.3.4.4.1 日志记录
安全配置基线要求 参考配置
跟踪对数据库配置和数据的访问和修改。 跟踪对数据库配置和数据的访问和修改。 a.mongod.conf文件中应配置
auditLog:
destination: syslog\console\file
b.设置启动参数:--auditDestination
确保日志记录捕获详细的信息 在/etc/mongod.conf 文件中设置SystemLog.quiet为false以禁用它
确保将新条目附加到日志文件的末尾 mongod.conf文件中应配置:
systemLog:
logAppend: true或配置:
logappend=true
# 8.3.4.5 系统安全
# 8.3.4.5.1 安全配置
安全配置基线要求 参考配置
禁用服务器端脚本 a.mongod.conf文件中应设置为
security:
javascriptEnabled: false
或配置:
noscripting = false。
b.设置启动参数:--noscripting
禁止通过HTTP接口进行JSONP访问 mongod.conf文件中应配置
net:
http:
JSONPEnabled: false
或配置:
jsonp=false
禁用REST API接口 mongod.conf文件中应配置
net:
http:
RESTInterfaceEnabled: false
或配置:
rest=false
禁用HTTP接口 mongod.conf文件中应配置
net:
http:
enabled: false
或配置:
httpinterface=false
# 8.3.4.5.2 默认端口修改
安全配置基线要求 参考配置
确保MongoDB使用非默认端口 将MongoDB服务器的端口更改为27017以外的端口
# 8.3.4.5.3 补丁安装
安全配置基线要求 参考配置
系统安装了最新的安全补丁(注:在保证业务及网络安全的前提下,经过兼容性测试后) 系统安装了最新的安全补丁(注:在保证业务及网络安全的前提下,经过兼容性测试后)
# 8.3.4.6 系统安全
# 8.3.4.6.1 文件权限
安全配置基线要求 参考配置
确保正确设置了密钥文件权限 将keyFile 所有权设置为mongodb用户,并通过执行删除其他权限的命令:
chmod 600 keyfile
sudo chown mongodb:mongodb keyfile
MongoDB数据库文件需要设置文件权限进行保护 MongoDB数据库文件权限应为660,所属用户应为mongodb,所属组应为mongodb

# 8.3.5Redis安全基线(适用大版本范围:9以上版本

# 8.3.5.1 身份鉴别
安全配置基线要求 参考配置
确保所有客户端,用户和服务器在访问Redis之前都需要进行身份验证 确保所有客户端,用户和服务器在访问Redis之前都需要进行身份验证
# 8.3.5.2 用户及权限管理
# 8.3.5.2.1 权限控制
安全配置基线要求 参考配置
以普通帐户安全运行redis,避免以root帐号权限直接运行 Linux下可以通过切换其他用户下运行:
/usr/local/redis-5.0.3/src/redis-cli
/usr/local/redis-5.0.3/redis.conf
# 8.3.5.2.2 密码策略
安全配置基线要求 参考配置
必须配置用户密码,密码应该符合我司账号口令管理要求 Vim /redis.conf
找到# requirepass foobared,在后面做如下配置,红框内即为密码,重启redis即生效
注意:如果原来未设置用户,立刻修改配置文件,重启Redis后必须输入用户名,并且输入用户名之后,之前的数据就找不到了。因此,在设定用户前,一定要做好备份!
# 8.3.5.3 系统安全
# 8.3.5.3.1 补丁安装
安全配置基线要求 参考配置
定期更新最新的安全补丁,确保是在官网最新的release notes中无高中危漏洞的版本,结合具体情况,在保证业务及网络安全的前提下,经过兼容性测试后安装最新丁 $ /redis/src/redis-cli --version redis-cli 4.0.3
更新参考网址 https://raw.githubusercontent.com/antirez/redis/5.0/00-RELEASENOTES
http://download.redis.io/releases
WINDOWS参考:
https://github.com/microsoftarchive/redis/releases 更新之后请重新运行redis
# 8.3.5.3.2 安全配置
安全配置基线要求 参考配置
redis无用户权限限制,危险的命令,使用rename配置项进行禁用或重命名 redis.config文件禁用FLUSHDB、FLUSHALL两个命令;重命名CONFIG、SHUTDOWN命令,可添加一个特殊的后缀。 这样redis启动后,只能运行CONFIG_123456命令,不能执行CONFIG命令
rename-command CONFIG CONFIG_123
rename-command SHUTDOWN SHUTDOWN_456
rename-command FLUSHDB "" #即禁用此命令
rename-command FLUSHALL "" #即禁用此命令
rename-command KEYS KEYS_789
rename-command EVAL
重启redis即生效
# 8.3.5.3.3 默认端口修改
安全配置基线要求 参考配置
根据实际情况和业务需求,修改默认端口6379为随机非知名端口 编辑redis.conf中,port选项,默认为port 6379,可根据实际情况和机器性能以及业务需求,设置为随机非知名端口。
# 8.3.5.4 资源管理
# 8.3.5.4.1 设置最大连接数
安全配置基线要求 参考配置
根据实际情况和机器性能以及业务需求,设置最大连接数 编辑redis.conf中,maxclients 选项,默认# maxclients 10000即无限制,可根据实际情况和机器性能以及业务需求,设置最大连接数并保存重启redis。
# 8.3.5.4.2数据备份
安全配置基线要求 参考配置
定期备份数据,防止数据丢失 在redis.conf中将 appendonly no 改为 appendonly yes,默认采用 everysec每秒钟写入磁盘一次。
# 8.3.5.4.3 数据存储路径配置
安全配置基线要求 参考配置
在配置文件里自定义数据存储路径 修改redis.conf中dir /为自定义路径,重启redis即生效

# 8.3.6 PostgreSQL安全基线(适用大版本范围:3以上版本)

# 8.3.6.1 身份鉴别
安全配置基线要求 参考配置
确保所有客户端,用户和服务器在访问PostgreSQL数据库之前都需要进行身份验证 确保所有客户端,用户和服务器在访问PostgreSQL数据库之前都需要进行身份验证
重要数据库禁止使用trust方式进行认证,必须使用sha256方式 重要数据库禁止使用trust方式进行认证,必须使用sha256方式
# 8.3.6.2 用户及权限管理
# 8.3.6.2.1 账号管理
安全配置基线要求 参考配置
DBA管理和应用账号严格分离,不同应用单独账号 DBA管理和应用账号严格分离,不同应用单独账号
重命名数据库超级管理员账户为pgsqlsuper,此帐号由DBA负责人保管,禁止共用 重命名数据库超级管理员账户为pgsqlsuper,此帐号由DBA负责人保管,禁止共用
# 8.3.6.2.2 密码策略
安全配置基线要求 参考配置
必须配置用户密码,密码应该符合我司账号口令管理要求 要求按照我司密码管理规范配置密码长度、复杂度、有效期等
# 8.3.6.2.3 权限管理
安全配置基线要求 参考配置
始终使用默认权限集创建文件,拒绝对除数据库所有者之外的所有用户帐户授予077的文件访问权限 $ whoami postgres
$ cd ~
$ ls -ld .{bash_profile,profile,bashrc}
-rwx------. 1 postgres postgres 267 Aug 14 12:59 .bash_profile
$ echo "umask 027" >> .bash_profile
$ source .bash_profile
遵循最小特权原则,使用PostgreSQL默认角色可以极大地限制对特权或超级用户的访问 postgres=# GRANT pg_monitor TO doug;
GRANT ROLE
postgres=# ALTER ROLE doug NOSUPERUSER;
ALTER ROLE
postgres=# select rolname from pg_roles where rolsuper is true;
rolname
----------
postgres
(1 row)
# 8.3.6.3 访问控制
# 8.3.6.3.1 用户访问控制
安全配置基线要求 参考配置
确保已安装set_user扩展,PostgreSQL对超级用户数据库角色的访问必须受到控制和审计,防止未经授权的访问 $ tar xf set_user-1.6.1.tgz
$ cd set_user-REL1_6_1
$ export
PATH=/usr/pgsql-10/bin:$PATH
[root@centos6 set_user-REL1_6_1]# make USE_PGXS=1
[root@centos6 set_user-REL1_6_1]# make USE_PGXS=1 install
$ vi ~postgres/10/data/postgresql.conf
postgres=# select * from pg_available_extensions where name = 'set_user';
postgres=# create extension set_user;
postgres=# select * from pg_available_extensions where name = 'set_user';
# 8.3.6.4 安全审计
# 8.3.6.4.1 日志记录
安全配置基线要求 参考配置
配置日志文件名称、大小、保留周期等满足相关要求 配置日志文件名称、大小、保留周期等满足相关要求
配置logging_collector、log_statement、log_connections和 log_disconnections参数,确保登录连接、退出连接和用户DDL、DML等行为能被记录 postgres=# alter system set log_statement='ddl';
ALTER SYSTEM
postgres=# select pg_reload_conf();
pg_reload_conf
----------------
t(1 row)
# 8.3.6.5 系统安全
# 8.3.6.5.1 默认端口修改
安全配置基线要求 参考配置
避免使用默认端口5432,降低被初级扫描的风险 避免使用默认端口5432,降低被初级扫描的风险
# 8.3.6.5.2 补丁安装
安全配置基线要求 参考配置
安装最新的安全补丁,及时修补漏洞(注:在保证业务及网络安全的前提下,经过兼容性测试后) 到http://www.postgresql.org/support/security/查看安全问题,到http://www.postgresql.org/ftp/source/下载对应的版本进行修复

# 8.4中间件安全基线

# 8.4.1 Tomcat安全基线(适用大版本范围:7.0以上版本)

# 8.4.1.1 账号配置及授权管理
安全配置基线要求 参考配置
口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号四类中至少三类 对Tomcat安装目录下的配置文件中的口令进行检查和设置。
禁用超级用户启用 tomcat 在普通用户的模式下,运行 tomcat 的启动脚本
删除或锁定与设备运行、维护等工作无关的账号 修改tomcat/conf/tomcat-users.xml配置文件,删除与工作无关的账号。
例如tomcat1与运行、维护等工作无关,删除账号:
<user username=”tomcat1” password=”tomcat” roles=”admin”>
禁止明文保存密码 CATALINA_HOME/bin/digest.[bat|sh] -a {algorithm} {cleartext-password}
根据用户的业务需要,配置其所需的最小权限 编辑tomcat/conf/tomcat-user.xml配置文件,修改用户角色权限,授权tomcat具有远程管理权限:
<user username=”tomcat” password=”chinamobile” roles=”admin,manager”>
禁用manager功能 将以下目录$CATALINA_HOME/server/webapps/manager,移除到非
$CATALINA_HOME/server/webapps 目录
控制超时时间 编辑tomcat/conf/server.xml配置文件,修改为30秒
<Connector port="8080" maxHttpHeaderSize="8192"maxThreads="150"
minSpareThreads="25" maxSpareThreads="75"、
enableLookups="false" redirectPort="8443"
acceptCount="100" connectionTimeout="30000" disableUploadTimeout="true" />
注意事项:connectionTimeout时间为毫秒。
# 8.4.1.2 日志审计
安全配置基线要求 参考配置
开启日志审计功能 编辑server.xml配置文件,在 标签中增加记录日志功能
将以下内容的注释标记< ! -- -- >取消
< !
<valve classname=”
org.apache.catalina.valves.AccessLogValve”
Directory=”logs” prefix=”localhost_access_log.”Suffix=”.txt”
Pattern=”common” resloveHosts=”false”/>
-- >
# 8.4.1.3 端口及错误页面
安全配置基线要求 参考配置
更改tomcat服务器默认端口 (1)修改tomcat/conf/server.xml配置文件,更改默认管理端口8080,根据自身规定设置
<Connector port="XXXX" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"、
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="900" disableUploadTimeout="true" />
(2)重启tomcat服务
错误页面重定向 1)配置tomcat/conf/web.xml文件:
在最后</web-app>一行之前加入以下内容:
<error-page>
<error-code>404</error-code>
<location>/noFile.htm</location>
</error-page>
//配置将404未找到jsp网页的错误导向noFile.htm页面,也可以用类似方法添加其多的错误代码导向页面,如403,500等
……………
<error-page>
<exception-type>java.lang.NullPointerException</exception-type>
<location>/ error.jsp</location>
//配置实现当jsp网页出现java.lang.NullPointerException导常时,转向error.jsp错误页面
# 8.4.1.4 加密传输协议配置
安全配置基线要求 参考配置
TLS版本控制 如果中间件启用了TLS,TLS版本应不低于1.2版本
# 8.4.1.5 安全防护措施
安全配置基线要求 参考配置
删除默认示例文件 进入usr/local/tomcat/webapps目录,可以看到默认examples文件,删除该文件。
删除默认说明文件 进入usr/local/tomcat/webapps目录,可以看到默认docs文件,删除该文件。
禁用中间件不必要的HTTP方法 1.在应用程序的web.xml中添加如下的代码:
<security-constraint>
<web-resource-collection>
<url-pattern>/*
<http-method>PUT
<http-method>DELETE
<http-method>HEAD
<http-method>OPTIONS
<http-method>TRACE
</web-resource-collection>
<auth-constraint>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC
</login-config>
2.重新部署程序,重启tomcat服务
安装补丁 查找并安装高危漏洞补丁
应用版本隐藏 编辑文件 tomcat/conf/server.xml,将tomcat修改为其他信息,替换如下:
<Connector port="8080" ... server="Tomcat" />
目录遍历禁用 编辑tomcat/conf/web.xml,将listings中的true改为false,修改如下:
<init-param><param-name>listings</param-name>
<param-value>false</param-value></init-param>

# 8.4.2 Apache安全基线(适用大版本范围:2.2以上版本)

# 8.4.2.1 账号配置及授权管理
安全配置基线要求 参考配置
口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号四类中至少三类 对 Apache安装目录下的配置文件中的口令进行检查和设置。
# 8.4.2.2 日志审计
安全配置基线要求 参考配置
开启日志审计功能 编辑httpd.conf配置文件,设置日志记录文件、记录内容、记录格式。
LogLevel notice
ErrorLog logs/error_log
LogFormat "%h %l %u %t "%r" %>s %b
"%{Accept}i" "%{Referer}i" "%{User-Agent}i"" combined
CustomLog logs/access_log combined
ErrorLog指令设置错误日志文件名和位置。错误日志是最重要的日志文件,
Apache httpd将在这个文件中存放诊断信息和处理请求中出现的错误。
若要将错误日志送到Syslog,则设置:ErrorLog syslog。
CustomLog指令设置访问日志的文件名和位置。访问日志中会记录服务器所处理的所有请求。
LogFormat设置日志格式。LogLevel用于调整记录在错误日志中的信息的详细程度,建议设置为notice。
# 8.4.2.3 端口及错误页面
安全配置基线要求 参考配置
定制缺省错误页面 1.修改httpd.conf配置文件:
ErrorDocument 400 /customError.html
ErrorDocument 401 /customError.html
ErrorDocument 403 /customError.html
ErrorDocument 404 /customError.html
ErrorDocument 405 /customError.html
ErrorDocument 500 /customError.html
将customError.html文件内容改成自定义的内容。
2.重启Apache
禁止Apache访问web目录之外的任何文件 1.编辑httpd.conf配置文件,
<Directory />
Order Deny,Allow
Deny from all
</Directory>
2.补充操作说明 设置可访问目录,
<Directory /web>
Order Allow,Deny
Allow from all
</Directory>
其中/web为网站根目录。
# 8.4.2.4 加密传输协议配置
安全配置基线要求 参考配置
TLS版本控制 如果中间件启用了TLS,TLS版本应不低于1.2版本
# 8.4.2.5 安全防护措施
安全配置基线要求 参考配置
禁止目录浏览 修改Apache配置文件httpd.conf,把<Directory “xxxx/xxx”>Options Indexes FollowSymLinks ……</Directory>中的Indexes删除即可。
删除缺省的安装文件 删除默认的htdocs下的测试及帮助文档
删除cgi-bin下示例cgi程序
应用版本隐藏 编辑httpd.conf配置文件,修改以下内容:
ServerTokens Prod
ServerSignature off
安装补丁 查找并安装高危漏洞补丁
控制超时时间 客户程序和服务器连接的超时间隔,时间不宜过长,否则可能占用过多内存。
编辑 httpd.conf 配置文件,找到如下内容
Timeout 900
apache权限设定 应设置使用非ROOT用户启动APACHE
修改httpd.conf文件:
User <客户指定用户>
Group <客户指定用户组>
重启apache
功能模块最小化 对于不使用的模块进行禁用
1. 建议去掉那些不使用的apache静态和动态功能模块来增强apache安全性和提高运行速度:mod_proxy, mod_perl, mod_php4(通常为动态模块加载类型) , mod_userdir
2. mod_proxy 用来支持apache proxy功能,存在相关问题;
3. mod_perl,支持cgi以及对cgi支持的相关dbi模块;
4. mod_php4,该版本仅在去年就发现了8个mod_php对php代码解析过程中的漏洞;
5. mod_userdir,用户站点发布功能,默认httpd.conf配置打开了<Directory /home/*/public_html>选项,若目录或文件权限分配不当将造成以~形式来猜测系统用户或访问不同用户的$HOME变量下不安全属性文件问题
处理办法:修改apache安装目录下的conf/httpd.conf文件,在需要去掉的模块前加“#”字符,重新启动apache服务
禁止不必要的HTTP方法 应禁止服务器不必要的HTTP方法,例如PUT,TRACE,DELETE等。
1.服务器用户编辑httpd.conf文档,在最下面输入以下内容TraceEnable off
2.虚拟主机用户可以在.htaccess文件中添加如下代码过滤TRACE请求:
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE

# 8.4.3 IIS安全基线(适用大版本范围:7.5以上版本)

# 8.4.3.1 账号配置及授权管理
安全配置基线要求 参考配置
口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号四类中至少三类 对IIS安装目录下的配置文件中的口令进行检查和设置。
# 8.4.3.2 日志审计
安全配置基线要求 参考配置
启用日志审计功能 (1) 打开“internet信息服务”控制台,右键点击所管理的网站,选择“属性”;
(2) 选择”web站点“标签,查看“启用日志记录”复选框是否选中;
(3) 查看“活动日志格式”下拉框中是否选择“W3C扩充日志文件格式”;并点击“属性”;
(4) 在打开的“扩充日志记录属性“对话框中,点击“常规属性”标签,查看“日志文件路径”,修改默认的路径。
# 8.4.3.3 端口及错误页面
安全配置基线要求 参考配置
服务与组件 (1)针对IIS服务与组件按照下表进行设置:
a.后台智能传输服务 (BITS) 服务器扩展——启用该服务
b.文件传输协议 (FTP) 服务——禁用该服务
c.Internet 打印——禁用该服务
d.NNTP 服务——禁用该服务
e.SMTP 服务——禁用该服务
f.万维网服务——启用该服务
g.FrontPage 2002 Server Extensions——禁用该组件
h.Internet 信息服务管理器——启用该组件
i.Active Server Page——启用该组件
j.数据连接器——禁用该组件
k.远程管理 (HTML)——禁用该组件
l.远程桌面 Web 连接——禁用该组件
m.服务器端包括——禁用该组件
n.WebDAV——禁用该组件
定制缺省错误页面 定制缺省错误页面均为“There has been an error !”。
# 8.4.3.4 加密传输协议配置
安全配置基线要求 参考配置
TLS版本控制 如果中间件启用了TLS,TLS版本应不低于1.2版本
# 8.4.3.5 安全防护措施
安全配置基线要求 参考配置
移除IIS默认的响应头,防止访问者获得IIS应用服务器相关信息 (1)编辑文件C: \Windows \System32 \inetsrv \config \applicationHost.config,添加如下重写规则:
<rewrite>
<allowedServerVariables>
<add name="REMOTE_ADDR" />
</allowedServerVariables>
<outboundRules>
<rule name="REMOVE_RESPONSE_SERVER">
<match serverVariable="RESPONSE_SERVER" pattern=".*" />
<action type="Rewrite" />
</rule>
</outboundRules>
</rewrite>
保证目录listing不可用,防止站点受到目录遍历的风险 (1)打开 IIS 管理器,然后导航至您要管理的级别;
(2)在“功能视图”中,双击“目录浏览”;
(3)在“操作”窗格中,如果“目录浏览”功能已启用,请单击“禁用”。
删除默认安装文件 (1)删除默认安装在C:\Inetpub目录下的wwwroot目录和AdminScriitpts目录及包含的文件。
程序映射,对于不使用的应用程序应禁止在服务器端执行 (1)打开“internet信息服务”控制台,右键点击所管理的网站,选择“属性”;
(2)在属性中选择“主目录”标签,单击“配置”按钮”;
(3)在“映射”选项卡中删除.cer、.cdx、.asa、.shtml、.stm。
修改IIS文件权限设置,为Web 站点上不同类型的文件夹分配适当权限 (1)静态文件文件夹允许读、拒绝写;
(2)ASP脚本文件夹允许执行、拒绝写和读取;
(3)EXE等可执行程序允许执行、拒绝读写;
(4)允许执行的目录不允许上传,允许上传的目录不允许执行。
安装补丁 查找并安装高危漏洞补丁
设置Web站点权限 (1)按照下列要求设置web站点权限:
读-允许
写-不允许
脚本资源访问-不允许
目录浏览-关闭
日志访问-关闭
索引资源-关闭
执行-仅限于脚本
禁止服务器使用不需要的HTTP方法 (1)打开web.config文件,添加如下代码:
<system.webServer>
<security>
<requestFiltering>
<verbs allowUnlisted="false">
<add verb="GET" allowed="true"/>
<add verb="POST" allowed="true"/>
<add verb="HEAD" allowed="true"/>
</verbs>
</requestFiltering>
</security>
</system.webServer>
以上代码只允许开启GET、POST和HEAD方法。

# 8.4.4 WebLogic安全基线(适用大版本范围:12.1.2以上版本)

# 8.4.4.1 账号配置及授权管理
安全配置基线要求 参考配置
口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号四类中至少三类 对WebLogic安装目录下的weblogic.properties配置文件进行配置:
weblogic.system.minPasswordLen=12
限制Weblogic的启动账号,启动账号不可以为root和nobody 建议系统建立weblogic用户,并以此用户运行weblogic
帐号锁定策略 以管理员身份登录控制台
1. 点击左侧面板”Security”文件夹,展开”REALM”
2. 点击右侧面板中的”User Lock”标签,设定:
Lockout Enabled = true;
Lockout Threshold = 10;
Lockout Duration = 5;
# 8.4.4.2 日志审计
安全配置基线要求 参考配置
开启日志审计功能 1、修改配置,开启日志,配置按日期rotate
weblogic.system.enableReverseDNSLookups=true
2、重新启动 weblogic 服务
# 8.4.4.3 端口及错误页面
安全配置基线要求 参考配置
错误页面重定向 1、修改配置
配置<Application HOME>/WEB-INF/web.xml文件:
<error-page>
<exception-type>404</ exception-type >
<location>error.html
</error-page>
2、重新启动 weblogic 服务
# 8.4.4.4 加密传输协议配置
安全配置基线要求 参考配置
对于通过HTTP协议进行远程维护的设备,设备应支持使用HTTPS等加密协议 修改weblogic.properties配置文件:
weblogic.system.SSLListenPort=portNumber
weblogic.security.certificate.server= mycert.der
weblogic.security.key.server= mykey.der
weblogic.security.certificate.authority= CA.der
weblogic.security.certificateCacheSize= 5
weblogic.security.clientRootCA= anyValidCertificate;
weblogic.httpd.register.authenticated=\
weblogic.t3.srvr.ClientAuthenticationServlet
weblogic.httpd.register.T3AdminCaptureRootCA=admin.T3AdminCaptureRootCA
SSL Enabled="true"
TLS版本控制 如果中间件启用了TLS,TLS版本应不低于1.2版本
# 8.4.4.5 安全防护措施
安全配置基线要求 参考配置
目录列表访问限制 修改 weblogic.properties配置文件:
weblogic.httpd.indexDirectories = false;
避免拒绝服务攻击,Sockets最大打开数目设置不当的话,容易受到拒绝服务攻击,超出操作系统文件描述符限制 1、修改配置
以管理员身份登录管理控制台
1. 点击左侧面板的域名文件夹,然后点击Servers文件夹,双击要管理的服务器
2. 在右侧面板的“Configuration”面板下选择“Tuning”标签,查看Maximum Open Sockets值
3.设置该值不大于1024
2、重新启动 weblogic 服务
避免泄露Server Header信息 以管理员身份登录管理控制台
1. 点击域名下的Servers文件夹,选择要管理的服务器
2. 在右侧面板“Protocols”面板下,点击HTTP标签
3. 检查是否勾选Send Server header
安装补丁 查找并安装高危漏洞补丁
对于具备字符交互界面的设备,应支持定制账户自动登出。登出后用户需再次登录才能进入系统 查看Weblogic安装目录下的weblogic.properties配置文件:
weblogic.login.readTimeoutMillis= <integer>
weblogic.login.readTimeoutMillisSSL= <integer>

# 8.4.5 WebSphere安全基线(适用大版本范围:8.0以上版本)

# 8.4.5.1 账号配置及授权管理
安全配置基线要求 参考配置
禁止以超级管理员和nobady用户启动websphere 以管理员身份打开管理控制台,执行:
(1) 点击“应用程序”-->“企业应用程序”
双击要查看的应用程序
(2) 点击“其它属性”中的“映射安全性角色到用户/组”
与开发人员确认协商,修改安全角色映射,保证“每个用户“、“所有已认证用户”、“已映射的用户”、“已映射的组”进行安全的角色映射,没有赋予不必要的权限
禁止明文保存websphere密码 1) 编辑文件
$WAS_HOME/profiles/<profilePath>/properties/soap.client.props ,设置
(2) 使用以下命令编码 com.ibm.SOAP.loginPassword property 值,检查输出结果并移走创建的备份文件:
$WAS_HOME/bin/PropFilePasswordEncoder.sh soap.client.props
com.ibm.SOAP.loginPassword
验证方法:
(1) 以 root 身份执行:
#ps –ef | grep –i WebSphere
#su – WebSphere_username –c “crontab –l”
#crontab –l
要求回显内容中不含口令字
(2) more
$WAS_HOME/profiles/<profilePath>/properties/soap.client.props
为应用用户定义合适的角色 1.点击“应用程序”-->”企业应用程序”
2.双击要查看的应用程序
3.点击“其它属性”中的”映射安全性角色到用户/组”
口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号四类中至少三类 对 WebSphere 安装目录下的配置文件中的口令进行检查和设置。
启用websphere安全性功能 1. 打开管理控制台
2. 点击“安全性”-->”全局安全性”
3. 勾选“启用全局安全性”和“强制Java 2安全性”
# 8.4.5.2 日志审计
安全配置基线要求 参考配置
开启日志审计功能 1. 设置日志:
在导航窗格中,单击服务器>应用程序服务器-->单击您要使用的服务器的名称-->在“故障诊断”下面,单击日志记录和跟踪-->单击要配置的系统日志(诊断跟踪、静态更改,单击”配置”选项卡,动态更改点击”运行时”选项卡。
2. 设置记录级别。
在导航窗格中,单击服务器>应用程序服务器-->单击您要使用的服务器的名称。在“故障诊断”下面,单击日志记录和跟踪,查看日志详细信息级别。
启用所有日志,并配置日志详细信息级别为*=info:
SecurityManager=all:
SystemOut=all
# 8.4.5.3 端口及错误页面
安全配置基线要求 参考配置
定制缺省错误页面 以root身份执行:
grep -I defaultErrorPage
用文本编辑器打开
…./<profilepath>/config/cells/<hostname>/applications/
<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xmi
设置defaultErrorPage=” There has been an error !”
# 8.4.5.4 加密传输协议配置
安全配置基线要求 参考配置
设置控制台会话超时 1. 用文本编辑器打开文件
…./systemApps/adminconsole.ear/deployment.xml
2. 设置<tuningParams ***** invalidationTimeout=“15”>
TLS版本控制 如果中间件启用了TLS,TLS版本应不低于1.2版本
# 8.4.5.5 安全防护措施
安全配置基线要求 参考配置
禁止提供目录浏览服务 以root身份执行:
Grep -I directoryBrowsingEnabled
…./<profilepath>/config/cells/<hostname>/applications/
<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xmi
设置directoryBrowsingEnabled=“false”
安装补丁 查找并安装高危漏洞补丁
禁止 file serving 服务,如果启用file serving 服务,用户可能非法浏览应用服务器目录和文件,另外,应用服务器提供静态文件服务,性能会有较大的损失. 用文本编辑器打开
$WAS_HOME/<profilepath>/config/cells/<hostname>/applications/
<yourapplication>.ear/<yourapplication>.war/WEB-INF/ibm-web-ext.xmi
设置 fileServingEnabled=”false”
卸载sample例子程序,例如:
DefaultApplication",
"PlantsByWebSphere",
"SamplesGallery",
"ivtApp","query" 等实例
以管理员身份打开管理控制台,执行:
(1) 点击“应用程序”-->“企业应用程序”
(2) 选中例子程序,然后点击“卸载”按钮, 卸载”“DefaultApplication”、“PlantsByWebSphere ”、“SamplesGallery”、“ivtApp”等子程序
2 、补充说明
移走例子程序,应实验后,再在生产环境使用

# 8.4.6 Nginx安全基线(适用大版本范围:1.4以上版本)

# 8.4.6.1 账号配置及授权管理
安全配置基线要求 参考配置
口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号四类中至少三类 对 WebSphere 安装目录下的配置文件中的口令进行检查和设置。
# 8.4.6.2 日志审计
安全配置基线要求 参考配置
开启日志审计功能 1. 编辑 nginx.conf 配置文件
将 error_log 前的“#”去掉,记录错误日志
将 access_log 前的“#”去掉,记录访问日志
设置 access_log,修改配置文件如下:
log_format formatname '$remote_addr - $remote_user [$time_local] '
' "$request" $status $body_bytes_sent "$http_referer" '
' "$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log formantname;
#此处为日志的保存路径,默认保存在Logs/access.log中
备注:
1.formatname为设置配置文件格式的名称
2.可通过日志所需的内容调节日志的参数。
# 8.4.6.3 端口及错误页面
安全配置基线要求 参考配置
不适用
# 8.4.6.4 加密传输协议配置
安全配置基线要求 参考配置
TLS版本控制 如果中间件启用了TLS,TLS版本应不低于1.2版本
# 8.4.6.5 安全防护措施
安全配置基线要求 参考配置
控制超时时间 修改配置文件
#vi /usr/local/nginx/conf/nginx.conf
具体设置如下:
client_body_timeout 10; #设置客户端请求主体读取超时时间
client_header_timeout 10; #设置客户端请求头读取超时时间
keepalive_timeout 5 5; #第一个参数指定客户端连接保持活动的超时时间,第二个参数是可选的,它指定了消息头保持活动的有效时间
send_timeout 10; #指定响应客户端的超时时间
注意:可根据应用场景的需要选择合适的参数值。
(2)重新启动 nginx 服务
卸载不需要的模块 (1)检查需要禁用的模块
在编译 nginx 服务器时,使用下面的命令查看哪些模块应该启用,哪些模应该禁用:
# ./configure --help
隐藏应用版本 编辑src/http/ngx_http_header_filter_module.c:
#vi src/http/ngx_http_header_filter_module.c
在第48和49行内容中,自定义头信息找到下面两行:
static char ngx_http_server_string[] = “Server: nginx”
CRLF;static char ngx_http_server_full_string[] = “Server: ”
NGINX_VER CRLF;
将其修改为:
static char ngx_http_server_string[] = “Server:XXXXX.com”
CRLF;
static char ngx_http_server_full_string[] = “Server:XXXXX.com”
CRLF;
保存并关闭文件。
2. 添加如下代码到 nginx.conf 配置文件,禁止错误页面中显示 nginx 版本号:
server_tokens off
禁止服务器不必要的HTTP方法 在配置在server、location中,加入下面代码:
if ($request_method !~ ^(GET|HEAD|POST)$) { return 403;}
安装补丁 查找并安装高危漏洞补丁
对于非代理的Nginx,应自定义版本信息内容,不让版本信息泄漏给非法攻击者 1)修改
src/http/ngx_http_special_response.c,自己定制错误信息
## messages with just a carriage return.
static char ngx_http_error_400_page[] =<html>" CRLF "<head><title>400 bad request </title></head>" CRLF"<html>" CRLF;
static char ngx_http_error_404_page[] = <html>" CRLF "<head><title>404 Not Found</title></head>" CRLF"<html>" CRLF;static char ngx_http_error_413_page[] = <html>" CRLF "<head><title>413 Request Entity Too Large</title></head>" CRLF"<html>" CRLF;
static char ngx_http_error_502_page[] = <html>" CRLF "<head><title> Bad Gateway </title></head>" CRLF"<html>" CRLF;
static char ngx_http_error_504_page[] =<html>" CRLF "<head><title> Gateway Time-out</title></head>" CRLF"<html>" CRLF;
注:内容可自定义为所需显示的内容。

# 8.4.7 HAProxy安全基线(适用大版本范围:1.5以上版本)

# 8.4.7.1 账号配置及授权管理
安全配置基线要求 参考配置
口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号四类中至少三类 对HAproxy安装目录下的配置文件中的口令进行检查和设置。
禁止开启开启WEB页面管理功能 在/app/haproxy/haproxy.cfg 严禁配置:
stats admin if TRUE
新建操作系统普通账号安全运行haproxy,禁止以管理员(root)权限运行 Unix/Linux 系统:
(1) 创建 haproxy组:groupadd mwopr
(2) 创建 mwopr 用户并加入 mwopr 组:useradd appdeploy –g mwopr
(3) 以 appdeploy 身份启动haproxy服务
# 8.4.7.2 日志审计
安全配置基线要求 参考配置
开启日志审计功能 在/app/haproxy/haproxy.cfg 配置:
global
log 127.0.0.1 local info
defaults
log global
# 8.4.7.3 端口及错误页面
安全配置基线要求 参考配置
错误页面重定向 1、编辑文件:/etc/haproxy/errors/503.http
2、把该页面删除,防止信息泄露
# 8.4.7.4 加密传输协议配置
安全配置基线要求 参考配置
TLS版本控制 如果中间件启用了TLS,TLS版本应不低于1.2版本
# 8.4.7.5 安全防护措施
安全配置基线要求 参考配置
隐藏haproxy版本信息 在/app/haproxy/haproxy.cfg 配置:stats hide-version
安装补丁 查找并安装高危漏洞补丁
防止DDOS攻击 在/app/haproxy/haproxy.cfg 配置:
global
timeout http-request 10s
server app_01 10.202.40.82:8080 cookie app2 check inter 2000 rise 3 fall 5
备注:此处改成实际的应用名和端口

# 8.5网络安全基线

# 8.5.1网络交换机安全基线

# 8.5.1.1帐号安全配置、权限分配
安全配置基线要求 参考配置
按照用户分配账号,避免不同用户间共享运维账号 1)HW参考配置:
[Huawei]aaa
[Huawei-aaa]local-user admin password cipher admin123
[Huawei-aaa]local-user admin privilege level 15
[Huawei-aaa]local-user admin service-type ssh
[Huawei-aaa]local-user user password cipheruser123
[Huawei-aaa]local-user user privilege level 4
[Huawei-aaa]local-user user service-type ssh
2)Cisco参考配置:
username rsmith password 3d-zirc0nia
username rsmith privilege 1
username bjones password 2B-or-3B
username bjones privilege 1
no username brian
3)H3C参考配置:
#
local-user user1
service-type ssh
user privilede level 2
#
local-user user2
service-type ftp
user privilede level 3
#
应删除与设备运行、维护等工作无关的账号,例如多余的账号,已停用的账号。 参考配置操作:
1)HW参考配置:
[Huawei]aaa
[Huawei-aaa]undo local-user user
2)Cisco参考配置:
no username brian
3)H3C参考配置:
undo local-user username
远程执行管理员权限操作,应先以普通权限用户远程登录后,再切换到管理员权限帐号后执行相应操作 1)HW参考配置:
(1)在普通视图下进入系统视图输入命令:system-view
(2)在系统视图下设置用户口令,以user1为例:对于AR28系列在系统视图下输入localuser user1进入用户视图,然后输入service-type telnet将用户的登录方式改为telnet,再输入level 2将用户的登录级别设置为普通权限。对于S23系列在系统视图下输入aaa命令之后进入AAA视图,然后输入命令:
localuser user1 service-type
telnetlocal-user user1 level 2
2)Cisco参考配置:
privilege exec level 15 connect
privilege exec level 15 telnet
privilege exec level 15 rlogin
privilege exec level 7 show ip access-lists
privilege exec level 15 show access-lists
privilege exec level 15 show logging
privilege exec level 1 show ip
username user1 privilege 7 password password1
username switchadmin privilege 15 password password2
对于采用静态口令认证技术的设备,密码应该符合我司账号口令管理要求,口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类 1)HW参考配置:
(1)在普通视图下进入系统视图输入命令:system-view
(2)在系统视图下设置用户口令:
[Huawei]aaa
[Huawei-aaa]local-user admin password cipher admin@zhangsan
2)Cisco参考配置:通过管理方式实现
3)H3C参考配置:
password-control enable
password-control length 8
password-control composition type-number 2 type-length 4
password-control aging 90
password-control alert-before-expire 7
检查静态口令是否使用了不可逆加密算法加密后保存于配置文件中 1)HW参考配置:
[Huawei]aaa
[Huawei-aaa]local-user admin password cipher admin123
[Huawei]super password cipher admin123
2)Cisco参考配置:
service password-encryption
3)H3C参考配置:
[Switch] local-user admin
[Switch] password cipher $c$3$91+quQroSJWHM4sAJOker3sBNmMjwUEU
配置定时账户自动登出,登出后用户需再次登录才能进入系统 1)HW参考配置:
(1)在普通视图下进入系统视图输入命令:system-view
(2)在系统模式下user-interface vty 0 4进入接口视图
(3)在接口视图模式下输入idle-timeout 15 0设定登出时间
2)Cisco参考配置:
Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# line vty 0 4
Switch(config-line)# exec-timeout 15 0
3)H3C参考配置:
#
user-interface con 0
idle-timeout 15 0
user-interface vty 0 4
idle-timeout 15 0
#
save
系统远程管理服务SSH默认可以接受任何地址的连接,出于安全考虑,应该只允许特定地址访问 1)HW参考配置:
acl number 2001 rule permit ipsource XX.XX.XX.XX 0 User-interface vty 0 4acl 2001 inbound
2)Cisco参考配置:
no access-list 12
access-list 12 permit host XX.XX.XX.XX
3)H3C参考配置:
Acl number 2000
rule 1 permit source XX.XX.0.0 0.0.255.255
rule 2 permit source 2::1 0 // 匹配某个地址的用户 --Ipv6
User-interface vty 0 4
acl 2000 inbound
对于不需要ARP代理的设备,关闭其ARP代理功能 1)HW参考配置:arp-proxy disable
2)Cisco参考配置:no ip proxy-arp
3)H3C参考配置:arp-proxy disable
设置ssh用户的默认认证方式为password 1)HW参考配置:
(1)在普通视图下进入系统视图输入命令:system-view
(2)在系统视图下sshauthentication-type defaultpassword
2)Cisco参考配置:enable secret password
3)H3C参考配置:
ssh user client001 service-type stelnet authentication-type
password
# 8.5.1.2安全日志配置
安全配置基线要求 参考配置
设备应支持远程日志功能。
所有设备日志均能通过远程日志功能传输到日志服务器。
设备应支持至少一种通用的远程标准日志接口,如SYSLOG、FTP等。
1)HW、H3C参考配置:
(1)info-center loghost XX.XX.XX.XX
(2)info-center source default channel loghost log level emergencies
2)Cisco参考配置:
Switch# config t
Enter configuration commands, one per line. End with CNTL/Z
Switch(config)# logging on
Switch(config)# logging trap information
Switch(config)# logging XX.XX.XX.XX
Switch(config)# logging facility local6
Switch(config)# logging source-interface loopback0
Switch(config)# exit
Switch# show logging
Syslog logging: enabled (0 messages dropped, 11 flushes, 0overruns)
Console logging: level notifications, 35 messages logged
Monitor logging: level debugging, 35 messages logged
Buffer logging: level informational, 31 messages logged
Logging to XX.XX.XX.XX, 28 message lines logged
开启 NTP 服务,保证日志功能记录的时间的准确性 1)HW参考配置:
[Huawei]dis cur | include ntp
ntp-service authentication enable
ntp-service unicast-server XX.XX.XX.XX
2)Cisco参考配置:
Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# interface eth0/0
Switch(config-if)# no ntp disable
Switch(config-if)# exit
Switch(config)# ntp server XX.XX.XX.XX source loopback0
Switch(config)# exit
3)H3C参考配置:
[Switch]dis current | i ntp-service unicast-server
# 8.5.1.3安全服务配置
安全配置基线要求 参考配置
修改SNMP的community默认团体字,
字符串应符合口令强度要求。
1)HW参考配置 :
[HUAWEI]snmp-agent community read <community团体字>
[HUAWEI] snmp-agent community write < community团体字>
2)Cisco参考配置:
snmp-server community my_readonly RO
snmp-server community my_readwrite RW
3)H3C参考配置:
snmp-agent community read xxx
snmp-agent community write xxxx
系统应配置为SNMPV2或以上版本 1)HW参考配置:
snmp-agent sys-info version v3
2)Cisco参考配置:
Snmp-server engineID [local engineid-string]
[remote ip-address [udp-port udp-port-number] [vrf vrf-name] engineid-string ]
Snmp-server view view-name oid-tree {included | excluded}
Snmp-server group group-name {v1 | v2c | v3 {auth | noauth | priv }}
[read read-view-name] [write write-view-name]
[notify notify-view-name] [acces access-list]
Snmp-server host host-address
[traps | informs ]
[version{1 | 2c |3 [auth | noauth | priv]}]
community-string [udp-port port-number]
[notification-type] [vrf vrf-name]
Snmp-server user username group-name
[remote host [udp-portudp-port-number]]
{v1 | v2c | v3 [encrypted] [auth {md5 | sha}auth-password]} [access access-list]
3)H3C参考配置:
snmp-agent sys-info version v3
设置SNMP访问安全限制,只允许特定主机通过SNMP访问网络设备 1)HW参考配置:
[HUAWEI]acl number 2000
[HUAWEI-acl-adv-2000] rule 0 permit ip source XX.XX.XX.XX 0
[HUAWEI-acl-adv-2000] rule 65534 deny ip
[HUAWEI]snmp-agent community read xiangyun acl 2000
2)Cisco参考配置:
access-list 75 permit host XX.XX.XX.XX
access-list 75 deny any log 2
3)H3C参考配置:
snmp-agent community read XXXX acl 2000
系统应及时关闭未使用的SNMP协议及未使用write权限 1)HW参考配置:
[Huawei]undo snmp-agent community write pipaxing
2)Cisco参考配置:
no snmp-server community private RW
3)H3C参考配置:
undo snmp-agent community write xxxx
关闭未使用的接口 1)HW参考配置:
[HUAWEI]int g1/0/10
[HUAWEI-GigabitEthernet1/0/10]shutdown
2)Cisco参考配置:
config# int port 15
# shut down
3)H3C参考配置:
interface Ten-GigabitEthernet0/1 // 进入端口视图
shutdown // 执行 shutdown 命令,关闭端口
关闭AUX端口,防止病毒在局域网中传染,
并且可以阻断入侵者攻击交换机
1)HW参考配置操作:
(1)在普通视图下进入系统视图输入命令:system-view
(2)在系统视图下interface Aux0/0/1 shutdown
2)Cisco参考配置操作:
Switch# config t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)# line aux 0
Switch(config-line)# transport input none
Switch(config-line)# login local
Switch(config-line)# exec-timeout 0 1
Switch(config-line)# no exec
Switch(config-line)# exit
3)H3C参考配置操作:
user-interface aux 0 // 进入端口视图
shutdown // 执行 shutdown 命令,关闭端口
关闭FTP服务 1)HW参考配置:
(1)在普通视图下进入系统视图输入命令:system-view
(2) 关闭FTP服务 :ftp server disable
2)Cisco参考配置:
no ftp-server enable
3)H3C参考配置:
undo ftp server
启用STP协议,预防或消除由于失误或者意外带来的循环连接 1)HW、H3C参考配置:
(1) 进入连接端口
(2) STP enable
2)Cisco参考配置:默认开启
对同时远程登陆到设备上的session数进行限制,可以防止大量的session连接占用过多系统资源,同时便于集中运维,保证故障期间的正常处理 1)HW参考配置:
(1)在普通视图下进入系统视图输入命令:system-view
(2)在系统视图下user-interfacemaximum-vty 10
2)H3C参考配置:
user-interface vty 0 10
若开启了动态路由协议,口令要求配置MD5加密 1)HW参考配置:
(1)在普通视图下进入系统视图输入命令:system-view
(2)配置动态路由协议口令MD5加密:ospf 2 area 0.0.0.0 authentication-mode md5 1cipher N C55QK< =/Q=^Q`MAF4<1!!
2)Cisco参考配置:
switch(config)#router ospf 100 //设置本地有效的标识符100
switch(config-router)#area area_id authentication message-digest //在区域内启用md5认证
switch(config-if)#ip ospf authentication message-digest //在接口下启用md5认证
switch(config-if)#ip ospf message-digest-key id md5 pass_string //在接口下设置md5密钥id及密钥字符串,两端启用OSPF路由协议的端口必须相同
3)H3C参考配置:
[RT1]ospf 1
[RT1ospf-1]area 1
[RT1-ospf-1-area-0.0.0.1]authentication-mode md5
[RT1-ospf-1-area-0.0.0.1]quit
[RT1-ospf-1]quit
[RT1]int s0/2/0
[RT1-Serial0/2/0]ospf authentication-mode md5 10 cipher H3C
[RT3]ospf 1
[RT3ospf-1]area 1
[RT3-ospf-1-area-0.0.0.1]authentication-mode md5
[RT3-ospf-1-area-0.0.0.1]quit
[RT3-ospf-1]quit
[RT3]int s0/2/0
[RT3-Serial0/2/0]ospf authentication-mode md5 10 cipher H3C
系统使用的端口默认无描述,安全事件处理及后期日志查询较为不便,出于安全考虑,应该将使用的端口添加符合实际应用的描述 set port name module/number description-string

# 8.5.2 网络路由器安全基线

# 8.5.2.1 帐号安全配置及权限分配
安全配置基线要求 参考配置
应按照用户分配帐号,避免不同用户间共享帐号,
避免用户帐号和设备间通信使用的帐号共享。
1)HW参考配置:
aaa
local-user user1 password cipher PWD1
local-user user1 service-type telnet
local-user user2 password cipher PWD2
local-user user2 service-type ftp
#
user-interface vty 0 4
authentication-mode aaa
2)Cisco参考配置:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# service password-encryption
Router(config)# username ruser1 password 3d-zirc0nia
Router(config)# username ruser1 privilege 1
Router(config)# username ruser2 password 2B-or-3B
Router(config)# username ruser2 privilege 1
Router(config)# end
Router#
3) H3C参考配置:
#
local-user h3c
password simple h3c
terminal service-type terminal
level 3
#
user-interface con 0
authentication-mode scheme
#
或者
#
telnet server enable
#
local-user h3c
password simple h3c
service-type telnet
level3
#
interface Ethernet0/1
port link-mode route
ip address 192.168.0.1 255.255.255.0
#
user-interface vty 0 4
authentication-mode scheme
#
应删除与设备运行、维护等工作无关的帐号 1)HW参考配置:
aaa
undo local-user test
2)Cisco参考配置:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# no username ruser3
3) H3C参考配置:
undo local-user xxx
限制具备管理员权限的用户远程登录。远程执行管理员权限操作,
应先以普通权限用户远程登录后,
再切换到管理员权限帐号后执行相应操作。
1)HW参考配置:
super password level 3 cipher superPWD
aaa
local-user user1 password cipher PWD1
local-user user1 service-type telnet
local-user user1 level 2
#
user-interface vty 0 4
authentication-mode aaa
2) Cisco参考配置:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# service password-encryption
Router(config)# username normaluser password 3d-zirc0nia
Router(config)# username normaluser privilege 1
Router(config)# line vty 0 4
Router(config-line)# login local
Router(config-line)# exec-timeout 5 0
Router(config-line)# end
3) H3C参考配置:
[Router] local-user client001
[Router-luser-client001] password simple aabbcc
[Router-luser-client001] service-type ssh
[Router-luser-client001] authorization-attribute level 3
[Router-luser-client001] quit
对于采用静态口令认证技术的设备,密码应该符合我司账号口令管理要求,
口令长度至少12位,并包括数字、小写字母、大写字母和特殊符号4类中至少3类
1)HW参考配置:
super password level 3 cipher superPWD
aaa
local-user user1 password cipher NumABC%$
2) Cisco参考配置:
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#aaa new-model
Router(config)#aaa authentication login default group tacacs+
Router(config)#aaa authentication enable default group tacacs+
Router(config)#tacacs-server host XX.XX.XX.XX
Router(config)#tacacs-server key Ir3@1yh8n#w9@swD
Router(config)#end
Router#
3) H3C参考配置:
Quidwaylocal-user quidway service-type administrator password simple h3c
VRP3.3
CONSOLE:
Quidwayuser-interface con 0
Quidway-ui-console0authentication-mode password
Quidway-ui-console0set authentication password simple h3c
Quidway-ui-console0user privilege level 3
静态口令必须使用不可逆加密算法加密后保存于配置文件中 1)HW参考配置:
super password level 3 cipher N'C55QK<'=/Q='Q'MAF4<1!!
local-user 8011 password cipher N'C55QK<'=/Q='Q'MAF4<1!!
2) Cisco参考配置:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#service password-encryption
Router(config)# enable secret 2-mAny-rOUtEs
Router(config)# no enable password
Router(config)# end
3) H3C参考配置:
(1)在普通视图下进入系统视图输入命令:system-view
(2)配置动态路由协议口令MD5加密:ospf 2 area 0.0.0.0 authentication-mode md5 1cipher N'C55QK<'=/Q='Q'MAF4<1!!
在设备权限配置能力内,根据用户的业务需要,配置其所需的最小权限。 参考配置操作:
aaa
local-user 8011 password cipher 8011
local-user 8011 service-type telnet
local-user 8011 level 0
#
user-interface vty 0 4
authentication-mode aaa
配置系统时区为GMT+8,北京时区。 在用户模式下输入clock timezone Beijing minus 08:00:00
#注意为minus 8
限制Telnet、SSH登录网络的源地址,从而增强设备的安全性,
最大限度防止非法登陆尝试,应该只允许特定地址访问。
路由器以UDP/TCP协议对外提供服务,供外部主机进行访问,
如作为NTP服务器、TELNET服务器、TFTP服务器、FTP服务器、SSH服务器等,应配置路由器,只允许特定主机访问。
1) HW、H3C参考配置:
Acl 2000
Rule permit ip source XX.XX.XX.XX 0
User-interface vty 0 4
acl 2000 inbound
2) Cisco参考配置:
例如:要配置允许目的为14.1.1.2的所有DNS访问流量
Router(config)# no access-list 140
Router(config)# access-list 140 permit udp any host 14.1.1.2 eq 53
Router(config)# access-list 140 deny udp any any log
开启SSH服务 1) HW参考配置:
输入命令system-view进入系统视图,配置规范如下:
在用户模式下输入system-view进入系统视图,
在系统视图下输入Stelnet server enable
2) Cisco参考配置:
Router(config)# line vty 0 4
Router(config-line)# transport input ssh
Router(config-line)# exit
Router(config)#
3) H3C参考配置:
[Router] ssh server enable
对于使用IP协议进行远程维护的设备,设备应配置使用SSH等加密协议,设置认证方式为password 认证。 1)
HW参考配置:
#rsa peer-public-key quidway002
public-key-code begin
308186028180739A291ABDA704F5D93DC8FDF84C427463199
1C164B0DF178C55FA833591C7D47D5381D09CE82913D7EDF9
C08511D83CA4ED2B30B809808EB0D1F52D045DE40861B74A0
E135523CCD74CAC61F8E58C452B2F3F2DA0DCC48E3306367F
E187BDD944018B3B69F3CBB0A573202C16BB2FC1ACF3EC8F8
28D55A36F1CDDC4BB45504F020125
public-key-code end
peer-public-key end
#
aaa
local-user client001 password simple huawei
local-user client002 password simple quidway
authentication-scheme default
#
authorization-scheme default
#
accounting-scheme default
#
domain default
#
ssh user client002 assign rsa-key quidway002
ssh user client001 authentication-type password
ssh user client002 authentication-type RSA
#
user-interface con 0
user-interface vty 0 4
authentication-mode aaa
protocol inbound ssh
#
2) Cisco参考配置:
I. 配置主机名和域名
router# config t
Enter configuration commands, one per line. End with CNTL/Z.
router(config)# hostname Router
Router(config)# ip domain-name Router.domain-name
II. 配置访问控制列表
Router(config)# no access-list 12
Router(config)# access-list 12 permit host 192.168.0.200
Router(config)# line vty 0 4
Router(config-line)# access-class 12 in
Router(config-line)# exit
III. 配置帐号和连接超时
Router(config)# service password-encryption
Router(config)# username normaluser password 3d-zirc0nia
Router(config)# username normaluser privilege 1
Router(config)# line vty 0 4
Router(config-line)# login local
I. 生成rsa密钥对
Router(config)# crypto key generate rsa
The name for the keys will be: Router.domain-name
Choose the size of the key modulus in the range of 360 to
2048 for your General Purpose Keys. Choosing a key modulus
greater than 512 may take a few minutes.
How many bits in the modulus [512]: 2048
Generating RSA Keys ...
[OK]
II. 配置仅允许ssh远程登录
Router(config)# line vty 0 4
Router(config-line)# transport input ssh
Router(config-line)# exit
Router(config)#
3) H3C参考配置:
# 生成RSA 密钥对。
system-view
[Router] public-key local create rsa
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is greater than 512,
1-13
It will take a few minutes.
Press CTRL+C to abort.
Input the bits of the modulus[default = 1024]:
Generating Keys...
++++++++
++++++++++++++
+++++
++++++++
# 生成DSA 密钥对。
[Router] public-key local create dsa
The range of public key size is (512 ~ 2048).
NOTES: If the key modulus is greater than 512,
It will take a few minutes.
Press CTRL+C to abort.
Input the bits of the modulus[default = 1024]:
Generating Keys...
++++++++++++++++++++++++++++++++++
# 启动SSH 服务器。
[Router] ssh server enable
[Router] ssh user client001 service-type stelnet authentication-type password
# 8.5.2.2安全日志配置
安全配置基线要求 参考配置
设备应配置日志功能,记录用户对设备的操作。
例如:帐号创建、删除和权限修改,口令修改,读取和修改设备配置,
读取和修改业务用户的计费数据、身份数据、涉及通信隐私数据。
记录需要包含用户帐号,操作时间,操作内容以及操作结果。
1) HW参考配置:
info-center logbuffer channel 4
2) Cisco参考配置:
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#aaa new-model
Router(config)#aaa accounting commands 1 default start-stop group tacacs+
Router(config)#aaa accounting commands 15 default start-stop group tacacs+
Router(config)#end
Router1#
3) H3C参考配置:
system-view
[Sysname] info-center enable
info-center source { module-name
设备应配置日志功能,记录对与设备相关的安全事件 1) HW参考配置:
info-center enable
2) Cisco参考配置:
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#aaa new-model
Router(config)#aaa accounting connection default start-stop group tacacs+
Router(config)#aaa accounting exec default start-stop group tacacs+ Router(config)#end
Router1#
3) H3C参考配置:
system-view
[Sysname] info-center enable
info-center source { module-name
设备应支持远程日志功能。
所有设备日志均能通过远程日志功能传输到日志服务器。
设备应支持至少一种通用的远程标准日志接口,如SYSLOG、FTP等。
1) HW参考配置:
info-center loghost 202.38.1.10 facility local4 language english
2) Cisco参考配置:
路由器侧配置:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z
Router(config)# logging on
Router(config)# logging trap information
Router(config)# logging XX.XX.XX.XX
Router(config)# logging facility local6
Router(config)# logging source-interface loopback0
Router(config)# exit
Router# show logging
Syslog logging: enabled (0 messages dropped, 11 flushes, 0overruns)
Console logging: level notifications, 35 messages logged
Monitor logging: level debugging, 35 messages logged
Buffer logging: level informational, 31 messages logged
Logging to XX.XX.XX.XX, 28 message lines logged
..
Router#
3) H3C参考配置:
#开启信息中心。
system-view
[Device] info-center enable
#配置相应的日志服务器地址。
[Device] info-center loghost XX.XX.XX.XX facility local4
#关闭loghost 方向所有模块日志信息的输出开关。
[Device] info-center source default loghost deny
#配置输出规则。
[Device] info-center source ftp loghost level informational
开启NTP服务,保证日志功能记录的时间的准确性。
路由器与NTP SERVER之间要开启认证功能。
1) HW参考配置:
(1)、配置本地时钟作为NTP主时钟
[Huawei]ntp-service refclock-master ?
INTEGER<1-15> Stratum number
X.X.X.X IP address of the local clock 127.127.1.<0-3>
<cr>
[Huawei]ntp-service refclock-master 1
(2)、如果为其他设备提供时钟同步服务,可以配置同步端口号
[HUAWEI] ntp-service port 5000
2) Cisco参考配置:
配置命令如下:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface eth0/0
Router(config-if)# no ntp disable
Router(config-if)# exit
Router(config)# ntp server XX.XX.XX.XX source loopback0
Router(config)# exit
3) H3C参考配置:
(1)配置路由器Router1:
# 进入系统视图。
[h3c] system-view
# 设置本地时钟作为NTP主时钟,层数为2。
[Router1] ntp-service refclock-master 2
(2)配置路由器Router2:
# 设置Router1为时间服务器。
[Router2] ntp-service unicast-server X.X.X.X(服务器IP地址)
以上配置将Router2向Router1进行时间同步,同步前观察Router2的状态为:
[Router2] display ntp-service status
# 8.5.2.3安全服务配置
安全配置基线要求 参考配置
对同时远程登陆到设备上的session数进行限制,可以防止大量的session连接占用过多系统资源,同时便于集中运维。 配置SR路由器并发连接数限制为10个。
在用户模式下输入system-view进入系统视图,在系统视图下输入:user-interface maximum-vty 10
系统应修改SNMP的Community默认通行字,通行字应符合口令强度要求 1) HW参考配置:
snmp-agent community read *** acl2077#设置团体名及访问权限
snmp-agent community write******** acl2077#设置团体名及访问权限
snmp-agent community read XXXX01
2) Cisco参考配置:
修改SNMP的Community默认通行字命令如下:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# snmp-server community my_readonly RO
Router(config)# snmp-server community my_readwrite RW
3) H3C参考配置:
snmp-agent community read XXXX
系统应关闭未使用的SNMP协议及未使用RW权限 1) HW参考配置:
Undo snmp enable
undo snmp-agent community RWuser
2) Cisco参考配置:
Router # config t
Enter configuration commands, one per line. End with CNTL/Z.
Router (config)# no snmp-server community admin RW
3) H3C参考配置:
[H3C] undo snmp-agent
[Agent]undo snmp-agent community read public
[Agent]undo snmp-agent community write private
系统应配置为SNMPV2或以上版本 1) HW参考配置操作:snmp-agent sys-info version v3
2) Cisco参考配置操作:
Snmp-server engineID [local engineid-string] [remote ip-address [udp-port udp-port-number] [vrf vrf-name] engineid-string ] Snmp-server view view-name oid-tree {included | excluded}
Snmp-server group group-name {v1 | v2c | v3 {auth | noauth | priv }} [read read-view-name] [write write-view-name] [notify notify-view-name] [acces access-list]
Snmp-server host host-address [traps | informs ] [version{1 | 2c |3 [auth | noauth | priv]}] community-string [udp-port port-number] [notification-type] [vrf vrf-name]
Snmp-server user username group-name [remote host [udp-port udp-port-number]] {v1 | v2c | v3 [encrypted] [auth {md5 | sha} auth-password]} [access access-list]
3) H3C参考配置:
进入system-view,
创建SNMPv3组:snmp-agent group v3 group-name [ authentication | privacy ] [ read-view view-name ] [ write-view view-name ] [ notify-view view-name ] [ acl acl-number | acl ipv6 ipv6-acl-number ] *
创建SNMPv3用户 :snmp-agent usm-user v3 user-name group-name [ remote { ip-address | ipv6 ipv6-address } [ vpn-instance vpn-instance-name ] ] [ { cipher | simple } authentication-mode { md5 | sha } auth-password [ privacy-mode { aes128 | des56 } priv-password ] ] [ acl acl-number | acl ipv6 ipv6-acl-number ] *
设置SNMP访问安全限制,只允许特定主机通过SNMP访问网络设备 1) HW、H3C考配置操作:
snmp-agent community read XXXX01 acl 2000
2) Cisco参考配置操作:
使用ACL限制只与特定主机进行SNMP协议交互
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# access-list 75 permit host XX. X. X. X
Router(config)# access-list 75 deny any log 2.
# 8.5.2.4安全规则配置
安全配置基线要求 参考配置
动态路由协议口令要求配置MD5加密 1) HW、 H3C参考配置操作:
ospf 2
area 0.0.0.0
authentication-mode md5 1 cipher N C55QK< =/Q=^Q`MAF4<1!!
2) Cisco参考配置操作:
1>、配置Router1和Router2间Ospf 启用MD5验证
Router1配置:
Router1# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router1(config)# router ospf 1
Router1(config-router)# network 14.1.0.0 0.0.255.255 area 0
Router1(config-router)# area 0 authentication message-digest
Router1(config-router)# exit
Router1(config)# int eth0/1
Router1(config-if)# ip ospf message-digest-key 1 md5 r0utes-4-all
Router1(config-if)# end
Router1#
Router2配置:
Router2# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)# router ospf 1
Router2(config-router)# area 0 authentication message-digest
Router2(config-router)# network 14.1.0.0 0.0.255.255 area 0
Router2(config-router)# network 14.2.6.0 0.0.0.255 area 0
Router2(config-router)# exit
Router2(config)# int eth0
Router2(config-if)# ip ospf message-digest-key 1 md5 r0utes-4-all
Router2(config-if)# end
Router2#
2>、配置Router1和Router2间EIGRP 启用MD5验证
Router1配置:
Router1# config t
Enter configuration commands, one per line.End with CNTL/Z.
Router1(config)# router eigrp 100
Router1(config-router)# network 14.1.0.0 255.255.0.0
Router1(config-router)# exit
Router1(config)# interface eth 0/1
Router1(config-if)# ip authentication mode eigrp 100 md5
Router1(config-if)# ip authentication key-chain eigrp 100 Router1-KC
Router1(config-if)# exit
Router1(config)# key chain Router1-KC
Router1(config-keychain)# key 1
Router1(config-keychain-key)# key-string my-secret-key
Router1(config-keychain-key)# send-lifetime 00:00:00 Oct 1 2003
00:00:00 Jan 1 2004
Router1(config-keychain-key)# accept-lifetime 00:00:00 Oct 1 2003
00:00:00 Jan 7 2004
Router1(config-keychain-key)# end
Router1#
Router2配置:
Router2# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router2(config)# router eigrp 100
Router2(config-router)# network 14.1.0.0 255.255.0.0
Router2(config-router)# network 14.2.6.0 255.255.255.0
Router2(config-router)# passive-interface eth1
Router2(config-router)# exit
Router2(config)# interface eth 0
Router2(config-if)# ip authentication mode eigrp 100 md5
Router2(config-if)# ip authentication key-chain eigrp 100 Router2-KC
Router2(config-if)# exit
Router2(config)# key chain Router2-KC
Router2(config-keychain)# key 1
Router2(config-keychain-key)# key-string my-secret-key
Router2(config-keychain-key)# send-lifetime 00:00:00 Oct 1 2003
00:00:00 Jan 1 2004
Router2(config-keychain-key)# accept-lifetime 00:00:00 Oct 1 2003
00:00:00 Jan 7 2004
Router2(config-keychain-key)# end
Router2#
关闭未使用的端口 1) HW、H3C参考配置:
shutdown
2)Cisco参考配置:
如关闭AUX口,操作如下:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# line aux 0
Router(config-line)# transport input none
Router(config-line)# login local
Router(config-line)# exec-timeout 0 1
Router(config-line)# no exec
Router(config-line)# exit
配置定时帐户自动登出,登出后用户需再次登录才能进入系统 1) HW、H3C考配置:
user-interface vty 0 4
idle-timeout 15 0
user-interface con 0
idle-timeout 15 0
2)Cisco参考配置:
a.Console登录连接超时:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# line con 0
Router(config-line)# exec-timeout 15 0
b.远程登录连接超时:
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# line vty 0 4
Router(config-line)# exec-timeout 15 0
系统使用的端口默认无描述,安全事件处理及后期日志查询较为不便,
出于安全考虑,应该将使用的端口添加符合实际应用的描述
HW、Cisco、H3C参考配置操作:
set port name module/number description-string
为防止ARP欺骗攻击,出于安全考虑,应该关闭路由器的ARP代理功能 1) HW、H3C考配置:
arp-proxy disable
2)Cisco参考配置:
禁用PROXY ARP
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# interface eth 0/0
Router(config-if)# no ip proxy-arp
Router(config-if)# exit
Router(config)# interface eth 0/1
Router(config-if)# no ip proxy-arp
Router(config-if)# exit
Router(config)# interface eth 0/2
Router(config-if)# no ip proxy-arp
Router(config-if)# exit
Router(config)# interface eth 0/3
Router(config-if)# no ip proxy-arp
Router(config-if)# end
关闭网络设备不必要的服务,比如FTP、TFTP、UDP、Finger服务等 1) HW、H3C考配置:
undo ftp(TFTP) server
2)Cisco参考配置:
a.禁用tcp/udp小服务
Router# config t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)# no service tcp-small-servers
Router(config)# no service udp-small-servers
Router(config)# exit
b.禁用Finger
Router(config)# no ip finger
Router(config)# no service finger
c.禁用HTTP SERVER
Router(config)# no ip http server
d.禁用BOOTP SERVER
Router(config)# no ip bootp server
e.关闭DNS查询功能
Router(config)# no ip domain-lookup
f.显式配置DNS SERVER
Router(config)# ip name-server 192.168.0.1
Router(config)# ip domain-lookup

# 8.6终端安全基线(适用于win、mac类型电脑)

# 8.6.1 接入控制

安全配置基线要求 参考配置
第三方计算机终端不得接入公司网络 检查并删除已接入的第三方终端
只有按要求完成办公终端初始化配置,并且符合网络准入要求的办公终端方可访问公司授权的资源 检查办公终端初始化配置,符合网络准入要求的办公终端方可访问公司授权的资源
接入公司办公网的办公终端必须加入公司域,只有合法用户和授权的终端计算机才允许访问公司的核心业务系统 检查接入公司办公网的办公终端必须加入公司域,只有合法用户和授权的终端计算机才允许访问公司的核心业务系统
必须定期对办公终端的异常接入进行监控和分析,针对异常的接入情况采取处置措施并跟进 对终端的接入日志进行监控和分析,针对异常的接入情况采取处置措施并跟进

# 8.6.2 安全配置

安全配置基线要求 参考配置
公司办公终端必须统一加入公司办公域,接受域策略的管理 公司办公终端必须统一加入公司办公域,接受域策略的管理
公司办公终端使用之前必须按照“终端安全配置基线”要求完成安全初始化安全配置 公司办公终端使用之前必须按照“终端安全配置基线”要求完成安全初始化安全配置

# 8.6.3 端口控制

安全配置基线要求 参考配置
必须关闭办公终端的所有数据传输端口(如USB、蓝牙、串口),如因业务需要,必须通过OA流程进行申请并得到审批 检查并关闭办公终端的所有数据传输端口(如USB、蓝牙、串口),如因业务需要,必须通过OA流程进行申请并得到审批
办公终端数据传输端口开通的最长有效期为6个月,达到有效期的端口必须进行关闭,如需延长有效期必须提交OA流程重新申请 办公终端数据传输端口开通的最长有效期为6个月,达到有效期的端口必须进行关闭,如需延长有效期必须提交OA流程重新申请
必须对办公终端USB、读卡器端口的写入动作进行日志记录,日志包括写入的行为日志、文件名日志 检查并配置办公终端USB、读卡器端口写入动作的日志记录,日志包括写入的行为日志、文件名日志
必须对办公终端的数据传输接口异常行为进行监控和分析,针对异常的行为采取处置措施并跟进 对办公终端的数据传输接口异常行为进行监控和分析,针对异常的行为采取处置措施并跟进

# 8.6.4 病毒防护

安全配置基线要求 参考配置
必须设置病毒扫描策略,至少每月对公司办公终端进行一次全盘安全扫描 设置病毒扫描策略,至少每月对公司办公终端进行一次全盘安全扫描
办公终端杀毒软件的病毒特征库必须每天进行更新 检查并确认终端杀毒软件的病毒特征库必须每天进行更新
必须对办公终端病毒报警日志进行监控和分析,并针对异常报警采取处置措施并跟进 配置终端防病毒日志收集并分析

# 8.6.5 漏洞防护

安全配置基线要求 参考配置
必须定期关注桌面系统的补丁更新,对“紧急”漏洞进行预警 定期关注桌面系统的补丁更新,对“紧急”漏洞进行预警
对信息安全部预警的“紧急”漏洞,必须在15个工作日内下发官方提供的补丁 对信息安全部预警的“紧急”漏洞,必须在15个工作日内下发官方提供的补丁
安全类级别为”紧急“、”重要“的补丁必须下发 检查并下发安全类级别为”紧急“、”重要“的补丁
系统类、功能类级别为”紧急“的补丁必须下发 检查并下发系统类、功能类级别为”紧急“的补丁
Windows OS以及微软系列应用涉及的“警告”、“注意”漏洞可按照需求进行下发 Windows OS以及微软系列应用涉及的“警告”、“注意”漏洞可按照需求进行下发
所有下发的桌面系统补丁必须进行测试验证 补丁下发前进行测试验证
所有安装的操作系统补丁必须有下发记录 配置补丁下发记录

# 8.6.6 应用安全

安全配置基线要求 参考配置
办公网终端用户不允许私自安装非标软件,不允许终端用户私自卸载统一安装的标准软件,如需安装非标软件,可通过ITSM流程进行申请并得到审批 办公网终端用户不允许私自安装非标软件,不允许终端用户私自卸载统一安装的标准软件,如需安装非标软件,可通过ITSM流程进行申请并得到审批
必须对办公终端异常的安装行为进行监控和分析,并针对异常的安装行为跟进和处理 监控终端异常安装行为,并对异常行为进行跟进和处理

# 8.6.7 数据安全

安全配置基线要求 参考配置
终端保存或备份的A密文档,必须加密保存 端保存或备份的A密文档,必须加密保存
终端保存或备份的B密、C密、D密文档,可按需对文档进行加密 终端保存或备份的B密、C密、D密文档,可按需对文档进行加密
终端的打印行为必须进行日志记录 配置打印机的日志记录
办公终端的硬盘故障更换,需要先对故障硬盘进行数据清除处理后方可进行更换 更换故障硬盘前对硬盘进行数据清除
报废、捐赠、变卖的办公终端的硬盘需要对数据进行清除后方可进行后续处理 报废、捐赠、变卖的办公终端的硬盘需要对数据进行清除
必须对二级部门领导以上用户使用的公司移动办公终端做全硬盘加密 检查并配置对二级部门领导以上用户使用的公司移动办公终端做全硬盘加密
必须对离开办公网络的电脑进行上传网站及部分应用封锁 配置防火墙策略,对离开办公网络的电脑进行上传网站及部分应用封锁

# 9.版本历史

2018年12月:发布1.0 版本。

2020年3月:发布1.1版本。

2021年1月:发布1.2版本。