数据安全方案
一.数据安全概念
数据安全存在着多个层次,如:制度安全、技术安全、运算安全、存储安全、传输安全、产品和服务安全等。对于计算机数据安全来说:制度安全治标,技术安全治本,其他安全也是必不可少的环节。数据安全是计算机以及网络等学科的重要研究课题之一。它不仅关系到个人隐私、企业商业隐私;而且数据安全技术直接影响国家安全。
二. 公司概况
目前公司对于数据安全方面基本只是依赖于托管的机房和阿里云的基本安全保护,并没有我们自己的安全保护措施,或者只有基本的安全保护措施。
托管机房服务器众多,不会有特别完全的数据安全保护措施。另外,即便其提供系统的安全保护措施,其内部众多服务器不能保障全部没有病毒或者黑客程序,其内部病毒依然需要防护。 至于阿里云,我们只是享有其基本的安全保护,其他比较有针对性或者高级的安全防护措施或者手段都跟服务器一样,需要我们每年缴纳相应的费用才会享有较高级的安全保护。
三.实际统计
宕机时间统计:
过去的一年里,济阳机房因硬件维护、网络维护及软件和系统维护等原因,总宕机时间大概在24小时以内,也就是说宕机率小于0.27%,服务器的可靠性是大于99.73%,这样的宕机率虽说不是很低了,但是在对数据安全方面就没有可靠性的保障了,这仅仅是建立在没有被恶意攻击的情况下。
对业务影响统计:
上面简单记述了一下宕机率,但是宕机或者软硬件维护等原因造成的对业务的影响就不是和宕机率一致了,下面我们来简单分析一下:
每次宕机都会直接影响业务的连贯性,所以宕机时间会直接影响全部的业务系统,也就是说过去的一年里对业务的影响最少也是在24小时内,这仅仅是宕机造成的影响。再加上软件更新,系统维护,数据库,网络维护等造成的影响,这个时间远远大于24小时。经过仔细统计,预估业务影响将大于7天:宕机影响1天;网络维护1天;系统遭受攻击维护3天以上,主要原因是在虚拟化平台上各种服务器众多,网络监控机制较差造成;数据库系统等维护大于2天,原因数据库部分参数等更新重启,服务器系统监控机制较差,部分系统不能时时监控到位等。以上众多原因致使对各种业务影响总加起来的影响将大于7天。这样统计下来,我们系统的业务影响率将会大于 1.9%,这样可以看到我们系统应用的稳定性,可 靠性都很低。
所有的业务平台都需要一个可靠稳定的后台来支撑,没有可靠稳定的后台,会对我们前台的业务发展产生很严重的影响。
四. 安全结构框架
近期一直在考虑关于数据安全方面的各种事项,在数据安全方面,我们欠缺的还很多很多。从近一年的情况来看,我们最重要的是欠缺一个整体的安全管理体系,当然只是对于我们软件及服务器等运维方面来说的。近期我整合了一个关于数据安全的体系结构,下面我们来简单看一下,如下图就是我能想到的关于安全的一个体系结构的框架图。
上图是我根据一些资料以及我个人的想法建立的一个关于数据安全的一个框架图。数据
安全从大面来分我能想到的有这几个方面:制度安全、网络安全、物理安全、服务器安全、数据库安全以及产品和服务安全这几个大面,也许每一个大面单独拿出来都可以从专业的角度去书写一本书,这里我就单独结合我们公司的情况简单说明一下每一个方面的事项。
4.1 制度安全
制度安全指计算机拥有单位,为了保证其计算机以及计算机内存储的数据安全而制定的一套约束各工作人员和非工作的规章制度。
在运维中,安全的管理制度也是重中之重,没有统一安全的管理制度,我们在所谓的安全架构安全体系都没有得到实际意义上的安全保障。拥有安全的制度,我们才能去管理和维护一个相对安全的系统。
4.1.1 安全管理制度
建立安全的管理制度是所有安全意义上的一个重要的环节,拥有安全的管理制度,是其他安全的重要保障。
用户管理分为使用用户、系统用户、应用用户、数据用户等的管理,按照各种用户的不同身份不同等级清晰划分用户的各种使用权限及访问范围,通过各个用户的需求不一,使用不同的权限来限制用户的访问范围。
使用用户是指对应用、系统、数据等的使用者,或者对服务器、交换机等的使用者,这类用户需要根据其对这类事物的应用范围或者用量等合理安排其权利并作详细的使用记录或者留有操作日志等。
系统用户指操作系统的各个管理用户,在操作系统中,一般linux以root用户权限最大来管理其他全部用户及文件数据等。Root用户只有运维管理人员或者系统管理员才可以使用这个用户,其他人员的使用可以根据需求来创建适合需求的用户来管理其用户的数据信息等。
应用用户指应用程序的使用用户,这里需要开发人员做好相应的程序控制,不同用户在我们应用程序中所接触的数据不一样。
数据用户我这里主要针对于数据库的操作用户。数据库的各个用户根据不同的数据需求赋予其相应的角或者用户权限,以达到对不同系统数据的保护和保密作用。
所有用户按照其特点统一管理,根据不同用户的属性划分使用者范围及用户管理人员。其他人员需要使用用户需要跟相关的管理人员作出申请,申请审核过后,经过登记以后方可使用其申请的用户权限,
其他人员在未经授权的情况下不得随意使用或者在有可使用权限以后不能直接告诉其他未经授权使用的人员。
4.1.1.2 密码管理
用户密码和用户一致,都需要进行统一的管理。用户及密码的获取均需要提出相应申请经过审核通过后,由管理人员登记给出用户及密码。对于密码的安保性,管理人员更需要时刻注意防止密码的外泄,在需要的情况下,可以对秘密进行加密等手段进行保密处理。
4.1.1.3 网络管理
网络管理包括网络设备及网络监控等的管理,要保障网络设备安全可靠稳定的运行,例如防毒墙、防火墙等软硬件,合理管理网络设备的IP地址,账号密码等不被泄漏,合理设置防毒墙、防火墙等软硬件的过滤规则和防护等级,合理划分管理区域层次,例如安全管理区域,办公区域,网络接入区,核心交换区,中心服务区,数据管理区等。
对于高安全性的数据保护措施还需要划分区域边界的安全,主要包括:边界访问控制、边界完整性检测、边界入侵防范以及边界安全审计等方面。
安全管理平台应实现对网络设备的集中管理,实现网络设备的升级、网络设备工作状态监管、网络流
量监管、网络设备漏洞分析与加固等功能,同时具备对网络设备访问日志的统一收集和分析。
4.1.1.4 应用管理
应用管理需要加强应用开发,应用代码,应用服务等的安全管理。
应用开发过程中需要有相应的代码描述和注释,统一的代码书写规范及命名规范等。对于应用代码需要保证代码的安全性,例如防止代码丢失,代码外泄,代码混淆等问题一般比较常见,一般可以通过svn等工具可以从一定程度上提高安全性,但是并不是一定的,也需要从制度上和习惯上的严格要求。应用服务需要控制好安全数据的私密性,个人隐私数据及保密数据需要做加密及解密措施,以防止隐私数据的透漏。
4.1.1.5 数据管理
数据管理主要针对数据库内存储的数据管理,包括数据库用户,密码,数据表空间及表的管理。根据应用系统及存储数据的性质来分配应用使用的用户及密码,划分相应的数据库表结构及表空间。做到数据同一规划,数据存储形式一致,这样既可以保证存储数据的安全性,也可以使我们数据的存储有条理性。现状是数据存储较混乱,A用户的数据存在于B用户的表空间中,这样很容易使用户的数据轻易泄露。而且在数据库中这样也很容易造成各个应用之间对数据的读取消耗很多资源,更严重的就是耗时较高,应用性能的整体降低。
4.1.2 流程制度
4.1.2.1 流程制度规划
下面我们来简单看一下下面的一个流程规划
上图我们可以看到将我们的整体环境划分为四个大的环境,这四个大环境分别有各自的作用:
开发环境:
这个环境严格规范在公司的内部环境,在这里有开发人员做主,开发人员在这个环中可以做日常的开发测试。一般情况下开发人员的代码程序都是在其本地的电脑上,而开发环境中目前只有开发测试数据库。这个环境只作为开发人员开发测试程序使用。
测试环境:
测试环境的要求就相对的要较高一些了。这里的测试环境不是开发测试,这里测试环境是专门用来给测试人员进行各种功能测试及性能测试的环境。环境要求至少需要生产环境减半的配置,或者最少是符合生产要求的独立环境。这个环境不涉及其他任何,只做为测试使用,这样至少保障测试环境的测试结果符合生产环境的要求。只有经过严格测试的应用,排除了大量的bug和性能问题的应用,才能说是较稳定的应用。这样这个应用才能上线。
演示环境
这个环境可以适当的降低配置,但是需要保障环境的稳定运行。这个环境的主要作用是公司领导可以在公司内外跟客户做程序的演示时使用。其次测试后的正式应用一定要先都部署在这个环境中,经过领导演示,客户认可,领导审核通过以后,应用产品才可以正式上线。未审核通过的应用经过提出问题或者变更以后,由开发修正测试通过后,再次在演示环境中由领导检验审核。最后全部通过的程序,才能在正式的生产环境中上线。