数据库安全控制的主要策略有哪些

数据库安全控制的主要策略有哪些,第1张

1、 网站服务器安全防止服务器被黑客入侵

首先,要选择比较好的托管商,托管的机房很重要

现在很多服务商都在说硬件防火墙防CC攻击,其实一般小托管商很少具备这些配置

机房里其他电脑的安全也是很重要的,例如现在很多攻击方法是通过嗅探的方法得到管理密码的,或者ARP欺骗,其最大的危害就是根本找不到服务器漏洞,却莫名其妙地被黑了

其次,对于服务器本身,各种安全补丁一定要及时更新,把那些用不到的端口全部关闭掉,越少的服务等于越大的安全系数

2、 网站程序安全程序漏洞是造成安全隐患的一大途径

网站开发人员应该在开发网站的过程中注意网站程序各方面的安全性测试,包括在防止SQL注入、密码加密、数据备份、使用验证码等方面加强安全保护措施

3、 网站信息安全信息安全有多层含义

首先,最基本的是网站内容的合法性,网络的普及也使得犯罪分子利用网络传播快捷的特性而常常发布违法、违规的信息

要避免网站上出现各种违法内容、走私贩毒、种族歧视及政治性错误倾向的言论

其次,防止网站信息被篡改,对于大型网站来说,所发布的信息影响面大,如果被不法分子篡改,引起的负面效应会很恶劣

轻者收到网监的警告,重者服务器被带走

4、 网站数据安全说到一个网站的命脉,非数据库莫属,网站数据库里面通常包含了政府网站的新闻、文章、注册用户、密码等信息,对于一些商业、政府类型的网站,里面甚至包含了重要的商业资料

网站之间的竞争越来越激烈,就出现了优部分经营者不正当竞争,通过黑客手段窃取数据,进行推广,更有黑客直接把“拿站”当做一项牟利的业务

所以,加强一个网站的安全性,最根本的就是保护数据库不要被攻击剽窃掉

数据库的安全性是指保护数据库以防止非法使用所造成的数据泄密、更改或破坏  安全性控制的方法  安全性控制是指要尽可能地杜绝任何形式的数据库非法访问。常用的安全措施有用户标识和鉴别、用户存取权限控制、定义视图、数据加密、安全审计以及事务管理和故障恢复等几类  1 用户标识和鉴别  用户标识和鉴别的方法是由系统提供一定的方式让用户标识自己的身份,系统内部记录着所有合法用户的标识,每次用户要求进入系统时,由系统进行核实,通过鉴定后才提供其使用权。为了鉴别用户身份,一般采用以下几种方法  (1)利用只有用户知道的信息鉴别用户  (2)利用只有用户具有的物品鉴别用户  (3)利用用户的个人特征鉴别用户。 用户存取权限控制  用户存取权限是指不同的用户对于不同的数据对象有不同的操作权限。存取权限由两个要素组成:数据对象和操作类型。定义一个用户的存取权限就是要定义这个用户可以在哪些数据对象上进行哪些类型的操作  权限分系统权限和对象权限两种。系统权限由DBA授予某些数据库用户,只有得到系统权限,才能成为数据库用户。对象权限是授予数据库用户对某些数据对象进行某些操作的权限,它既可由DBA授权,也可由数据对象的创建者授予。授权定义经过编译后以一张授权表的形式存放在数据字典中。 定义视图  为不同的用户定义不同的视图,可以限制用户的访问范围。通过视图机制把需要保密的数据对无权存取这些数据的用户隐藏起来,可以对数据库提供一定程度的安全保护。实际应用中常将视图机制与授权机制结合起来使用,首先用视图机制屏蔽一部分保密数据,然后在视图上进一步进行授权。 数据加密  数据加密是保护数据在存储和传递过程中不被窃取或修改的有效手段。数据加密技术在83节中已有详细介绍。 安全审计  安全审计是一种监视措施,对于某些高度敏感的保密数据,系统跟踪记录有关这些数据的访问活动,并将跟踪的结果记录在审计日志(audit log)中,根据审计日志记录可对潜在的窃密企图进行事后分析和调查  6 事务管理和故障恢复  事务管理和故障恢复主要是对付系统内发生的自然因素故障,保证数据和事务的一致性和完整性  故障恢复的主要措施是进行日志记录和数据复制。在网络数据库系统中,分布事务首先要分解为多个子事务到各个站点上去执行,各个服务器之间还必须采取合理的算法进行分布式并发控制和提交,以保证事务的完整性。事务运行的每一步结果都记录在系统日志文件中,并且对重要数据进行复制,发生故障时根据日志文件利用数据副本准确地完成事务的恢复  Oracle数据库的安全机制简介  Oracle主要提供用户标识和鉴别、授权与检查、审计等系统级的安全性措施以及通过触发器灵活定义的用户级安全性措施  1 Oracle的用户标识和鉴别  Oracle系统预定义了SYS和SYSTEM两个用户。SYS用户拥有操作Oracle数据字典和相关的数据库对象的权限;SYSTEM用户拥有操作Oracle应用开发工具所使用的表的权限。SYS和SYSTEM用户分别用系统给定的口令登录。其他用户使用CREATE USER语句建立,同时用户的口令通过加密后存储在数据字典中。 Oracle的授权与检查机制  Oracle系统的权限包括系统权限和对象权限两类,采用非集中式的授权机制,即DBA负责授予与回收系统权限,每个用户授予与回收自己创建的数据库对象的权限  Oracle也是将授权信息记录在数据字典的授权表中。 Oracle的审计技术  在Oracle中,审计分为语句审计、特权审计和模式对象审计。其中,语句审计只允许审计SQL语句,不对SQL语句引用的模式进行审计。特权审计只审计系统权限的使用。而模式对象审计则审计具体的数据操纵语言(DML,Data Manipulation Language)语句和制定模式的GRANT和REVOKE语句。特权审计和模式对象审计针对所有用户,通常由DBA设置  在Oracle中,审计设置以及审计内容均存放在数据字典中。 用户定义的安全性措施  除了系统级的安全性措施外,Oracle还允许用户使用数据库触发器定义更复杂的用户级安全性措施。触发器定义后,也存放在数据字典中。用户每次执行特定的操作时都会自动触发对应的触发器,系统检查触发器中设定的执行条件是否符合,如不符合则不执行触发器中指定的操作  综上所述,Oracle提供了多种安全性措施,提供了多级安全性检查。数据字典在Oracle的安全性授权和检查以及审计技术中起着重要作用。网络数据库安全性技术 随着互联网技术的日益普及,网络数据库已经得到了普遍应用,随之而来的则是网络数据库的安全性问题。特别是近几年,随着企业信息建设的不断深化,企业中涉及网络数据库安全方面的问题也越来越多。如何有效提高网络数据库的安全防御措施,建立一套行之有效的数据库安全防御机制,已经是企业需要首先解决的问题。网络数据库安全问题经常涉及到的是数据库数据的丢、非法用户对数据库的侵入等。针对以上两个方面的问题,应该采取具体的应对措施,以实现企业核心数据的安全防护。首先,针对网络数据库数据丢失的问题,应该着重以下几个方面的工作:1、服务器存储系统硬盘作为服务器数据存储的主要设备,在正常运行过程中,一点小的故障都有可能造成硬盘物理损坏,所以一般服务器存储系统要求采用 Raid磁盘阵列,以此来增强服务器存储系统的容错能力。2、数据备份机制建立一套行之有效的数据备份机制,是保障企业网络数据安全的又一项重要内容。对于一些非常重要的数据要运用其它设备时时执行 备份,定期定时做相对完备的备份方案。作为企业用户来说,由于数据量上的原因,在使用磁盘阵列的同时,还应考虑采用磁带机作为数据备份设备。在解决好数据丢失问题的基础上,需要考虑的则是如何应对网络数据库非法入侵的问题。网络技术的飞速发展,使各行业的信息化管理水平有了很大程度的提高,同时也带动了整个企业的管理效率的提高,但随之而来的问题是网络非法入侵者不断出现。入侵者的目的往往针对企业核心机密,或是对数据的蓄意破坏。对于企业网络数据库管理人员来说,如何在数据库本身以及在网络层面上采取有效措施,防止数据库系统的非法入侵,是一个非常艰巨的任务。制定数据库系统安全策略,主要分以下几个方面:1数据库用户的管理,按照数据库系统的大小和数据库用户所需的工作量,具体分配数据库用户的数据操作权限,控制系统管理员用户账号的使用。2建立行之有效的数据库用户身份确认策略,数据库用户可以通过操作系统、网络服务以及数据库系统进行身份确认,通过主机操作系统进行用户身份认证。 3加强操作系统安全性管理,数据服务器操作系统必须使用正版软件,同时要有防火墙的保护。另外,根据实际需要只开放涉及业务工作的具体网络端口,屏蔽其它端口,这样可以在较大程度上防止操作系统受入侵。

 企业最有价值的资产通常是其数据库中的客户或产品信息 因此 在这些企业中 数据库管理的一个重要部分就是保护这些数据免受外部攻击 及修复软/硬件故障

 在大多数情况下 软硬件故障通过数据备份机制来处理 多数数据库都自带有内置的工具自动完成整个过程 所以这方面的工作相对轻松 也不会出错 但麻烦却来自另一面 阻止外来黑客入侵窃取或破坏数据库中的信息 不幸的是 一般没有自动工具解决这一问题;而且 这需要管理员手工设置障碍来阻止黑客 确保公司数据的安全

 不对数据库进行保护的常见原因是由于这一工作 麻烦 而 复杂 这确实是事实 但如果你应用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

  中图分类号:TN91508 文献标识码:A  摘 要:随着信息技术的飞速发展,网络技术和数据库技术日渐成熟,21世纪计算机网络的运行速度越来越快,高速的网络也逐渐走向商业、家庭。由于信息在当今人类的经济、军事、生活等方面越来越重要,信息的安全也渐渐被人们所重视。因此网络数据库的安全问题是目前网络信息安全的重点之一,网络环境下数据库数据被盗、丢失使得网络环境下数据库安全性研究极为重要。本文详细论述网络环境下数据库将面临的安全威胁,从数据库安全的基础概念着手,让大家知道提高数据库的安全策略是什么,做好哪些防范才能使数据库安全。

关键词:网络环境 数据库安全 威胁 策略

一、网络数据库的含义

将海量数据汇集,且按照规格有组织的整理好,存储在计算机的硬盘上面,方便人们查找使用数据集合称为“数据库”。我们所说的数据有数字、文字、图形、图像、声音、符号、文件、档案等一切描述事物的符号记录。而在开放式的网络中数据具有共享性,我们需要把数据与资源共享两种方式融合在一起那就是我们所说的“网络数据库”,它是需要后台数据库加上前台程序,然后通过浏览器将数据储存、查询等一系列操作的系统。网络数据库的设计是根据数据棋型来设计的数据库,它在关系数据库的基础上面集合网络技术、存储技术、检索技术为一体的新型数据库,它使web数据库的应用成为网络信息时代的一大亮点。目前网络数据库在信息检索、电子商务、网上医疗、网络数字图书馆等多个领域得到了广泛的使用。其重要性也被越来越多的人所重视。

二、网络数据库的安全知识与安全机制

数据库的安全简单说是指保证数据库的正常运作,不被非授权用户非法使用、**、修改以及破坏数据。在现实操作中网络管理员一般会忽略服务器端的安全设置,而是把问题抛给程序开发者来处理。数据库安全主要包括三个方面:互联网系统安全、操作系统安全、数据库管理系统安全等三个方面。

(一)互联网系统安全机制

Intemet系统安全是数据库第一道保障,一般的入侵都是从网络系统开始的。但是现在互联网系统面临着木马程序的攻击、网络犯罪欺骗、网络非法入侵与网络病毒等威胁。这些威胁都有可能使信息系统的完整性、秘密性、可信性遭到破坏。从技术角度来说预防互联网系统安全的技术有很多种:如防火墙它是目前应用广泛的一种防御方式;防病毒软件它可以使网络数据库免受木马病毒的攻击,现在市面上的防病毒软件有瑞星、360、诺顿等;入侵检查它是专门为保护计算机系统安全而配置的以及能及时发现威胁并报告威胁的一种技术,其可以时时监控系统是否有被入侵,并能主动的实施安全防御并且保护系统。

(二)操作系统安全机制

现在很多企业家庭大多都用Windows的操作系统,这个系统本身就有缺陷、安全配置、网络病毒等三个方面的威胁。但是这些威胁可以通过人工操作来避免。网络管理员必须定期对操作系统进行升级更新,合理化安全配置以及病毒扫描,这样能及时发现操作系统的漏洞并且能及时制定修补计划。

(三)数据库管理系统安全机制

数据库管理系统它都是采用多个不同的安全设置方法与用户设置做为不同的访问权限,而且可以定期进行数据备份,以防系统出问题造成数据丢失。数据安全可以分为:数据加密、数据备份与恢复、数据存储的安全性、数据传输的安全性、数据存取权限等等。数据库管理系统又分为两部分:一个是数据库,存储数据信息的仓库;另一个是数据库管理系统,它不但可以给用户与应用程序提供数据访问,而且也具有管理数据库、数据库维护等工作的能力。数据库与它的管理系统在整个网络环境中,做为信息数据储存和处理访问的重要工作地必须具有以下能力:数据库的保密性、数据库的完整性、数据库的一致性、数据库的可用性、数据库的跟踪性。

三、数据库的安全威胁

网络数据库的安全意义是保护网络中数据库信息的保密性、完整性、一致性、可用性。保护网络数据库的安全我们需要保护其系统中的数据信息不被恶意破坏、修改、泄漏。一般保护数据库安全的技术有:授权控制、身份辨别、数据库安全审计等等。我们只要做好防范有很多威胁是可以避免的,数据库在网络环境中面临的威胁有以下几点:

1软件环境出现意外,如系统崩溃软件不能运行;硬件环境受损,如电缆接口断裂、硬盘不能启动、磁盘损坏等。

2病毒入侵严重的可以导致系统崩溃,进一步破坏数据。

3数据库被不正确访问,引发数据库中数据的错误。

4未授权访问数据库,**数据库中数据信息。

5未授权修改数据库中数据,使数据真实性丢失。

6通过非正常路径对数据库进行攻击。

7人为的破坏,管理员操作不当使数据丢失。

四、数据库常用安全技术

网络由于其开放性,它绝对没有安全存在,我们可以通过安全管理减少很多不必要的损失。从保护数据库的安全出发,可从数据库管理系统去考虑问题。保证数据库安全的技术主要有:用户身份认证、权限访问控制、信息流控制、数据库加密、数据库安全审计、防火墙等。

(一)数据库的物理安全

物理安全是保证数据库安全的基本。它重点指保护数据库服务器、存放数据库的环境与网络等物理安全。一般指连接服务器的网络电线与放置交换机的环境是否安全,避免自然灾害的侵袭如:雷击、火灾、洪水、电压是否稳定等等物理问题。

(二)用户身份认证

用户身份认证是系统提供的第一道安全保护闸门。每一次用户进入数据库时系统都会提示身份验证,用户只能输入正确的命令才能进入,身份信息如不正确会发出警告。这样可以防止非授权用户进入数据库对数据信息造成破坏、**等行为。目前使用最多的身份验证手段是设置用户名与密码。但是也有更高级别的验证方法正在迅速发展起来如:智能IC卡、指纹、人脸等强度高的认证技术。用户身份的识别只能通过数据库授权与验证才能知道是否为合法的用户。

(三)访问控制技术

所谓的访问控制是指已经进入系统的用户,数据库管理系统内部这些用户进行访问权限的控制,是防止系统安全漏洞的一种保护方法,也是其核心技术。访问控制就是控制数据库可以被哪些用户访问,不被哪些用户访问。只有被授权的用户才能对数据库的数据进行读、写、删、查。一般授权有:按功能模块来授权用户、赋予用户数据库系统权限等两种。用户访问控制是数据库安全技术中最有效的方法,也是目前人们用的最多的一种技术。

(四)数据加密处理

数据库系统提供的一系列安全措施是可以满足数据库的日常应用,但如果数据比较敏感、重要,像公司的财务数据、军事数据、国家机密、以及个人隐私等这些数据,采用以上所述的几种安全措施是不够的,为了数据的保密性一般都会使用数据加密技术,增加数据储存的安全性。根据网络数据的共享性这一特点,我们可以采用公开密钥的加密办法,这种加密办法可以经受住来自操作系统和DBMS的攻击,但是它的缺点是只能加密数据库中的部分数据,但这也足够机密数据进行数据加密保护。

(五)数据备份与恢复

软硬件的故障我们不能百分百的保证,因此数据库备份是很有必要的。如果数据库被入侵、被病毒破坏、以及发生自燃灾害、盗窃等情况数据就会丢失造成损失,但是如果我们做好了数据备份并且在短时间内恢复好数据库,那么造成的影响应该会很小。因此定期做好数据备份、对数据库进行安全管理是保护数据库的手段之一。备份数据库的方法有:静态、动态、逻辑备份三种,还可以采用磁盘镜像、数据备份文件、数据库在线日志来恢复数据库。保证网络环境下数据库安全的前提是要做好防范工作,防御能力提高了才能抵制外来的侵袭

五、结束语

计算机和网络已经成为人类工作和生活的一部分,在计算机操作系统、网络协议、数据库中安全问题是一直备受关注的问题之一。随着网络技术的发展,在网络环境中数据库需求越来越大,然而数据库的安全问题也备受人们关注。在信息技术高速发展的当今社会各个行业都把数据信息储存在数据库系统中,这使得数据库安全显得尤为重要。通过上述文章的详解,有一点大家应该知道,那就是做好防御工作是有备无患的明智之举。在做预防工作之前最好是先了解一下数据库安全性方面的知识,以免进入操作误区。

为了保证数据库数据的安全可靠性和正确有效,DBMS必须提供统一的数据保护功能。数据保护也为数据控制,主要包括数据库的安全性、完整性、并发控制和恢复。

一、 数据库的安全性

数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄露、更改或破坏。计算机系统都有这个问题,在数据库系统中大量数据集中存放,为许多用户共享,使安全问题更为突出。

在一般的计算机系统中,安全措施是一级一级设置的。

在DB存储这一级可采用密码技术,当物理存储设备失窃后,它起到保密作用。在数据库系统这一级中提供两种控制:用户标识和鉴定,数据存取控制。 在ORACLE多用户数据库系统中,安全机制作下列工作:

防止非授权的数据库存取;

防止非授权的对模式对象的存取;

控制磁盘使用;

控制系统资源使用;

审计用户动作。

数据库安全可分为二类:系统安全性和数据安全性。

系统安全性是指在系统级控制数据库的存取和使用的机制,包含:

有效的用户名/口令的组合;

一个用户是否授权可连接数据库;

用户对象可用的磁盘空间的数量;

用户的资源限制;

数据库审计是否是有效的;

用户可执行哪些系统操作。

数据安全性是指在对象级控制数据库的存取和使用的机制,包含: 哪些用户可存取一指定的模式对象及在对象上允许作哪些操作类型。在ORACLE服务器上提供了一种任意存取控制,是一种基于特权限制信息存取的方法。用户要存取一对象必须有相应的特权授给该用户。已授权的用户可任意地可将它授权给其它用户,由于这个原因,这种安全性类型叫做任意型。

一 作为最流行的开源数据库引擎,MySQL本身是非常安全的。即便如此,你仍然需要添加额外的安全层来保护你的MySQL数据库不受攻击,毕竟任何经营网上

在线业务的人都不想冒数据库受到损坏的风险。接下来,我们将介绍一些实用的办法,你可以利用这些办法来保护MySQL数据库,以便加强网站的安全性。

二 保护操作系统

确保操作系统的安全是保护数据库安全的前提,因为如果整个运行环境不安全,那么网站上所有的东西都脆弱,很容易暴露于攻击者。为了维护操作系统和MySQL服务器,你可以使用以下方法:

21 主机数据库服务器和web服务器分别在不同的物理机器上,如果可能,在一个单独的服务器上运行数据库服务器,以预防由其他应用程序或服务的漏洞造成的服务器问题。

安装杀毒软件,防火墙以及所有推荐的补丁和更新,防火墙能有效地把流量过滤到MySQL服务器。为了更好的提高安全性,你还可以实行入口封锁。

禁用所有不必要的服务,而且这样的服务越少越好。

22 保护所有帐户和密码

攻击者侵入MySQL数据库最常见的一种方法是窃取有安全隐患的账户信息。为了降低出现这种风险的可能性,你不妨试一试下面的方法:

221 给所有MySQL账户设置密码

客户程序并不是每次都能识别用户,因此,如果用户知道数据库名但是没有这个用户名的密码,那他可以指定任何其他用户名连接到MySQL数据库。让每个MySQL用户名都设置密码,这样一来,要想利用匿名账户建立连接将会变得很困难。

222 不要使用根用户运行MySQL服务器

在安装MySQL的时候,默认情况下创建了一个命名为“root”的管理用户。每个人都知道这一点,所以攻击者通常试图侵入这个“root”用户来获取访问权限。为了保障这个重要帐户的安全,你需要给它重新命名,然后更改一个长并且复杂的密码。

223你可以在MySQL控制台使用mysql> RENAME USER root TO new_username;

指令给根用户重命名,使用mysql> SET PASSWORD FOR 'username'@'%hostname' =

PASSWORD('newpassword');//这是很重要的一条命令

指令来修改密码。

三 减少管理员账户

管理员账户越多,风险越大,所以你应该保持尽可能最少的帐户数量,只有为那些真正需要它的人创建账户。此外,记得要删除未使用的和匿名的账户。如果你有很多管理员账户,那你需要定期检查并清理那些不必要的账户。

四 加强所有的密码

除了管理员帐户,你还需要加强所有其他用户的密码。你可以检查所有的用户名和密码,必要的时候你还可以重置安全强度低的账户密码。虽说这样做会有点费时,但却是有必要的。

五 限制数据库权限

每个用户都应该被授予适当的权限以便数据库能够正常运行,但这样一来也加大了数据库的安全隐患。就数据库权限而言,我们有以下几点建议:

51 不要授予非管理员用户文件/高级/程序权限

文件,高级和程序权限都不应该被滥用。文件权限让用户可以在文件系统中的任何一个地方编写文件,而程序权限让用户在任何时候都能够查看服务器活动,终止客户端连接甚至更改服务器操作。为了你的数据库安全,这些权限只能授予给管理员账户。

52 限制或禁用显示数据库权限

显示数据库特权可以用于收集数据库信息,所以攻击者通常利用它来窃取数据并准备进一步攻击。你应该把这个权限授予那些真正需要的人,或者直接禁用这个权

限,你只需要把skip-show-database添加到MySQL数据库中的/etc/mycnf配置文件中。对于Windows操作系统来说,则

需要添加到myini文件中。

53 限制管理员和所有其他用户的权限

即使是管理员,也不要在同一账户中授予所有权限。因此我们建议你最好降低管理员账户访问数据的权限。至于其他的用户,你最好检查所有他们拥有的权限,以确保一切都是合适的。

六 删除风险组件

MySQL数据库的默认配置有一些不必要的组件,你可以考虑以下建议:

61 禁用LOAD DATA LOCAL INFILE指令

这个命令允许用户读取本地文件甚至访问其他操作系统上的文件,这可能帮助攻击者收集重要的信息并利用应用程序的漏洞侵入你的数据库。你需要做的是把set-variable=local-infile=0插入到MySQL数据库的mycnf文件中,来禁用这个指令。

62 删除测试数据库

有一个默认的“测试”数据库用于测试目的。由于这个数据库有安全风险,匿名用户也可以访问,你应该使用mysql> DROP database test;指令尽快把它清除掉。

63 删除历史文件

MySQL服务器有一个历史文件,它可以帮助你在安装出错的时候找到问题所在。历史文件包含敏感信息,比如说密码,如果这些信息被攻击者获得,那么将会给

你的数据库带来巨大的安全隐患。在安装成功后,历史文件并没有什么用,因此你可以使用cat /dev/null >

~/mysql_history指令来删除文件当中的内容。

七 限制远程访问MySQL服务器

对于大多数用户来说,不需要通过不安全的开放网络来访问MySQL服务器。你可以通过配置防火墙或硬件,或者迫使MySQL只听从localhost来限制主机。此外,需要SSH隧道才能进行远程访问。

八 如果你想仅仅从本地主机来限制用户建立连接,你需要在在配置文件中添加bind-address=127001。

81利用日志记录

启用日志记录让你可以检测服务器上的活动,这样你就可以分析失败的登录尝试和敏感文件的访问记录,以便了解是否存在向你的服务器和数据库发起的恶意活动。

你只需要把log =/var/log/mylogfile指令添加到MySQL配置文件中,就可以手动启用日志记录功能。

82至于日志记录,需要注意以下两点:

821日志记录仅适用于查询数量有限的数据库服务器。对于信息量大的服务器,这可能会导致高过载。

822由于“hostnameerr”文件包含敏感数据表名和密码,只有“root”和“mysql”才有访问和记录这个文件的权限。

你好!需要注意以下几个方面:

  1如果客户端和服务器端的连接需要跨越并通过不可信任的网络,那么就需要使用SSH隧道来加密该连接的通信。

  2用set password语句来修改用户的密码,三个步骤 “先mysql -u root登陆数据库系统” 然后“mysql> update mysqluser set password=password('newpwd')” 最后执行“flush privileges”就可以了

  3需要提防的攻击有,防偷听、篡改、回放、拒绝服务等,不涉及可用性和容错方面。对所有的连接、查询、其他操作使用基于ACL即访问控制列表的安全措施来完成。也有一些对SSL连接的支持。

  4除了root用户外的其他任何用户不允许访问mysql主数据库中的user表;加密后存放在user表中的加密后的用户密码一旦泄露,其他人可以随意用该用户名/密码相应的数据库;

  5用grant和revoke语句来进行用户访问控制的工作;

  6不使用明文密码,而是使用md5()和sha1()等单向的哈系函数来设置密码;

  7不选用字典中的字来做密码;

  8采用防火墙来去掉50%的外部危险,让数据库系统躲在防火墙后面工作,或放置在DMZ区域中;

  9从因特网上用nmap来扫描3306端口,也可用telnet server_host 3306的方法测试,不能允许从非信任网络中访问数据库服务器的3306号TCP端口,因此需要在防火墙或路由器上做设定;

  10为了防止被恶意传入非法参数,例如where ID=234,别人却输入where ID=234 OR 1=1导致全部显示,所以在web的表单中使用''或""来用字符串,在动态URL中加入%22代表双引号、%23代表井号、%27代表单引号;传递未 检查过的值给mysql数据库是非常危险的;

  11在传递数据给mysql时检查一下大小;

  12应用程序需要连接到数据库应该使用一般的用户帐号,只开放少数必要的权限给该用户;

  13在各编程接口(C C++ PHP Perl Java JDBC等)中使用特定‘逃脱字符’函数;在因特网上使用mysql数据库时一定少用传输明文的数据,而用SSL和SSH的加密方式数据来传输;

  14学会使用tcpdump和strings工具来查看传输数据的安全性,例如tcpdump -l -i eth0 -w -src or dst port 3306 | strings以普通用户来启动mysql数据库服务;

  15不使用到表的联结符号,选用的参数 ——skip-symbolic-links;

  当然安全是没有绝对的,再怎么注意,也会有疏忽,也会有出现漏洞的时候,所以还是得要有备份的意识的。我的MySQL还会用多备份来备份一下的。毕竟,自己是自己的心血。 说了这么多,希望对你有帮助!

  

计算机安全是当前信息社会非常关注的问题,而数据库系统更是担负着存储和管理数据信息的任务,因而如何保证和加强其安全性,更是迫切需要解决的热门课题。下面将讨论数据库的安全策略,并简单介绍各种策略的实现方案。

一、数据库的安全策略

数据库安全策略是涉及信息安全的高级指导方针,这些策略根据用户需要、安装环境、建立规则和法律等方面的限制来制定。

数据库系统的基本安全性策略主要是一些基本性安全的问题,如访问控制、伪装数据的排除、用户的认证、可靠性,这些问题是整个安全性问题的基本问题。数据库的安全策略主要包含以下几个方面:

1保证数据库存在安全

数据库是建立在主机硬件、操作系统和网络上的系统,因此要保证数据库安全,首先应该确保数据库存在安全。预防因主机掉电或其他原因引起死机、操作系统内存泄漏和网络遭受攻击等不安全因素是保证数据库安全不受威胁的基础。

2保证数据库使用安全

数据库使用安全是指数据库的完整性、保密性和可用性。其中,完整性既适用于数据库的个别元素也适用于整个数据库,所以在数据库管理系统的设计中完整性是主要的关心对象。保密性由于攻击的存在而变成数据库的一大问题,用户可以间接访问敏感数据库。最后,因为共享访问的需要是开发数据库的基础,所以可用性是重要的,但是可用性与保密性是相互冲突的。

二、数据库的安全实现

1数据库存在安全的实现

正确理解系统的硬件配置、操作系统和网络配置及功能对于数据库存在安全十分重要。比如对于硬件配置情况,就必须熟悉系统的可用硬盘数量,每个硬盘的可用空间数量,可用的CPU数量,每个CPU的Cache有多大,可用的内存数量,以及是否有冗余电源等问题;对于操作系统,则应该周期性的检查内存是否有泄漏,根文件系统是否需要清理,重要的日志是否已经察看;对于网络就应该随时确保网络没有过载,网络畅通、网络安全是否得到保证等等。因为这一部分不是本文的重点,所以不再一一细述,总之,这三方面的安全运行是和维护数据库存在安全不可分割的。

2数据库完整性的实现

数据库的完整性包括库的完整性和元素的完整性。

数据库的完整性是DBMS(数据库管理系统)、操作系统和系统管理者的责任。数据库管理系统必须确保只有经批准的个人才能进行更新,还意味着数据须有访问控制,另外数据库系统还必须防范非人为的外力灾难。从操作系统和计算系统管理者的观点来看,数据库和DBMS分别是文件和程序。因此整个数据库的一种形式的保护是对系统中所有文件做周期性备份。数据库的周期性备份可以控制由灾祸造成的损失。数据库元素的完整性是指它们的正确性和准确性。由于用户在搜集数据、计算结果、输入数值时可能会出现错误,所以DBMS必须帮助用户在输入时能发现错误,并在插入错误数据后能纠正它们。DBMS用三种方式维护数据库中每个元素的完整性:通过字段检查在一个位置上的适当的值,防止输入数据时可能出现的简单错误;通过访问控制来维护数据库的完整性和一致性;通过维护数据库的更改日志,记录数据库每次改变的情况,包括原来的值和修改后的值,数据库管理员可以根据日志撤消任何错误的修改。

3数据库保密性的实现

数据库的保密性可以通过用户身份鉴定和访问控制来实现。

DBMS要求严格的用户身份鉴定。一个DBMS可能要求用户传递指定的通行字和时间日期检查,这一认证是在操作系统完成的认证之外另加的。DBMS在操作系统之外作为一个应用程序被运行,这意味着它没有到操作系统的可信赖路径,因此必须怀疑它所收的任何数据,包括用户认证。因此DBMS最好有自己的认证机制。

访问控制是指根据用户访问特权逻辑地控制访问范围和操作权限。如一般用户只能访问一般数据、市场部可以得到销售数据、以及人事部可以得到工资数据等。DBMS必须实施访问控制政策,批准对所有指定的数据的访问或者禁止访问。DBMS批准一个用户或者程序可能有权读、改变、删除或附加一个值,可能增加或删除整个字段或记录,或者重新组织完全的数据库。

4数据库可用性的实现

数据库的可用性包括数据库的可获性、访问的可接受性和用户认证的时间性三个因素。下面解释这三个因素。

(1)数据的可获性

首先,要访问的元素可能是不可访问的。例如,一个用户在更新几个字段,其他用户对这些字段的访问便必须被暂时阻止。这样可以保证用户不会收到不准确的信息。当进行更新时,用户可能不得不阻止对几个字段或几个记录的访问通道,以便保证数据与其他部分的一致性。不过有一点要注意,如果正在更新的用户在更新进行期间退出,其他用户有可能会被永远阻止访问该记录。这种后遗症也是一个安全性问题,会出现拒绝服务。

(2)访问的可接受性

记录的一个或多个值可能是敏感的而不能被用户访问。DBMS不应该将敏感数据泄露给未经批准的个人。但是判断什么是敏感的并不是那么简单,因为可能是间接请求该字段。一个用户也许请求某些包含敏感数据的记录,这可能只是由非敏感的特殊字段推出需要的值。即使没有明确地给出敏感的值,数据库管理程序也可能拒绝访问这样的背景信息,因为它会揭示用户无权知道的信息。

(3)用户认证的时间性

为了加强安全性,数据库管理员可能允许用户只在某些时间访问数据库,比如在工作时间。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 数据库安全控制的主要策略有哪些

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情