gpt4 book ai didi

php - 使用mysql数据库详细信息访问亚马逊mysql数据库

转载 作者:行者123 更新时间:2023-11-29 11:58:29 25 4
gpt4 key购买 nike

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

如果他可以,我该如何防止这种情况发生。您能否再告诉我一件事,即他如何仅使用我们的数据库详细信息来访问我的数据库。

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

谢谢。

最佳答案

I have already blocked the unauthenticated ip login.

我不确定您的意思,但任何未知和不信任的 IP 地址都不应该访问您的数据库。您不应该允许从互联网访问您的数据库。第一层防御是与数据库链接的安全组。

您的数据库几乎没有任何理由拥有公共(public) IP 地址。

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

此帐户的权限应使应用程序只能执行其需要执行的操作,并且只能执行需要执行这些操作的对象,仅此而已。

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

如果凭据遭到泄露,潜在攻击者可利用的权限就会减少。

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

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

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

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

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

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

关于php - 使用mysql数据库详细信息访问亚马逊mysql数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32795345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com