0

我最近在台式机上安装了 XAMPP 堆栈,并通过本地网络上的笔记本电脑连接。令我惊讶的是,我能够访问 phpmyadmin 并删除更新所有 mysql 表。虽然我知道我不应该将 xampp 用于生产(而且我不是),但我仍然想学习如何管理这些类型的明显安全漏洞。我知道我可以通过 .htacces ( http://forum.directadmin.com/showthread.php?t=29089 ) 阻止对目录的访问,但我想要更全面的东西。您将如何限制从本地主机以外的任何地方运行 mysql 查询?有没有.htaccess 的方法?我认为这部分是root用户的目的。

4

1 回答 1

0

MySQL 定义了具有域的用户。如果您查看数据库中的user_privileges表,information_schema您会发现它们都有域。如果您的所有用户都严格定义为 localhost,则不会有远程访问。

此外,您可以编辑 my.cnf 以关闭对数据库的 tcp 访问,强制所有连接都通过套接字进行。在下[mysqld],包括行skip-networking。您必须配置所有应用程序以使用套接字连接,但无论如何我更喜欢套接字。

如果 phpMyAdmin 与数据库安装在同一台机器上,这将无法保护您的数据免受使用 phpMyAdmin 的人的侵害。最安全的做法是摆脱该应用程序。然而,这通常不实用,因为它是一个有用的工具,因此您需要配置 phpMyAdmin 以要求用户进行身份验证。这意味着不要将密码放在配置文件中。您将需要考虑在重新认证之前会话需要多长时间,以及类似的事情。

每当我尝试配置 phpMyAdmin 时,它都会让我感到愤怒,比一千个太阳还要热,但是绝对可以进行设置,因此每次通过 phpMyAdmin 连接到数据库时都需要密码。您可以进一步限制 phpMyAdmin 滥用者可以做的损害,确保它仅以具有有限权限的用户身份连接(例如,只能修改您目前正在处理的数据库)。

于 2013-05-10T01:32:50.717 回答