2.3 服务器漏洞探测 (1)MySQL安全漏洞 例1:MySQL CREATE TABLE调用绕过访问限制漏洞。 漏洞描述:CVE ID:CVE-2008-7247 当数据主目录包含有到不同文件系统的符号链接时,MySQL的ql/sql_table.cc允许通过认证的远程攻击者通过以特殊DATA DIRECTORY或INDEX DIRECTORY参数调用CREATE TABLE绕过预期的访问限制,执行各种非授权操作。 解决方法:下载厂商补丁http://lists.mysql.com/commits/59711 例2:MySQL SELECT语句(下转第35页)(上接第24页)处理拒绝服务漏洞。 MySQL的mysqld守护程序没有正确地处理在执行某些带有子查询的SELECT语句期间所产生的错误,在执行使用GeomFromWKB函数的语句期间没有保留某些null_value标记,这允许通过认证的远程攻击者通过提交特制语句导致守护程序崩溃。 目前厂商已经发布了升级补丁以修复这个安全问题,到厂商的主页下载: http://lists.mysql.com/commits/88409 http://lists.mysql.com/commits/87482 (2)默认的情况下,MSSQL则会打开TCP的1433端口监听 虽然MSSQL可以人为的改变监听端口,但是通过微软未公开的1434端口的UDP探测可以很容易知道MSSQL使用的是什么TCP/IP端口。往UDP1434端口发送一个1个字节的内容为02的数据包,被探测的系统则会返回安装的MSSQL服务信息,这些信息包括:主机名称、实例名称、版本、管道名称以及使用的端口等。这个端口是微软自己使用,而且不象默认的1433端口那样可以改变,1434是不能改变的。由于利用了UDP端口,一般的过滤是很难防范的。 解决办法:安装防火墙,或者利用Windows 2003系统的IPSEC对网络连接进行IP限制,实现IP数据包的安全性。对IP连接进行限制,只保证自己的IP能够访问,拒绝其他IP进行的端口连接,把来自网络上的安全威胁进行有效的控制。重要的是,还要对端口作过滤,包括大部分的TCP和UDP端口,因为仅仅做IP限制的话,有可能恶意攻击者先攻击被数据库服务器信任的主机,控制之后作为跳板对数据库服务器进行攻击。 2.4 密码窃听 在单机环境下,基于用户口令本身的保密性(与口令长度、复杂性等有关),可以在一定程度上防止其他用户进入系统。但在网络环境下,存在另外一种威胁:攻击者可通过窃听通信信道或进行网络窥探的方法,在口令的明文传输过程中获得用户口令,使得这种身份认证方法变得极不安全。 MySQL和MSSQL系统客户与服务器构架的一个重要问题就是通过网络传送数据时的安全问题。如果客户与服务器间的交互以纯文本形式发生,黑客就可能“嗅出”被传送的数据包,从而获得机密信息。 解决方法:可以通过激活MySQL和MSSQL系统配置中的SSL,或应用一个OpenSSH这样的安全应用来为传送的数据建立一个安全的加密“通道”,以关闭这一漏洞。以这种形式加密客户与服务器连接可使未授权用户极难查阅往来的数据。另外的办法就是将口令加密传输,现在有多种加密技术,常用的是单向函数加密技术,如在系统中使用MD5算法来实现口令的加密存储与传输。 3.总结 网站后台数据库的安全分析,目的就是保证企业内部客户信息等数据的安全和企业网站的正常运行。从上面的安全分析结果来看,网站后台数据库的安全依赖于良好的安全管理和有效的安全策略。实际上数据库的安全是一个十分复杂的工程,这里只体现了其中的几个侧面,更精深的安全管理,有待于我们在实践和应用中不断地深入研究。 参考文献 [1][美]戴尔著.李红军,李冬梅,等,译.MySQL核心技术手册[M].机械工业出版社(第2版). [2]http://database.51cto.com/col/484/,51cto.com网.数据库频道. |