如何打造安全的应用软件管理环境
来源:硅谷动力 更新时间:2012-04-15

  随着网络应用软件的普及,对于员工的工作方式影响非常的大。但是,这里也暴露出一个重大的问题,就是企业信息的安全性没有被充分的重视。采用信息化管理软件之后,如客户关系管理系统、企业资源计划管理系统等等,这些信息化管理软件上,存储着企业的几乎所有机密信息,如客户的联络方式及其历史订单;产品的价格以及物料清单等等。本来的话,这些信息都有专门人员保管,其安全性有所保障。而现在全部存储在一个服务器上,若权限稍微设置不当的话,则这些关系到企业生命的信息就会被泄露出去。笔者也见识过不少的员工,他们离职后,会把相关的资料,如客户信息、产品价格信息等复制出去,作为自己下回找工作的资本。

  所以,企业信息化管理软件虽然提高了企业员工的工作效率,但同时也不可避免的带来信息的安全隐患。故各位在享受它带来的便利的时候,也需要注意这些管理应用软件的安全性。下面从八个方面,谈谈如何打造一个安全的应用软件管理环境。

  一、 限制相关资料的成批导出功能

  现在在信息化管理软件中,为了工作的方面,都有报表功能。如客户信息报表、销售订单报表、产品价格报表等等。在以前,员工及时能够接触到这些内容,但是,其要复制也需要一番功夫。但是,现在在系统中提供了相关的报表信息,那么,员工获取相关的内容,就变得轻而易举了。如用户想知道某个客户的历史下单信息或者某个产品的下单客户,在没有应用软件,如ERP管理软件的时候,用户要了解这些信息,还需要花费一定的时间去整理;而有了ERP管理软件之后,则员工只需要点点鼠标,就可以在不到一分钟的时间里取得相关的资料,并导出为EXCLE表格。无疑,这提高了工作效率,但是,也让员工可以在短时间内取得这些信息,影响了这些信息的安全性。如现在某个员工有个搭档,他们公司也在生产某个产品,现在他们想让这个员工找出他们企业需要这个产品的所有客户信息,然后卖给他们。

  所以,为了应用系统中相关信息的安全性,我们在设计或者维护这些系统的时候,需要对一些报表进行限制。特别是,对于报表的导出权限进行限制。根据笔者这么多年应用系统安全的管理经验,如在ERP系统的大部分报表中,都不需要有导出权限。到用户有需要的时候,可以随时随地在系统中进行查看,而不需要再向以前手工操作那样,把他们整理成EXCEL表格。若我们能够限制报表的导出功能,虽然不能从根本上保障数据的安全,但是,可以明显增加用户窃取这些机密信息的成本。也就是说,可以增加他们窃取这些信息的风险,从而保障企业数据的安全。

  二、 按字段,而不是按窗口来进行权限控制

  在一个应用系统中,如ERP系统中,虽然只是一个窗口,但是,其信息业是分为好几类,如有些信息是大家都可以查询的,而有些信息则是机密的,只有特定的人可以查看。如对于ERP系统中的销售订单,其包含客户、产品、价格等信息。对于生产部门、仓库部门来说,可能只能够了解具体生产的产品与数量,最多还可以了解客户信息;但是,他们是无权知道产品的销售价格的。对于采购用户的话,他们也只需要知道销售订单的产品与价格即可,而对于销售价格等敏感信息来说,则需要给与特别的保护。

  也就是说,在应用系统的权限管理上,若只按窗口或者表单来进行信息过滤的话,则太过于粗糙,不利于企业信息的安全性。所以,最好能够在字段的级别上,实现权限的管理与限制。

  笔者也研究过几个很不错的信息化管理系统,在这方面也比较杰出的表现。

  如有个ERP系统,有一个默认的字段筛选级别。如ERP系统的销售订单中,有个价格字段,若我们把这个字段设置为保密,则其他用户看到的这个字段的内容都是星号,就像我们平时输入密码的时候,那个星号一样。只有我们设置的特定的几个人,才可以看到这个字段中的内容。如此的话,就可以保障这个信息的安全性。

  还有一个ERP系统,在权限管理的时候,我们可以设置某个用户有没有某个字段的读取权限,也就是说从数据库的字段级别进行限制。如我们不希望某个用户查看销售订单中的价格字段,则我们可以选中这个用户,并设置不让其访问某个特定的字段。则在以后的操作中,无论是销售报表、还是某个单据中,只要后台数据库是这个字段,则这个用户就不能访问这个字段的内容。从后台数据库的字段出发,进行限制,是一个比较彻底的权限控制策略。因为有些ERP系统,后台字段虽然是同一个,但是,在前台系统中会多次进行访问。如在报表或者其他表单上都需要用到;而对英的名字又有所区别。此时,就需要管理员去一个个的指定,这就容易漏掉。

  三、 自己对自己的单据负责

  从数据的安全性考虑,不仅要防止未经授权的人查阅自己的单据内容,还应该杜绝只有查询没有修改权限的人,对自己的单据进行任意的修改,无论是否有意,都应该避免。这在信息安全学上,也叫做“自己对自己的信息负责”原则。即自己建立的信息,如销售订单,只有自己可以更改,其他人都不能进行任何的更改动作。我们只要想一想,就能知道其中的原因。如某个销售员A其新建了一张销售订单,其销售数量为100套,销售价格为100元每套。若有某个销售员B在销售员A不知情的情况下,修改了销售数量为101套。但是,销售员并不知情。则在后续订单追踪或者跟客户对帐的时候,销售员A都是以100套为基准进行后续的工作的。这显然是不对的。

  所以,在信息化管理系统设计与维护中,需要建立“自己对自己的信息负责”的安全机制。具体的来说,需要实现如下控制。

  一是经过允许的人可以看到我所建立的纪录,但是,其只有查询,而不能进行任何的修改。如销售员A建立了一张销售订单,即使,该销售订单还没有最终审核,其他人员,如销售员B,虽然在同一个部门,但是,也无法更改这张销售订单。若其他员工出于某个原因需要更改时,必须通知销售员A才能进行更改。这可以做到数据的一致性。数据的所有人需要对自己所创建的纪录负责。

  二是有某些特权的人更改其他人建立的纪录后,至少需要事后进行通知。如销售员A 建立了一张销售订单,虽然其他同事不能对这张销售订单进行更改,但是,至少销售员A的主管可以更改单据的内容。如把价格从10元改为11元等等。若经过授权,这种修改时允许的,但是,至少需要有信息能够反馈给销售员A,告知他这个产品的价格从10元改为了11元,防止销售员在日后对帐或者其他工作中,产生不一致的地方。笔者接触过一个ERP系统,他在这方面设计的不错。他在系统中跟工作流结合,当某个用户更改了不是其自己建立的纪录时,当该纪录被保存时,系统就会发一条系统信息给对方,告知在什么时候什么人更改了你的哪条纪录以及更改的内容等等。这个通知可以告诉对方更改的相关信息,从而使得信息化管理系统中的纪录内容跟建立这条纪录的主人脑袋中的内容是一致的。

  三是对于特权人物需要进行严格限制。谁有权查询某个员工的私有纪录,谁有这个权利进行私有纪录的修改。这些人我们在信息化系统安全机制规划中,称之为特权人物。一般情况下,在安全体系设计中,是不允许有特权人物的存在,因为他们往往会违反一些基本的安全设计原则。但是,在实际工作中,这些特权人物确实是存在的,若他们不存在的话,很多工作将无法开展下去。这就是一个工作灵活性与信息安全性的一个矛盾。作为信息化的安全管理员,需要在这对矛盾中找到一个均衡点。不过,无论怎么说,对于这个特权人物一定要进行限制,越少越好。如某个员工把某张销售订单设置为私有纪录,一般员工,包括其上级领导都不能私自对这张销售订单进行更改,根据“谁建立、谁负责”的安全设计原则,只有其本人才可以进行修改。但是,若在管理实务中,销售员的上级领导也可以进行纪录的修改的时候,则这个销售员的上级领导就需要进行明确定义。只是这个销售员的主管可以进行修改呢,这个销售员的主管,即使销售总监是否可以进行修改?都需要事先进行明确的定义。如此的话,日后我们在系统维护时,发现纪录被非法修改时,也可以由一个追查的方向。