首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用mysql数据库详细信息访问amazon mysql数据库

使用mysql数据库详细信息访问amazon mysql数据库
EN

Stack Overflow用户
提问于 2015-09-26 16:54:23
回答 2查看 35关注 0票数 0

我们的mysql数据库托管在amazon aws上,有人通过我们的php connection文件窃取了我们的数据库详细信息,现在他有了dbname, password, dbhost等详细信息,他可以备份我们的mysql数据库吗,或者他可以删除我们的mysql表吗?

如果他能做到,那么我该如何防止这种情况发生。你能再告诉我一件事吗?他怎么能只用我们的数据库细节就能访问我的数据库呢?

我已经阻止了未经身份验证的ip登录。所以,请帮助我们防止我们的数据库在亚马逊上。

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2015-09-27 03:28:05

I已阻止未经身份验证的ip登录。

我不确定你这是什么意思,但是你的数据库永远不应该被任何不知道和信任的IP地址访问。您不应该允许从Internet访问您的数据库。第一层防御是链接到数据库的安全组。

很少有任何理由让你的数据库拥有一个公共IP地址。

此外,您的应用程序应该使用与principle of least privilege一致的MySQL帐户。

此帐户上的权限应该是这样的:应用程序只能执行它需要执行的操作,并且只能对需要执行这些操作的对象执行操作,而不能执行更多操作。

您的应用程序不应该使用主用户凭据,也不应该使用具有任何类型的提升权限的任何帐户。

如果凭据被泄露,那么潜在攻击者可以利用的特权就会减少。

一个明显的例子是DROP权限,因为应用程序可能不应该删除表。不太明显的可能是DELETE,因为在许多关系数据库中很少删除行--对于许多表,只要应用程序正常工作,就永远不需要删除一行。

MySQL允许在服务器、数据库、表、列和对象级别为每个帐户设置各种权限,具体取决于权限。

https://dev.mysql.com/doc/refman/5.6/en/privileges-provided.html

MySQL特权系统还可以将帐户绑定到源IP地址,因此,即使获得了对服务器的访问权限,通过不适当打开的防火墙配置,凭据也不会起作用。

正确地防止来自未经授权的IP地址的访问是至关重要的,但您的数据库仍然只与您的应用程序服务器和在那里运行的代码一样安全,因为受损的应用程序服务器仍然可能被用作攻击载体,以执行您的应用程序可以执行的任何操作。当然,一个常见的漏洞是SQL injection,这是一类令人尴尬的大量程序员似乎没有抓住其严重性的漏洞。或者,他们意识到这可能发生在他们身上,但他们要么懒惰,要么否认这一点。

在没有直接访问应用程序服务器或数据库本身的情况下拥有您的凭据,攻击者还可能找到一种方法来使用confused deputy的服务,例如您环境中的另一台具有不相关(或间接相关)漏洞的计算机,该漏洞允许对应用程序服务器或数据库进行某种“越级”访问。

票数 1
EN

Stack Overflow用户

发布于 2015-09-26 16:57:25

您确实应该更改MySQL 的密码。当任何人获得对您的敏感凭据的不必要访问权限时,这是正确的协议。是的,如果他有这些信息,他将能够做用户能做的任何事情,比如删除表等。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32795345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档