MySQL服务器内部安全数据目录若何拜候[MySQL防范]
本文“MySQL服务器内部安全数据目录若何拜候[MySQL防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
作为MySQL管理员的您,在保护MySQL安装的安全性和完好性方面可以做些什么.在本文中,我们将更具体地谈论以下与安全性相关的问题:
◆为什么说安全性是重要的,应当鉴戒哪些攻击?
◆从服务器主机中的用户那边您将面对什么风险(内部安全性),能做什么?
◆从在网络上衔接到服务器的客户机那边您将面对什么风险(外部安全性),能做什么?
MySQL管理员有责任保护数据库内容的安全,使得记录只能由经过严峻认证的那些用户拜候.这包含内部安全性和外部安全性.
内部安全性关心文件系统级的问题,如保护MySQL数据目录免遭拥有运行服务器的机械账号的用户的攻击.但是,假如数据目录内容的文件答应权过度随便,有人可以将对应这些表的文件举行简单的替换的话,内部安全性就不能很好地确保得当成立对网络上客户机拜候的受权表的掌握.
外部安全性关心客户机从外部衔接的问题,如避免MySQL服务器免遭通过网络进来的通过服务器的衔接恳求对数据库内容拜候的攻击.要成立MySQL受权表使得它们不答应对服务器所管理的数据库的拜候(除非供应了有效的名字和口令).
本文供应了应当理解的有关问题的指导,并阐明若何避免内部和外部级别中未认证的拜候.
MySQL服务器供应了一个通过MySQL数据库中的受权表来实现的机动的权限系统.可以设置这些表的内容来答应或回绝数据库对客户机的拜候.这供应了关于未认证的网络拜候数据的安全性.但是,假如服务器主机上的其他用户具有对该数据目录内容的直接拜候权,则将不能对拜候数据的网络成立杰出的安全性.除非知道您是曾在运行MySQL服务器的机械上注册的惟一的一个人,不然需求关心在该机械上的其他用户得到对数据目录拜候的大概性.
以下是您想要保护的内容:
数据库文件:明显想要保护由服务器保护的数据库的保密性.数据库的全部者普通要考虑数据库内容的专有性.即便他们不考虑,也最多是使数据库的内容大众化,而不会使那些内容因数据库目录安全性低而被泄露.
日记文件通例和更新日记必须安全,因为它们包含了查询文本.这有相当的利害关系,因为具有日记文件拜候的任何人都可以监控发生在数据库中的事件处理.
与日记文件有关的更为特别的安全性问题是,像GRANT 和SET PASSWORD 这样的查询被记录在日记中了.通例和更新日记文件包含敏感的查询文本,此中包含了口令(MySQL利用口令加密,但这只实用于在口令设置之后的衔接成立.设置口令的历程包含在GRANT、INSERT 或SET PASSWORD 这样的查询中,但这些查询以纯文本的情势被记录.)假如一个攻击者具有对日记的读拜候权,那他只需在日记中对GRANT 或PASSWORD 这样的词运行grep 就可以找到敏感信息.
明显,您不想让服务器主机上的其他用户拥有对数据目录文件的写拜候权,因为那样的话,他们便可以在状况文件或数据库表上肆意踩踏.但读拜候也很危险.假如表文件可读取,那么盗取文件并使MySQL自己以纯文本的情势显示表的内容是微不足道的事.可按下列步骤举行:
1) 在服务器主机上安装您的MySQL服务器,但利用与正式服务器差别的端口、套接字和数据文件.
2) 运行MySQL_install_db 初始化您的数据目录.这将答应您作为MySQL的root 用户拜候服务器,因此您将具有完好掌握服务器拜候机制的权利.它还成立了一个test 数据库.
3) 将您想盗取的表的呼应文件拷贝到服务器数据目录下的test 子目录中.
4) 启行动案服务器.您可以随便拜候这些表.SHOW TABLES FROM test 将显示您拥有一个被盗取表的备份, SELECT * 将显示任何这些表的全部内容.
5) 假如更坏一点,翻开服务器的匿名用户账号的答应权,使任何人都能从任何地方衔接到该服务器来拜候您的test 数据库.目前,您已经向全世界公布了这些被盗窃的表.
考虑一下方才的情形,然后倒置过来想.您但愿有人对您这样做吗?当然不要.
通过在数据目录中履行ls -l 可以肯定数据目录中能否包含非安全的文件或目录.应查看具有以开启的“组”或“其他”答应权的文件或目录.以下是一个非安全数据目录的部份列表,是该数据目录中的一部份数据库目录:
正如您所看到的,有些数据库目录有精确的答应权,而有些则不是这样.本例中的情形是由于时间惹起的.较老的服务器成立了限制较少的答应权,且较老的服务器与较新的服务器相比,在设置答应权方面不严峻(请注意,有更多限制的目录, menager 和t m p,都有更为新的日期).MySQL当前的版本确保这些文件只对服务器运行的用户可读.
让我们来安置这些答应权,使得只有服务器的用户才能拜候它们.主要的保护手段来安闲UNIX 文件系统本身供应的工具,这些工具可设置文件和目录的全部权及方法.操作步骤以下:
1) 定位到数据目录中:% cd DATADIR
2) 设置该数据目录下全部文件的全部权为运行该服务器的账号所拥有(必须以root 身份履行这一步).在本书中,笔者对此账号的用户名和组名利用mysqladm 和mysqlg r p.可以用下列号令之一改正全部权:
|
3 ) 改正数据目录和数据库目录的方法,使得它们仅关于mysqladm 是可读的.这样避免了其他用户拜候数据目录的内容.可以操纵下列号令之一来举行,这些号令大概以root 大概以mysqladm 运行(后者更好,可以使作为root 运行的号令数目最小化):
|
4 ) 对mysqladm 用户设置数据目录内容的全部权和方法.目前,您应当确保老是以mysqladm 运行,因为它目前是唯一拥有该数据目录拜候权的用户.
在上述步骤之后,将拥有以下答应权:
以上是“MySQL服务器内部安全数据目录若何拜候[MySQL防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |