提高MySQL数据库的安全性(三)
俗话说,知识就是力量。请确认你已经了解了MySQL的权限系统,以及授予特定权限的后果。请不要授予任何用户不必要的权限。应该查看garnt表来确认这一点。
特别的,如果不是绝对需要,请不要将PROCESS、FILE、SHUTDOWN和RELOAD等权限授予任何非管理员的用户。PROCESS权限可观察其他用户正在做什么,输入了什么,包括他们输入的密码。FILE权限可以用来读写操作系统中的文件,例如,包括UNIX系统中的/etc/password。
GRANT权限也要在授予的时候非常小心,因为他们准许用户将自己的权限分享给其他用户。
请确认在建立用户的时候,只授予他们从当前连接的主机访问数据库权限。有一个名为jane@localhost的用户,这没有问题,但是简单的jane是非常常见的,他可能从任何地方进行登录--这个jane可能不是你想象中的jane。同样的原因,我们应该避免在主机名中使用通配符。
可以通过在host表中使用IP地址而不是域名来提高安全性能。这可以在DNS位置避免错误问题或者黑客入侵。可以通过启动MySQL后台程序--skip-name-resolve选项加强它,该选项的意思是所有主机列的值必须是IP地址或本地主机。
此外,还应该防止非管理员用户访问Web服务器中的mysqladmin程序。因为这是从命令行运行的,它是操作系统权限的问题。
限制远程访问MySQL服务器
对于大多数用户来说,不需要通过不安全的开放网络来访问MySQL服务器。你可以通过配置防火墙或硬件,或者迫使MySQL只听从localhost来限制主机。此外,需要SSH隧道才能进行远程访问。
如果你想仅仅从本地主机来限制用户建立连接,你需要在在配置文件中添加bind-address=127.0.0.1。
【相关推荐】
提高MySQL数据库的安全性(一)
提高MySQL数据库的安全性(二)
提高MySQL数据库的安全性(四)
以上就是提高MySQL数据库的安全性(三)的详细内容,更多请关注其它相关文章!
推荐阅读
-
mysql-分类配对的数据库建表问题
-
MySql数据库查询多级部门及其下的所有用户信息
-
Mysql数据库UDF的安全问题利用
-
连接MySQL数据库失败频繁的原因分析_MySQL
-
使用mysqldump定时备份数据库的脚本_MySQL
-
mysql-求助MySQL的关于sql语句怎么写??三表的查询~~~请大神进来帮忙~~~~~
-
MySQL中文参考手册-- 获得数据库和表的信息_MySQL
-
在不用事务的情况下,如何保证插入数据库时不失败,三张表。
-
自动恢复MySQL数据库的日志文件思路分享及解决方案_MySQL
-
insert-通过Php程序 像数据库插入内容时。在页面提交之后,mysql会有两个相同的数据 只有id不同