如何来对抗MySQL数据库解密高手
2008-02-23 07:39:52来源:互联网 阅读 ()
当您连接一个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应该使主机名更安全。在任何情况下,您应该很小心地使用包含通配符的主机名。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇: 无法远程登入MySQL的几种解决办法
下一篇: MySQL数据库安全配置指南
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash