文章分类 | 推荐文章 | 最新文章 | 热点文章 | 最新软件 | 精品软件 | 下载排行 | 推荐下载 | 免费看大片 | WPS | 杀毒软件
清风网络
首 页 软件下载 网络学院 数码学院
QQ 电脑入门 游戏 操作系统 图形处理 办公软件 媒体动画 精文荟萃 工具软件 网络编程 程序开发 网络技术 认证考试 网站建设 文章专栏
当前位置:清风网络学院网络编程MYSQL怎样使MySQL在攻击者面前保持安全
精品推荐
特别推荐
·MySQL数据库简介
·安全的配置和应用MySQL数据库
·修改MySQL的默认密码
·初学MYSQL应知道:Mysql参数优化
·数据库安全应用 使用MySQL的23个注意事项
·入门:MYSQL基础
·轻松描述Windows上安装多个Mysql的步骤
·安装与卸载MySQL数据库系统服务的常见问题
·Mysql 安全注意事项
·初学MySql5 所应了解的知识和常见问题
热点TOP10
·MySQL数据库简介
·让Windows在IIS支持PHP和MySQL
·轻松了解MySQL数据库中的CONVERT()
·MySQL中MyISAM引擎与InnoDB引擎性能简单测试
·MySQL 1607异常 服务无法启动
·Mysql数据库关于InnoDb的使用详解
·不同操作平台上mysql的性能对比实验
·mysql的字符串函数
·问题解决:无法载入MYSQL扩展,请检查PHP配置
·关于Tomcat与MySQL连接池问题的详解

怎样使MySQL在攻击者面前保持安全

日期:2007年10月4日 作者: 查看:[大字体 中字体 小字体]


当你连接到MySQL服务器时,你应使用一个密码。密码不以明文在上传输。客户端连接序列中的密码处理在MySQL 4.1.1中已经升级,很安全。如果你仍然使用pre-4.1.1-风格的密码,加密算法不如新算法强;通过一些工作,可以窃取客户端和服务器之间的通信的聪明的攻击者可以破解密码。如果客户端和服务器之间的连接通过不可信任网络,你应使用SSH隧道来加密通信。

有其它信息以文本传送,可以被可以看到连接的任何人读取。如果你担心这个,你可以使用压缩协议来使通信更难以解密。要想使连接更加安全,你应使用SSH来获得加密的MySQL服务器和MySQL客户端之间的TCP/IP连接。(注释:你还可以使用MySQL内部OpenSSL支持。)

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

·对所有MySQL用户使用密码。客户端程序不需要知道运行它的人员的身份。对于客户端/服务器应用程序,用户可以指定客户端程序的用户名。例如,如果other_user没有密码,任何人可以简单地用mysql -u other_user db_name冒充他人调用mysql程序进行连接。如果所有用户有密码,使用其它用户的账户进行连接要困难得多。

要想更改用户的密码,应使用SET PASSWORD语句。还可以直接更新mysql数据库中的user表。例如,要更改所有root用户的MySQL账户的密码。

shell> mysql -u root
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
    -> WHERE User='root';
mysql> FLUSH PRIVILEGES;

·绝对不要作为Unix的root用户运行MySQL服务器。这样做非常危险,因为任何具有FILE权限的用户能够用root创建文件(例如,~root/.bashrc)。为了防止,mysqld拒绝用root运行,除非使用--user=root选项明显指定。

应可以(并且应该)用普通非特权用户运行mysqld。你可以创建独立的Unix中的mysql账户来以便使所有内容更加安全。该账户只用于管理MySQL。要想用其它Unix用户启动mysqld,增加user选项指定/etc/my.cnf选项文件或服务器数据目录的my.cnf选项文件中的[mysqld]组的用户名。例如:

[mysqld]
user=mysql

该命令使服务器用指定的用户来启动,无论你手动启动或通过mysqld_safe或mysql.server启动。

作为其它Unix用户而不用root运行mysqld,你不需要更改user表中的root用户名,因为MySQL账户的用户名与Unix账户的用户名无关。

·不要允许使用表的符号链接。(可以用--skip-symbolic-links选项禁用)。如果你用root运行mysqld则特别重要,因为任何对服务器的数据目录有写访问权限的人则能够删除系统中的任何文件!

·确保mysqld运行时,只使用对数据库目录具有读或写权限的Unix用户来运行。

·不要将PROCESS或SUPER权限授给非管理用户。mysqladmin processlist的输出显示出当前执行的查询正文,如果另外的用户发出一个UPDATE user SET password=PASSWORD('not_secure')查询,被允许执行那个命令的任何用户可能看得到。

mysqld为有SUPER权限的用户专门保留一个额外的连接,因此即使所有普通连接被占用,MySQL root用户仍可以登录并检查服务器的活动。

可以使用SUPER权限来终止客户端连接,通过更改系统变量的值更改服务的器操作,并控制复制服务器。

·不要向非管理用户授予FILE权限。有这权限的任何用户能在拥有mysqld守护进程权限的文件系统那里写一个文件!为了更加安全,由SELECT ... INTO OUTFILE生成的所有文件对每个人是可写的,并且你不能覆盖已经存在的文件。

file权限也可以被用来读取任何作为运行服务器的Unix用户可读取或访问的文件。使用该权限,你可以将任何文件读入数据库表。这可能被滥用,例如,通过使用LOAD DATA装载“/etc/passwd”进一个数据库表,然后能用SELECT显示它。

·如果你不信任你的DNS,你应该在授权表中使用IP数字而不是主机名。在任何情况下,你应该非常小心地使用包含通配符的主机名来创建 授权表条目!

·如果你想要限制单个账户允许的连接数量,你可以设置mysqld中的max_user_connections变量来完成。GRANT语句也可以支持 资源控制选项来限制服务器对一个账户允许的使用范围。

(出处:清风网络学院






上一篇:MySQL 中如何复位根用户密码

下一篇:MySQL中LOAD DATA LOCAL安全问题

相关文章:
·基础知识 初级黑客安全技术命令详解
·如何以安全模式启动计算机
·高手教你怎样在网上轻松赚钱
·怎样永久激活Windows Vista?
·Excel2000工作薄安全攻略
·怎样制作网页?
·如何进入QQ空间安全模式
·求职小建议(一)怎样做好简历
·怎样早期自我发现外阴癌?
·男人喜欢怎样接吻
相关软件:
·2007网络安全黄皮书V1.0.0
·红太阳是怎样升起的:延安整风运动的来龙去脉
·如何加固Windows XP 主机安全
·老板是怎样炼成的
·防骗 安全教育片
·360安全卫士v3.2
·水库大坝安全管理条例
·SQL/MYSQL/数据库教程专栏
·温瑞安全集
·亿虎Email安全大师2003b

特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
[打印本页] [关闭窗口] 转载请注明来源:http://www.viphot.com
| 帮助(?) | 版权声明 | 友情连接 | 关于我们 | 信息发布
Copyright 2007 www.viphot.com All Rights Reserved. 鄂ICP备05000083号Powered by:viphot