设为主页 | 加入收藏 | 繁體中文

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命令完成。对于更多的细节,见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应该使主机名更安全。在任何情况下,你应该十分警惕地使用包含通配符的主机名。
 


    文章作者: 福州军威计算机技术有限公司
    军威网络是福州最专业的电脑维修公司,专业承接福州电脑维修、上门维修、IT外包、企业电脑包年维护、局域网网络布线、网吧承包等相关维修服务。
    版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和声明。否则将追究法律责任。

TAG:
评论加载中...
内容:
评论者: 验证码: