一、敏感信息安全传输
1、采用HTTPS安全协议传输
2、客户端本地保存的敏感信息,需要先加密再保存使用,不可逆支持PBKDF2(迭代10000次)加密保存,可逆支持AES256+IV保存,密钥支持可更新
二、认证鉴权
1、License中心与分析节点分布式部署,需要做用户名+口令安全认证,支持使用HTTPS安全协议。
2、客户端登录支持防暴力破解,支持验证码,多次连续尝试登陆失败后锁定账号或IP
3、用户口令符合安全复杂度要求
4、机机接口支持口令修改
三、协议与接口防攻击
1、系统所有的对外通信连接必须是系统运行和维护必需的,对使用到的通信端口在产品通信矩阵文档中说明,动态侦听端口必须限定确定的合理的范围。通过端口扫描工具验证,未在通信矩阵中列出的端口必须关闭。
四、产品开发、发布和安装安全
1、禁止存在任何“未公开接口”
1) 禁止存在可绕过系统安全机制(认证、权限控制、日志记录)对系统或数据进行访问的功能。
a) 禁止隐秘访问方式:包括隐藏账号、隐藏口令、无鉴权的隐藏模式命令/参数、隐藏组合键访问方式;隐藏的协议/端口/服务;隐藏的生产命令/端口、调测命令/端口;不记录日志的非查询操作等。
b) 禁止不可管理的认证/访问方式:包括用户不可管理的帐号,人机接口以及可远程访问的机机接口的硬编码口令,不经认证直接访问系统的接口等。
2) 未文档化的命令/参数、端口等接入方式(包括但不限于产品的生产、调测、维护用途),需通过产品资料等向运营商或监管机构公开或受限公开。
五、Web系统安全
1、口令不允许明文存储在系统中,应该加密保护。在不需要还原口令的场景,必须使用不可逆算法加密。对银行账号等敏感数据的访问要有认证、授权和加密机制。
2、禁止使用私有加密算法。
3、用于敏感数据传输加密的密钥,不能硬编码在代码中。
4、涉及个人数据的采集/处理的功能须提供安全保护机制(如认证、权限控制、日志记录等),并通过产品资料向客户公开。
六、系统管理和维护安全
1、系统自身操作维护类口令满足 “口令安全要求”。
七、WEB安全
1、产品对于每一个需要授权访问的请求都需核实用户的会话标识是否合法、用户是否被授权执行此操作。
说明:
1)请求是否需要鉴权,由产品根据具体业务需要以及安全风险确定。
2)对于图标、CSS文件、静态页面或JavaScript等,如果公开后没有安全风险,不强制认证鉴权。
2、对用户的最终认证处理过程必须在服务器端进行。
3、使用Appscan工具扫描,扫描结果应进行分析处理,与XSS、SQL注入和命令注入漏洞相关的告警(告警描述中有相应描述),如果确认是问题的,都必须在版本发布前得到解决。
4、若输出到客户端或者解释器的数据来自不可信的数据源,则须对该数据进行相应的编码或转义。
说明:产品根据实际输出的目标位置,使用ESAPI或Web安全框架中提供的相应的编码接口对不可信数据进行编码。如自己实现,至少确保对&、<、>、"、'、(、)七种特殊字符进行编码。
5、使用公司指定的Web漏洞扫描工具AppScan对产品Web应用和Web服务器进行扫描测试,(测试应使用当时最新的漏洞库、配置所有漏洞相关插件)。
扫描结果应进行分析处理,确认漏洞的实际风险级别,其中高风险级别的必须在版本发布前得到解决(如修改、补丁安装、有效规避并在资料中提示风险),中低风险级别的若当前版本确实无法解决的,必须给出分析结论并明确后续解决版本。
6、Web应用程序使用业界主流的web容器(Apache、Tomcat、jboss、weblogic、nginx、jetty、resin、websphere、IIS)的会话标识生成机制生成会话标识。
7、用户登陆认证通过后必须更换会话标识,以防止会话固定(session fixation)漏洞。
8、产品的Web应用如果提供上传文件到Web内容目录的功能,必须在服务端对上传的文件类型进行限制(基于白名单机制对文件扩展名进行限制),仅允许上传业务允许的文件类型。
说明:Web内容目录是指通过Web可以直接浏览、访问的目录。
八、漏洞扫描
1.产品自研代码使用Coverity代码静态检查工具进行扫描,并对扫描的告警进行分析,确认告警的实际风险等级,对于实际风险为“高”的漏洞(CVSS 7分及以上),必须进行解决或规避。
2. 通过华为应用商店发布的应用软件需在所运行的平台上经过公司要求的安全软件进行扫描,不允许存在病毒、木马、恶意程序。
在公司VMP自动化病毒扫描部署以前,各平台按照以下要求实施:
1)Windows平台公司要求使用MacAfee和Norton 进行扫描。
2)Linux平台如不涉及安装应用软件,暂不要求。
3、对于通过华为应用商店发布的移动应用(Mobile app),禁止存在病毒、木马,以及发送恶意广告、吸费、恶意消耗流量的行为。
九、合法监听接口
1、合法监听接口应遵循通用的国际标准。如果少数国家对此标准有特殊要求时,应严格限制该产品只能在该国销售或应用。如果我司被要求不能提供合法监听接口时,必须从产品和解决方案中删除此接口,确保现网设备无法通过任何形式启用
2、系统中和合法监听相关的接口禁止存在合法监听网关正常接口之外的任何其它调用方式,包括命令、脚本、调试接口等。确保产品和解决方案的合法监听接口的安全性,防止被盗用、误用或滥用,防止被监听对象以及任何未经授权的第三方感知,防止相关信息或内容被泄露。
3、在正常业务流程和标准协议之外,禁止提供可在最终用户不知情同意的情况下,采集最终用户原始通信内容(语音类、短信/彩信类、传真类、数据业务类)的功能,即使该功能是为了保障网络运营和服务。
特定国家法律不禁止的情况下,可以对销售往该国的产品定制开发。
十、隐私保护
1、涉及个人数据的采集/处理的功能须提供安全保护机制(如认证、权限控制、日志记录等),并通过产品资料向客户公开。
2、对于移动终端,通过网络对个人数据进行采集/共享/同步的功能须得到最终用户的明确同意,同时给予最终用户随时撤回同意的机会。
3、禁止将个人数据转移出EEA,产品出于定位问题目的从客户网络导出的包含个人数据的数据时应对个人数据进行过滤或匿名化处理
4、在正常业务流程和标准协议之外,禁止出于故障定位目的进行用户精确位置信息定位。在运营商提供增值服务时,如需处理用户精确位置数据,应获得运营商的授权,并在方案设计时,给予最终用户随时撤回同意的机会。
特定国家法律不禁止的情况下,可以对销售往该国的产品定制开发。
5、涉及个人数据的采集/处理的功能须提供安全保护机制(如认证、权限控制、日志记录等),并通过产品资料向客户公开。
十一、未公开接口
1、禁止存在任何“未公开接口”:
1)禁止存在可绕过系统安全机制(认证、权限控制、日志记录)对系统或数据进行访问的功能。
• 禁止隐秘访问方式:包括隐藏账号、隐藏口令、无鉴权的隐藏模式命令/参数、隐藏组合键访问方式;隐藏的协议/端口/服务;隐藏的生产命令/端口、调测命令/端口
• 禁止不可管理的认证/访问方式:包括用户不可管理的帐号,人机接口以及可远程访问的机机接口的硬编码口令。
2)未文档化的命令/参数、端口等接入方式(包括但不限于产品的生产、调测、维护用途),需通过产品资料等对客户公开或受限公开。
十二、访问通道控制
1、系统支持无法从用户面直接登录连接管理接口(不支持独立的管理IP地址的产品除外)。
2、系统所有的对外通信连接必须是系统运行和维护必需的,对使用到的通信端口在产品通信矩阵文档中说明,动态侦听端口必须限定确定的合理的范围。通过端口扫描工具验证,未在通信矩阵中列出的端口必须关闭。
3、所有能对系统进行管理的人机接口以及跨信任网络的机机接口必须有接入认证机制,标准协议没有认证机制的除外。
4、设备外部可见的能对系统进行管理的物理接口必须有接入认证机制。
十三、软件完整性保护
1、在软件包(含补丁包)发布前,需要经过至少二款防病毒软件扫描,保证防病毒软件不产生告警,特殊情况下对告警作出解释说明。扫描记录(防病毒软件名称、软件版本、病毒库版本、扫描时间、扫描结果等)存档并随软件包(含补丁包)发布给客户。
2、产品对外发布的软件(包含软件包/补丁包)必须提供完整性校验机制,在安装、升级过程中对软件进行完整性验证。
十四、敏感数据与加密保护
1、认证凭据不允许明文存储在系统中,应该加密保护。
2、禁止使用私有加密算法。
3、用于敏感数据传输加密的密钥,不能硬编码在代码中。
十五、日志审计
1、管理面所有对系统产生影响的用户活动、操作指令必须记录日志,日志内容要能支撑事后的审计,记录包括用户ID、时间、事件类型、被访问资源的名称、访问发起端地址或标识、访问结果等;日志要有访问控制,只有管理员才能有删除权限。
1)用户活动包括:
(1)登录和注销;
(2)增加、删除用户和用户属性(帐号、口令等)的变更;
(3)用户的锁定和解锁,禁用和恢复;
(4)角色权限变更;
(5)系统相关安全配置(如安全日志内容配置)的变更;
(6)重要资源的变更,如某个重要文件的删除、修改等。
2)操作指令包括:
(1)对系统配置参数的修改;
(2)对系统进行启动、关闭、重启、暂停、恢复、倒换;
(3)对业务的加载、卸载;
(4)软件的升级操作,包括远程升级和本地升级;
(5)对重要业务数据(特别是与财务相关的数据,包括:卡号、余额、话单、费率、费用、订单、出货、帐单等)的创建、删除、修改;
6)所有帐户的命令行非查询操作命令。
上述活动和指令,如果第三方OS/DB不支持记录日志或者启用记录存在严重性能影响,不强制缺省启用。
十六、权限最小化
1、检查提供的进程是否支持非root账号运行
十七、口令要求
1、设置口令时,默认检测口令复杂度:
系统默认检测口令复杂度,口令至少满足如下要求:
1)口令长度至少6个字符;
2)口令必须包含如下至少两种字符的组合:
-至少一个小写字母;
-至少一个大写字母;
-至少一个数字;
-至少一个特殊字符:`~!@#$%^&*()-_=+\|[{}];:'",<.>/?和空格