Boris Guéry Asked: 2009-10-28 09:52:59 +0800 CST2009-10-28 09:52:59 +0800 CST 2009-10-28 09:52:59 +0800 CST 如何保护 phpmyadmin? 772 我检查了我的 apache 日志,哇哦,有很多机器人试图利用 phpmyadmin。我做的第一件事是将目录名称更改为更晦涩的名称。 但是,还有其他保护 phpmyadmin 的技巧吗? (数据库本身只能从本地网络获得) apache-2.2 8 个回答 Voted Best Answer Keith Palmer Jr. 2009-10-28T10:43:02+08:002009-10-28T10:43:02+08:00 我们做一些事情的组合: 通过请求 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 gekkz 2009-10-28T10:00:09+08:002009-10-28T10:00:09+08:00 添加一个 .htaccess,它只允许本地 IP 访问 phpmyadmin 文件夹。 Brian De Smet 2009-10-28T10:21:31+08:002009-10-28T10:21:31+08:00 使 phpmyadmin 在只能从 localhost 访问的 vhost 上可用,并要求用户使用 ssh 和端口转发来访问它。 KPWINC 2009-10-28T10:10:54+08:002009-10-28T10:10:54+08:00 使用 .htaccess 我们只是折腾了一个带有用户名/密码保护和(视情况而定)IP 地址的 .htaccess 文件。 这使美国可以从受信任的计算机上快速轻松地获取资源,但可以将黑客拒之门外。 另一个注意事项...不要为您的 .htaccess 使用与 PHPMyAdmin 相同的用户名/密码...这很愚蠢。:-) 希望这可以帮助。 Kyle Brandt 2009-10-28T11:52:36+08:002009-10-28T11:52:36+08:00 我同意 htaccess(/w 密码)和 https。 您还可以考虑向该服务器添加第二个 IP,并为 phpmyadmin 创建一个基于 IP 的 Apache 虚拟主机。这可能只是一个本地网络 IP,因此它会受到防火墙的保护(您甚至可能没有 nat 规则)。 层数越多(即 htaccess + https + Virtualhost),我认为越好。理想情况下,机器人首先应该无法到达它。 当然,您也可以始终将 phpmyadmin 放在不同的盒子上。 sucuri 2009-10-31T06:31:37+08:002009-10-31T06:31:37+08:00 除了提供的答案之外,我们还使用开源 OSSEC 来监控我们的网络日志并警告/阻止这些扫描。 它的安装非常简单,默认情况下它会找到您的网络日志并开始监控它们。 链接:http ://www.ossec.net Drew 2011-01-05T22:09:11+08:002011-01-05T22:09:11+08:00 将 phpmyadmin 移动到一个名称被隐藏的目录中,就像人们期望密码的方式一样:混合大小写字母和数字的组合(例如 PhP01mY2011AdMin )和类似的“安全”密码保护目录 .htpasswd 应该差不多做的伎俩。 再说一次,如果您的 mysql 数据库的安全性对您的业务至关重要,那么您必须问“首先要让 phpmyadmin 之类的管理工具可以访问互联网是做什么的?” 但是,嘿,每个人都有活下去的理由。 weeheavy 2011-01-06T00:33:03+08:002011-01-06T00:33:03+08:00 HTTPS 使其只能通过 VPN/SSH 隧道访问 phpmyadmin 太难以保护了。您需要 mod_security 和一周的时间调试警报只是为了禁用一半的规则以确保 phpmyadmin 的功能。结论:不要公开访问。
我们做一些事情的组合:
您还可以使用 SSH 端口转发来利用 SSH 密钥。见https://stackoverflow.com/a/3687969/193494
添加一个 .htaccess,它只允许本地 IP 访问 phpmyadmin 文件夹。
使 phpmyadmin 在只能从 localhost 访问的 vhost 上可用,并要求用户使用 ssh 和端口转发来访问它。
使用 .htaccess
我们只是折腾了一个带有用户名/密码保护和(视情况而定)IP 地址的 .htaccess 文件。
这使美国可以从受信任的计算机上快速轻松地获取资源,但可以将黑客拒之门外。
另一个注意事项...不要为您的 .htaccess 使用与 PHPMyAdmin 相同的用户名/密码...这很愚蠢。:-)
希望这可以帮助。
我同意 htaccess(/w 密码)和 https。
您还可以考虑向该服务器添加第二个 IP,并为 phpmyadmin 创建一个基于 IP 的 Apache 虚拟主机。这可能只是一个本地网络 IP,因此它会受到防火墙的保护(您甚至可能没有 nat 规则)。
层数越多(即 htaccess + https + Virtualhost),我认为越好。理想情况下,机器人首先应该无法到达它。
当然,您也可以始终将 phpmyadmin 放在不同的盒子上。
除了提供的答案之外,我们还使用开源 OSSEC 来监控我们的网络日志并警告/阻止这些扫描。
它的安装非常简单,默认情况下它会找到您的网络日志并开始监控它们。
链接:http ://www.ossec.net
将 phpmyadmin 移动到一个名称被隐藏的目录中,就像人们期望密码的方式一样:混合大小写字母和数字的组合(例如 PhP01mY2011AdMin )和类似的“安全”密码保护目录 .htpasswd 应该差不多做的伎俩。
再说一次,如果您的 mysql 数据库的安全性对您的业务至关重要,那么您必须问“首先要让 phpmyadmin 之类的管理工具可以访问互联网是做什么的?” 但是,嘿,每个人都有活下去的理由。
phpmyadmin 太难以保护了。您需要 mod_security 和一周的时间调试警报只是为了禁用一半的规则以确保 phpmyadmin 的功能。结论:不要公开访问。