0

最近我一直在尝试许多 Web 开发应用程序,例如 Drupal、Moodle、Efront 和 Elgg。为了更好的安全性,我使用 Parallels 在 Mac OS X 10.4 内的虚拟 XP 机器上的 XAMPP 设置上运行测试服务器。我认为这应该很安全,对吧?

在安装像 Elgg 这样的软件时,它要求我在 MySQL 服务器中创建一个用户,以便它访问数据库。我想知道我创建新用户的方法是否正确,以及我应该授予这个用户什么权限。

目前,我通过进入 PHPMyAdmin、MySQL 数据库、用户表并插入新行来创建新用户。它是否正确?出于某种原因,它并不总是有效。

PS - 我应该打扰所有这些,还是让每个软件都使用我的 root 帐户?

4

2 回答 2

1

您使用的 MySQL 用户权限非常重要,可以防止您被黑客入侵。您应该遵循最低权限访问系统。

要在 PHPMyAdmin 中添加用户: 1) 以 root 身份登录 2) 转到“权限”选项卡 3) 单击“添加新用户”。

PHPMyAdmin 将 MySQL 权限分组为数据、结构和管理。

应禁用 Web 应用程序的“管理”权限,只有 root 应具有此访问权限。除非应用程序允许查询堆叠,否则在 SQL 注入漏洞利用中不能使用任何“管理”权限。(大多数不允许这样做!)

在安装 Web 应用程序期间,需要“结构”权限来构建数据库,但是在 Web 应用程序运行期间几乎不需要这些权限,因此可以将其关闭。

The "Data" section is tricky. The "FILE" privileges is the most dangerous privilege you could give a web application. The reason why is because it allows a hacker to use a SQL Injection vulnerability to read and write files on your server. "FILE" access is the only privilege which could give an attacker Remote Code Execution (RCE), and must ALWAYS be disabled.

Last but not least, Apache Friends XAMPP is terrible software. Known vulnerabilities exist and have gone unpatched for nearly a year. I recommenced using Ubuntu's LAMP install, it is both easy to use and secure.

于 2009-11-04T08:03:53.883 回答
0

如果您将行直接插入到用户表中,那么您必须单击权限页面上的 FLUSH PRIVILEGES 链接以强制 mysql 再次查看用户表。

更好的方法是使用 phpmyadmin 上的权限页面来设置新用户。要到达那里,请单击左栏顶部的房屋徽标。然后在屏幕右侧,单击权限链接。

你绝对不应该让你的软件只使用 root 帐户。您应该为每个应用程序创建一个具有最严格权限的用户。

于 2009-10-30T16:48:52.523 回答