荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: siskin@bbs.pku.edu.cn (·¥·), 信区: Database
标  题: 保护数据库服务器加强数据库安全
发信站: 北大未名站 (Tue Sep 17 12:52:46 2002)
转信站: SZUBBS!news2.happynet.org!PKUBBS

保护数据库服务器加强数据库安全
--翻译原文:Securing Database Servers (ISS)
-----------------------------------------------------------------------------
-
--
『金山反病毒资讯网』        2001年12月27日 13:17:30
  数据库是电子商务、金融以及ERP系统的基础,通常都保存着重要的商业伙伴和客户

息。不管数据完整性以及关系到系统安全这些在数据库中非常重要,但是数据库通常没

象操作系统和网络这样在安全性上受到重视。数据完整性和合法存取会受到很多方面的

全威胁,包括密码策略、系统后门、数据库操作以及本身的安全方案。
  为什么数据库安全很重要?
  1、保护敏感信息和数据资产
  大多数企业、组织以及政府部门的电子数据都保存在各种数据库中。他们用这些数

库保存一些个人资料,比如员工薪水、医疗记录、员工个人资料等等。数据库服务器还

握着敏感的金融数据。包括交易记录、商业事务和帐号数据,战略上的或者专业的信息

比如专利和工程数据,甚至市场计划等等应该保护起来防止竞争者和其他非法者获取的

料。数据库服务器还保存着一些有关员工详细资料的东西比如银行帐号、信用卡号码,

及一些商业伙伴的资料。
  2、数据库同系统紧密相关并且更难正确地配置和保护
  数据库应用程序通常都同操作系统的最高管理员密切相关。比如Oracle,Sybase,MS
S
QL 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”),如果没有设置密码,入侵者就能

接登陆并攻击数据库服务器,没有任何东西能够阻止他们获得更高权限的系统帐号。
  数据库帐号管理。
  多数数据库提供的基本安全特性,都没有机制来限制用户必须选择健壮的密码。这

需要更加谨慎的控制和管理。也有一些额外的功能来管理和保护整个密码表。比如,Ora
c
le系统有超过10个特殊的默认用户帐号和密码,并且有特定的密码来管理一些数据库操

,比如数据库的启动,控制网络监听进程和远程数据库登陆特权。许多系统密码都能给

侵者完全访问数据库的机会,更甚的是,有些就储存在操作系统中的普通文本文件中。

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

“ORCL”。这个密码用于数据库启动进程,提供完全访问数据库资源。这个文件在Windo
w
s NT中需要设置权限。
  Oracle监听进程密码,保存在文件“listener.ora”(保存着所有的Oracle执行密

)中,用于启动和停止 Oracle的监听进程。这需要设置一个健壮的密码来代替默认的,

且必须对访问设置权限。入侵者可以通过这个弱点进行DOS攻击。
  Oracle内部密码——“orapw”文件权限控制,Oracle内部密码和帐号密码允许SYSD
B
A角色保存在“orapw”文本文件中,该文件的访问权限应该被限制。即使加密,也能被

侵者暴力破解。
  这些只是一些例子。密码保护不仅只针对Oracle,其他数据库系统一样需要。
  操作系统后门。
  多数数据库系统都有一些特性,来满足数据库管理员,这些也成为数据库主机操作

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

统权限。只要登陆作为“sa”,就可以使用扩展存储过程 xp_cmdshell ,这允许Sybase

SQL Server用户执行操作系统命令,就好象在运行操作系统的命令行模式。比如,下面

以添加一个系统帐号“refdom”,密码是"nopassword",并且添加到administrators组中


  xp_cmdshell ’net user refdom nopassword /add’
保护数据库服务器加强数据库安全
--翻译原文:Securing Database Servers (ISS)
-----------------------------------------------------------------------------
-
--
『金山反病毒资讯网』        2001年12月27日 13:17:30
  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中,记录新帐号到库表中,通过EMAI
L
发送这个密码,或者写到文件中以后使用。这个存储过程不断地获得密码,直到弄到"sa
"
的密码。
  总之,安全专家,DBA等等都需要注意数据库安全就象他们配置系统一样。


--
※ 来源:·北大未名站 bbs.pku.edu.cn·[FROM: 162.105.41.38]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店