防止真实的服务器IP暴露

时间:2018-04-08 18:16:39

标签: php security cloudflare

我为朋友们托管了几个网站,他们可以使用SFTP进行编辑。但我最近偶然发现了令人震惊的事情。

使用:<? echo $realIP = file_get_contents("http://ipecho.net/plain"); ?>

他们能够获得服务器的真实IP。我使用CloudFlare来掩盖&#34;来自外部的知识产权,因此非常安全。我知道我可以使用VPN,但这是一个相当昂贵的选择。有没有办法避免,他们使用这些特定的方法获得真正的服务器IP?

1 个答案:

答案 0 :(得分:0)

我通常会以与典型共享主机帐户类似的方式保护服务器。

虽然这是我所知道的边缘,但我绝不是服务器安全方面的专家,我知道这些年来我遇到的一些事情。

  • 禁用远程文件的流文件包装。这由PHP中的allow_url_fopen设置控制,并禁用使用fopenfile_get_contents等打开远程文件。

  • 禁用一些更危险的PHP函数,包括但不限于shell_execexecevalpopen。通过将它们添加到disabled_functions列表中,可以在PHP ini文件中禁用它们。

  • 删除用户的shell访问权限。对于文件传输,他们仍然可以对sFTP进行身份验证。但是他们无法通过像putty这样的东西通过SSH登录你可以像usermod -s /sbin/nologin myuser这样修改用户了解更多细节,请参阅Unix.StackExchange上的这篇文章

  • 设置一个具有相同访问权限的测试帐户,您的客户(您提供托管的人)拥有并测试哪些有效,哪些无效。这将为您提供一些他们能够做什么和不能做什么的想法,并且它为您提供了一个测试一些配置更改的地方,然后再应用于全局。

我相信你还可以做更多的事情,而且我真的无法进入有关服务器安全性的整篇文章。正如我所说,我绝不是这个主题的权威。所以我要说的最后一件事就是做尽可能多的研究,看看其他人正在为共享托管服务器做些什么,因为这基本上就是你所拥有的。

我确实在服务器安全的14个最佳实践中找到了这篇文章。

http://www.hostingadvice.com/how-to/web-hosting-security-best-practices/

这只是对某些问题进行了高级概述,并没有真正达到过度技术性。

这是一个非常大的话题,有很多陷阱,但我希望我的有限知识至少可以让你开始保护你的服务器。请记住,您可以通过服务器说出政策是什么。

这就是说与您的用户就任何政策变化进行沟通非常重要。到目前为止,他们几乎拥有自由的统治权。但是,如果你向他们解释它符合他们的利益,因为它不仅保护服务器而且还保护他们的数据,它可能会更容易一些。他们确实有权知道,你有义务告诉他们。这样他们就可以对代码进行必要的更改。但同样,它最终是您的服务器,您有责任尽可能保证其安全。

祝你好运!