欢迎投稿

今日深度:

MySQL安全攻防实战指南之体系结构篇(1)(2)

二、MySQL的部署

由于MySQL服务器是如此流行,以至于在网络中的任何角落几乎都能找到它的身影,实际上,它不仅安装到专用服务器中,就连桌面机器中也常见它的踪迹。

在一般的配置中,客户端会通过TCP 3306端口连接到MySQL。对于Windows平台而言,还可以通过有名管道使用MySQL,不过一般不推荐这样配置。默认情况下,以有名管道模式运行的MySQL会同时侦听TCP 3306端口和一个名为MySQL的有名管道。与诸如Oracle之类的数据库系统相比,MySQL使用的网络协议就比较简单了,并且默认情况下是使用明文通信,当然也可以使用SSL来保护通信。启用SSL协议后,数据库仍然是一TCP 3306端口。

您可以很轻松地检测一台主机上运行的MySQL的版本,因为只要连接该机器,它就会返回数据库的主要版本号和次要版本号,某些版本还会提供操作系统的提示信息。任何能够抓取旗标的TCP端口扫描器都能够返回MySQL版本。

MySQL最普遍的应用是为动态web应用程序提供后端支持,当我们扫描网络时见到的MySQL通常出现在Apache/PHP应用程序的后端,甚至有时候它竟跟web服务器运行在同一台主机上。在一些大型组织中,它常用作日志记录服务器,用于存放入侵检测系统日志、web日志或者其他审计任务。有些情况下,特别是在开发环境中,MySQL经常被安装到一台桌面机器上,所以在PC上扫描到它也就不足为奇了。

由于MySQL通信协议是明文通信,因此人们喜欢在MySQL服务器所在主机上同时安装一个SSH服务器,并使用端口转发技术通过加密隧道连接至3306端口。这种方法有几种好处:数据在运输中是加密的,并强迫执行一个额外的认证步骤,同时还给该数据库的连接提供了额外的审计记录。

此外,有人认为MySQL服务器应该与web服务器安装到同一台机器上,因为这样可以避免远程连接,但是这种配置本身就是不安全的。之所以这样说,是因为MySQL的数据表是以文件的形式存储的,并且通常没有锁定,那么一旦Web应用程序出现文件泄露漏洞,这就使得攻击者能够下载数据库的所有内容。从另一方面来说,Web应用程序中的SQL注入漏洞也可能导致攻击者得以修改web服务器上的脚本内容。恰当的文件权限可以防止此类问题,但是除此之外,将web服务器和数据库服务器置于同一台机器上还为攻击者敞开了许多其它的方便之门。


www.htsjk.Com true http://www.htsjk.com/shujukuaq/16813.html NewsArticle 二、MySQL的部署 由于MySQL服务器是如此流行,以至于在网络中的任何角落几乎都能找到它的身影,实际上,它不仅安装到专用服务器中,就连桌面机器中也...
评论暂时关闭