我最近一直在试验很多网络开发应用程序,如Drupal,Moodle,Efront和Elgg。为了更好的安全性,我使用Parallels在Mac OS X 10.4内的虚拟XP机器上的XAMPP设置上运行测试服务器。我认为这应该是非常安全的,对吗?
安装像Elgg这样的软件时,它要求我在MySQL服务器中创建一个用户来访问数据库。我想知道我的创建新用户的方法是否正确,以及我应该授予该用户的权限。
目前,我通过进入PHPMyAdmin,MySQL数据库,用户表和插入新行来创建新用户。它是否正确?出于某种原因,它并不总是有效。
PS - 我应该为所有这些烦恼,还是让每个软件都使用我的root帐户?
答案 0 :(得分:1)
您使用的MySQL用户权限非常重要,可以防止您被黑客入侵。您应该遵循最小权限访问系统。
在PHPMyAdmin中添加用户: 1)以root身份登录 2)转到“权限”选项卡 3)单击“添加新用户”。
PHPMyAdmin将MySQL权限分组为数据,结构和管理。
对于Web应用程序,应禁用“管理”权限,只有root应具有此访问权限。除非应用程序允许查询堆叠,否则不能在SQL Injection漏洞利用中使用“管理”权限。 (大多数人不允许这样做!)
在安装Web应用程序期间,构建数据库需要“结构”权限,但在Web应用程序的操作过程中几乎不需要这些权限,因此可以关闭它们。
“数据”部分很棘手。 “FILE”权限是您可以为Web应用程序提供的最危险的权限。原因是它允许黑客使用SQL Injection漏洞来读取和写入服务器上的文件。 “FILE”访问是唯一可以授予攻击者远程执行代码(RCE)的权限,并且必须始终禁用。
最后但并非最不重要的是,Apache Friends XAMPP是一款糟糕的软件。已知的漏洞存在并且已经未修补近一年。我重新开始使用Ubuntu的LAMP安装,它既易于使用又安全。
答案 1 :(得分:0)
如果直接在用户表中插入行,则必须单击权限页面上的FLUSH PRIVILEGES链接以强制mysql再次查看users表。
更好的方法是使用phpmyadmin上的权限页面来设置新用户。到达那里,点击左栏顶部的房子徽标。然后在屏幕右侧,单击特权链接。
你绝对不应该让你的软件只使用root帐户。您应该为每个应用程序创建一个具有MOST RESTRICTIVE权限的用户。