数据库服务器的安全防护 数据库服务器的安全防护措施
数据安全防护措施有哪些呢?
一、加强安全意识培训
创新互联公司专业为企业提供索县网站建设、索县做网站、索县网站设计、索县网站制作等企业网站建设、网页设计与制作、索县企业网站模板建站服务,十年索县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
一系列企业泄密事件的发生,根本原因还在于安全意识的严重缺失,加强安全意识的培训刻不容缓。
1、定期进行安全意识的宣导,强化员工对信息安全的认知,引导员工积极执行企业保密制度。
2、在信息安全培训的同时,不定期进行安全制度考核,激励员工积极关注企业数据安全。
二、建立文件保密制度
1、对企业文件实行分级管理,按照文件的重要性进行分类,将其限制在指定的管理层级范围内,避免核心资料的随意传播。
2、与核心人员签订竞业协议或保密协议,以合同的法律效应,有效防止核心机密的泄露。
3、与离职员工做好工作交接,按照制度流程,全面妥善接收工作资料,避免企业信息外泄。
4、严格控制便签、笔记本、文件袋等办公用品的摆放,及时清理和归档,避免因此造成的泄密。
5、加强对办公设备的监管,必须设置登录密码并定期更换,离席必须锁屏。
6、重视对过期文件的销毁工作,最好进行粉碎处理,切不可随意扔进垃圾桶完事。
7、推行无纸化办公,尽量减少文件的打印,避免文件随意打印造成的信息泄露。
8、设置防护措施,限制通过U盘、硬盘的拷贝行为及网络传送行为,避免信息外泄。
9、定期进行信息安全检查,全员参与查漏补缺,逐步完善企业保密制度。
三、弥补系统漏洞
定期全面检查企业现行办公系统和应用,发现漏洞后,及时进行系统修复,避免漏洞被黑客利用造成机密泄露。
1、办公操作系统尽可能使用正版,并定期更新,安装补丁程序。
2、数据库系统需要经常排查潜在风险,依据评估预测,积极做好系统升级。
四、密切监管重点岗位的核心数据
企业日常的办公数据数以亿计,全面监控难度极大,对核心数据的监控切实可行且十分必要。
监控核心数据的同时,需要密切关注接触这类数据的重点人员的操作行为是否符合制度规范。
五、部署文档安全管理系统
如KernelSec等文档安全管理系统。对企业计算机进行安全部署,确保数据在企业内已经得到加密,即使流传到外部,在未授权的设备上无法进行操作,保证了数据的安全性。
扩展资料:
威胁数据安全的因素有很多,主要有以下几个比较常见:
1、硬盘驱动器损坏:一个硬盘驱动器的物理损坏意味着数据丢失。设备的运行损耗、存储介质失效、运行环境以及人为的破坏等,都能造成硬盘驱动器设备造成影响。
2、人为错误:由于操作失误,使用者可能会误删除系统的重要文件,或者修改影响系统运行的参数,以及没有按照规定要求或操作不当导致的系统宕机。
3、黑客:入侵者借助系统漏洞、监管不力等通过网络远程入侵系统。
4、病毒:计算机感染病毒而招致破坏,甚至造成的重大经济损失,计算机病毒的复制能力强,感染性强,特别是网络环境下,传播性更快。
5、信息窃取:从计算机上复制、删除信息或干脆把计算机偷走。
数据库安全防护几点介绍
企业最有价值的资产通常是其数据库中的客户或产品信息 因此 在这些企业中 数据库管理的一个重要部分就是保护这些数据免受外部攻击 及修复软/硬件故障
在大多数情况下 软硬件故障通过数据备份机制来处理 多数数据库都自带有内置的工具自动完成整个过程 所以这方面的工作相对轻松 也不会出错 但麻烦却来自另一面 阻止外来黑客入侵窃取或破坏数据库中的信息 不幸的是 一般没有自动工具解决这一问题;而且 这需要管理员手工设置障碍来阻止黑客 确保公司数据的安全
不对数据库进行保护的常见原因是由于这一工作 麻烦 而 复杂 这确实是事实 但如果你应用MySQL 就可以使用一些方便的功能来显著减少面临的风险 下面列出了以下几个功能
删除授权表中的通配符
MySQL访问控制系统通过一系列所谓的授权表运行 从而对数据库 表格或栏目级别的用户访问权利进行定义 但这些表格允许管理员为一名用户设定一揽子许可 或一组应用通配符的表格 这样做会有潜在的危险 因为黑客可能会利用一个受限的账户来访问系统的其他部分 由于这一原因 在设置用户特权时要谨慎 始终保证用户只能访问他们所需的内容 在给个别用户设定超级特权时要尤其小心 因为这种级别允许普通用户修改服务器的基本配置 并访问整个数据库
建议 对每个用户账户应用显示特权命令 以审查授权表 了解应用通配符许可是否恰当
要求使用安全密码
用户账号的安全与用来保护它们的密码密切相关 因此 在安装MySQL时第一件事就应该设置MySQL根账号的密码(默认为空) 修复这一漏洞后 接下来就应要求每个用户账号使用一个密码 且不要使用生日 用户名或字典中的单词这些容易识别的启发式密码
建议 应用MySQL 安全 授权选项避免使用旧的 不大安全的MySQL密码格式
检查配置文件许可
一般来说 要使服务器连接更为快速方便 单个用户和服务器管理员必须把他们的用户账号密码存储在单用户MySQL选项文件中 但是 这种密码是以纯文本形式存储在文件中的 很容易就可以查阅 因此 必须保证这样的单用户配置文件不被系统中的其他用户查阅 且将它存储在非公共的位置 理想情况下 你希望单用户配置文件保存在用户的根目录 许可为
加密客户与服务器之间数据传送
MySQL(及其它)客户与服务器构架的一个重要问题就是通过网络传送数据时的安全问题 如果客户与服务器间的交互以纯文本形式发生 黑客就可能 嗅出 被传送的数据包 从而获得机密信息 你可以通过激活MySQL配置中的SSL 或应用一个OpenSSH这样的安全应用来为传送的数据建立一个安全的加密 通道 以关闭这一漏洞 以这种形式加密客户与服务器连接可使未授权用户极难查阅往来的数据
禁止远程访问
如果用户不需要远程访问服务器 你可以迫使所有MySQL连接通过UNIX插槽文件来完成 从而大大减少网络受攻击的风险 这一过程可通过跳过网络选项启动服务器来完成 这样可以阻止TCP/IP网络连接到MySQL上 保证没有用户可以远程连接系统
建议 可以在MySQL服务器配置中添加捆绑地址 指令来增强这一功能 迫使MySQL捆绑当地机器的IP地址来保证只有同一系统中的用户可以连接到MySQL
积极监控MySQL访问记录
MySQL中带有很多不同的日志文件 它们记录客户连接 查询和服务器错误 其中 最重要的是一般查询日志 它用时间标签记录每名客户的连接和中断时间 并记录客户执行的每个查询 如果你怀疑发生了不寻常的行为 如网络入侵 那么监控这个日志以了解行为的来源是个好方法
lishixinzhi/Article/program/SQL/201311/16349
数据库自主安全防护如何实现 数据库自主安全防护技术介绍【详解】
摘 要: 针对目前主流数据库的安全防护功能配置方式不灵活、不能应变需求的问题,在HOOK技术的基础上融入组态思想,设计并实现了一种适用于不同数据库的自主安全防护系统(DSS)。在SQLITE上的相关实验表明,利用DSS完全可以实现独立于特定数据库的自主安全防护,大大提高了数据安全防护的灵活性。
关键词: 数据库安全; HOOK API; 访问控制; 数据库审计; SQLITE; 自主安全系统
近年来,有关数据库的安全事故不断出现,例如银行内部数据信息泄露造成的账户资金失密等。因此,高度重视数据库安全防护很有必要。但一直以来,国内数据库产业化发展缓慢,市场份额中较大一部分被国外大型数据库企业占有。这对于国内用户而言,信息的安全性、稳定性等方面都会受到威胁。有的系统涉及使用多个数据库,并且对每个数据库的安防功能要求各不相同。这样,在保障整个系统安全的目标下就需要对每个数据库进行专门配置管理,不但维护难度很大,而且工作也比较繁重。面对这些实际问题,目前的数据库系统自带的安全防护配置方式已不能胜任,如何提出一个灵活独立的安全防护系统迫在眉睫。
1 相关安全防护技术介绍
目前,数据库系统面临的主要威胁有:(1)对数据库的不正确访问引起数据库数据的错误。(2)为了某种目的,故意破坏数据库。(3)非法访问不该访问的信息,且又不留痕迹;未经授权非法修改数据。(4)使用各种技术攻击数据库等。多年来,人们在理论和实践上对数据库系统安全的研究做出了巨大的努力,也取得了很多成果。参考文献[1-2]介绍了保护数据库安全的常用技术,包括:存取管理技术、安全管理技术、以及数据库加密技术,并给出了一些实现途径。其中,访问控制和安全审计作为数据库安全的主要保障措施受到了人们广泛关注,参考文献[3]对访问控制技术中的基本策略进行了总结,给出了实现技术及各自的优缺点。参考文献[4]主要针对权限建模过程中的权限粒度问题做了分析,并提出一个基于角色的访问控制框架。进入21世纪以后,访问控制模型的研究重点开始逐渐由集中式封闭环境转向开放式网络环境,一方面结合不同的应用,对原有传统模型做改进,另一方面,也提出一些新的访问控制技术和模型,比较著名的有信任管理、数字版权管理和使用控制模型 [5]。审计通过对数据库内活动的记录和分析来发现异常并产生报警的方式来加强数据库的安全性[6]。目前,在我国使用的商品化关系数据库管理系统大都提供了C2级的审计保护功能,但实现方式和功能侧重有所不同。周洪昊等人[7]分析了Oracle、SQL Server、DB2、Sybase的审计功能,分别从审计系统的独立性、自我保护能力、全面性和查阅能力四个方面对审计功能做出改进[7]。参考文献[8]则针对审计信息冗余、审计配置方式死板以及数据统计分析能力不足等问题,在数据库系统已有的审计模块基础上,重新设计和实现了一种新型的数据库安全审计系统。
但所有的这些工作都是从 数据库 系统的角度出发,并没有从本质上解决安全防护对数据库系统的依赖性问题,用户还是很难对数据库提供自主的安全防护功能。如果能将安全防护从数据库管理系统中彻底独立出来,针对不同的应用需求允许用户自己实现安全防护功能模块并在逻辑上加入到数据库应用系统中,这样问题也就迎刃而解了。
通过以上分析,本文提出一种独立于具体数据库、可组态的安全防护模型,并给出具体的实现方法。该模型将安全防护从数据库完全独立出来,在多数据库应用中实现集中配置安防,满足用户对于自主防护功能的需求。并在开源的嵌入式数据库产品SQLITE中做了功能测试,实验结果表明,该模型切实可行,达到了预想的效果,既能实现对系统的保护,又大大提高了系统的灵活性。
2 自主安全防护系统的设计与实现
自主安全防护系统DSS(Discretionary Safety System)的主要功能是阻止用户对信息的非法访问,在可疑行为发生时自动启动预设的告警流程,尽可能防范数据库风险的发生,在非法操作发生时,触发事先设置好的防御策略,实行阻断,实现主动防御,并按照设置对所发生的操作进行详细记录,以便事后的分析和追查。
2.1 系统结构
在DSS中,安全管理员使用角色机制对用户的权限进行管理,通过制定安全策略来设置核心部件Sensor以及访问控制部件。核心部件Sensor侦听用户的数据库操作请求,采用命令映射表将不同的命令映射为系统识别的命令,提取出安全检查所需要的信息,发送到访问控制模块进行安检。安检通过了则允许用户访问数据库,否则拒绝访问,同时根据审计规则生成记录存入审计日志。
DSS作为独立的功能模块主要通过向Sensor提供数据库的调用接口的方式保障对数据库信息安全合理地访问。系统有一个默认的访问控制流程,用户也可以自己设定安全策略,系统自动生成相应访问控制流程。本文约定被访问的对象为客体,请求操作的用户为主体。
2.2 系统实现
系统实现主要分为系统数据字典设计、用户登录与用户管理、系统相关策略制定、侦听器(Sensor)的实现、访问控制以及日志审计六部分。原数据库API信息(dll)、用户的自主防护策略作为输入,Sensor核心一方面将用户的防护策略融合在原数据库的API接口中,另一方面记录用户对数据库的操作并生成日志,提供给用户做审计。用户在使用过程中不需要修改原有系统,即可实现自主防护。
Sensor由API处理模块、访问控制模块(Access Control)、Sensor核心模块(Core)、注射模块四部分组成。Core是Sensor的核心部件,主要负责拦截接口,解析并分离接口中的重要信息,使程序转入自定义的安检程序中执行安全检查。Access Control组件实现不同级别的访问控制,根据用户提供的安检信息,组态出对应的安防模块,并在合适的时候调用其进行访问控制。API(dll)主要将数据库系统提供的接口信息,转化为dll以便Sensor侦听时使用。Inject/Eject为Sensor提供远程注射的功能。
Core通过拦截对API的调用来实现定制功能。程序在调用API函数之前,首先要把API所在的动态链接库载入到程序中;然后将API函数的参数、返回地址(也就是函数执行完后,下一条语句的地址)、系统当前的环境(主要是一些寄存器的值)压入系统调用栈;接着,进入到API函数的入口处开始执行API函数,执行过程中从系统调用栈中取出参数,执行函数的功能,返回值存放在EAX寄存器中,最终从堆栈中取出函数的返回值并返回(参数压栈的顺序还要受到调用约定的控制,本文不详细介绍)。
举例说明函数调用时堆栈的情况。假设调用约定采用_stdcall,堆栈由高向低递减,API为Int func(int a, int b, int c)。
拦截主要通过HOOK API技术实现,可以拦截的操作包括DOS下的中断、Windows中的API调用、中断服务、IFS和NDIS过滤等。目前微软提供了一个实现HOOK的函数库Detours。其实现原理是:将目标函数的前几个字节改为jmp指令跳转到自己的函数地址,以此接管对目标函数的调用,并插入自己的处理代码。
HOOK API技术的实质是改变程序流程。在CPU的指令集中,能够改变程序流程的指令包括JMP、CALL、INT、RET、RETF、IRET等。理论上只要改变API入口和出口的任何机器码,都可以实现HOOK。但实际实现上要复杂得多,主要需要考虑如何处理好以下问题:(1)CPU指令长度。在32 bit系统中,一条JMP/CALL指令的长度是5 B,因此只需要替换API中入口处的前5 B的内容,否则会产生不可预料的后果。(2)参数。为了访问原API的参数,需要通过EBP或ESP来引用参数,因此需要明确HOOK代码中此时的EBP/ESP的值。(3)时机问题。有些HOOK必须在API的开头,如CreateFileA( )。有些必须在API的尾部,如RECV()。(4)程序上下文内容的保存。在程序执行中会涉及修改系统栈的内容,因此注意保存栈中原有内容,以便还原。(5)在HOOK代码里尽量杜绝全局变量的使用,以降低程序之间的耦合性。通过以上的分析,整理出如图4所示的实现的流程。
DSS与传统数据库的安全防护功能相比,具有以下特点:
(1)独立于具体的数据库。这种独立性体现在:①DSS只需要数据库提供其接口信息即可工作。②支持不同标准的SQL语句,通过数据库命令映射表可将非标准的SQL语句映射为系统设置的SQL命令。③系统自身数据的物理存储是独立于数据库的。
(2)灵活性和针对性的统一。用户可以根据自己的需要配置针对特定应用的相关规则。
(3)完善的自我安全保护措施。DSS只有数据库安全管理员和安全审计员才能访问。安全管理员和安全审计员是一类特殊的用户,他们只负责安全方面的操作,而不能访问数据库中的数据。这与Oracle等的数据库不同,在这些数据库中,DBA可以进行所有的操作。DSS系统本身具有故障恢复能力,能使系统出现问题时恢复到一个安全的状态。
(4)完备的信息查阅和报警功能。在DSS中,本文提供了便利的设计查阅工具,方便用户对系统进行监控。另外,用户也可以自己定义报警条件和报警处理措施,一旦满足报警条件,系统就会自动地做出响应。
3 实验及结果分析
DSS的开发主要采用VS 2005实现,开发完成后在一台主频为2.8 GHz、内存2 GB、装有Windows 2000操作系统的普通 PC机上对其进行了功能和性能的测试,使用的数据库是开源的嵌入式数据库SQLite 3.6。为了搭建测试环境,需要在SQLite中添加初始化系统自身的数据字典,并开发应用程序。测试内容包括:登录、用户管理、Sensor、访问控制、日志审计以及增加DSS前后数据库系统安全性变化等功能性测试和增加DSS系统后对数据库性能的影响两方面。其中,性能测试主要从时间和资源的增加情况来说明,针对不同数据库对象分别在五个级别(20 000、40 000、60 000、80 000、100 000)的数据上进行了插入和查询操作测试。为了做好性能对比,在SQLite中也添加了相同的访问控制功能,记为Inline Processing。
从功能测试结果可以看出,DSS可以为数据库系统提供自主防护。从性能测试的结果中看出,查询操作和插入操作耗时相差比较大,这主要是SQLite工作方式引起的,在执行用户的插入操作时,数据库需将内存中的数据写入磁盘数据库文件中,占用了一部分时间。而查询时,SQLite会将数据库文件部分内容缓存起来,加快了查询的速度。另外,增加DSS会对性能有略微的影响,但是它能实现对数据库系统自主保护。
本文针对传统数据库安全防护功能配置不灵活的问题,提出了一种基于HOOK技术的数据库通用安全防护系统。该系统的最大优点在于,它不受数据库自身的约束,完全独立于数据库系统,为用户提供一种按需定制的功能,不仅增加了安防配置的灵活性而且提高了通用性,可以用于不同的数据库系统中。
网站题目:数据库服务器的安全防护 数据库服务器的安全防护措施
文章转载:http://pwwzsj.com/article/ddcgoge.html