1. 概述
基于Internet技术并布局,V5平台充分考虑了对安全的要求,支持多级多种安全管理,对PC和移动应用进行全方位的安全管控。参照国家信息系统安全等级保护的相关标准,对标ASVS(OWASP Application Security Verification Standard),通过数据库安全性、系统数据安全性、应用服务器安全性、传输安全性、统一身份认证、安全审计和客户端安全等措施保证系统安全,增强了系统的高安全性。系统的安全服务主要包括:统一身份认证服务、访问控制(权限体系)、数据保密性(存储安全)、数据完整性(传输安全)、不可否认性(审计安全),这五种服务相辅相成,建立一个强大的安全矩阵,有效防止黑客的攻击,保障系统数据安全。
2. 身份鉴别
V5平台的登录控制模块对用户进行身份唯一性标识和鉴别,对每个账户的并发连接进行数量限制,并且单个账户不能重复登录。系统后台提供登录失败处理机制,图片验证码防暴力破解,登录失败一定次数后账号将被锁定并记录IP信息,小时禁止登录或由管理员解锁,限制非法登录。可对用户设置IP信任,只允许指定IP或IP段的终端登录。V5平台提供身份认证狗和短信验证码登录方式,支持密码的加密传输,提供CA认证接口等方案,识别访问者身份。
用户名+动态口令:安全登录除了需要用户名和密码外,还需要与用户相匹配的动态口令输入,保障账户信息的安全性。登录动态口令采用上海动联信息技术有限公司的动态密码身份认证解决方案,并且可接入短信网关进行短信验证。
标准化CA接口:CA(Certificate Authority),数字证书认证中心检查证书持有者身份的合法性,并签发证书以防止被伪造或篡改,对证书和密钥进行安全管理。如果用户自身有CA体系,致远平台提供CA接口支持,标准可接入天威诚信、上海格尔和吉大正元等供应商的产品。
登录密码加密:用户在客户端输入的密码采用SHA-加密算法加密,该算法是美国联邦政府使用的加密算法。平台对重要信息支持MD不可逆杂凑算法,传输支持HTTPS协议。考虑到系统性能问题,平台默认采用低位的RSA算法,如客户需要可考虑高位的RSA算法。
登录验证码:用户登录需要输入随机验证码,此项功能主要是为了识别用户登录与计算机模拟登录,以防止恶意爬虫程序等入侵,保证信息安全。
身份验证狗:身份验证狗是目前保障用户登录信息安全的重要措施之一,作为验证用户身份的USB可插拔式硬件,可提供保密性极高的登录验证。致远V5平台验证狗的功能目前可支持包括普通用户、管理员等所有用户在内的账号。用户必须使用验证狗(即对应的USB硬件)才能登录,以保证即使用户登录信息泄露,没有验证狗则无法登录,确保账号安全。
LDAP/AD:V5平台标准支持通过LDAP或AD进行身份认证。
IP访问控制:系统可对每个用户设置,仅允许使用指定的IP或IP范围登录。对于移动,可以绑定终端设备,指定的用户仅能使用绑定的设备登录。
密码强度控制:V要求所有接入的系统的密码必须达到高安全级别(长度不小于个字符,复杂度为大小写字母和数字混合,定期需修改密码),拒绝连接弱口令的数据库。并且不允许用户账号、开发者的REST账号等使用弱口令。
自定义扩展:平台对登录认证提供了二次开发接口,开发者可根据自身需求编写Authentication和Interceptor,实现自己的认证逻辑或结合二维码或短信实现二次认证。
3. 访问控制
致远V5平台提供访问权限机制,单位管理员可依据单位的安全策略控制用户对文件、数据库表等客体的访问操作,控制范围包括对普通用户的权限分配、系统模块使用的权限分配等。V5平台的访问控制体系主要有基于角色的访问控制(RBAC)体系与其他个性化安全服务控制组成。
平台还自行研发专用的越权扫描工具,对于关键角色的功能请求进行垂直和水平越权检测。
3.1. 基于角色的访问控制(RBAC)体系
基于角色的访问控制(RBAC)体系基于个人、单位、部门、群组、角色、岗位、职务级别等多种角色的权限控制,只有单位管理员才可以针对以上属性进行灵活的权限设定,授予不同用户业务所需的最小权限,确保信息安全的可定义性和可执行性。
ACL权限控制总表:致远V5平台采用基于角色的访问控制(RBAC)权限体系,使权限控制更加严格。在一个组织体系中,用户被指派为某个角色,同时被赋予该角色对应的权限,权限外的信息无法接触,保证系统信息的安全。在人员职能发生变化时,只需改变用户的角色即可切换相应的权限,简化操作;
协同、公文、文档等详细内容的访问控制:在ACL权限控制总表的基础上,可以轻松设置不同用户权限的具体参数以及业务的逻辑顺序。全程实现零代码操作,简单便捷,可根据单位自身安全体系设置不同逻辑体系与参数,自定义功能强大;
公告、调查等业务表单与附件下载、关联:系统用户在平台上只能查看自己身份权限范围内的公告、调查等业务员表单,对于附件的下载、关联等操作也有着相应的权限设置;
表单统计查询页面访问控制:根据登陆用户角色所对应的权限,业务逻辑体系输出用户权限可查询的页面范畴,保证用户只能接触到权限内的信息;
表单、项目、HR、工资、文档管理员的页面访问权限:整个协同系统基于RABC体系设计,故页面访问权限与查询页面访问权限类似,根据用户角色所对应的权限,只能访问权限内的相关页面,保证信息不越权;
各角色功能菜单界面与访问控制:根据RABC体系的权限逻辑,不同角色(包括系统管理员、后台管理员)对应不同的权限,相应的功能菜单界面也不同,每个功能界面只覆盖其对应权限的功能,只支持其角色对应的权限访问,无其他在角色权限外的功能;
文档的授权与日志:文档的相关操作,包括:授权、只读、浏览、下载、打印等,都采用urlDigset机制,用户在进行登录操作时,每次均会生成不同的动态参数,系统会采集用户访问页面产生的url信息,与动态参数混淆,生成除了身份识别外的另一个校验标识,用于识别用户信息;
协同和协同立方访问安全:和文档相同,协同和协同立方的安全访问均采用urlDigest机制,防止用户越权查看权限外的统计信息;
公告、讨论等发布信息权限控制:基于RABC体系,发布信息也有对应的权限控制,部分信息发布只有高级别的角色才有权限。公告等发布信息的新建、审核、发布等操作确保不同角色权限分离,使得一条信息的发布必须经过不同人的权限授予,保证信息的正确性与安全性。单位的讨论区、社区等论坛媒介中,发帖与回帖也设置了相应的权限控制;
协同附件:协同附件与普通附件下载、关联一样,设置了同样级别的安全处理机制,除此以外,表单还可以通过单元格控制附件的访问权限,如文件的只读、编辑、不可见等,进一步增强了安全性;
工资管理权限:由于工资涉及到员工个人隐私与公司机密,致远V5平台的工资管理模块独立于其他模块设计,工资查看增设了独立密码,对密码采用MD不可逆算法加密,工资模块的管理权限仍然依据RABC体系,保证信息不越权;
3.2. 个性化安全服务
个性化安全服务是致远V5平台基于单位自身安全系统以及其他安全需求所开放的可供选择的服务,使安全体系更切合用户实际安全需求,保证每个用户不同的安全需求均可得到满足。
AD/LDAP:AD(Active Directory)是微软基于LDAP提供给SERVER平台的目录服务,其作用除了提供目录服务与集中式管理外,还可以确保只有在具备安全保障的前提下,经过授权的用户或应用程序才可以针对相关资源实施访问调用,是一种重要的安全措施。若用户自身使用AD域,致远平台支持扩展接口。
SSO:单点登录,即协同系统与组织系统,如财务系统挂钩,登录一次即可访问其他系统。传统登录方式是在两个系统间建立相互信任关系或两个账号之间采用某种映射关系,容易被利用破解,致远V5平台采用领先的ticket策略,每次访问被集成系统,平台会根据账户信息随机产生一个ticket信息来与被集成系统握手,只有持有相应ticket的访问请求才能访问被集成系统,且ticket随机产生,有时效性控制;
SOA(webservice):webservice(基于开放XML的web应用平台)是目前最适合SOA(面向服务的体系结构)的技术集合,平台在访问SOA时同样采取和SSO一样的ticket和IP限制策略,系统监控所有操作记录并生成日志,同时,账户信息加密储存,保证信息的安全性;
二次开发:致远V5平台的二次开发代码需要经过平台的安全检查,代码需要符合平台的安全开发规范,保证平台的安全性。用户在使用开放的接口时,一旦接口有可能接触到系统的重要信息,将记录完整的审计信息,保证可追溯,从而保证系统的安全;
限定部分用户登录的IP地址:为了防止其他人窃取账户登录信息来登录系统,致远V5平台提供限定部分用户登录IP地址的服务,通过强制规定部分用户的IP地址,可以保证重要用户的登录只能在单位内网或内网的某个固定IP地址上登录,确保账号信息的安全;
接口自定义扩展:致远V5平台提供开放接口,支持所有主流的安全系统,若用户自身有其他相关的安全防护模块,则可通过扩展接口自定义拼接至致远V5平台上;
数据库用户权限:平台提供安装维护手册,对相应的权限设置有详细的说明。
4. 安全审计&抗抵赖
致远V5平台提供安全审计功能,覆盖系统中的所有用户、事件的安全操作,包括用户登录信息、表单操作、模块操作等,审计记录内容包括操作类型、事件日期、时间、IP、操作者信息、岗位、描述、结果。审计日志保存在数据库中,只可追加,不能覆盖,只有数据库管理员有权限进行相关操作。系统管理员、单位管理员、审计管理员可浏览和导出日志进行分析,审计管理员有删除日志权限,其它管理员不允许删除。V5平台采用数字签名技术,保证平台所有操作均可追溯,确保数据的不可否认性。
业务数据防篡改:致远V5平台会对系统文档中的正文、流程和公文单/表单添加数字标签,在标签中设定相应的操作信息,如无法二次编辑、无法拷贝等,且支持第三方数字验证,保证文件信息的完整性与安全;
数字签名:支持电子签章与文档捆绑,通过密码验证、签名验证、数字证书验证等确保文档防伪造、防篡改、防抵赖,安全可靠;实现对签章人的身份识别,确保其真实意愿的体现,防止事后抵赖,有效地杜绝了安全隐患;
业务日志:致远V5平台监控所有文档的操作记录并生成日志文件,包括:用户密码修改、组织模型变更、授权变更等操作,保证平台上的任何操作均可追溯。同时,业务日志实现严格的权限访问机制,只有高级别的审计员才可以访问查看业务日志,并且无修改、拷贝权限。访问日志的记录也会被生成在新的日志信息中,确保了日志信息的唯一性和完整性;
监控:V5平台的访问控制基于RBAC预置,平台小时监控操作信息,特别是当系统集群时,平台将做分节点查看,保证不遗漏每个节点的操作信息。
5. 剩余信息保护
致远V5平台使用HTTP协议进行通信,通过会话管理用户身份,用户登录成功后重新生成会话,并在登出后失效会话。系统在后台定时检测在线用户,发现断开后立刻将会话标识为失效。
对于未登录用户可访问资源也进行了严控,除了JS、CSS和登录页相关图片之外,未登录用户无法访问后台的数据库和文件等资源。登录用户也无法越权访问其他用户的资源,平台对于所有的请求都进行了控制,不接受前端传入的人员身份信息,只根据会话中当前用户进行数据查询和筛选。甚至文件下载的URL也携带了当前登录用户信息,即使被其他用户获取也无法正常下载。从数据库中读取的数据在返回给前端用户后即进行释放,其生命周期为当前线程结束。系统中的文件均进行加密,用户下载时进行解密,存储为随机文件名,并在传输完成时自动清除解密的数据。
平台对敏感数据进行加密存储(如密码、手机号、工资数据等),包括管理员也无法获取。致远团队采用了主流的渗透测试工具AppScan进行代码扫描,可以扫描大部分的Web应用安全漏洞,是目前针对web应用安全监测功能最强大的扫描工具。平台提供三种文件加密策略,提供支持单位自身安全体系的接口服务。
密码加密:用户登录密码存储采用MD加密策略,安全系数高;不同用户即使密码相同存储的值也不相同。V5平台会检测用户的密码强度,对于强度有最低限制要求。平台会建议用户定期修改密码,管理员也可设置强制用户定期修改密码。V5平台支持密码防暴力破解,如果系统检测到有短时间内的高频率密码登录测试,则将禁止该用户的登录,并通知管理员,保证用户登录信息的安全。前端登录请求中的密码使用SHA-加密传输。
敏感信息加密:V5平台对于单位、个人用户的敏感信息,如通讯录信息、印章、HR信息等都单独做了混淆、加密处理,并对混淆信息进行测试,保证敏感信息的安全;工资信息还进行了特定规则的混淆,保证了信息的安全;
附件加密:针对附件安全,致远提供不加密、中度加密和深度加密三种策略,由于深度加密会对系统产生一定的性能影响,因此附件加密策略可由用户选择,并可通过接口自行扩展;
Lucence加密:全文检索加密,全文搜索产生的目录可能包含单位的重要信息,致远平台将搜索目录进行加密,保证搜索结果的安全性;
配置信息加密:致远平台对连接池等系统配置信息进行加密存储,保证系统信息不泄露;连接池拒绝连接弱口令的数据库。
Cookie安全:平台的所有Cookie均设置了HttpOnly,避免前端获取Cookie中的SessionId等重要信息。
异常堆栈泄露代码:为防止系统运行异常导致堆栈泄露有关代码,避免向前台输出异常堆栈,后台日志也进行输出控制,禁止输出敏感信息;所有的、和错误均进行了处理,避免泄漏中间件类型和版本信息。
核心代码混淆编译:平台核心代码采取混淆编译的加密算法,测试证明核心代码混淆能力达到ClassLoader(类加载器)级解决方案。类加载器是负责处理JAVA程序中所有类加载问题中最为复杂的组件,属于程序加载的核心,V5平台的代码加密机制已可保证类加载器级别的信息安全;
低质量代码监测:平台对系统源代码进行CodeReview(代码评审),使用PMD(开源分析JAVA代码错误的主要工具)、Jtest(综合提高代码质量的自动化测试解决方案)来查找代码漏洞,同时使用CheckStyle来规范代码的编写,降低低质量代码的概率;
数据备份包安全:平台通过SQLServer自带的备份工具每天对应用系统业务数据进行备份,确保系统在发生故障时能进行恢复,同时致远提供额外的数据备份包安全服务,可根据客户要求提供相应的解决方案;
中间件、操作系统更新:为保证数据的保密性,平台要求系统的中间件、操作系统等均为最新版本,包括JDK、Tomcat、WAS、Oracle、SQLServer等,系统随时提醒更新,防止漏洞的产生。
6. 通信完整性及保密性
致远V5平台为保证用户数据的完整性,提供数据有效性检验功能,系统会对输入的数据格式与字符长度进行校验并给出相应的提示。V5平台对通信传输过程中的敏感信息字段进行加密,包括对上传文件进行BASE算法加密等,还支持HTTPS安全传输、对用户输入数据进行转义等服务。
脚本注入:V5平台在数据信息进行传输前,进行了脚本注入检查,对用户的一些重要数据信息、特殊字符进行了某种规则的转义。当用户信息随cookies进行传输时,即使信息被拦截,用户信息也无法被别人识别,有效防止了单位内部安全信息的泄露。致远平台也会持续测试转移规则的安全性,不定时更新转移规则,若有被破译的风险,将随时更新转移规则;在内部CI还使用OWASP的ZAP进行全面的XSS扫描,对于XSS和存储型XSS均会进行全面验证。
HTTPS插件:HTTP协议是目前主流的数据传输协议,端口为,用户的通讯容易被第三方监听和干扰,信息也易被破解。致远V5平台支持Apache的HTTPS插件,采用RSA非对称位加密,重要信息采用RSA位加密算法,保证数据信息传输的安全。默认使用HTTP,用户可自行配置HTTPS访问,平台提供服务端证书生成工具,支持第三方证书导入,整个过程支持一键安装,方便快捷;
SQL Injection(盲注):V5平台针对服务器端应用程序的制定了严谨的代码规范,只允许使用PreparedStatement方式执行,并通过工具能自动检测是否有其它SQL关键字或运算符插入,有效防止他人恶意使用SQL的关键字或者运算符来获取信息。
上传组件:用户在向服务器上传文件时,若允许附件被上传任意目录,则会增加信息被破解的风险。平台上传机制禁止将文件上传到上下文的子目录下,也不允许前端指定存储位置,保证了文件的安全,降低被破解的风险;
OFFICE转换插件:目前常见的office病毒感染均与office带有的宏代码相关,用户从浏览器下载office文件到本地服务器,或者是在浏览器上直接打开office文件,文件也会自动存储到浏览器对应的临时目录,易感染宏病毒。致远V5平台提供office转换插件,支持在系统平台打开office文件,将office文件与本地系统隔离,保证信息与系统的安全性,且无需用户安装office软件即可打开文件,操作更加便捷。office临时文件的泄露问题根源在于office运行机制,用户可通过安装主流的杀毒软件解决,致远平台也会检测本地服务器是否有安全软件,提醒用户实时更新;
附件上传和下载的拦截机制:附件上传和下载时系统会结合安全软件厂商提供的接口,对文件进行查毒和杀毒,保障服务器安全。附件下载链接携带随机Seed,系统登录用户使用别人的下载链接也无法越权下载附件。
7. 软件容错
平台采用MVC架构,在前端、控制层和持久层均做了数据的有效性校验,避免无效数据进入系统。发生错误时对前端用户进行明确的提示,并保留其输入确保更正后重新保存。
8. 移动端安全
致远的移动端产品通过代理服务连接V,在后台采用与PC一致的安全控制标准,除此之外,移动在客户端还进行了以下控制:
传输安全:提供HTTP和HTTPS两种连接方式,IOS客户端强制要求必须使用HTTPS,密码校验环节特别加密传输。
VPN:集成深信服的VPN解决方案,建立与企业内网的可信的安全连接,结合移动代理服务,在保证业务处理的同时,有效隔离了内网的数据。
设备绑定:提供账号和设备的绑定机制,账号只能在指定设备上登录,规范化移动设备使用。设备更换或遗失则解除原有绑定避免安全隐患。并提供密码/手势/声纹等多种登录方式。
客户端存储控制:客户端存储的敏感信息均进行加密存储,禁止明文存储账号密码等信息。
安全策略:登录使用与PC一致的密码强度校验标准,多次错误密码尝试也进行锁定。会话有效期控制,定期心跳激活会话,超时则失效,登出时也对会话进行失效处理。
文件存储:敏感信息不落地,对于用户收藏下载的离线文件进行加密存储,避免被外部获取泄密。
源代码混淆:核心代码混淆,防止被反编译。
App加固:应用进行了加固保护,对于Android版本禁用允许备份功能,并且校验签名防止二次打包,防止代码篡改和注入。
内外网隔离安全方案:通过移动端代理可以实现移动端外网访问,内外网隔离的场景,满足高安全要求企业移动办公的需求。
9. 第三方合作
致远的产品在出厂前使用多款开源和商业安全软件进行了安全扫描。首先使用OWASP ZAP进行XSS等专项检查,并经过了AppScan、绿盟和等的全面扫描,移动端使用Testin进行测试,并采用指掌易等专业产商的移动安全解决方案保证安全。
10. 结束语
10.1. 第三方版权说明
致远V5平台中所用到的第三方软件均为正版,包括:CKEditor、Anychart、JDK、InstallAnyWhere、Apache、PostgreSQL等应用组件,无版权问题。
10.2. 安全承诺及反馈机制
致远始终坚持“协同创造价值”的经营思想和价值定位,让协同软件服务于每个组织,成为一家为社会创造巨大价值,并受人尊重的卓越企业。致远协同软件以高效率、专业化的服务团队帮助中国企业创造商业价值、实现转型升级,成为高绩效组织的统一工作平台、高效能人士的工作入口。
致远拥有一只专门的安全团队,负责为V5平台产品线上的产品提供安全支持。该团队为V5平台产品提供审核和测试,同时为客户提供安全工具和安全培训,积极监控新增的安全问题和威胁。