黄元培
(国家广播电视总局九一六台,青海 格尔木 816099)
随着我国计算机技术的发展,网络数据库也逐渐普及开来。但是由于网络自身的影响,网络数据库的安全仍然难以保证。所以,应继续深入研究网络数据库的安全隐患,并不断改进其防范技术、方法,真正保障数据库的安全,拓宽其应用领域。
网络数据库是指将计算机网络、数据库技术融合在一起,并运用计算机网络的优势,将存于数据库的大量信息发布出去。同时,还可运用数据库技术优势,加强网络数据的管理,从而保证用户、数据库之间能实时交互。目前,网络数据库在网站留言簿、论坛、远程教育、电子商务等领域中都有应用。可以说,这些系统的正常运行完全依赖于网络数据库。
与传统数据库相比,网络数据库具有以下特点:第一,可扩大数据资源的共享范围。借助网络,网络数据库的资源共享范围不再局限于企业内部或国内。第二,易进行分布式处理。可依据实际情况,就近处理,满足用户的使用需求。第三,数据资源应用形式更灵活。在开发中既可应用客户机/服务器(Client/Server,C/S)结构,也可应用浏览器/服务器(Browser/Server,B/S)结构。第四,方便数据传输。利用网络可以将数据传输到任何有网络覆盖的地区。第五,使用方便。网络数据库的最大优点是用户通过Web浏览器就可进行查询、存储、删除等操作,既能降低数据库的应用难度,也能简化网络数据库的运作流程。
一般情况下,多是采用非编译性语言编写ASP程序。但是非编译性语言的安全性无法保证。比如任何人进入站点,就可获取源代码,从而造成一系列的数据库安全问题。
AS代码是通过表单完成用户交互的,但会显示在浏览器中。若不及时采用安全措施,导致代码内容泄露,非法用户就有可能避开验证直接进入页面,导致数据库出现安全问题。
相比于本地数据库来说,网络数据库的安全隐患更大。其根本原因就是网络自身存在安全问题,并且网络扩大了网络数据库的用户数量。在使用网络的过程中,用户有可能非法访问网络数据库,或者是攻击、搭线窃听数据库,导致数据泄露、丢失。
目前,网络用户基本都是应用Web程序服务器,在应用之前要先建立防火墙,提升服务器的安全性。但是服务器对开放制定的算口安全系数并不高,很容易受到黑客的攻击,最为突出的攻击手段就是加入结构化查询语言。如果在计算机网络系统的更新过程中,开发人员的专业能力不足或是不重视服务器安全,就有可能在程序上留下漏洞,会给黑客留下攻击的机会,将结构化查询语言注入客户端,就能轻而易举地获取各种数据信息。
在开发、运营、维护网络数据时需遵守基本的保密原则,保证网络数据库的数据不会在未授权的状态下共享。如果数据库中的文件、数据没有加密,就有可能被篡改、窃取。程序、结构化查询语言被访问时,访问信息未被加密或是加密程度不足,会导致访问信息的泄露。黑客利用OS工具对数据管理文件进行窃取也会导致数据泄露、被盗[1]。
搭建网络数据库时,在保证参照完整、用户定义完整、实体完整的同时,也要保证数据的一致性。通常多是应用PHP,JSP等语言完善数据库。但是不进行用户提交数据的过滤、判别,就有可能导致数据库被恶意代码攻击。一般情况下,用户在访问数据库时需提交用户名、密码,但网络的开放性进一步加大了用户名、密码的保护难度,很有可能导致用户名、密码被泄露,造成数据库被攻击。
为了杜绝第三方用户对网络数据库的非法访问,解决程序、网络带来的隐患,技术人员可充分应用访问控制技术,提升网络数据库系统的安全性,可以说,这是防止网络数据库系统出现漏洞的关键技术。
应用网络控制技术的目的是明确可以访问数据库的用户。常用的访问控制方式包括:(1)自主访问控制。让具有访问特权的用户将相应的访问许可传递给其他用户。(2)强制访问控制。针对不同类型的信息采取不同的安全策略。是建立在访问对象信任度的基础上的,也就是说,不同信任度的用户具有不同的访问权限[2]。(3)基于角色的访问控制。针对用户职责分配角色,并对用户角色授予不同的访问权限。在实际应用中可采取以下方法应用基于角色的访问控制方式,比如,依据网络数据库系统特点,建立核心用户,并将表、触发器等数据库对象建立到核心用户中;结合系统用户的特点,建立不同类型的角色,赋予角色不同的访问权限;创建通用用户默认角色,将其赋予某一个角色。总之,访问控制技术是非常有效的安全技术,可以有效消除网络数据库的安全隐患。
用户身份认证是保护网络数据库安全的第一道防线。所有用户在访问网络数据库时,都要进行身份认证,只有用户输入正确的口令才能进入并访问网络数据库。如果用户信息错误,就无法进入系统。如今,最常用的是用户名、密码认证,指纹认证、人脸识别等应用效果更好、技术水平更高的身份认证技术也在不断发展,可根据实际需求,灵活应用身份认证方式。
为了进一步提高网络数据库系统的安全性,杜绝黑客攻击、入侵,还可应用数据加密技术,提升数据查询、传输的安全性。
目前,常用的加密方式包括内部加密、外部加密两种。其中,内部加密是指在数据服务端进行加密、解密,但是会带来更大的安全危险。外部加密是指在程序端进行加密、解密。内部加密、外部加密各有优缺点,应灵活应用。另外,常用于网络数据库加密的加密算法包括:第一,序列密码。即以字符为基础单位进行加密。比如对明文添加与其自身长度相等的乱码,就可将其看成密钥,实现一次一密。第二,分组密码。主要是对明文进行均匀分组,并对不同的分组应用不同的密钥。该算法的优点是难以分析、计算,但是数据、环境、规律等因素都会影响其应用。第三,公钥密码。具有加密、解密速度慢的缺点。需要注意的是由于密码系统是反复使用的,单纯应用加密算法也不能保证信息的安全,所以,在进行网络数据库加密时,还要采取有效的措施加强密钥管理,比如实行二级密钥管理。
除了遭到非法入侵、黑客攻击,出现数据库数据丢失、泄露等问题外,计算机还有可能会发生硬件故障,导致网络数据库信息丢失。所以,要提前做好网络数据库的备份,以便发生重大安全事故时,及时恢复数据,保证网络数据库的正常运行。
网络数据库需要备份的内容包括用户数据库、系统数据库、事务日志等。一般情况下,多是选择文件存储介质进行数据库、事务日志、文件等的存储。另外,网络数据库备份还可分为:(1)完全备份,指对整个网络数据库的所有对象进行备份。(2)事务日志备份,指在自上次备份事务日志后对数据库执行的所有事物的记录。(3)差异备份,指对上次备份后发生更改的数据进行备份。具体可依据实际情况,灵活选择备份方式[3]。
网路数据库恢复方式也可分为3种,即简单恢复、完全恢复、大容量日志记录恢复。具体可依据数据库的实际破坏程度选择合适的恢复方式。比如在数据库遭受重大事故后系统崩溃,大部分数据丢失,就可采用完全恢复的方式。如果只是遭受了局部破坏,就可选择简单恢复。另外,由于数据备份与恢复之间存在时间差,所以在恢复之前应先查看数据信息,需要查看的信息包括日志文件、介质首部信息等。总之,只有做好数据备份、恢复,才能进一步减少网络数据库安全隐患带来的损失,保证网络数据库能尽快恢复,带给人们良好的使用体验。
由于各种不良因素的影响,网络数据库会出现各种安全隐患,导致数据库系统被攻击、非法入侵。若是不消除安全隐患,就会引发数据丢失、篡改等问题,给企业造成严重的经济损失。在建设网络数据库时,应积极利用访问控制、加密、身份认证等技术,提高网络数据库系统的安全性,同时,做好数据备份与恢复工作,确保网络数据库稳定运行。