我是一个web开发人员/ sys管理员,我正在阅读(例如) web应用程序的MySQL用户身份验证的安全性,以及在这个上下文中涉及本地身份验证的任何其他用例,比如在线游戏的框架。
我遇到了一些问题,似乎每个人都同意对本地MySQL用户使用强密码。我对user/dbname/password使用了相同的内容(编辑:只用于开发!)。
我的问题是,如果用户只允许在localhost/127.0.0.1中使用,那么密码的目的是什么?如果有人能够访问系统,那么他们就可以访问数据库文件,并从.php文件中获取密码。另外,如果病毒感染了系统,那么密码有多强并不重要,同样,它也可以访问文件。
在什么情况下(强的)本地用户密码才能真正保护数据库?
有人能这么详细地解释这件事吗?我会感激的。
发布于 2017-07-25 20:07:33
例如,您有一个上传页面,它意外地允许将php文件上载到可执行目录,或者在用户可以获取值的字符串上运行一个意外的php EXEC。
在这些情况下(以及其他许多情况下),攻击者不一定能够访问您服务器上的文件,但仍然可以执行他们可以上传的任意代码。MySQL本地用户的不安全密码使其更容易与此类代码妥协。
良好的文件访问权限分段还可以帮助分离运行在同一台计算机上的多个站点或服务,但是,可能会对跨站点和服务的MySQL实例进行攻击(如果只检查本地主机),因为它不知道正在执行的用户,而只知道客户端的IP地址。
https://security.stackexchange.com/questions/166010
复制相似问题