6.1.1 安全准则

在连接到 Internet 的计算机上使用 MySQL 的任何人都应阅读本节,以避免最常见的安全错误。

在讨论安全性时,有必要考虑完全保护整个服务器主机(不仅仅是 MySQL 服务器)免受所有类型的适用攻击:窃听,更改,回放和拒绝服务。在此,我们不涵盖可用性和容错性的所有方面。

MySQL 对所有连接,查询和用户可以尝试执行的其他操作使用基于访问控制列 table(ACL)的安全性。 MySQLClient 端和服务器之间还支持 SSL 加密的连接。这里讨论的许多概念根本不是特定于 MySQL 的。相同的基本思想适用于几乎所有应用程序。

运行 MySQL 时,请遵循以下准则:

Checklist:

为了防止使用彩虹 table 恢复密码,请勿在普通密码上使用这些功能;相反,请选择一些字符串用作盐,然后使用 hash(hash(password)salt)值。

Checklist:

shell> telnet server_host 3306

如果 telnet 挂起或拒绝连接,则该端口被阻止,这就是您想要的状态。如果获得连接和一些垃圾字符,则该端口是打开的,并且应该在防火墙或 Router 上关闭该端口,除非您确实有充分的理由将该端口保持打开状态。

shell> tcpdump -l -i eth0 -w - src or dst port 3306 | strings

这可以在 Linux 下使用,并且应该可以在其他系统上进行一些小的修改。

Warning

如果看不到明文数据,则并不总是意味着该信息实际上是加密的。如果需要高安全性,请咨询安全 maven。

首页