防止真实服务器IP暴露
Prevent real server IP exposure
我正在为我的朋友托管几个网站,他们可以使用 SFTP 编辑这些网站。但是我最近偶然发现了一些非常令人震惊的事情。
使用:<? echo $realIP = file_get_contents("http://ipecho.net/plain"); ?>
他们能够得到服务器的真实IP。我正在使用 CloudFlare 从外部 "mask" IP,所以这很安全。我知道我可以为此使用 VPN,但这是一个相当昂贵的选择。有什么办法可以避免,他们使用这种特定的方法来获得真实的服务器IP?
我通常会以类似于典型共享主机帐户的方式保护服务器。
虽然这是我所知道的边缘,但我绝不是服务器安全方面的专家我确实知道一些我多年来 运行 了解的事情。
禁止对远程文件使用流文件包装器。这是由 PHP 中的 allow_url_fopen
设置控制的,并禁止使用 fopen
、file_get_contents
等类似方式打开远程文件。
禁用一些更危险的PHP功能,包括但不限于shell_exec
、exec
、eval
、popen
.这些同样可以在 PHP ini 文件中禁用,方法是将它们添加到 disabled_functions
列表。
删除用户的 shell 访问权限。对于文件 t运行sfers,他们仍然能够为 sFTP 进行身份验证。但是他们将无法通过像 putty 这样的东西通过 SSH 登录,你可以像这样修改用户 usermod -s /sbin/nologin myuser
有关更多详细信息,请参阅 Unix.StackExchange
[=52 上的 post =]
设置一个与您的客户(您为其提供托管的人)具有相同访问权限的测试帐户,并测试哪些有效,哪些无效。这将使您对它们可以做什么和不能做什么有一些了解,并且它为您提供了一个地方来测试一些配置更改,然后再将它们全局应用。
我相信您可以做更多的事情,但我不能真正地写一篇关于服务器安全的文章。正如我所说,我绝不是这方面的权威。所以我要说的最后一件事是尽可能多地研究,看看其他人正在为共享托管服务器做些什么,因为这基本上就是您所拥有的。
我确实在关于服务器安全的 14 个最佳实践中找到了 Post。
http://www.hostingadvice.com/how-to/web-hosting-security-best-practices/
这只是对一些问题的高度概述,并没有涉及到过多的技术问题。
这是一个很大的话题,有很多陷阱,但我希望我有限的知识至少能让你开始保护你的服务器。请记住,这是您的服务器,您可以说出上面的政策。
也就是说,与您的用户就任何政策变更进行沟通非常重要。到目前为止,他们几乎可以自由统治。但是,如果您向他们解释这符合他们的利益,因为它不仅可以保护服务器,还可以保护他们的数据,那么它可能会更容易一些。他们确实有知情权,您也有义务告诉他们。这样他们就可以对其代码进行任何必要的更改。但同样,它最终是您的服务器,您有责任尽可能确保它的安全。
祝你好运!
我正在为我的朋友托管几个网站,他们可以使用 SFTP 编辑这些网站。但是我最近偶然发现了一些非常令人震惊的事情。
使用:<? echo $realIP = file_get_contents("http://ipecho.net/plain"); ?>
他们能够得到服务器的真实IP。我正在使用 CloudFlare 从外部 "mask" IP,所以这很安全。我知道我可以为此使用 VPN,但这是一个相当昂贵的选择。有什么办法可以避免,他们使用这种特定的方法来获得真实的服务器IP?
我通常会以类似于典型共享主机帐户的方式保护服务器。
虽然这是我所知道的边缘,但我绝不是服务器安全方面的专家我确实知道一些我多年来 运行 了解的事情。
禁止对远程文件使用流文件包装器。这是由 PHP 中的
allow_url_fopen
设置控制的,并禁止使用fopen
、file_get_contents
等类似方式打开远程文件。禁用一些更危险的PHP功能,包括但不限于
shell_exec
、exec
、eval
、popen
.这些同样可以在 PHP ini 文件中禁用,方法是将它们添加到disabled_functions
列表。删除用户的 shell 访问权限。对于文件 t运行sfers,他们仍然能够为 sFTP 进行身份验证。但是他们将无法通过像 putty 这样的东西通过 SSH 登录,你可以像这样修改用户
[=52 上的 post =]usermod -s /sbin/nologin myuser
有关更多详细信息,请参阅 Unix.StackExchange设置一个与您的客户(您为其提供托管的人)具有相同访问权限的测试帐户,并测试哪些有效,哪些无效。这将使您对它们可以做什么和不能做什么有一些了解,并且它为您提供了一个地方来测试一些配置更改,然后再将它们全局应用。
我相信您可以做更多的事情,但我不能真正地写一篇关于服务器安全的文章。正如我所说,我绝不是这方面的权威。所以我要说的最后一件事是尽可能多地研究,看看其他人正在为共享托管服务器做些什么,因为这基本上就是您所拥有的。
我确实在关于服务器安全的 14 个最佳实践中找到了 Post。
http://www.hostingadvice.com/how-to/web-hosting-security-best-practices/
这只是对一些问题的高度概述,并没有涉及到过多的技术问题。
这是一个很大的话题,有很多陷阱,但我希望我有限的知识至少能让你开始保护你的服务器。请记住,这是您的服务器,您可以说出上面的政策。
也就是说,与您的用户就任何政策变更进行沟通非常重要。到目前为止,他们几乎可以自由统治。但是,如果您向他们解释这符合他们的利益,因为它不仅可以保护服务器,还可以保护他们的数据,那么它可能会更容易一些。他们确实有知情权,您也有义务告诉他们。这样他们就可以对其代码进行任何必要的更改。但同样,它最终是您的服务器,您有责任尽可能确保它的安全。
祝你好运!