- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
MySQL数据库安全配置与加固
MySQL 数据库安全配置 MySQL 数据库基本安全配置 1. 操作系统的安全 要想保护正在运行 MySQL 的主机的安全,不妨参考以下几个指导原则: (1) 部署 IPTables(Linux)、IPFfilter(Solaris) 或者 MySQL 服务器上其他一些基于主 机的防火墙软件。 大多数 Linux 的发布版本都内置了 IPTables,Linux 内核中的报文筛选和操纵都是高度可配 置的架构,配置起来并非想象中那么难,但是需要花一番工夫。 (2) 使用低特权的 MySQL 账户运行 MySQL 进程。在某些操作系统上这是默认的,但也 有些不是。尤其在 Linux 和 UNIX 主机上,不要以 nobody(举例)身份运行 MySQL 是很 重要的,因为其他进程可能也用这个账户运行,例如,Apache。这是因为如果多个进程共 享同一个账户,一个进程被攻击意味着它们全都会被攻击。例 如,Apache 和 MySQL 都以 nobody 的身份运行,控制 Apache 的任何人都可以控制 MySQL 数据库。 (3)使用 chroot 选项运行 mysqld。这在 Windows 下无法工作,但在 Linux 上,chroot 提 供了优秀的文件特权缓冲区,它通过给定目录下的进程来限制文件访问,这意味着在 MySQL 下,可以确保攻击者没有能力去读或去写操作系统的配置文件或主机上其他守护进程的配置 文件。 要记住,即使有了 chroot 选项,拥有文件特权的攻击者还是能够读所有 MySQL 数据,而 且(很可能)仍然能够创建和执行 UDF。 (4)确保 MySQL 用户无法访问有限目录集以外的文件,特别是禁止 MySQL 用户阅读操 作系统的配置文件。这在某些情况下,可以防止 MySQL 用户自行修改 MySQL 配置文件。 可以通过创建适当的组、分配对 MySQL 目录适当的权限等方式,阻止 MySQL 影响操作系 统的其他部分。 (5)保证 MySQL 数据文件(一般在 MySQL data 目录下面)不能被 root,以及 MySQL 正 在运行的账户之外的用户阅读。为安全起见,要保护 MySQL 不被本地主机上的其他用户攻 击,并要保护操作系统免受 MySQL 的影响。 (6)明文证书。确保除了 MySQL 用户以外,没有哪个用户能够阅读 MySQL 的任何配置 文件和日志文件。文件 f、my.ini、 通常有明文用户名和口令,查询日志文 件(如果存在)很可能包含口令。基于您所配置的日志等级及主机是否参与复制,在某些 MySQL 配置文件中,可以有明文的用户名和口令。为了保护这些证书,应该确保这些文件 对于主机上的其他用户来说是受保护的。 (7)关闭不必要的服务或守护进程。主机上攻击者能够访问的组件越多,攻击者从这些组 件发现机会进而入侵主机的可能性就越大。相反,如果需要管理的组件越多,花了越多的精 力,那么出错的可能性也越大。 使主机的配置相对简单一点,会降低出现问题的概率。 (8)确保.MySQL_history 文件中没有您自己的任何内容。在 Linux 系统的默认情况下,会 在 home 目录下发现一个.MySQL_history 文件,它包含了您在 MySQL 命令行客户端中键 入的所有查询日志。 定期将其进行清空,或者永久性地链接到/dev/null 目录。 2. MySQL 用户安全配置 一旦操作系统受到保护,就需要锁定 MySQL 本身。这样做的第一步就是准备用户账户和特 权模型。 (1)为 root@localhost 账户设置一个―强健‖的口令。这样做的原因很明显:在 MySQL 中 并不存在多次输错口令后将用户锁住的机制,因此,对于 MySQL 用户名和口令的 brute-force 攻击是很有效的,而设置一个―强健‖的口令能够预防攻击者的猜测口令行为。 (2)删除所有非 root 的 MySQL 用户。在初始安装阶段,了解哪些用户能够访问数据库是 非常重要的,尽量将这些用户从最核心(root 账户)处剥离,然后建立您所需要的用户。 (3)将 MySQL 的 root 用户重命名为较复杂的名字。root 账户在 MySQL 中是一个非常著 名的用户名,很多公开可用的工具、脚本、开发都是基于拥有 root 账户这个事实的。 MySQL 使用 root 这样的名字并无特别含义,所以不妨将 MySQL 的 root 用户重命名为一 些复杂的名字: ????update MySQL.user set user=MyS
文档评论(0)