如何保护phpmyadmin?


9

我检查了我的apache日志,然后,许多机器人试图利用phpmyadmin。我所做的第一件事是将目录名称更改为更晦涩的名称。

但是,还有其他任何技巧可以保护phpmyadmin?

(数据库本身仅可从本地网络获得)


5
数据库本身只能在本地访问,但是如果其管理接口(phpMyAdmin)可以公开访问则没有任何区别。
John Gardeniers

4
保护phpMyAdmin的最佳方法是学习如何使用MySQL命令行客户端,然后卸载phpMyAdmin。
MDMarra 2013年

@MDMarra我完全同意您的意见,但是我只是为这个要求安装PhpMyAdmin的客户端执行任务,我从未使用过它,并且始终喜欢使用SSH。但是,对于某些用法来说,学习SQL并不是一种选择,而诸如PhpMyAdmin这样的GUI受到许多用户的欢迎,但必须由我们,专家和专业人员来适当地保护。认为相反是非常自大的。
鲍里斯·盖瑞(BorisGuéry)

Answers:


13

我们做一些事情:

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

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


6

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


如果是供客户使用该怎么办?许多虚拟主机使用PHPMyAdmin。
2013年

6

使phpmyadmin在只能从localhost访问的虚拟主机上可用,并要求用户使用ssh和端口转发才能访问它。


2

使用.htaccess

我们只是将.htaccess文件与用户名/密码保护和(视情况而定)IP地址放在一起。

这使美国可以从受信任的计算机上快速轻松地获取资源,但将黑客拒之门外。

另一个注意事项...不要像对PHPMyAdmin那样对.htaccess使用相同的用户名/密码。:-)

希望这可以帮助。


2

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

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

层越多(即htaccess + https + Virtualhost),我认为越好。理想情况下,僵尸程序应该首先不能到达它。

当然,您也可以始终将phpmyadmin放在其他框中。


1

除了提供的答案外,我们还使用开源OSSEC监视我们的Web日志并警告/阻止这些扫描。

安装非常简单,默认情况下它将找到您的Web日志并开始对其进行监视。

链接:http//www.ossec.net


1

将phpmyadmin移到一个其名称被混淆的目录,其方式与人们期望的密码相同:即,混合大小写字母和数字(例如,PhP01mY2011AdMin)的组合,并且类似地,使用“ .htpasswd”保护目录的“安全”密码应该相当多做到这一点。

再说一次,如果您的mysql数据库的安全性对您的业务至关重要,则必须问“如何使phpmyadmin之类的管理工具首先可以通过互联网访问?” 但是,嘿,每个人都有生存的理由。


0
  • HTTPS
  • 使其仅通过VPN / SSH隧道可访问

phpmyadmin太多了,无法保护。您需要mod_security和一周的时间来调试警报,以禁用一半规则以确保phpmyadmin的功能。结论:不要使其公开可用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.