13年郑州网站建设经验,服务客户1700余家,专业郑州网站建设公司,郑州网站制作公司,郑州网站设计公司
咨询热线:13598809660(微信同号)
网站建设推广
怎样使MySQL安全以对抗解密高手
来源:本站  发布日期:2012/6/28  点击次数:2513

当你连接一个MySQL服务器时,你通常应该使用一个口令。口令不以明文在连接上传输。

所有其它信息作为能被任何人读懂的文本被传输。如果你担心这个,你可使用压缩协议

(MySQL3.22和以上版本)使事情变得更难。甚至为了使一切更安全,你应该安装ssh(见

http://www.cs.hut.fi/ssh)。用它,你能在一个MySQL服务器与一个MySQL客户之间得到一个加密的

TCP/IP连接。

为了使一个MySQL系统安全,强烈要求你考虑下列建议:

对所有MySQL用户使用口令。记住,如果other_user没有口令,任何人能简单地用mysql -u

other_user db_name作为任何其它的人登录。对客户机/服务器应用程序,客户可以指定任何用户名

是常见的做法。在你运行它以前,你可以通过编辑mysql_install_db脚本改变所有用户的口令,或仅

仅MySQL root的口令,象这样:

shell> mysql -u root mysql

mysql> UPDATE user SET Password=PASSWORD(''new_password'')

WHERE user=''root'';

mysql> FLUSH PRIVILEGES;

不要作为Unix的root用户运行MySQL守护进程。mysqld能以任何用户运行,你也可以创造一个新的

Unix用户mysql使一切更安全。如果你作为其它Unix用户运行mysqld,你不需要改变在user表中的

root用户名,因为MySQL用户名与Unix 用户名没关系。你可以作为其它Unix用户编辑mysql.server

启动脚本mysqld。通常这用su命令完成。对于更多的细节,见18.8 怎样作为一个一般用户运行

MySQL。

如果你把一个Unix root用户口令放在mysql.server脚本中,确保这个脚本只能对root是可读的。

检查那个运行mysqld的Unix用户是唯一的在数据库目录下有读/写权限的用户。

不要把process权限给所有用户。mysqladmin processlist的输出显示出当前执行的查询正文,如果

另外的用户发出一个UPDATE user SET password=PASSWORD(''not_secure'')查询,被允许执行那

个命令的任何用户可能看得到。mysqld为有process权限的用户保留一个额外的连接, 以便一个

MySQL root用户能登录并检查,即使所有的正常连接在使用。


不要把file权限给所有的用户。有这权限的任何用户能在拥有mysqld守护进程权限的文件系统那里写

一个文件!为了使这更安全一些,用SELECT ... INTO OUTFILE生成的所有文件对每个人是可读

的,并且你不能覆盖已经存在的文件。file权限也可以被用来读取任何作为运行服务器的Unix用户可

存取的文件。这可能被滥用,例如,通过使用LOAD DATA装载“/etc/passwd”进一个数据库表,

然后它能用SELECT被读入。

如果你不信任你的DNS,你应该在授权表中使用IP数字而不是主机名。原则上讲,--secure选项对

mysqld应该使主机名更安全。在任何情况下,你应该非常小心地使用包含通配符的主机名!

本文由郑州网站建设-- 擎天科技(www.zzqingtian.com)整理提供     本站关键字:网站建设 郑州网站建设 郑州网站建设公司 郑州网站制作  郑州网站建设电话    郑州网站设计 郑州网站设计公司  郑州网站推广 郑州网站推广公司   郑州网站建设qq   郑州做网站公司 郑州网络公司

告诉我们您的需求

我们专注于用户体验的设计与开发聚焦于互联网与移动互联网

感谢您来到擎天,若您有合作意向,请您为我们留言或使用以下方式联系我们,我们将尽快给你回复,并为您提供真诚的设计服务,谢谢。

/ 官方微信二维码

郑州擎天

欢迎扫一扫二维码,关注擎天建网站

来访地址

咨询电话

13598809660

TEL:0371-56681161 / EMAIL:861359888@qq.com

COPRYRIGHT 2017 © 郑州擎天 ALLRIGHT RESERVED 

免责声明 |  豫ICP备14015129号-5

在线咨询
扫一扫

关注郑州擎天
官方公众平台
联系电话
13598809660

返回顶部