2010-09-10 77 views
7

可能重复:
How to secure phpMyAdmin如何限制对phpmyadmin的访问?

我用phpmyadmin预览我的网站的数据库。但是,每个人都可以通过简单地输入example.com/phpmyadmin

访问我的phpmyadmin的登录页面我不是网络安全专家,但我认为这不是很安全。

如何限制访问登录页面(可能会创建一些别名,如example.com/a4ebb72d)。 我听说只允许访问指定的IP,但它不会帮助,因为我有动态分配的IP。

我会很感激你的提示。

+0

可能的重复:http:// stackoverflow。com/questions/2631269/how-to-secure-phpmyadmin – 2010-09-10 20:18:40

+0

将名称从/ phpmyadmin更改为其他名称,bot和vuln扫描程序查找该目录。你还应该增加额外的安全层。 – rook 2010-09-11 00:05:03

回答

13

我会想办法让该服务器监听127.0.0.1,然后使用具有SSH端口转发...

确保,服务phpMyAdmin的只会127.0.0.1,然后服务器运行

$ ssh -L4545:localhost:80 yourserver.com 

,然后将浏览器指向http://127.0.0.1:4545/phpmyadmin,只要SSH会话处于活动状态,您应该可以访问phpmyadmin。你甚至可以创建一个shell脚本来自动执行此操作。

这也适用于PuTTY。

+0

谢谢,看起来不错,我会尝试。但是,这不会导致隧道缓慢的页面加载? – nan 2010-09-11 18:49:39

+0

我使用这种隧道效果很好。事实上,我将它用于所有类型的代理工作。 – polemon 2010-09-11 19:24:18

+0

@polemon你能告诉我,我怎样才能使'phpMyAdmin'服务于127.0.0.1,我是新手:-)。 – NullPointer 2013-09-03 15:19:49

1

我想你可以将phpMyAdmin安装在防火墙后的目录中,以便只有内部访问的用户才能访问它。

16

暴露phpMyAdmin的任何部分都是潜在的风险。你可以使用Apache的允许/拒绝指令:

Order Deny,Allow 
Deny from All 
Allow from 12.34.56.78 

替换12.34.56.78您的IP地址,并在您的phpMyAdmin的文件夹,把它放进一个.htaccess文件。

+3

如果OP没有具体说IP限制对他没有用处,这将是一个很好的答案。 – 2010-09-10 20:19:15

2

正如你所说,你可以改变目录的名称是不容易猜测的。

您还可以在密码保护using .htaccess下放置目录(或父目录,如果您不能直接在phpmyadmin目录中执行此操作)。不管这种增强的安全性如何,它可能不会更安全。毕竟,phpMyAdmin需要登录名和密码才能达到.htaccess,所以如果你使用弱密码或密码实践,你仍然是脆弱的,所以显然要确保这两个用户/密码组合都是独特和强大的。

您可以做的最好的事情是确保您的所有phpMyAdmin用户/密码都是安全的,并且您只将它们委托给您信任的人。请记住,phpMyAdmin允许删除表和整个数据库,因此请定期备份并不断确保服务器上数据的完整性,因为实际上隐藏目录名或将其置于另一个登录屏障之后是唯一值得的密码练习尽可能安全地开始。

+0

感谢您的好回答。 – nan 2010-09-11 18:46:27