对抗MySQL数据库解密高手

作者:佚名 来源:51Testing 时间:2008-12-25 13:14:00 

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

当你连接一个MySQL服务器时,你通常应该使用一个口令。口令不以明文在连接上传输。所有其它信息作为能被任何人读懂的文本被传输。如果你担心这个,你可使用压缩协议(MySQL3.22和以上版本)使事情变得更难。甚至为了使一切更安全,你应该安装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命令完成。

如果你把一个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应该使主机名更安全。在任何情况下,你应该非常小心地使用包含通配符的主机名。

标签:
0
投稿

猜你喜欢

  • python os.system执行cmd指令代码详解

    2022-04-04 07:36:21
  • python队列基本操作和多线程队列

    2021-01-02 23:28:46
  • Python脚本实现下载合并SAE日志

    2023-04-13 06:41:41
  • python装饰器代替set get方法实例

    2023-01-25 15:40:37
  • 使用python无账号无限制获取企查查信息的实例代码

    2021-09-23 20:26:10
  • 网站改版常见问题答疑

    2008-08-22 18:31:00
  • Python Socket编程入门教程

    2022-03-08 01:08:49
  • Python文件的操作处理详解

    2022-07-07 06:44:16
  • Python采集某度贴吧排行榜实战示例

    2022-03-08 21:07:17
  • python3+pyqt5+itchat微信定时发送消息的方法

    2022-02-28 04:31:49
  • 使用matplotlib画散点图的方法

    2022-07-30 20:49:54
  • python基于gevent实现并发下载器代码实例

    2024-01-01 00:31:53
  • Python远程linux执行命令实现

    2023-11-17 14:48:14
  • 关于TypeScript模块导入的那些事

    2024-06-07 15:57:46
  • javascript同步服务器时间和同步倒计时小技巧

    2023-08-27 22:10:58
  • MSSQL安全设置的具体步骤和方法小结

    2012-07-11 15:54:11
  • python实现的DES加密算法和3DES加密算法实例

    2023-04-28 07:44:01
  • 微信小程序输入多行文本的实战记录

    2023-09-10 15:29:51
  • socket连接关闭问题分析

    2021-09-11 01:48:18
  • MySQL的常用命令集锦

    2024-01-16 00:40:44
  • asp之家 网络编程 m.aspxhome.com