欢迎投稿

今日深度:

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

四、缺省用户名和口令

MySQL的默认配置随平台、部署模式、发行版本(源代码或者二进制文件)和初始配置的不同而异,在有些情况下MySQL服务器一经安装就可能被远程攻击者所攻陷——如果缺省配置有问题的话。举例来说,MySQL 4.0.20的一些默认配置下,表mysql.user中有四条缺省记录,有两条用于root帐户,另两条用于匿名帐户。并且,有一个带有root权限的远程表项是给主机build上的根用户的。这些表中的表项的具体含义,我们会在后面加以详解,现在我们只需知道的是:

如果您位于本地主机,那么您可以作为密码为空的root根用户通过身份验证,并获得数据库的完全控制权。如果您位于本地主机,您可以使用任何用户名通过身份验证,并获得对该数据库的来宾访问权限。如果您位于一个远程主机上,同时能够控制服务器的名称解析,这样的话就可以使你的主机名看起来是“build”,所以您就可以作为密码为空的root用户通过身份验证,从而获得数据库的完全控制权。如果您位于一台名为build的远程主机上,那么您就可以使用任何用户名来通过身份验证,并获得数据库的来宾访问权限。

在Windows主机上,根帐户的存在会导致任何本地用户都能将自身权限提升为本地系统级访问权限;而在默认情形下,MySQL就是运行在系统权限级别的。糟糕的是,攻击者只需简单将其机器命名为build,那么他就轻而易举地获得了对运行MySQL服务的机器的远程系统级访问权限。当然,攻击者必须位于目标所在的同一个NetBIOS名字域中,或者能够伪造一个DNS响应。针对这一问题的防御方法是:

  • 安装MySQL时禁用网络连接。
  • 安装之后立即删除mysql.user表中除本地主机root帐户之外的全部帐户。
  • 为本地主机root帐户设置一个复杂的密码。


www.htsjk.Com true http://www.htsjk.com/shujukuaq/16813.html NewsArticle 四、缺省用户名和口令 MySQL的默认配置随平台、部署模式、发行版本(源代码或者二进制文件)和初始配置的不同而异,在有些情况下MySQL服务器一经安装就...
评论暂时关闭