如何保护 phpmyadmin 的安全?

如何保护 phpmyadmin 的安全?

我检查了我的 apache 日志,哇哦,有很多机器人试图利用 phpmyadmin。我做的第一件事就是将目录名称更改为更隐蔽的名称。

但是,还有其他技巧可以保护 phpmyadmin 的安全吗?

(数据库本身只能从本地网络访问)

答案1

我们做了一系列的事情:

  • 通过请求 HTTP 用户名/密码登录的 .htaccess 或 Apache 配置保护 phpMyAdmin。
  • 通过 .htaccess 或 Apache 配置保护 phpMyAdmin,仅允许从某些受信任的 IP 地址进行访问
  • 将 phpMyAdmin 放入其自己的 VirtualHost 中并在非标准端口上运行它
  • 仅允许 HTTPS 连接到 phpMyAdmin,而不允许常规 HTTP
  • 仅允许从 LAN 进行连接(使用 VPN 通过防火墙,并且仅允许在该 LAN/VPN 上进行连接)
  • 不要将目录命名为显而易见的名称,例如 /phpMyAdmin/

您还可以使用 SSH 端口转发来使用 SSH 密钥。请参阅https://stackoverflow.com/a/3687969/193494

答案2

添加一个 .htaccess,仅允许本地 IP 访问 phpmyadmin 文件夹。

答案3

使 phpmyadmin 在只能从本地主机访问的 vhost 上可用,并要求用户使用 ssh 和端口转发来访问它。

答案4

我同意 htaccess (/w 密码) 和 https。

您可能还考虑为该服务器添加第二个 IP,并为 phpmyadmin 创建基于 IP 的 Apache 虚拟主机。这可能只是一个本地网络 IP,因此它将受到防火墙的保护(您甚至可能没有针对它的 nat 规则)。

我认为层数越多(即 htaccess + https + Virtualhost)越好。理想情况下,机器人首先就不应该能够到达它。

当然,您也可以将 phpmyadmin 放在不同的盒子上。

相关内容