数据库安全机制(精选12篇)
数据库安全机制 篇1
1 引言
网络数据库应用系统是结合网络技术及数据库技术而开发的一种新型的用于处理各类信息的系统。网络数据库的安全性直接影响了数据传输及处理的结果和效果。网络数据库是一个开放式的信息存储和处理平台, 不管是局域网或是广域网, 其都会因来自自然或人为等方面的威胁而产生安全问题。针对网络数据库的安全问题, 相关业内人士不断深入研究, 制定了一整套的网络数据库存安全机制, 以期提高网络数据库的安全性, 保证信息传输的统一性和完整性, 充分发挥网络数据库应有的作用。
2 网络数据库安全机制概述
2.1 网络数据库安全机制的概念
网络数据库是基于后台数据库, 结合前台程序的访问控制功能, 利用浏览器实现数据的存储、查询等功能的信息集合。在网络的基础上, 数据库最大的特征便是可实现大量数据信息的共享, 同时使数据的统一性和完整性得以保持, 以控制数据冗余度及访问量[1]。网络数据安全机制即指对网络数据库所做的安全系统, 以保证网络数据库的安全及系统流畅运行。
2.2 网络数据库的模式
网络数据库的模式主要有两种:B/S模式和C/S模式。C/S模式主要包括客户端应用程序 (Client) 、服务器管理程序 (Server) 及网络 (Network) 三层结构。客户端应用程序主要用于实现数据在系统与用户间的交互, 其主要负责事务的处理及显示逻辑;服务器管理程序主要用于管理资源, 当多个用户同时请求使用同一资源时, 对资源实现最优化管理。网络是用于连接客户端应用程序与服务器管理程序的, 起中间桥梁作用, 协同完成数据查询、数据处理、数据管理等任务, 以满足用户需求。结合WWW技术, 将客户/服务器模式进一步演化后便得到B/S模式。B/S模式主要包括Web服务器、浏览器及数据库服务器三层结构。通过浏览器的交互功能连接系统与用户, 用户输入信息之后交由Web服务器进行处理并将处理结果返回给浏览器, 供用户使用。若用户有数据存储需求, 则Web服务器还需结合数据库服务实施数据存储操作。数据库服务器通过对不同Web服务器发出各种数据处理请求进行协调以实现对数据库的管理。
2.3 网络数据库的安全机制模型
B/S与C/S存在很多共同点, 如都为网络模式, 都涉及到系统软件及应用软件等。为使整个网络数据库安全机制更加清晰, 通过分析B/S及C/S模式的共同点及特点之后, 可得到一个完整的网络数据库安全机制模型, 如图1所示。从图中可以看出, 每一层结构都对应着一套独立的安全机制, 且每一层结构都有对别层结构产生制约的机制, 这使得每一层结构在完成自身任务的同时又可对别层的机制产生制约作用, 层与层之间存在着密切的联系, 从而构成一套完整的网络数据库安全机制。此外, 分层式的安全机制模式使得系统的安全结构非常清晰, 在实际应用当中可根据不同的需求来选择不同的工程, 以提高系统任务处理的针对性和目的性。
3 网络数据库各层的安全机制
3.1 网络系统的安全机制
网络数据库安全机制的最主要机制是网络系统安全机制。网络系统安全是网络数据库安全的第一道屏障, 外部入侵的首要攻击对象就是网络系统。网络入侵的主要目的是破坏网络数据库信息系统的完整性、机密性及任何可信任的网络活动, 现网络安全存在的主要威胁有身份窃取、数据窃取、错误路由、数据流分析等[2]。防止网络系统被侵入的安全技术有很多, 其主要包括防火墙技术、入侵检测技术及协作式入侵监测技术等。
防火墙技术是为保护网络安全而使用的一种最为广泛的防范技术。防火墙是网络系统的第一道防线, 其主要用于对可信任网络及不可信任网络之间的访问通道进行监督和控制, 在内部网和外部网之间构建一道保护屏障, 以拦截外部网的非法访问, 同时防止内部信息泄露, 但是其无法拦截自内部网产生的非法操作。
入侵检测是近些年来迅速发展的一种新型安全技术, 入侵检测综合使用了各类先进的技术和方法, 包括统计技术、网络通信技术、人工智能、推理、规则方法、密码学等, 其主要用于对网络系统是否存在被滥用或被入侵的征兆进行监督和控制。检测入侵思想于1987年由Derothy Denning提出, 在多年的发展过程当中, 入侵检测技术不断完善, 并被列为对攻击进行监督和识别的标准解决方案, 现入侵检测已成为网络安全防御的重要组成部分。
协作式入侵监测技术有效弥补了单独使用入侵监测系统的不足, 协作式入侵监测技术是一个具完整性和统一性的入侵监测体系, 参与协作的各入侵监测组件之间有着很好的互动性, 其会自动交换入侵信息, 通过信息的交换可有效监测网络入侵行为, 且这种技术可广泛应用于各网络安全环境当中。
3.2 服务器操作系统的安全机制
服务器操作系统为网络数据库系统的运行提供了平台, 也为网络数据库提供了一定的安全保障。现使用较多的服务器操作系统主要有Windows NT、Unix, 其安全级别通常为C1、C2。服务器操作系统的安全技术主要包括安全策略、安全管理策略及数据安全等。安全策略主要用于对本地计算机的安全设置进行配置, 包括账户安全、密码安全、IP地址安全、审核安全、加密数据安全及用户权限安全等方面, 具体来说就是用户的账户、口令、访问权限、审计等。
安全管理策略主要是指网络管理员为维护网络系统安全而采取的一系列安全管理方法和策略。网络环境和操作系统的不同, 网络管理员会采取不同的安全管理方法和策略。但总体而言, 安全管理策略的目的主要还是保护服务器的安全并做好各类用户权限的分配工作。服务器操作系统的数据安全具体体现在数据备份、数据加密、数据传输安全及数据存储安全等方面。用于保护服务器操作系统数据安全的技术有很多, 如Kerberos认证、TLS、VPN (PPTP、L2TP) 、SSL、IPSec等。
3.3 数据库管理系统的安全机制
基于网络操作系统, 网络数据库系统通常是以文件形式来管理网络的, 因此, 网络操作系统的安全直接影响了网络数据库的管理, 入侵者可从网络操作系统着手, 利用网络操作系统的漏洞来窃取网络数据库文件, 或是对数据库文件内容进行篡改或伪造[3]。一般网络数据库用户很难发现这类网络安全隐患, 因为此类安全隐患的分析和解决通常会被归为B2级数据安全技术措施。数据库管理系统的安全机制则主要是为了解决这类安全隐患而设立的。在解决这类安全隐患的过程当中, 系统会先寻找安全隐患的入侵途径, 若前两个层次的安全机制已被突破, 数据库管理系统的安全机制则会发挥其作用保护数据库的数据安全。这就要求数据库管理系统必须拥有一套完整而强有力的安全管理机制。数据库管理系统的安全技术主要包括视图、审计跟踪、存储权限、触发器、数据加密、数据备份和恢复等。
视图机制主要用于隐藏用户的私密数据, 防止数据外泄, 这在一定程度上为数据库的数据安全提供了保障;存储权限是指不同的用户针对其隐私数据拥有一定的公开及隐藏权限, 此外还有操作权限;数据加密主要是用于保护数据在被使用或是进行传递的过程当中不被修改或窃取, 从而达到保护数据完整性和统一性的目的;数据备份和恢复是指在数据库系统出现故障时, 其能将数据库系统还原至故障前状态;审计跟踪简单来说就是给数据库做一本日志, 数据的修改、删除、更新等都可通过审计跟踪进行查询, 使数据的各种活动状态都有证可循。
3.4 客户端应用程序的安全机制
客户端应用程序的安全机制是整个网络数据库安全机制当中最简单也最实用的安全机制。相比于其他层次的数据库, 客户端数据库具很强的独立性, 其可在不受外界干扰与支配的前提下发挥数据库安全机制的作用, 并且其还可随时进行更改。客户端应用程序可控制用户登录的合法性、身份验证等, 其还可直接设置和管理自身数据库的数据。加强控制和管理客户端应用程序可有效保障客户端应用程序的安全。此外, 客户端应用程序具很强的灵活性, 其可自行更改数据库数据, 同时可使用多种技术对客户端安全进行灵活管理, 同时结合在COM+组件基础上开发的用户身份鉴定技术可使客户端安全得到有效的控制和管理[4]。
4 利用DBMS安全机制防范网络攻击
4.1 认证与授权
认证是对请求服务的人或应用程序进行验证的过程;授权是指将已通过身份认证的人或应用程序映射至已授予许可的数据库用户的过程, 此过程限制了用户行为需在数据库允许内发生。认证主要是解决身份问题;而授权主要是解决行为问题。认证和授权技术主要有用户标志与鉴别、存储控制等。
4.2 备份与恢复
当系统出现故障时, 通过数据备份及恢复, 网络管理员可迅速恢复数据库的原有状态, 保证数据的完整和统一。数据库备份方法主要有静态备份、动态备份及逻辑备份等;数据库恢复方法主要有磁盘镜像、数据库备份文件、数据库在线日志等。
4.3 审计
利用审计可将用户数据库的所有活动记录下来并存放至审计日志当中, 如此一来, 数据库系统就可根据审计跟踪来查询数据库的现有状况及各数据的活动状况等, 从而将从事非法存取数据的人、时间及内容等找出来, 这样一方面方便网络管理员追查非法存取数据的相关责任, 另一方面也有助于网络管理员及时发现系统安全漏洞及弱点, 并及时修正, 以进一步提高网络数据库的安全性, 保证数据的统一性和完整性。
5 结语
网络数据库安全问题是一个具强综合性和系统性的问题, 在设计网络数据库安全机制的过程中, 不仅要考虑每一个结构层的安全机制, 而且还要注意层与层之间的紧密联系, 做到层层设防且保证设防不矛盾。随着计算机技术及网络技术的不断发展, 网络数据库的安全问题也会成为一个不断发展的问题, 而且伴随入侵者入侵手段及技术的不断提高, 相关的安全技术也应不断提高。只有不断对新问题、新情况进行研究和处理, 网络数据库的安全性才能得到不断提高。
摘要:随着计算机技术及互联网技术的快速发展, 人们逐渐进入现代化信息时代。利用各种现代化信息手段, 人们的工作及生活都变得更加便利。但同时, 也有不法分子利用网络的便利性不断进行网络安全攻击, 使网络数据库安全受到威胁, 信息的传输及处理受到影响, 为此就需制定一套完善的网络数据库安全机制以保证网络数据库的安全性。文章简单概述了网络数据库安全机制的基本概念、网络数据库的模式及其安全机制模型, 分析了网络数据库各层的安全机制, 并讨论了利用DBMS安全机制来防范网络攻击问题, 旨在为提高网络数据库的安全性提供若干建议。
关键词:网络数据库存,安全机制,操作系统
参考文献
[1]孙宏志, 任丽妍.网络数据库安全机制研究[J].信息系统工程, 2015 (06) :58.
[2]嵇可可.认证技术下网络数据库安全机制研究应用分析[J].硅谷, 2012 (16) :106-107.
[3]张萍.计算机网络数据库的安全机制问题初探[J].信息与电脑 (理论版) , 2014 (06) :99-100.
[4]陈闻凯.浅谈网络数据库的安全机制策略[J].科技致富向导, 2013 (08) :42.
数据库安全机制 篇2
调度机制
根据省领导要求,为进一步完善全省大数据产业及数字经济运行监测调度工作,特制定本机制。
一、工作要求
围绕全省推进大数据战略行动和发展数字经济的工作部署,建立健全省、市、县纵向联动、各部门横向互动的大数据产业及数字经济运行调度体系,不断强化产业运行监测,分析预判产业发展态势,协调解决重点难点问题,为省委、省政府提供高质量的决策参考,促进全省大数据产业及数字经济健康快速发展。
二、工作机制
(一)日常调度机制
省大数据发展领导小组相关成员单位分别结合自身职能,负责定期监测调度本领域、本地区大数据产业及数字经济运行情况,并汇总到省大数据发展领导小组办公室(省大数据发展管理局)。
省大数据发展领导小组办公室(省大数据发展管理局)负责定期汇总省大数据发展领导小组相关成员单位、各地区及重点企业调度情况,并向省委、省政府以及省大数据发展领导小组书面报告。
省统计局根据现有统计体系和对口渠道,向省有关部门提供全省大数据产业及数字经济相关统计数据,并指导各市(州)、贵安新区统计部门,向市级有关部门提供大数据产业及数字经济相关统计数据。
(二)信息发布机制
省大数据发展领导小组办公室(省大数据发展管理局)根据产业监测、调度、分析情况,每月16日左右编制“一报两表”,即全省大数据产业及数字经济运行报告(包括全省及各市州情况)、全省大数据产业及数字经济指标表、全省大数据产业及数字经济重点企业直调表,7月份编制半年运行报告,次年1月份编制运行报告,上报省委、省政府以及省大数据发展领导小组,通报省大数据发展领导小组相关成员单位。
重要产业运行动态和重大事件,以及指标欠账多、运行问题大、工作开展不力的,省大数据发展领导小组办公室(省大数据发展管理局)及时上报省委、省政府以及省大数据发展领导小组并通报。
(三)调度会议机制
省大数据发展领导小组办公室(省大数据发展管理局)负责定期组织召开工作调度会议,分析全省大数据产业及数字经济运行情况,找准影响产业发展的问题,研究解决措施。
原则上,每月召开一次大数据系统调度会议,各市(州)、贵安新区大数据主管部门参加;每季度由省政府分管副秘书长主持召开一次调度会议,省大数据发展领导小组相关成员单位参加;每半年由分管省领导主持或委托召开一次调度会议。必要时,省大数据发展领导小组办公室(省大数据发展管理局)负责组织召开专题调度会议。
(四)省市联动机制
各市(州)、贵安新区比照省的机制,分别建立完善纵向联动、横向互动的大数据产业及数字经济运行调度工作体系。
各市(州)、贵安新区大数据主管部门作为牵头单位,每月13日前,向省级大数据主管部门报送软件和信息 服务业、数据中心、呼叫中心、大数据交易等情况,同时,负责统筹协调本地区大数据产业及数字经济运行调度工作,定期汇总收集各口指标、情况。其它有关部门,按照省级对口部门业务要求,按期报送情况。
省大数据发展领导小组相关成员单位加强对各市(州)、贵安新区调度工作的指导,强化省、市沟通联动,确保工作顺利开展。
(五)共享交换机制
省大数据发展领导小组办公室(省大数据发展管理局)不定期向省大数据发展领导小组相关成员单位发布全国、全省大数据产业及数字经济产业动态、政策调整等重大信息。省大数据发展领导小组相关成员单位监测调度的产业指标情况,定期相互交换共享,共同促进工作开展。
三、调度体系
(一)宏观运行情况
大数据产业及数字经济宏观发展态势、宏观运行指标、重大产业动态等。(责任单位:省大数据发展管理局 完成时间:每月15日前,遇节日放假适当顺延,下同)
(二)目标进度情况
政府工作报告、全省大数据发展目标责任书、2017年全省大数据工作要点明确的关于大数据产业及数字经济的各项目标任务,按月调度全省及各地区进展情况,确保以月保季、以季保年。(责任单位:省大数据发展管理局 完成时间:每月15日前)
(三)重点产业指标
电子信息制造业:规模以上工业总产值、同比增速;规模以上工业增加值、同比增速;主要产品(手机、平板电脑、电视等)产量、同比增速。(责任单位:省经济和信息化委 完成时间:每月15日前)。
软件和信息服务业:营业收入、同比增速。(责任单位:省大数据发展管理局 完成时间:每月15日前)
电信业务:电信业务总量、同比增速;电信业务收入、同比增速。(责任单位:省通信管理局 完成时间:每月15日前)
电子商务:电子商务交易额、同比增速;网络零售额、同比增速。(责任单位:省商务厅 完成时间:每月15日前)
呼叫中心:坐席签约数、同比增速。(责任单位:省商务厅 完成时间:每月15日前)
数据中心:服务器数、同比增速。(责任单位:省大数据发展管理局 完成时间:每月15日前)
大数据交易:贵阳大数据交易所数据交易量、同比增速;交易金额、同比增速。(责任单位:贵阳市政府 完成时间:每月15日前)
(四)重点企业情况
直接调度以晴、货车帮、朗玛等具有代表性的大数据产业及数字经济企业,包括企业产值(营业收入)、同比增速,利润、同比增速,主要产品产量、同比增速,重要生产经营动态情况等。(责任单位:省大数据发展管理局 完成时间:每月12日前)
(五)重点项目情况
国际大数据核心企业、国内知名大数据龙头企业、国内有影响力的大数据优强企业招商引资推进情况。(责任单位:省投资促进局 完成时间:每月12日前)
已落地产业项目开工、建设、投产进度情况。(责任单位:省大数据发展管理局 完成时间:每月12日前)
(六)其它重要情况
省大数据发展领导小组相关成员单位、各地区结合自身实际,调度大数据产业及数字经济运行的其它指标和情况,重要情况及时提供、上报。
四、工作保障
(一)专人负责
省大数据发展领导小组相关成员单位、各地区、各重点企业分别明确联络员,专人负责日常调度情况的收集、汇总、整理与报送。联络员名单2月28日前反馈到省大数据发展领导小组办公室(省大数据发展管理局)。
(二)专家支撑
省大数据发展领导小组办公室(省大数据发展管理局)负责从对口国家部委、专业机构、行业协会、科研院所、重点企业选聘一批专家,组建大数据·数字经济专家库,共同参与产业监测和分析工作,增强工作的科学性、权威性、指导性。
(三)资金保障
数据库安全机制 篇3
关键词:ASP;Web数据库;安全机制
中图分类号:TP309文献标识码:A文章编号:1009-3044(2007)15-30621-01
Safety Mechanism of Web Database Based on ASP
XU Wei-ying
(Suzhou Vocational University,Computer Engineering Department,Suzhou 215001, China)
Abstract: Through narrating several ways for ASP to connect Access or Sql Server database, in order to analyze the safety mechanism of visiting Access or SQL Server Web database.
Key words: ASP; Web data base; Safety mechanism
1 引言
使用ASP开发Web应用程序,通常需要Web数据库来存储和管理数据。在商务网站中,数据库里存储了商品和顾客等重要信息,为了确保数据库中这些信息的安全,必须防止非法用户使用,以防数据库的信息内容被更改或窃取。本文以一个购物网站的数据库为例,详细叙述ASP访问后台数据库时的几种连接方式,并以此来分析访问Access和SQL Server两种数据库时Web数据库的安全机制。
2 ASP程序连接数据库的几种方式
在实际开发Web网站的过程中,若要访问数据库,首先必须连接数据库,然后再实现对数据库的查询、插入、更新、删除等操作。ASP程序通常是通过内置的ADO(ActiveX Data Objects)组件访问Web数据库,ADO再通过ODBC(Open DataBase Connectivity)或OLE DB驱动程序来连接与访问数据库的。我们可以根据实际需要采用下列方式之一来连接数据库。
2.1 通过ODBC设置系统数据源,连接数据库的核心代码如下:
<% '利用Server对象的CreateObject方法建立Connection对象
set conn=server.createobject("adodb.connection")
'打开Access数据库,建立连接。DSN表示在ODBC上设置的数据源,UID表示用户账号,PWD表示密码,DataBase表示数据库上的一个表
conn.open "DSN=dzlt; UID=sa; PWD=; DataBase=student"
'或打开SQL Server数据库,建立连接。DSN表示在ODBC上设置的数据源,UID表示用户账号,PWD表示密码,DataBase表示数据库
'conn.connectionstring="dsn=SQLmarket;uid=sa;pwd=123456;database=market"
'断开连接
set conn=nothing %>
2.2 直接指定ODBC驱动程序,连接数据库的主要代码如下:
<% set conn=server.createobject("adodb.connection")
'直接指定ODBC驱动程序,连接Access数据库
conn.connectionstring="driver={microsoft access driver (*.mdb)};dbq=" & server.mappath("market.mdb") & ";uid=sa;pwd=1234"
'或直接指定ODBC驱动程序,连接SQL Server数据库
'conn.connectionstring="driver={sql server};server=wwwfox-net;database=market;uid=sa;pwd=123456"
conn.open
set conn=nothing %>
2.3 直接指定OLE DB驱动程序,连接数据库的代码如下:
<% set conn=server.createobject("adodb.connection")
'直接指定OLE DB驱动程序,连接Access数据库
conn.connectionstring="provider=microsoft.jet.oledb.4.0;data source=" & server.mappath("market.mdb")
'或直接指定OLE DB驱动程序,连接SQL Server数据库
'conn.connectionstring="Provider=SQLOLEDB; Data Source=wwwfox-net; Initial Catalog=Market; User ID=sa;Password=123456;"
conn.open
set conn=nothing %>
3 ASP程序访问数据库时的安全机制
数据库的安全性包括对用户可以看到的信息进行控制。如购物网站上,我们希望对用户有以下限制:(1)每个用户必须注册,才能购物,否则只能浏览信息;(2)允许顾客获取与自己购买有关的信息,不允许顾客获取其他顾客或库存等相关信息;(3)允许顾客通过Web应用程序浏览或修改注册和购物的数据信息(如网上注册,购物等),但不允许使用其他方式修改数据库的这些信息。控制用户和应用程序对信息的访问有助于提高数据内容的可靠性,防止未授权用户的访问,以及授权用户的越权访问。
3.1 Access数据库
Access数据库和ASP常用于开发中小型Web应用程序。由于Access是文件数据库,它可以与ASP程序一起发布而不需要进行配置,具有很好的灵活性,但由此也带来了安全隐患。如果Access数据库文件在站点内部,用户通过猜出数据库路径则可以输入URL地址(如HTTP://IP地址/路径/Market.mdb)直接下载数据库,窃取数据库中信息或更改信息再上传。所以,确保数据库安全性的首要任务是防止用户下载数据库。一种方法是将数据库存放在虚拟目录以外的文件夹中,通过1.1中ODBC设置系统数据源连接数据库;另一种方法是将数据库存放在站点目录的上级目录中,在连接数据库文件时,通过2.2或2.3中的语句Server.MapPath(“../../Market.mdb”)将虚拟路径映射为物理路径。使用以上两种方法后,用户均不能下载数据库,从而有效地防止了数据库中信息内容的泄露。其次,我们可对数据库设置密码, 在Access中选择[工具]→[安全]→[设置数据库密码]设置密码。这样用户即使下载了数据库,也不能轻易地打开数据库。需要注意的是:设置密码后,在数据库连接字符串中就必须设置PWD=password。此外,在设计数据库时,我们可以把供用户访问的数据信息和供管理员访问的数据信息放在不同的数据库文件中,并存放在不同的文件夹中。如设计购物网站时,我们将允许用户访问的用户注册表、商品信息表、订单表等数据放在一个数据库中,而将不允许顾客访问的库存表及雇员表等信息放在另一个数据库中,这样供管理员进行后台管理的数据就又多了一道安全保障。
3.2 SQL Server数据库
SQL Server的安全机制可以划分为操作系统的安全性、SQL Server的登录安全性、数据库的使用安全性和数据库对象的使用安全性4个等级。在Web应用中使用SQL Server数据库,进行登录安全性验证的典型方法是把一组SQL Server登录名称和密码嵌入到Web服务器上运行的ASP程序中;然后,由Web服务器负责验证用户,应用程序则使用它自己的登录帐户供用户访问数据。下面通过设置全局组和数据库角色来分析数据库及其对象的访问安全机制。
3.2.1 设置全局组
购物网站的用户一般包括:普通用户(仅浏览网页)、购物顾客、数据库管理员等。每一组用户都有不同的数据库访问要求,即对数据库及其对象的使用权限是不同的。因此,对于每一组用户,我们分别为它创建一个满足该组用户权限要求的、域内全局有效的组,并定义组成员可以访问数据库的权限。在购物网站中,我们应该创建Data Users、Data Login Users、Data Managers等组。
3.2.2 利用角色分配权限
数据库角色能为某一用户或一组用户授予不同级别的管理或访问数据库或数据库对象的权限,这些权限是数据库专有的。而且,还可以使一个用户具有属于同一数据库的多个角色。作为应用程序角色使用的示例,假设用户 Sue 运行购物网站应用程序,该应用程序要求在数据库 Market 中的表 Login 和 Orders 上有 Select、Update 和 Insert 权限,但她在使用 SQL 查询分析器或任何其它工具访问 Login 或 Orders 表时不应有 Select、Insert 或 Update 权限。若要确保如此,可以创建一个拒绝 Login 和 Orders 表上的 Select、Insert 或 Update 权限的用户-数据库角色,然后将 Sue 添加为该数据库角色的成员。接着在 market 数据库中创建带有 Login 和 Orders 表上的 Select、Insert 和 Update 权限的应用程序角色。当应用程序运行时,它通过使用 sp_setapprole 提供密码激活应用程序,并获得访问 Login 和 Orders 表的权限。如果 Sue 尝试使用除该应用程序外的任何其它工具登录到 SQL Server 实例,则将无法访问 Login 或 Orders 表。
通过实际应用及理论分析得出简化安全策略的经验规则如下:
·用户通过运行ASP程序获得服务器和数据库的访问权限;
·通过将用户加入全局组,而全局组再加入角色获得权限,角色直接拥有数据库的访问权限;
·需要多种权限的用户可通过加入多个全局组的方式来获得权限。
只要规划恰当,就能够针对不同的Web用户完成所有的访问和权限的维护工作。
4 结束语
基于Web数据库的安全是一个系统性、综合性的问题,而且其涉及的范围很广,其中对于数据库及其对象的数据安全最为重要。还应看到,和其他技术一样,入侵者的手段也在不断提高,安全防范是一个永久性的问题,只有通过不断地改进和完善安全手段,才能保证系统的正常运行,才能提高系统的可靠性。
参考文献:
[1] 张晓晓.基于Web的数据库系统网络安全策略研究[J].中国科技信息,2005,(12):113.
[2] 王惠琴,李明,王燕.基于Web的数据库安全管理技术与实现[J].计算机应用研究,2002,(3):61-64.
[3] 高怡新. ASP网络应用程序设计[M]. 人民邮电出版社, 2005.
[4] 赵莉萍.数据库系统原理[M]. 华东理工大学出版社, 2002.
[5] 张鑫燕. SQL Server 2000程序设计[M]. 科学出版社, 2003.
数据库安全机制 篇4
1 对SQL Server数据库的认识
SQL Server是美国Microsoft公司推出的一种关系型数据库系统。它的高性能设计使得其可以充分利用Windows NT的优势。SQL Server有着先进的系统管理, 不仅支持Windows图形化管理工具, 还支持本地和远程的系统管理及配置。从SQL Server支持对称多处理器结构、存储过程及ODBC, 并具有自己的SQL语言可以看到其强大的处理事务的功能, 它能利用多种方法确保数据的完整。之所以SQLServer能为广大用户、开发研究人员及系统集成商提供一个卓越的数据库平台是因为其内置了数据复制功能、强大的管理工具、Internet的紧密集成及开放的系统结构。
2 SQL Server数据库的安全机制
数据库的安全性是为了防止数据库被非法入侵者使用, 从而导致数据泄漏、被更改或被破坏。数据库的安全机制一般可以分为用户、数据库管理系统、操作系统和数据库四个部分。其中对重要部分用户部分采取身份认证法。数据库管理系统保证资料的安全性是通过访问控制来实现的, 这就使得每个用户经过授权后才能控制一个对象。一般的安全机制主要有以下几点:⑴身份认证。数据库的主要对象是数据库用, 他们进行着数据库的连接和数据库数据的存取。为了验证数据库用户身份的正确性通常会以口令识别的方式来对数据库用户进行确认, 这是数据库中管理、控制数据访问权限的一种有效的安全措施。⑵访问控制。SQL Server数据库的访问控制一般以数据和用户分类来实现, 它是对用户访问数据库不同对象的权限的控制。系统授权、确认访问权限及实施权限这三个主要部分不仅是访问控制进行时数据库安全系统的核心技术, 也是数据库管理系统最有效果的安全防护手段。⑶系统文件的访问控制。操作系统作为数据库系统安全运行的平台, 它为数据库系统起到一定程度的保护作用。因为在操作系统下的数据库系统是通过文件的形式来管理的, 这就使得操作系统的用户拥有自己的一些权限, 用户可以通过利用操作系统工具来伪造和篡改数据库里的文件内容。通过加强对OS的安全管理, 从而有效地抵制网络上数据库攻击。此外, 必须对操作系统用户的管理及拥有的权限合理分配, 这样就可以有效地防止操作系统用户通过非法手段进入数据库系统;对数据库文件访问权限的合理设置, 可以使文件不会在未授权的情况下被修改, 这是对数据库的安全防护最有效的方法。⑷数据库加密。数据库加密是利用数据库密码系统来使得明文数据变成密文数据, 这样在数据库存储时就成了密文数据。这样在查询时可以将密文数据取出并通过解密得到明文信息, 即便出现硬件存储被窃也不会造成数据的泄漏, 这种方法很大程度上提高了数据库的安全性。
3 SQL Server数据库安全问题的设置
在进行SQL Server数据库设计时, 必须注意数据库的安全机制, 及安装时整个系统可靠的安全设置。先从操作系统的角度出发, 其安全设置要具有正确性, 在确定操作系统用户拥有的权限之后, 借助文件驱动程序对用户的文件操作实行过滤。也就是对数据库、日志及备份文件等操作权限进行限定, 使其限定为数据库进程、指定进程后才能操作, 这样其它的进程进行的操作将不能成功。这时数据库的安全性就由操作系统、数据库系统本身及网络传输的安全性来决定了, 这样做可以排除操作系统、数据库系统以外的软件的一些不安全因素。SQL Server数据库系统必须进行正确的安全设置, 只有通过正确设置才可以降低由于操作系统信息丢失、数据库系统信息泄漏导致的损失。
4 结束语
SQL Server数据库的出现是对人们进行数据管理和应用有着革命性的意义, 它不仅方便了人们的生产生活, 也使得信息化下的信息技术更加便捷。通过本文对SQL Server数据库及SQL Server数据库的安全机制有了大致的认识, 并了解到了加强SQL Server数据库安全机制的四种方法, 可以在实际应用有所借鉴。SQL Server数据库的安全性需要通过多种方法来实现, 要从其操作环境出发, 从Windows2000系统安全和网络安全设置两方面去入手, 通过正确的安全设置, 可以有效地保证数据库系统信息的丢失。
参考文献
[1]谢志宇, 郑林华, 王梓斌.SQLServer数据库的安全设计与应用[J].电脑知识与技术, 2006, 32:30-31.
[2]谷震离, 杜根远.SQLServer数据库应用程序中数据库安全性研究[J].计算机工程与设计, 2007, 20:3717-3719.
[3]夏代提古丽克依木.关于网络环境下数据库安全机制问题的若干思考[J].时代教育, 2012, 19:184.
数据库安全机制 篇5
统计专业繁多,彼此千差万别,但是有一点是相同的,那就是一切统计工作都以数据质量为生命线,数据质量是衡量统计工作水平的最重要的标准。而影响统计数据质量的原因则是统计误差的存在。
因此我们探讨数据质量控制的办法和机制,首先要了解影响数据质量的统计误差来源。从调查过程来看,统计误差主要分为调查阶段的误差和数据维护开发使用时产生的误差,从误差产生原因来看则可分为主观性误差和客观性误差。
在调查阶段,因主观原因造成的误差主要有:数据采集阶段时调查人员水平低或工作漫不经心态度不认真造成的误差;被调查人员记忆不清、刻意隐瞒或理解错误造成的误差等。客观原因造成的误差主要有:非全面性调查特有的代表性误差,其中也包括样本老化带来的误差;因理论不完善、调查方式不合理、指标设置不当、分组界限不清等造成的设计误差;数据采集阶段因采集方法不科学、数据处理程序有欠缺等原因造成的技术性误差等。
在数据维护和使用阶段,因主观原因造成的误差主要有:出于某种目的刻意篡改统计数据造成的误差、调查基础资料维护不当造成的误差等。因客观原因造成的误差主要有汇总方式不科学以及运算、制表、打印等计算机处理过程中出现的误差。
造成误差的原因繁多,对不同问题必须详细分析针对不同原因进行应对和解决。总体来说,主观性误差可以通过体制完善和法制手段来解决,而客观性误差则需要通过对统计方法制度的不断改进来解决。
二、城镇住户调查数据质量存在的问题
我开始从事城镇住户调查工作的时候,正好是南京市城镇住户调查工作重大变革伊始:南京市开始实施全面在地统计,调查样本扩大;常规记账户的样本每三年进行一次轮换;五年以来,记账指标、数据处理程序、汇总表式等都在不断的改进变化。调查方法的变革与改进,一方面顺应了时代要求与变化,改进了工作方法,提高了样本代表性,指标更加科学;但在进步的同时也产生了不少新的问题。
我们还是从统计误差的来源来分析当前城镇住户调查数据质量存在的问题。
1、调查阶段的误差
在调查阶段,因为实施了在地统计,得以能够扩大样本量,增加了样本代表性,但是由于调查工作的下移,使得中间多了培训环节,通常由市一级向区县一级负责人进行业务培训,再由他们向一线调查员和被调查人进行培训指导,多级培训容易产生理解错误和掌握程度的参差不齐,这种误差往往贯穿整个调查阶段。对一线调查员的控制和约束不足,造成调查员工作质量的良莠不齐。被调查的记账户出于私隐心理,填报数据普遍有虚报瞒报的现象,部分调查户水平不足或态度不认真,有混记、回忆记账、漏记等各类不规范记账行为。访户、换户等基础工作不扎实。这都对源头数据的质量产生影响。
从客观情况来看,目前,城镇住户调查采用(PPS)法,即分层多阶段随机抽样的方法确定。从理论上来讲,在抽样调查诸多方式中,这种方法是比较科学的,也能最大限度的减少抽样误差。但是,目前的调查抽样工作却存在样本框不完善的情况,这直接对样本代表性产生影响,增大了抽样误差。其主要存在的问题有:
一、目前城镇住户调查和农村住户调查分开进行,但是随着城市化进程的加快,部分城乡结合部城镇居民和农村居民混杂,村、居委会之间行政区划不明,无法截然分开;
二、区县行政区划变动频繁,合合分分,而目录维护工作往往不能同步跟上;
三、部分居委会规模庞大,通常还要在其内部进行一次区划的划分,增加了一次抽样误差。上述几个方面都可能会导致估算上出现问题,增大抽样误差。
2、数据维护和使用阶段的误差
从主观原因来看,城镇住户调查的结果直接反映民生,部分指标是居民小康指标的重要组成部分,因此往往与地方政绩挂钩。在地统计使源头数据的管理变弱,可能会出现恶意篡改数据的现象。
目前,调查户的住址、家庭人口情况、住房情况、家庭耐用品情况等基础台账信息目前采取一次性全面核实,有变动即时同步更新的方式进行维护管理。部分区县基础信息更新不及时,造成情况失实,对最终汇总结果产生影响。
从客观原因来看,城镇住户调查的数据处理程序近年来一直在更新变化,操作简便性增加,数据处理分析能力增强,界面也不断友好化。但是程序的复杂也带来了很多问题:对操作环境要求提高,数据库容易损坏,数据时常有丢失的现象。
三、现有数据质量控制办法
现有城镇住户调查数据质量控制办法,主要针对造成统计误差的主观性原因,注重源头数据质量,以提高调查调查员的责任性以及各项基础工作水平,确保城镇住户调查资料的真实、可靠为目的,建立在对户资料审核的基础上。账本质量的好坏、基础资料的完整、准确等是其原则。
现有数据质量控制办法主要有:
对汇总数据影响较大的大额收支进行上户及电话核实。并对偶然性数据进行分摊以降低其对调查结果代表性的影响。
通过定期或不定期的数据质量检查、抽样访户、建立主要数据监测体系等方法发现问题,并作为数据质量控制的依据。
严格换户制度。
对发现有恶意篡改数据、基本资料不实等问题的区县加大评估认定力度。现有城镇住户调查数据质量控制办法主要着眼于数据本身,通过数据质量检查等办法,被动地发现问题,解决问题。在主动性方面有所欠缺。同时缺少对客观原因造成的误差的控制办法。
四、城镇住户调查数据质量控制办法的完善
针对现有城镇住户调查数据质量控制办法的欠缺与不足,建议从以下几个方面进行:
1、增强质量控制办法的主动性,加强一线调查员的培训力度和控制约束力。增加垂直培训和直接培训,制作填报指南等,对于工作态度差,工作质量低的一线调查员建立奖惩和替换制度。
2、加强《统计法》宣传,提高依法行政能力,增强公民懂法、守法的观念,为开展住户调查营造良好氛围。针对城镇住户调查面对千家万户的特点,要在最基层的城镇社区做好宣传发动工作,提高居民对住户调查重要性的认识。减少被调查户抵触情绪,增强源头数据质量。
3、加强从客观角度出发的质量控制办法:
A、及时维护抽样框,减少抽样误差。做好本地村级目录的更新和维护工作,可以结合人口普查做好维护工作,并及时上报。
B、当前做好城镇居民和农村居民的甄别和划分,同时做好住户调查城乡一体化的研究准备。
数据库安全机制 篇6
摘 要:本文结合西北师范大学校园“一卡通”项目及笔者在工作中的疑惑,探讨了校园“一卡通”数据库的主流设计模式,伴随着数据同步的疑问,提出了一种可行的、满足“一卡通”平台和各部门子系统数据库需求的数据库集成机制,对校园“一卡通”系统和数字化校园建设具有一定的参考价值。
关键词:一卡通 分布式异构数据库 XML 数据同步
中图分类号:TP311.13文献标识码:A 文章编号:1673-8454(2009)05-0027-02
一、概述
校园“一卡通”系统是以非接触式射频IC卡作为身份认证、信息存储、储值消费和信息传递介质,以计算机数据库技术和网络通信技术为支撑,将计算机网络的数字化理念注入到校园管理,一定程度上把校园内的各个独立的管理子系统有机地衔接起来,采用一张校园卡代替校内使用的学生证、教师证、借书证、饭卡等各种证件,加强校内的资源共享,减少重复建设和数据冗余,实现校园信息统一管理的数据平台,是数字化校园的基础工程。[1]
作为高校的数字化平台,校园“一卡通”如何发挥其数据中心的作用,如何与现有的各个独立的子系统数据库实现数据集成,采用什么样的集成机制才能实现数据的有效共享和同步,成为校园“一卡通”建设的核心问题。
二、问题的提出
传统的“一卡一库”设计模式(即所有的功能模块都使用一个数据库),虽然能够保证数据的高度一致性和有效共享,但后期系统升级和功能扩展时,开销太大,几乎要重新建设,不适合“一卡通”数据库的设计要求。
随着“一卡通”概念的成熟和建设经验的积累,“一卡多库”的分布式数据库共享模式已经成为“一卡通”数据库设计的主流模式。[2] 以卡户信息数据库为核心库,校内各部门可根据部门性质和功能需求各自建立相对独立的子系统和功能模块数据库,与核心库对接形成分布式数据库,各部门的数据由自己的DBMS(数据库管理系统)管理,具有自治处理能力。这样的优点是反应速度快,可扩展性好,能适应学校规模的不断扩大,同时增加了“一卡通”系统的灵活性与独立性,便于“一卡通”应用系统的扩充与升级改造。然而这种数据库设计方法由于各子系统数据库相对独立,必然导致核心数据库中的卡信息与各子系统数据库中的相关数据出现不同步的问题。下文将讨论如何建立有效的数据库集成机制来解决这样的问题。
三、数据库集成机制研究
1.校园“一卡通”数据库的复杂性
在“一卡多库”的分布式数据库共享模式下,由于各部门职能不尽相同,所需的数据也不尽相同,采用的数据库各有差异,使得数据库的集成变得异常复杂。下面以西北师范大学校园“一卡通”工程为例说明。
(1)各职能部门所需数据不一
图书馆数据库和一卡通核心库的同步以个人编号(学号或工号)为关键字,机房管理数据库与一卡通核心库的同步以校园卡账号为关键字,学生处、财务处数据与校园一卡通核心库的同步以身份证号为关键字。
(2)数据库平台和运行环境不一
一卡通核心库采用Oracle 10g数据库,图书馆采用Informix数据库,运行环境都为Redhat Linux As4;机房管理系统采用SQL Server 2000数据库,学生处和财务处采用Visual FoxPro数据库,运行环境都为Windows server 2003 sp2。
(3)建设时间和数据格式不一
各个子系统数据库是在不同阶段开发建设的,每个子数据库都有自己的运行环境和数据库系统,这些数据库系统中的数据格式又不一致,数据难以交换和同步。
(4)硬件配置和网络状况不一
一卡通核心库使用的服务器是IBM 460,机房管理子系统使用IBM 346服务器,其他部门所使用的服务器各不相同。一卡通核心库、机房管理子系统、图书馆系统都通过校园网主干线路接入,而学生处、财务处等部门的系统则是通过校园网分支线路接入,造成网络状况的不一致。
在这种复杂的情况下,采用怎样的机制才能保证数据的有效同步、保证数据在核心数据库与各子系统数据库之间的一致性、保证校园卡用户正常办理各种业务。
2.分布式异构数据库的同步机制
(1)分布式异构数据库概念
分布式异构数据库的异构主要表现在各个子系统的计算机体系平台的异构、操作系统的异构、DBMS中的数据模型和物理模型的异构等等。分布式异构数据库同步的核心就是要解决各个子系统的分布性和异构性,实现数据的同步和一致。
(2)数据库同步技术
目前比较先进的异构数据库同步技术是利用标准的XML传输和SQL数据操纵,采用基于订阅与发布模式的数据库同步技术,灵活地选择数据库中的某些表,生成和解析XML文件,从而实现SQL Server,Oracle,MySql和DB2等流行数据库系统之间的数据同步。
3.校园“一卡通”数据库的有效同步机制
依据以上的分布式异构数据库同步技术,本文就校园“一卡通”的数据库同步和工作原理,提出如下有效的同步机制。
(1)搭建FTP站点、通过XML文件实现数据库的定时同步
采用XML作为数据描述与交换的语言,利用XML文件作为中间文件进行数据库间的数据同步。[3] 待同步的数据先以XML文件的格式从核心数据库中导出来,放置在FTP相应的目录中,各个子系统通过FTP获取XML文件,再经过解析XML文件,转化为本地数据库类型,然后导入到本地数据库中。这样,一种系统的数据就能够透明地转化为另外一种系统的数据。
校园“一卡通”数据库是一卡通庞大系统中的基础数据平台,为各个子系统提供基础数据,比如,学号、身份证号、姓名、校园卡账号、银行账号等基础字段。根据一卡通的功能,在数据库设计中要建立身份验证库,用来识别卡户的身份,各个子系统利用授权给自己的账号和密码通过FTP站点定时获取所需表的XML文件,解析转化后导入本地数据库中,实现数据库的定时同步。
(2)两层身份识别机制
如上所述的同步机制,存在着很大的缺陷,这种同步机制不是实时的,在同步之前存在一段时间的数据不一致情况。当某个卡户挂失了丢失的卡以后,由于短时间的数据不一致,导致该挂失卡还可以在图书管理系统中借书,这将会给图书馆或者失主带来一定的损失,但是如果数据库实现实时同步,每天将会有成千上万条信息实时传输,数据库每日将要提交和同步处理上万次事务,这对于一卡通系统和校园网来说是个很大的压力和开销,甚至承受不了这么大的负载。
在这里我们构建两层处理机制。第一、建立对接机,对一卡通的所有终端进行监控,调用身份验证数据库。卡户在终端刷卡时,对接机就可以通过核心数据库的身份验证库直接验证卡户的信息和状态,这样可以避免数据库同步之前子系统库与核心库不一致的情况。第二、数据库定时同步,在网络比较空闲的情况下(比如凌晨三四点),通过FTP站点、XML解析机制进行数据库同步。各个子系统可以各取所需,在各自规定的时间里,取得与核心数据库的数据一致。如图1对数据库集成机制进行了图示化的详细说明。
这种数据库集成机制在保证数据的有效同步、降低校园网压力和开销的同时,使卡户和相关部门的业务也可以正常进行。
四、总结
本文结合我校校园“一卡通”系统,在分布式异构数据库同步原理的基础上,构建了一个可行的、高效的校园“一卡通”数据库集成机制。为校园“一卡通”的建设和高校数字化建设提供了经济、有效的建设思路。
参考文献:
[1]西北师范大学数字化校园建设规划.西北师范大学网络教育学院,2005.5.
[2]赵生艳,张琳娜.校园“一卡通”信息系统数据库设计刍议[J].科技咨询导报,2007(2).
数据库安全机制 篇7
本文所述企业是一个煤矿机械制造企业,企业的工艺布置按照采、掘机械、液压元件和其他矿用装备生产工艺流程设计,现设有3个直接生产分厂和一个辅助分厂,并设有包括计量、化验、检验在内的检测机构,有一个科研所。生产、安全、设备、质检组织机构有生产管理部、安全监察部、设备动力部、质量管理部;营销组织机构有销售公司、市场服务部;还有人力、财务、供应、厂办、企管、监察、外协、经保、后勤等部门。目前,该企业所使用的数据库系统包括供应子系统、计划子系统、生产子系统、销售子系统、设备子系统。所有子系统共用一个数据库,每个子系统都有专人进行数据录入、报表统计和汇总等,每个部门的领导可以随时浏览本部门的全部信息,DBA由该企业计算机中心的人员承担。该数据库系统基于B/S结构,后台采用SQL Server 2005,前台采用JSP实现,操作系统选用Windows NT2000。每个子系统的用户有2种类型,加上DBA和企业级领导,不同类型的用户共有14种,用户数量有30个,这些不同类型的用户有不同的权限,为了保证数据库系统的安全,除需要制定一定的安全制度外,还需要建立数据库安全机制来确保数据库系统的安全。
1 数据库系统业务简介
1.1 供应子系统
物资供应子系统的主要功能是物资的入库和出库。当有新物资采购进来时,操作员须填写入库单,更新库存数据,每月生成入库统计报表;按照生产计划和库存数据生成原材料采购计划,根据采购计划生成月采购计划表;生产车间根据生产计划每天从库房领取原材料,形成领料单,更新库存数据,每月末生成出库统计表和月库存情况汇总表。
1.2 计划子系统
根据用户的订货数据和每月的生产统计报表以及设备、物资供应统计报表生成月生产计划表;在生产月计划表的基础上,根据生产车间的加工能力产生周计划表和日计划表;检查生产情况和销售情况,根据库存和出库等情况及时调整周计划表和月计划表。
1.3 生产子系统
生产子系统包括机械生产子系统和液压元件生产子系统,管理每天生产日报、设备运行日报、能源消耗日报、原材料日报等,同时统计生产周报和月报。
1.4 销售子系统
管理用户信息、销售月报;制定销售计划,跟踪产品生产过程和出库情况等。
1.5 设备子系统
记录设备运行、检修、维护数据,制定大修计划,编制设备采购计划。
2 数据库系统安全机制设计
数据库系统安全机制由登录身份验证模式选择、应用程序验证、创建SQL Server组、设置数据库访问、设置与分配用户权限、其他安全机制等几部分组成。
2.1 登录身份验证模式选择
SQL Server 2005有2种身份验证模式,即Windows身份验证模式和Windows与SQL Server混合身份验证(简称SQL Server身份验证)模式[1]。
SQL Server身份验证模式是把一组帐户、密码与Master数据库Sysxlogins表中的一个清单进行匹配[2]。Windows身份验证模式是请求域控制器检查用户身份的合法性。无论在哪种情况下,SQL Server都接收到一个访问标记(Access Token)。访问标记是在验证过程中构造出来的一个特殊列表,其中包含了用户的SID(安全标识号)以及一系列用户所在组的SID。SQL Server以这些SID为基础授予访问权限。
如果使用SQL Server身份验证模式登录,很容易通过Enterprise Manager实现,但其缺点也有2个:一个是它只对特定的服务器有效,也就是说,在一个多服务器的环境中管理比较困难;另一个是,对于每一个数据库,必须分别为它管理权限[3]。由于本系统只有一个服务器,该服务器也只有一个数据库,因此,选择SQL Server身份验证模式。
2.2 应用程序验证
每个子系统都设置了登录页面,只有当用户在登录页面的对话框中输入了合法的帐户和密码,IIS(互联网信息服务)才会允许他们访问页面。每个用户的帐号和密码存放在服务器端数据库的表中,当用户需要通过登录界面进入系统时,IIS把用户为了浏览页面而提供的身份信息发送给服务器,与数据库中存放的帐户和密码进行比较,只有通过帐户和密码验证的用户才能进入系统。
2.3 创建SQL Server组
该系统中每一个子系统都有独立的功能,相互之间也有一定的联系,所有数据都在同一个数据库中。每个子系统的用户一般分为2种,即操作人员和领导,另外还有能够访问全局数据的DBA和企业级领导,也就是说,这些用户都需要访问同一个服务器里同一个数据库中的不同对象,他们的权限各不相同,但这些用户可以根据不同的权限划分为不同的类别。控制数据访问权限最简单的方法:对于每一类用户,分别为它创建一个满足该类用户权限要求的、域内全局有效的组[4]。为此,需要建立组,每一组用户有不同的服务器访问要求。一般服务器中都会创建以下全局组:SQL Server Administrators(服务器管理员组);SQL Server Users(服务器用户组);SQL Server Denied Users(服务器拒绝用户组);SQL Server DB Creators(数据库创建者组);SQL Server Security Operators(服务器安全操作者组)等。对于本系统,特别创建以下2个全局组:Main_DB Users(数据库用户组,其中Main_DB是本数据库的名字);Main_DB Denied Users(拒绝访问本数据库的用户组)[5,6]。
创建了全局组之后,接下来可以授予它们访问SQL Server的权限。首先为SQL Server Users创建一个SQL Server身份验证的登录并授予它登录权限,把Master数据库设置为它的默认数据库,但不要授予它访问任何其他数据库的权限,也不要把这个登录帐户设置为任何服务器角色的成员。接着再为SQL Server Denied Users授权,过程同上,不同之处是要拒绝登录访问。创建了这2个组之后,就有了一种允许或拒绝用户访问服务器的便捷方法。
为了给其他组授权,首先给各个组创建一个登录名,然后打开Query Analyzer,用系统存储过程sp_addsrvrolemember以及sp_addrolemember进行授权。
对于上述各个组,可以采用sp_addsrvrolemember存储过程把各个登录名加入到合适的服务器角色,使其成为该角色的一个成员,如SQL Server Administrators成为Sysadmins角色的成员,SQL Server DB Creators成为Dbcreator角色的成员,SQL Server Security Operators成为Securityadmin角色的成员,这样,这些用户组的权限就设置好了。
对于Main_DB Users,也要为其创建一个登录名,同时设置该登录名为Dbcreator角色的成员,授权它可以访问本数据库。
2.4 设置数据库访问
为了顺利访问数据库,对每个用户设置访问权限的方法一般是不可行的,因为数据库用户数过多。在SQL Server中,用角色的方法设置数据库的访问权限。为此,需要建立数据库用户角色[7,8]。
创建了数据库之后,可以用sp_grantdbaccess存储过程授权Main_DB Users访问它。对于要拒绝其访问数据库的用户,由于已经创建了一个名为Main_DB Denied Users的全局组,授权它访问数据库,然后把它设置为db_denydatareader以及db_denydatawriter角色的成员,就达到了目的。
正如对登录过程的处理,如果访问标记中的任意SID已经在Sysusers系统表登记,SQL将允许用户访问数据库。由于前面已经创建了一个名为Main_DB Users的拥有数据库访问权限的全局组,同时不把访问权授予所有其他的组。这样,只需简单地在一个全局组中添加或者删除成员就可以增加或者删除数据库用户,也就是将所有能够访问本数据库的用户都加入到Main_DB Users,不能访问的用户加入到Main_DB Denied Users即可[9,10,11]。
2.5 设置与分配用户权限
首先定义数据库角色,本数据库系统需要定义的角色:每个子系统有2种角色(子系统操作员角色和子系统领导角色)、企业级领导角色和DBA角色。
接下来需要给每个角色分配数据库对象权限,可以使用SQL Server Management管理工具进行,也可以使用GRANT、DENY、REVOKE命令来管理权限[12]。所有角色及其权限的分配情况如表1所示。
最后就可以加入所有SQL Server身份验证模式的登录。用户定义的数据库角色可以包含SQL Server登录以及NT全局组、本地组、个人帐户。因此,只要将登录名加入到上述定义过的数据库角色中,这些登录名的权限就分配好了。
2.6 其他安全机制
上面所述的安全机制只是保证合法的用户进入SQL Server并进行权限范围内的操作,不能保证数据库发生故障,如介质故障、系统故障、计算机病毒时数据库的安全,为此本系统还建立了数据库转储(备份)与恢复机制,具体转储方式为每天晚上进行动态增量转储,每周进行1次动态海量转储,每月进行1次静态海量转储。
3 结语
企业数据库系统的开发固然重要,但是为了保证系统的安全性,设计其安全机制也是非常重要的。在设计SQL Server数据库系统安全机制时,除通过应用程序对用户登录帐户和密码进行验证外,可以首先创建全局组,通过SQL Server Users获得服务器访问,通过具体数据库组获得数据库访问权限,然后根据用户访问需求创建数据库角色并对角色分配权限,最后全局组通过加入角色获得权限。此外,数据库系统安全机制还包括数据库的转储与恢复机制等。这种设计方法已被证明在该企业数据库系统中是可行和有效的。
参考文献
[1]虞益成.SQL Server2005数据库应用技术[M].北京:中国铁道出版社,2004.
[2]常军林,魏功.SQL Server2005数据库实用教程[M].北京:机械工业出版社,2010.
[3]LEARNING S Q.SQL Server2005实现与维护(MCTS教程)[M].施平安,译.北京:清华大学出版社,2011.
[4]宋敏,程凤娟.SQL Server2005安全机制研究[J].电脑与信息技术,2008,16(5):71-72.
[5]钱伟强.SQL Server2005的数据库安全管理[J].中国新技术新产品,2010,2(21):96-97.
[6]赵松涛.深入浅出SQL Server2005系统管理与应用开发[M].北京:电子工业出版社,2009.
[7]祁昌平,申雪琴.浅析SQL Server数据库系统的安全机制[J].河西学院学报,2007,3(5):57-59.
[8]曹晶.SQL Server数据库的安全问题的研究[J].中国高新技术企业,2008,15(8):97.
[9]赵云云.松江河发电厂管理信息系统的设计与实现[D].长春:吉林大学,2011.
[10]丁雅鹏.高校学生学籍管理系统的设计与实现[D].上海:华东师范大学,2011.
[11]毛有吉.军队高层次人才信息管理系统的设计与实现[D].济南:山东大学,2011.
数据库安全机制 篇8
1 Oracle数据库网络安全访问概念简述
Oracle数据库是甲骨文公司历经多年研制出的超大型网络数据库, 其主要是以IP地址以及计算及网络为基础的用户协议系统。该系统能够让用户在系统中段部位访问数据库内的任何信息。而且该数据库较为简单便捷, 操作性较高, 用户不仅可以通过IP地址进行数据库访问, 还可以通过甲骨文公司依据数据库为基础开发的新型软件作为中间体然后对数据库进行访问。该软件并非是针对软件呈现进行设计的, 其主要的目的就是为了使用户应用更加方便, 简而言之, 就是在客户端和数据库之间构建一个临时的网络会话兼具传输数据的通道, 在构建成功后, 该软件就成为了数据传输的主要渠道, 另外在该软件的构建上, 还安装了一个安全机制, 其作用就是对数据库和客户端连接传输的信息进行保护, 防止出现信息泄露危害用户经济利益情况出现。
2 Oracle数据库网络安全存在的问题
Oracle数据库作为当下最常见的数据库, 其内部涵盖很多用户的隐私信息, 如果出现安全问题, 就容易引发一系列的经济损失。当下Oracle数据库常见的问题主要有下述几种。
2.1 默认账号安全保护不够完善
在Oracle数据库安装构建初期, 其安装都需要采取默认的机制, 而通过谷歌对这些默认的账户进行搜索, 就能够快速的检测出用户的账号和密码, 而且这些是处于公开状态的。而长期的公开状态, 就会被某些不法分子进行利用, 甚至是公开在互联网上, 这就会对用户信息造成巨大的隐患, 严重甚至会造成用户巨大的经济损失。而归结该问题的原因就是Oracle数据库对账号安全系统保护力度不够完善。
2.2 O racle数据库密码缺失问题
Oracle数据库内的密码大多都存在与数据字典中, 而对于很多已经成功认证用户来说, 其字典内存放的密码仅仅是进行校验, 并非是明文。而Hash则能够用来对密码进行校验, 通常密码都设置为16进制数字, 而在Oracle数据库密码输入过程中, 如果用户想要进行认证, 就需要对字典内部的数据进行校验和分析, 才能判断差异。该分析就能够看出, 在密码方面Oracle数据库还存留很大的问题, 容易引发安全隐患。
3 Oracle数据库网络安全问题解决措施
3.1 加强默认账号管理
默认账号公开化是Oracle数据库网络安全主要的问题, 因此必须要加强其管理。可以通过下述几种方式进行。首先就是构建安全密码, 在Oracle数据库安装时, 默认安装选项内的账号密码通常相同, 且都是由数据库内部字典提供, 这就使其安全性较低, 所以, 应该摒弃改密码的构建方式, 将先进的密码设置程序应用其中, 通过不同的实际情况来添加不同的密码, 就像当下铁路购票系统 (12306) 中一样, 设置动态密码, 来增加其安全性。其次, 在Oracle数据库安装完毕时, 让用户自己设置相应的密码, 而且更改的密码难度一定要高, 这样不仅方便用户直接对其进行管理, 还能够防止密码过于简单造成的安全隐患。最后, 构建完善的管理机制, 例如构建触发器, 当触发器遇到一些IP多次登录均无法成功的情况时, 就切断其与Oracle数据库的联系, 拒绝该IP的登录请求。另外, Oracle数据库会有相应的管理人员, 这些管理人员通常都经过授权, 使得触发器并不能够产生相应的作用, 这些也会引发一些问题, 所以在触发器构建时, 要相应的设置登录触发限制, 针对管理人员要设定专门的窗口, 如果管理人员进入用户窗口就拒绝其响应[2]。
3.2 改善密码缺陷问题
密码缺陷问题也容易引发较大的安全隐患。因此, 必须要对其进行改善。Oracle数据库需要对内部存储的密码进行管理, 当用户登录时, 需要对密码进行确定, 以此为基础构建完善的认证系统, 这样才能保障Oracle数据库的安全性。
密码管理通常可以由下述三个方面进行:
1) 完善密码创建、维护、同步存储以及相应的信息认证问题, 提高密码的安全性。
2) 对用户进行相应的管理, 例如Oracle数据库和使用对象为同一人时, 则将其划分独立用户类型中;如果用户为公司, 则将其化为公共用户类型中, 并相应的设置不同类型的认证方式, 来保障Oracle数据库安全性能。
3) 定期对Oracle数据库内部密码进行管理维护, 对使用默认密码和密码难度较低的用户进行通知, 让其对密码进行更改。在Oracle数据库中, 密码是极为重要的, 但也是最脆弱的, 假使密码公共性较强, 就会对Oracle数据库造成巨大的安全隐患, 而要想改善该问题, 就需要对用户密码的检验和认证过程进行对比分析, 判断其相关性, 来对密码进行深层次的管理, 提高Oracle数据库的安全性[3]。
4 结语
综上所述, 网络安全访问是提升Oracle数据库安全性, 保障用户利益不受侵犯的主要措施。而Oracle数据库由于默认安装的原因会使得账号和密码等存在一定的问题, 而笔者针对这两项问题进行了详细的分析, 并针对性的提出措施, 以期为Oracle数据库安全提供有力的支撑, 避免黑客利用信息对用户进行侵害。
摘要:随着近年来信息技术的不断发展, 计算机也成为日常生活必不可少的设备。而数据库作为计算机的核心部件, 也就成为了当下研究的重点。甲骨文公司研发的Oracle数据库由于其容易操作、简单快捷等特点也成为当下应用最为广泛的数据库。使用量增加也逐渐暴露出一些问题, 给用户带来巨大的安全威胁, 因此, 必须要针对其问题进行完善, 这样才能提升网络安全性。
关键词:Oracle数据库,网络安全,访问机制
参考文献
[1]顾艳婷.基于O racle数据库的网络安全访问机制研究[J].电子制作, 2014 (17) :79.
[2]李欧.基于O racle数据库的网络安全访问机制研究[J].电脑知识与技术:学术交流, 2015 (12) :10-11.
数据库安全机制 篇9
1 探讨数据库安全访问控制机制的重要性
随着数据库技术的广泛应用, 数据库的安全越来越受到重视。数据库技术引起了世界范围内的普遍关注, 数据库安全问题也是人们比较关心的问题之一。要想保障数据库的安全有效, 就必须建立数据库安全访问控制机制。数据库的安全访问能够保障数据信息的安全有效, 起着十分重要的作用, 保障数据信息的完整性和保密性。在保护计算机数据信息的安全工作中, 需要设置防卫权限, 控制访问主体对访问客体使用的访问权限。访问机制能够保障和代表用户的利益, 在很大程度上保障数据信息的安全性。
2 不同种类的数据库安全访问控制
数据库安全运行是在保障信息的安全性, 数据库的安全需要引入访问控制机制, 借助控制手段对以下几种行为进行控制, 这些行为有发起网络连接、运行可执行文件、读取数据等等。
当前, 从研究中发现, 存在的访问控制机制主要有以下几种类型:
2.1 强制访问控制
强制访问控制称为MAC。数据管理员负责具体的工作, 提供一种共享服务, 实现主体和客体资源的共享, 系统的安全决策很大程度上影响安全性。不可否认, DAC在体统当中, 是其组成的一部分, 但是并不拥有决定权, 决定权取决于客体的拥有者。从原则立场出发, 系统安全管理员并没有干预授权的转让和传递的权利。可能的一种情况:客体的拥有者会改变DAC的方式, 当时客体的MAC方式不能被客体的拥有者改变。MAC方式的发展, 有一定的构建模型, 这种模型是BLP模型, 主体有安全级, 客体同样有安全级, 安全级元素一个是密级, 另一个是范围。客体的安全级代表客体涉及的信息, 主体的可信度能够在主体的安全级中得到体现。在安全访问控制过程中, 需要遵循两个规则:不能上读规则和不能下读规则。不能上读规则:在主体支配范围之内, 主体方能读客体。另外一种需要遵循的原则:不能下读:主体所写的安全级别的客体也是处于其安全级别支配之下的。在安全等级的基础之上, MAC实施访问控制, 面临病毒的挑战, 能够有效避免攻击。
2.2 自主访问控制
自主访问控制又称DAC, 认同客体和主体之间的关系, 在此基础上生成的一种访问控制机制。只要具备了这个基础性条件, 主体能够拥有客体的所有访问特权, 另外, 主体还可以通过转让的方式将这些权限的全部或者部分给转让出去。当主体需要对其它用户访问的时候, 需要通过搜索检查的方式才能实现。
2.3 基于角色访问控制
Ravi Sandu最早提出基于角色的访问控制, 是美国著名的大学教授。面临很多复杂的问题, 该机制能够有效进行解决。基于角色访问控制机制设计概念较多, 不仅有角色、许可, 而且还有会话、用户。其中, 访问权的集合是角色。当用户拥有某个角色时候, 同时也具备了该角色所有的访问权。用户和角色之间存在一种关系, 确切的说是一种多对多的关系, 当然, 角色和许可之间也是这种关系。一旦进入RBAC构建模式, 用户将面临一场对话, 激活其中一个角色, 用户激活角色后, 获得了访问权。角色激活是访问控制实现最大优势, 最小特权原则能够轻松实现。应用层下角色有直接和明显的逻辑意义, RBAC是一种比较理性的安全模型, 能够很好的应用到数据库层面。
3 数据库的安全访问控制机制优缺点
自主访问控制策略, 又简称为DAC, 有较早的数据库系统访问控制时间。在自主访问控制中, 该控制策略是一种比较常见的系统访问控制策略。但是不可否认, 在使用过程中, 自身存在一定缺陷:数据资源不能实现有效管理, 数据信息比较分散;不能将用户间的关系很好体现出来, 管理工作相当困难, 有最为突出的一个缺陷, 就是无法对系统中的数据信息实行很好的保护, 导致数据信息暴露出来, 面临来自病毒的威胁, 变得束手无策。针对以上出现的问题, 强制访问控制系统, 能够很好的解决这些突出的问题, 但是同样也存在一定缺陷, 有狭窄的应用领域, 具体的控制过程中, 无法保障完整性。当前有一种控制方式是比较先进的-基于角色的控制访问, 该访问技术和策略没有必然, 具备自我管理能力。其中有一点缺陷是值得注意的, 目前, 该技术尚未成熟, 处于发展阶段。
4 前景眺望
社会在前进过程中, 技术相互交融和渗透现象较为普遍, 也是一种发展趋势。其中, 网络通讯技术和数据库机制之间的渗透、融合就是这种情形。相对过去, 用户对数据库的安全提出了更高要求, 同时, 面临许多突出性问题, 数据库安全问题一直是一个十分重要的话题。数据库安全访问机制在未来发展过程中, 将会朝着以下拓展性方向发展, DAC的授权表示能力竟会进一步拓展, 实现描述安全策略语言的开发的通用性, 保障DAC能够担负各种安全策略问题, 在进一步的研究和应用过程中, RBAC将会使用到实际中的DBMS。不可否认, 目前存在的一种状况是:基于角色策略下的DBMS, 没有实现对RBAC潜力的开发, 需要注意:分离角色需求能够在角色策略中得到解决, 但是, DBMS并未做到这一点。
5 结束语
计算机技术与网络技术的发展, 使数据库系统广泛的应用于企业管理、政府办公以及军事等多个领域。数据表明:数据库的安全问题需要被重视起来。网络技术发展迅速, 网络数据库安全机制出现了新问题。在新情况下, 研究者在研究数据库的时候, 需要重新树立研究工作的重要性意识, 确保在改变传统技术的基础上, 开展数据库安全机制研究问题。从宏观视域上来看, 出现的新问题需要我们根据实际需要, 拓宽我们的思维, 实现技术的创新性突破。
摘要:信息技术发展取得了突破性发展, 数据库技术具有宽广的使用范围, 人们普遍担忧数据库的安全问题关注。文章主要探讨了数据库的安全访问控制机制和各自的优缺点, 对访问控制机制未来的发展方向提出了指导性见解。
关键词:数据库,安全访问控制机制,优缺点
参考文献
[1]赵登峰, 许英杰, 王诤.浅析数据库的安全访问控制机制[J].价值工程, 2014, (33) :225-226.
数据库安全机制 篇10
1 My SQL数据库的安全机制
数据库的安全不仅指数据库服务器的安全,也包括保护整个服务器主机的安全[1],防范偷听、重放、修改和拒绝服务等各种类型的可能攻击。这里着重分内部和外部安全性两部分来探讨。
1.1 内部安全性
内部安全性关心的是文件系统级的问题,即防止My SQL数据目录受到在服务器主机有帐号的人(合法或窃取的)的攻击。如果数据目录内容的权限过分授予,使得每个人均能简单地替代对应于那些数据库表的文件,那么确保控制客户通过网络访问的授权表设置正确就毫无意义了。
1.2 外部安全性
外部安全性关心的是从外部通过网络连接服务器的问题,即保护My SQL服务器,免受来自网络对服务器的连接攻击。这必须设置My SQL授权表,使得用户除非提供有效的用户名和口令,否则不允许访问服务器管理的数据库内容。
1.3 访问控制技术
访问控制[2]是用来保证信息系统中数据完整性和保密性的一项重要技术手段和方法。访问控制的实现首先要考虑对合法用户进行验证,然后是对控制策略的选用与管理[3],最后要对没有非法用户或是越权操作进行管理[4]。
在My SQL中,基于连接主机和用户名这两个信息进行身份的认证。而身份的检查使用user表的Host、User和Password三个列执行。只有客户端主机名和用户名与服务器的user表记录的Host和User列实现了匹配,并且提供了正确的密码时才接受连接。
在User列中通配符是非法的,但是可以指定空的值,它匹配任何名字。user表匹配的空用户名被认为是匿名用户。这意味着在连接期间一个空的用户名被用于进一步的访问检查。Password列可以是空的。它不是通配符,也不意味着匹配任何密码,而意味着用户必须不指定一个密码进行连接。user表的Password列除了空值外都代表加密后的密码。My SQL使用加密后的密码存储,而且正在试图连接的用户提供的密码也使用PASSWORD()函数被加密,在连接过程中使用加密的密码检查密码是否正确。从My SQL角度,加密后的密码是实际密码,因此从安全角度考虑,不应让其它人访问它,特别是,绝对不要让非管理用户读My SQL数据库中的表。
如果连接中的客户端名和用户名与user表中的多行匹配,服务器会在启动时读入user表后进行排序,然后当用户试图连接时,以排序的顺序浏览条目,最后服务器使用与客户端和用户名匹配的首行进行匹配。对在该连接上发生的每个请求,服务器都首先检查请求执行什么操作,然后检查是否有足够的权限来执行它。db表和host表授予数据库特定的权限[5]。在服务器启动时,db表和host表被读取并排序,同时读user表。db表在Host、Db和User范围列上排序,并且host表在Host和Db范围列上排序。对于user表,首先根据最具体的值排序,最后根据最不具体的值排序。当服务器寻找匹配条目时,使用它找到的首项进行匹配。
2 漏洞检测技术
2.1 技术介绍
漏洞检测技术[6]是一项重要的安全技术,也称漏洞扫描技术,即对系统进行检查,发现其中可被攻击者利用的安全隐患。该技术可以分为以下四类:
第一,基于网络的漏洞检测技术。它采用的方法是积极的、非破坏性的。这种技术可以发现一系列平台的漏洞,易安装,还针对已知的网络漏洞进行检验。它的缺点是在一定程度上会影响网络的性能。
第二,基于应用的漏洞检测技术。它采用的方法是被动的、非破坏性的,适用于检查应用软件包的设置。
第三,基于主机的漏洞检测技术。它采用方法是被动的、非破坏性的。这种技术可以非常准确地定位系统的问题,发现系统的漏洞,还可以实现口令解密、剔除一些简单的口令。它的缺点是升级复杂,与平台相关。
第四,基于目标的漏洞检测技术。它采用的方法是被动的、非破坏性的。适用于检查系统属性和文件属性,如数据库、注册号等。通过消息文摘算法,对文件的加密数进行检验,一旦发现改变就通知管理员。
2.2 SQL注入漏洞
2.2.1 SQL注入的原理
结构化查询语言(SQL)是一种文本语言,它用来和数据库进行交互。SQL注入的原理[7]就是利用某些数据库的外部接口把用户数据插入到实际的数据库操作语言当中,从而达到入侵数据库乃至操作系统的目的。它的产生主要是由于程序对用户输入的数据没有进行细致的过滤,导致非法数据的导入查询。
SQL注入攻击的途径是构建“特殊的输入”,它们是SQL语法中的一些组合,将这些输入作为参数传入Web应用程序,然后通过执行SQL语句而执行攻击者想要执行的操作,从而达到攻击的目的。
SQL攻击分成如下六类:没有正确过滤转义字符;类型的不正确处理;数据库服务器中的漏洞;盲目SQL注入式攻击;条件性差错;时间延误。
2.2.2 SQL注入攻击的防范
1)使用参数化的过滤性语句——要防御SQL注入,用户的输入就绝对不能直接被嵌入到SQL语句中。恰恰相反,用户的输入必须进行过滤,或者使用参数化的语句[8]。参数化的语句使用参数而不是将用户输入嵌入到语句中。在多数情况中,SQL语句就得以修正。然后,用户输入就被限于一个参数。
2)避免使用解释程序——因为这正是黑客们借以执行非法命令的手段。
3)避免出现一些详细的错误消息——因为黑客们可以利用这些消息。要使用一种标准的输入确认机制[9]来验证所有的输入数据的长度、类型、语句等。可以通过在IIS上设置自定义错误头来避免详细的错误信息。
4)用存储过程来执行所有的查询——SQL参数的传递方式将防止攻击者利用单引号和连字符实施攻击。此外,它还使得数据库权限可以限制到只允许特定的存储过程执行,所有的用户输入必须遵从被调用的存储过程的安全上下文,这样就很难再发生注入式攻击了。
5)检查提取数据的查询所返回的记录数量——如果程序只要求返回一个记录,但实际返回的记录却超过一行,那就当作出错处理。还可以通过审计查询日志来发现是否存在此类漏洞攻击。
3 实验分析
3.1 实验环境
实验环境的架构如图1所示:
首先,在My SQL中创建数据库office_db,然后再执行create.asp程序,建立数据库表admin和teach以及插入相应的数据。
3.2 实验
利用My SQL作为后台数据库,建立一个信息管理网站。正常登录进入的页面如下:
1)猜解单引号有没有被屏蔽:结果没有被屏蔽
正常的SQL语句为:
select*form admin where admin_name=’123’and admin_password=‘fae’
构造的注入SQL语句为:
(1)select*from admin where admin_name=’123’or 1=1#and admin_password=‘fae’
(2)select*from admin where admin_name=’123’or 1=1/*and admin_password=‘fae*/#’
(3)select*from admin where admin_name=’123’or 1=1/*and admin_password=‘fae*/--kk’(4)select*from admin where admin_name=’123’or 1=1--kk and admin_password=‘fae’
(1)中由于#表注释,所以select语句执行的条件变为“admin_name=’123’or 1=1”,又因为“1=1”恒为真,所以select语句一定会执行,并进入主页admin.asp(见图3),从而实现了注入攻击。其他的注入方式类似。
2)猜解分号有没有被屏蔽:My ODBC限制了分号分隔的多条语句执行
正常的SQL语句为:select*from admin where admin_name=’123’and admin_password=‘fae’
构造的注入语句为:select*from admin where admin_name=’123’or 1=1;
insert into admin values('user123','user123',5,'综合办',0)#and admin_password=‘fae’;
即在用户名字段中输入:123’or 1=1;insert into admin values('user123','user123',5,'综合办',0)#
在SQL Server中,这条两条SQL语句构成的语句可以在远端成功注入,将在表admin中插入一条非法用户记录,这样就可以以此身份登录了。登录的主页见图4。
注意:在欢迎语句中,其提示为欢迎用户:
123’or 1=1;insert into admin values('user123','user123',5,'综合办',0)#
实际的执行过程为:在SQL中分别执行了select*from admin where admin_name=’123’or 1=1和insert into admin values('user123','user123',5,'综合办',0),其他信息被注释掉了。
此时,我们就可以以用户user123来登录了,用户名及密码都输入user123,结果如表5所示:
这样,我们就成为了合法用户,当然这在管理员没有发现之前,能够做这种注入的前提是必须知道用户表和其中的字段名,这就需要不断的试验,用不同的试验语句去探测和对前台登录页面的分析,不断的猜测其字段和用户表,猜测的过程可以如下:
(1)对表名和数据库表字段的猜测,可能的表名:admin,admin_table,user,user_table,据其使用的场合和环境,以及其登录页面的源代码,源代码在客户端能看到的,从中找寻其命名表和表字段的规律以及可能使用的名字,可以看见在源代码中最常使用的是admin,admin_password,admin_name,admin_office,根据这些去猜测。对于程序员来讲,为了方便记忆和管理,一般都要求前后台使用的命名和字段一致,同时跟数据库的命名有一定的关系,这需要一定的经验。相应的字段也是一致的,但是字段不一定能猜全,不一定需要全部的字段,只需要部分关键的字段就可以。
(2)有了一定的猜测以后,不断的变化可能的组合和语句,分析其可能的表构造,来构造相应的注入sql语句,目的要么是取得已经有的用户名和用户密码,要么在相应的表格中建立你需要的用户和密码,这样都能登录,当然取得已经有的用户和密码被管理员发现的可能性比较小隐蔽性较好。
4 总结
通过分析My SQL数据库的安全机制,指出了机制中的不安全因素,同时给出了改进的建议。还总结了My SQL数据库存在的漏洞,基于此数据库进行了SQL注入漏洞的检测开发。分析了这种漏洞产生的危害性,并提出了相应的防范方法以阻止这种漏洞被攻击者所利用。
摘要:针对MySQL开源数据库,具体分析其内部和外部的安全机制;重点分析了如何防止未经授权的文件系统访问和网络访问。通过与其他大型数据库的对比,指出MySQL数据库存在的不安全隐患;总结了各种漏洞的存在对系统构成的风险,并给出相应的防范对策。最后,在以MySQL为后台数据库的网络环境中,进行了针对多种漏洞的攻击实验。
关键词:数据库,安全机制,MySQL,漏洞检测,注入漏洞
参考文献
[1]丁大勇,王琴.SQL Server与数据安全性[J].电脑知识与技术,2007,4(24):184-185.
[2]马新强,王保华,李丹宁,等.LogicSQL数据库的强制存取控制模型研究与实现[J].计算机研究与发展,2006,43(8):162-167.
[3]李斓,冯登国,徐震.多级安全OS与DBMS模型的信息流及其一致性分析[J].计算机学报,2005,28(7):1123-1129.
[4]彭兵,罗薇.基于JavaBean的数据库访问技术[J].电脑知识与技术,2007,3(13):21-22.
[5]袁晓东,冯颖.B1级数据库管理系统强制存取控制模型研究[J].计算机学报,2000,23(10):1096-1101.
[6]孙钢锋,韩权印.网络隐患扫描器的设计与实现[J].计算机工程,2006,32(7):253-255.
[7]刘帅.SQL注入攻击及其方法检测技术研究[J].电脑知识与技术,2009,5(10):7870-7872.
[8]Denning D,Akl S,Heckman M,et al.Views for Multilevel Database Security[C]//IEEE Transactions on Software Engineering,1987,13(2):129-140.
让内审机制为基层数据质量把关 篇11
笔者汇总分析了这些单位报送的统计数据存在的问题,有以下几点通病:一是填报统计指标时,多填或少填一位数字,造成上报数与实际数产生很大差异;二是年定报报表中,指标解释和计算方法较往年有变化的指标差错率较大;三是一些比较简单的统计指标,因统计人员个人疏忽大意导致数据计算出错。
内审缺位是调查单位数据出错的重要成因
面对较为复杂的工业总产值、建筑业总产值等统计指标,企业都能准确计算填报,却在一些简单指标的填报上栽了跟头,这种现象不能不引起我们的深思。回溯近四年的统计督导和执法检查经历以及2011年底在本区发生的统计行政复议案件,笔者认为症结在于调查单位内部在统计数据上报前审核责任的缺失。统计调查单位的统计负责人未尽或怠于履行数据上报前的审核义务,这是造成统计数据错报漏报的一个重要原因。
《统计法》第二十一条规定了国家机关、企业事业单位和其他组织等统计调查对象,应当建立健全统计资料的审核、签署、交接、归档等管理制度,并且统计资料的审核、签署人员应当对其审核、签署的统计资料的真实性、准确性和完整性负责。可见,统计负责人在本单位上报数据资料前应履行内审义务。
在日常的统计业务中,我们发现强化调查单位内部统计资料内审制度,对于提高统计数据质量有以下三项意义:其一,在统计指标数据上报政府统计部门前,增加对预报指标数据的审核流程,有助于及时发现因统计人员疏忽大意造成的低级错误;其二,审核人员对统计制度和指标解释深刻理解体会,有助于纠正统计人员固有思维方法的弊病,特别是面对新增加或调整较大以及计算过程较为复杂的统计指标,强化审核人对预报统计指标数据的独立审查,可有效减少上报指标的差错;其三,作为审核人,通常身兼要职,严谨细致地审核预报数据能够整体上把握统计指标间的逻辑关系,对于企事业单位内部经营管理的决策分析也大有益处。
数据内部审核如此重要,然而在实际工作中,却未能充分引起调查单位的足够重视。通常情况下,统计调查单位内部存在审核缺位、不到位的具体表现形式包括:单位内部没有建立统计资料内部审核机制;统计负责人岗位不尽职,未规范审核流程,审核制度形同虚设;审核不到位或是不会审核,不知如何通过审核确保数据质量。
统计部门应监督调查单位建立内审制度
认识到内部审核对于提高统计调查单位源头数据质量的重要意义,那么政府统计部门就有必要督促调查单位建立起有效的内部审核机制。
首先,政府立法层面应加强对统计调查单位内部统计资料审核工作的约束性规定,推出审核岗位责任和审核过失的惩罚性条款。现行的会计工作管理体制中,要求会计主体内部应设置独立的会计机构,会计人员在进行会计核算的同时,要实行内部的会计监督,同时设置内部稽核岗位,复核会计账表和凭证。对于未按《会计法》规定建立并实施单位内部会计监督或拒绝依法实施的监督这类行为,《会计法》认定为是违法行为,对单位和直接主管人员均要作出罚款的行政处罚。基于上述原因,单位都重视会计内部监督,会计报表中很少发现因疏忽大意或理解有误造成的核算错误。相比较而言,现行《统计法》第二十一条对于调查单位内部审核制度的约束和规范较笼统,也没有规定调查单位和统计人员未设置审核制度或未尽审核义务所应承担的法律责任。因此,在立法层面严格约束并督促统计调查单位内部落实审核岗位责任,对于企业联网直报情况下提高源头数据质量,意义深远。
其次,提高统计调查单位对数据审核工作重要性的认识。有条件的企事业单位,应当建立形式规范、责任明晰、易于操作的统计数据内部审核制度。鉴于目前统计立法中没有规定调查单位内部未尽审核义务所应承当的法律责任,提高调查单位自身对于审核制度积极意义的主观能动意识,尤为关键。方式大致有以下三种:一是加大对建立审核制度意义的宣传,通过年定报布置会、统计业务培训座谈会等活动,利用发放普法宣传资料、案例分析文章等手段,提高调查单位对审核制度的重视;二是提高企事业单位主要领导对《统计法》的认识,加深其对建立规范的统计数据审核流程的理解,以便督促统计负责人或其他主管人员有效履行审核职责;三是对于统计执法和督导检查中发现的指标错报问题,帮助企业分析查找原因,如发现因单位未尽数据审核义务导致的指标差错,可采用说理教育的方式督促其建立内部审核制度,责令统计负责人落实审核义务,避免“走形式”和“不上心”的审核流程。对于继续忽视数据审核工作的单位,如再次发现统计指标差错即加大行政处罚力度。
数据库安全机制 篇12
云存储是在云计算概念上延伸出来的一个新概念,它是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
云存储承诺将满足未来出现的大量的存储需求,而且要以非常好的性价比实现这个目的。那么从根本上来说,云存储技术是一种实用型服务,它可以为众多用户提供一个通过网络访问的共享存储池。存储云是可以调整的,它们可以很轻松地扩展或根据客户需求定制。云存储对使用者来讲,不是指某一个具体的设备,而是指一个由许许多多个存储设备和服务器所构成的集合体。使用者使用云存储,并不是使用某一个存储设备,而是使用整个云存储系统带来的一种数据访问服务。所以严格来讲,云存储不是存储,而是一种服务。
云存储作为一种在线存储服务,数据处于其他人控制的服务器上,因此数据安全变得至关重要,调查数据显示,无论是政府、企业还是个人,都把数据安全、隐私保护、数据主权等作为核心关注。可以说,未来云存储的普及关键就在于安全。
目前针对云存储安全技术,大多延续大型服务器的安全技术,用以保证服务器的可靠性,例如防火墙、服务器加密机等,但因为在存储云中你的数据会与别人的数据位于同一个磁盘,所以加密的做法很重要。而服务器、密匙、加密算法都为服务商掌握,用户的数据主权受运营商限制,用户存在对数据安全的担心,限制了云存储的发展。
所以,本文对云存储环境下所存储个人数据的安全保护方案进行了探讨,对具体的安全方案进行了分析。
1 云存储个人数据安全系统的总体设计
1.1 云端安全服务系统构成
云端安全服务系统由:云盾终端、云盾辅助软件、云盾服务器、认证服务器(CA中心)、应用接口几个部分组成,如图1所示。
1.2 云端安全服务系统构成的详细介绍
认证服务器:提供严格的身份认证,保证上网用户根据业务系统的授权来访问系统资源,这里主要指CA认证中心。
应用接口API:应用编程接口,提供给其他云存储等应用系统接入本系统的接口。
云盾服务器:主要包括了除CA认证之外的其他认证系统,例如指纹认证服务器、OTP认证服务器、辅助口令认证服务器等等。
云盾辅助软件:根据应用环境不同,需要一套配套的辅助软件,用以配合云盾终端和云盾服务器工作。
云盾终端:以硬件形式向用户提供,可确认用户的合法身份。
1.3 云端安全服务系统的核心技术
系统的个人数据安全主要通过两方面技术来保护,第一是基于本人的身份认证安全,第二是基于数据的自主加解密安全。
2 个人身份认证安全
个人身份认证犹如我们家中的大门,保证个人身份认证安全,就可以将盗贼拒之门外。
2.1 个人身份认证方式组成
主要包括包括PKI在内的数字证书认证体系,目前银行金融,数字版权方面,都采用基于该技术的数字认证。
其次还包括辅助因子认证,常见的认证方式包括生物识别认证:主要是指通过人类生物特征进行身份认证的一种技术,例如指纹识别,面部识别等;OTP认证:也称动态口令,通过专门算法生成一个不可预测的随机数字组合进行认证,每个口令只能使用一次;智能卡认证:通过一定代表身份的数字证件,进行认证等。
综合以上的认证的方式,可实现多因子认证方式,提高身份认证的安全性。
如下(图2)所示:
2.2 系统认证原理如(图3)所示
步骤1:用户请求认证/登陆
步骤2:应用服务器请求认证服务器对客户的身份的合法性和真实性进行认证;
步骤3:认证服务器向终端发起认证,用户终端弹出身份认证对话框或提示认证过程;
步骤4:用户根据提示,进行相关身份认证操作(例如:生物识别认证-输入指纹;OTP认证-输入OTP密码;USBKEY-插入KEY+输入密码等)
步骤5:用户终端将认证信息通过网络传输给认证服务器;
步骤6:认证服务器调用客户信息,结合云盾服务器进行生物特征/OTP/密码等认证因素比对,判别客户身份的合法性和真实性;
步骤7:认证服务器将认证结果报告给应用服务器;
步骤8:应用服务器根据客户身份的合法性和真实性反馈给客户终端,并决定可以提供服务或拒绝服务。
2.3 身份认证系统示意图
云存储系统通过认证中间件,与认证服务器层进行通讯,获取身份认证信息,从而决定是否允许访问云存储机其他云应用服务器。如(图4)
步骤1:客户端向中间层发送认证信息
步骤2:中间层解析信息并向认证中心发送认证请求
步骤3:认证中心向中间层反馈认证结果
步骤4:中间层向客户端发送认证结果,并根据认证结果执行相应操作
3 数据自主加解密安全
数据自主加解密,犹如家中的保险箱,将重要的物品(数据),放到保险箱中(加密起来),可以防止盗贼窃取家中的贵重物品(重要数据)。
主要包括数据加解密功能、数据加密推送、文件粉碎功能、密钥保护及恢复。如图5所示:
1)数据流加解密功能:通过云盾终端设备,对数据经行硬件加解密功能,终端通过内部保存的私钥,利用内置的加解密算法,例如AES、DES/3DES等,对数据流经行加解密,并且使用算法和加密程度要求可选,支持常规国际标准算法和国密算法。支持全加密,部分加密,索引加密等功能。支持一些权限的设置,例如删除文件时,需要授权,或者进入该模块时需要重新认证,离开时及时注销等等细节。
2)数据加密推送功能:将数据加密后,可通过事先约定的协议接口,推送至相应的云存储服务器。
3)文件粉碎功能:将文件彻底删除的工具,而不是将数据仅仅去除索引,使用某些工具后仍能复原。
4)密钥保护及恢复功能:云盾需保证加密密钥的安全;系统需保证在云盾遗失情况下能够通过一定人工认证的方式恢复密钥。
4 结束语
本文分析了通过云盾安全服务系统的设计,从个人身份认证和个人主动数据加解密两个方面来保证个人数据在云存储服务器中的安全。通过云盾终端硬件,实现多种因子认证的可能,实际应用中,可根据实际安全需要,采取一种或多种因子认证方式,将盗贼拒之门外,同时,通过主动对数据进行加密,将重要数据放到自己的保险箱中,盗贼没有密钥无法打开,从而进一步保证了个人数据的安全。为解决云计算的核心关注,推动未来云存储的普及,具有重要的参考意义。
参考文献
[1]马泽尔,卡玛日萨米尼.云计算安全与隐私[M].北京:机械工业出版社,2011.