科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网安全频道保护数据库服务器加强数据库安全

保护数据库服务器加强数据库安全

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

数据库是电子商务、金融以及ERP系统的基础,通常都保存着重要的商业伙伴和客户信息。不管

来源:比特网 2009年9月6日

关键字: 数据库安全 数据库攻击 数据防护

  • 评论
  • 分享微博
  • 分享邮件

  数据库是电子商务、金融以及ERP系统的基础,通常都保存着重要的商业伙伴和客户信息。不管

  数据完整性以及关系到系统安全这些在数据库中非常重要,但是数据库通常没有象操作系统和网络这

  样在安全性上受到重视。数据完整性和合法存取会受到很多方面的安全威胁,包括密码策略、系统后

  门、数据库操作以及本身的安全方案。

  为什么数据库安全很重要?

  1、保护敏感信息和数据资产

  大多数企业、组织以及政府部门的电子数据都保存在各种数据库中。他们用这些数据库保存一些

  个人资料,比如员工薪水、医疗记录、员工个人资料等等。数据库服务器还掌握着敏感的金融数据。

  包括交易记录、商业事务和帐号数据,战略上的或者专业的信息,比如专利和工程数据,甚至市场计

  划等等应该保护起来防止竞争者和其他非法者获取的资料。数据库服务器还保存着一些有关员工详细

  资料的东西比如银行帐号、信用卡号码,以及一些商业伙伴的资料。

  2、数据库同系统紧密相关并且更难正确地配置和保护

  数据库应用程序通常都同操作系统的最高管理员密切相关。比如Oracle,Sybase,MS SQL Server数

  据库系统都有下面这些特点:用户帐号和密码,认证系统,授权模块和数据对象的许可控制,内置命

  令(存储过程),特定的脚本和程序语言(通常派生自SQL),中间件,网络协议,补丁和服务包,数

  据库管理和开发工具。许多DBA都全日工作来管理这些复杂的系统。但是,安全漏洞和不当的配置通常

  会造成严重的后果,而且都难以发现。而且一些安全公司也忽略数据库安全,数据专家又不把安全作

  为主要职责。“网络安全适应性”哲学——把安全当作持续过程而不是一次性的检查,还没有被数据

  库管理员认可。

  3、网络和操作系统的安全被认为非常重要,但是却不这样对待数据库服务器

  安全专家认为这是的一种普遍现象,他们都认为只要把网络和操作系统的安全搞好了,那么所有

  的应用程序也就安全了。现在的数据库系统都有很多方面被误用或者漏洞影响到安全。而且这些关系数

  据库都是“端口”型的,这就表示任何人都能够用分析工具试图连接到数据库上,而绕过操作系统的安

  全机制。比如:Oracle7.3和Oracle8使用的端口是1521和1526。多数数据库系统也有公开的默认帐号和

  默认密码。这两个特性大大地危害着数据库的安全。

  4、少数数据库安全漏洞不光威胁数据库的安全,也威胁到操作系统和其他可信任的系统。

  这也是为什么数据库安全很重要的原因:有些数据库提供机制威胁着网络安全低层。比如,某公司

  的数据库里面保存着所有技术文档、手册和白皮书,不认为数据库的安全非常重要。即使运行在一个非

  常安全的操作系统上,入侵者可能通过数据库获得操作系统权限,只需要执行一些内置在数据库中的扩

  展存储过程。这些存储过程能提供一些执行操作系统命令的接口,而且能访问所有的系统资源,如果这

  个数据库服务器还同其他服务器建立着信任关系,那么,入侵者就能够对整个域机器的安全产生严重威

  胁。

  5、数据库是电子商务、ERP系统和其他重要的商业系统的基础。

  许多电子交易和电子商务的焦点都放在WEB服务、JAVA和其他技术上,那么对于以关系数据库为基础

  的客户系统和B2B系统,数据库就显得更加重要。安全将直接关系到系统可靠性、数据事务完整性,和保

  密性。系统如果出现问题,将不仅仅对交易产生影响,同时也影响着公司的形象。这些系统需要对所有

  合作伙伴和客户信息保密性负责,但是它们又同时是对入侵者开放的。另外,ERP和想SAP R/3这样的管理

  系统都是建立在一些基本数据库系统上的。安全问题将直接同维护时间、系统完整性和客户信任密切相关

  联。

  需要注意那些安全漏洞?

  传统数据库安全主要集中在用户帐号、规则和操作许可(比如对表和存储过程的访问权)上。而实际

  上,一个完全的数据库安全分析包含的范围宽得多,包括所有可能范围内的漏洞评定。下面是一些类别:

  软件风险。软件本身漏洞,错过操作系统补丁,脆弱的服务和不安全的默认配置等。

  管理风险。提供的安全选项不正确操作,默认设置,不正确地给其他用户提供权限,以及没有得到许

  可的系统配置改变等。

  用户行为风险。密码不够长,不确当的数据访问和恶意操作(偷窃数据结构)等。

  这些风险类别也同样适用与网络服务、操作系统。当加强数据库安全的时候,所有的因素都应该考虑。

  数据库安全——弱点和例子

  下面列出一些常用数据库服务器安全漏洞和配置缺陷。

  安全特性缺陷。

  大多数关系数据库已经存在上10年了,都是成熟的产品。不幸的是,IT和安全专家对网络和操作系统

  要求的许多特性在多数关系数据库上还没有被使用。

  没有内置一些基本安全策略。

  MS SQL Server Sybase Oracle7 Oracle8

  帐号锁定 N N N Y

  管理员帐号重命名 N N N N

  帐号健壮性要求 N N N Y

  帐号失效 N N N N

  密码失效 N Y Y Y

  登陆时间限制 N N N N

  由于这些数据库都是“端口性”的,操作系统核心安全机制不提供给数据库的网络连接,

  比如MS SQL Server,可以使用WINDOWS NT的安全机制来弥补上面的缺陷,但是,多数运行

  MS SQL Server的环境并不一定都是100%的 Windows NT。执行又是另一个问题。如果在运行Oracle 8,

  管理员怎么知道这些安全特性正在被使用?

  上面列举这些特性连起来,将更加严重。由于系统管理员帐号不能改变(SQL Server和Sybase

  是“sa”,Oracle是“system”和“sys”),如果没有设置密码,入侵者就能直接登陆并攻击数据

  库服务器,没有任何东西能够阻止他们获得更高权限的系统帐号。

  数据库帐号管理。

  多数数据库提供的基本安全特性,都没有机制来限制用户必须选择健壮的密码。这就需要更加谨

  慎的控制和管理。也有一些额外的功能来管理和保护整个密码表。比如,Oracle系统有超过10个特殊

  的默认用户帐号和密码,并且有特定的密码来管理一些数据库操作,比如数据库的启动,控制网络监

  听进程和远程数据库登陆特权。许多系统密码都能给入侵者完全访问数据库的机会,更甚的是,有些

  就储存在操作系统中的普通文本文件中。比如:

  Oracle 内部密码,储存在strXXX.cmd文件中,其中XXX是Oracle系统ID和SID,默认是“ORCL”。

  这个密码用于数据库启动进程,提供完全访问数据库资源。这个文件在Windows NT中需要设置权限。

  Oracle监听进程密码,保存在文件“listener.ora”(保存着所有的Oracle执行密码)中,用于启

  动和停止 Oracle的监听进程。这需要设置一个健壮的密码来代替默认的,并且必须对访问设置权限。入

  侵者可以通过这个弱点进行DOS攻击。

  Oracle内部密码——“orapw”文件权限控制,Oracle内部密码和帐号密码允许SYSDBA角色保存在

  “orapw”文本文件中,该文件的访问权限应该被限制。即使加密,也能被入侵者暴力破解。

  这些只是一些例子。密码保护不仅只针对Oracle,其他数据库系统一样需要。

  操作系统后门。

  多数数据库系统都有一些特性,来满足数据库管理员,这些也成为数据库主机操作系统的后门。

  对于Sybase 和SQl Server的帐号“sa”,入侵者可以执行“扩展存储过程”来获得系统权限。只要

  登陆作为“sa”,就可以使用扩展存储过程 xp_cmdshell ,这允许Sybase和SQL Server用户执行操作系

  统命令,就好象在运行操作系统的命令行模式。比如,下面可以添加一个系统帐号“refdom”,

  密码是"nopassword",并且添加到administrators组中:

  xp_cmdshell ''net user refdom nopassword /add''

  go

  xp_cmdshell ''net localgroup /add administrators refdom''

  go

  这就是因为SQL Server用Windows NT的本地帐号“localsystem”来运行的命令。黑客还可以使用

  xp_regread 来读取加密的SAM密码。然后再暴力破解。

  xp_regread ''HKEY_LOCAL_MACHINE'',''SECURITY\SAM\Domains\Account'',''F''

  注意,能读出加密的密码是NT的"administrator"帐号也不能做的。SQL Server能读出来同样是使用

  的“LocalSystem”帐号。

  Oracle有这样的特性,可以获得操作系统的文件访问权限。比如,UTL_FILE允许用户读和写文件,

  UTL_FILE_DIR可以用来设置用户使用UTL_FILE还写文件。

  审核。

  主要信息和时间能被关系数据库的认证系统很详细地记录下来,但是,这只能在正确地使用和配置

  下才能起到安全和报警作用。这些功能能提前报警入侵者正在威胁数据库服务器,并且能探测和修复破坏。

  木马的威胁。

  数据库管理员需要特别小心,一个著名的木马能够密码改变存储过程修改密码,而且能通知入侵者。

  比如,可以添加几行到sp_password中,记录新帐号到库表中,通过EMAIL发送这个密码,或者写到文件中

  以后使用。这个存储过程不断地获得密码,直到弄到"sa"的密码。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章