上一篇 网站快速成功的九个步骤 | 下一篇 10类网站注册功能的设计与评论
关于网络数据库里一些商业数据被盗窃后公布于网上;公司商业网站的产品网站报价格数据又被恶意修改……类似这样的案例,在网上搜索了一下,实在不少。其原因只有一个,就是来自网络上对Web数据库攻击。那么,在Web环境下的数据库是否能有足够的安全为企业服务呢?答案是肯定的。
Web数据库是基于Internet/Intranet的应用系统,由于互连网开放性和通信协议的安全缺陷,以及在网络环境中数据存储和对其访问与处理的分布性特点,网上传输的数据容易受到破坏、窃取、篡改、转移和丢失。这些危害通常是对网络的攻击引起的。到现在,针对Web数据库的应用级入侵已经变得越来越猖獗,如SQL注入、跨站点脚本攻击和未经授权的用户访问等。所有这些入侵都有可能绕过前台安全系统并对数据库系统攻击。如何保证Web数据库的安全性已成为新的课题。
第一关、对用户安全管理
Web数据库是个极为复杂的系统,因此很难进行正确的配置和安全网站维护,当然,必须首先要保证的就是数据库用户的权限的安全性。当用户通过Web方式要对数据库中的对象(表、视图、触发器、存储过程等)进行操作时,必须通过数据库访问的身份认证。多数数据库系统还有众所周知的默认账号和密码,可支持对数据库资源的各级访问。因此,很多重要的数据库系统很可能受到威协。用户存取权限是指不同的用户对于不同的数据对象有不同的操作权限。存取权限由两个要素组成:数据对象和操作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作。权限分系统权限和对象权限两种。系统权限由DBA授予某些数据库用户,只有得到系统权限,才能成为数据库用户。对象权限是授予数据库用户对某些数据对象进行某些操作的权限,它既可由DBA授权,也可由数据对象的创建者授予。
第二关、定义视图
为不同的用户定义不同的视图,可以限制用户的访问范围。通过视图机制把需要保密的数据对无权存取这些数据的用户隐藏起来,可以对数据库提供一定程度的安全保护。实际应用中常将视图机制与授权机制结合起来使用,首先用视图机制屏蔽一部分保密数据,然后在视图上进一步进行授权。
第三关、数据加密
数据安全隐患无处不在。一些机密数据库、商业数据等必须防止它人非法访问、修改、拷贝。如何保证数据安全?数据加密是应用最广、成本最低廉而相对最可靠的方法。数据加密是保护数据在存储和传递过程中不被窃取或修改的有效手段。数据加密系统包括对系统的不同部分要选择何种加密算法、需要多高的安全级别、各算法之间如何协作等因素。在系统的不同部分要综合考虑执行效率与安全性之间的平衡。因为一般来讲安全性总是以牺牲系统效率为代网站报价的。如果要在Internet上的两个客户端传递安全数据,这就要求客户端之间可以彼此判断对方的身份,传递的数据必须加密,当数据在传输中被更改时可以被发觉。
第四关、事务管理和故障恢复
事务管理和故障恢复主要是对付系统内发生的自然因素故障,保证数据和事务的一致性和完整性。
故障恢复的主要措施是进行日志记录和数据复制。在网络数据库系统中,分布事务首先要分解为多个子事务到各个站点上去执行,各个服务器之间还必须采取合理的算法进行分布式并发控制和提交,以保证事务的完整性。事务运行的每一步结果都记录在系统日志文件中,并且对重要数据进行复制,发生故障时根据日志文件利用数据副本准确地完成事务的恢复。