- 永远不要让任何人(除MySQL root帐户外)访问 系统数据库中的 user表mysql!这很关键。
- 了解MySQL访问权限系统的工作原理。使用 GRANTand REVOKE语句控制对MySQL的访问。不要授予不必要的特权。切勿向所有主机授予特权。
尝试mysql -u root。如果您能够成功连接到服务器而无需输入密码,则任何人都可以以root具有完全特权的MySQL用户身份连接到MySQL服务器,危险等级最高
使用该SHOW GRANTS 语句检查哪些帐户有权访问什么。
使用该REVOKE 语句删除那些不必要的特权。
- 不要在数据库中存储明文密码。sha1,md5,hash等方式处理后再存到mysql
- 不要设置过于简单的登录MySQL的密码,例如123456,abcd...。
- 访问MySQL的应用程序不应信任用户输入的任何数据,而应使用适当的防御性编程技术来编写,通过一定的处理,防止SQL注入。
- 不要通过Internet传输纯数据(未加密)。有时间和能力的人都可以访问此信息,并将其用于自己的目的。而是使用加密协议,例如SSL或SSH。MySQL支持内部SSL连接。另一种技术是使用SSH端口转发来创建用于通信的加密(和压缩)隧道。
- 了解如何使用tcpdump和 字符串实用程序。在大多数情况下,您可以通过发出以下命令来检查MySQL数据流是否未加密:
shell> tcpdump -l -i eth0 -w - src or dst port 3306 | strings
- 防火墙。MySQL默认端口是3306,如没必须,不要开启端口3306外网访问,只允许内网访问,如开启外网访问,可以改端口
网友评论