是否可以仅使用防火墙保护 Web 服务器?

信息安全 视窗 防火墙
2021-09-07 04:41:41

我即将上线我的第一个网站,它是一个托管在运行 Windows 7 的普通家用 PC 上的小项目。我希望将软件占用空间保持在最低限度,因此它只包含操作系统和 Web 服务器网站文件,没有杀毒软件,没有 SQL,什么都没有。而且除了网线之外,它与外界完全隔离,没有cd/dvd,没有键盘,没有鼠标,没有显示器。Windows 防火墙设置为仅允许端口 80 上的传入流量,所有传出流量都被阻止。

我不是网络安全专家,所以如果我错了,请纠正我:我认为使用此设置,访问该计算机上的文件和文件夹的唯一可能方法是通过端口 80 通过 Web 服务器,这意味着:如果网络服务器不允许未经授权的访问,那么我可以相信我的文件将保持私密。如果我错了,请再次以最少的软件占用空间解释为什么以及如何解决它。

现在我主要关心的是隐私,所以我可能会忽略关于其他安全问题的建议。

编辑:

我知道我的网络服务器软件会成为大多数攻击的目标,但这并不是我担心的主要大门,我事先知道各种各样的人都会试图通过它,所以我可以做好准备并组建一支军队那里的警察,让我担心的是可能存在的后门,而我不知道......所以我的问题是如何使操作系统与外界完全完全隔离,以这样的方式唯一可能的访问点是通过我的 Web 服务器侦听端口 80。

4个回答

这不是黑客使用的魔法端口游戏。如果端口上没有运行服务,则不太可能导致妥协,但使用强大的防火墙仍然是一个好主意,尤其是在默认运行大量服务的 Windows 上。

也就是说,如果有人要破坏您的 Web 服务器,他们将使用您允许他们访问的软件(包括您的 http 守护程序和您正在使用的任何 CGI 应用程序)这样做。所以,答案是否定的。

您没有详细说明这个项目是什么,但如果它是某种 CGI 应用程序,您可以做的最重要的事情是仔细编码以避免漏洞。如果有人可以将 shellcode 注入其中并弹出一个 shell,他们通常可以访问您不想要的东西。

如果您允许目录遍历和索引之类的事情,Web 服务器配置错误也可能是一个问题;攻击者可以使用这些来“欺骗”Web 服务器来提供您没有计划的内容。

如果您允许用户上传文件,也要小心;他们可能会上传您会意外运行的脚本,或者上传您随后会提供服务的恶意软件。

有时您打算使用的功能也可能被滥用;强制浏览(如 wordpress 引用)和电子邮件发送都可能被攻击者滥用以隐藏他们的活动。

您可以做的一些事情是:

  • 为您的 Web 应用程序使用单独的用户。在 IIS 中,在 CGI 设置中设置应用程序池用户,在身份验证设置中设置用于匿名身份验证的用户。为此创建一个特定用户,并将他们的权限限制在必要的最低限度。
  • 试着想一想你实现和提供的任何应用程序可以完成的所有事情,而不仅仅是你打算做的事情。

现在我主要关心的是隐私,所以我可能会忽略关于其他安全问题的建议。

你至少暴露了你的 IP 地址,它可以映射到一个特定的位置,所以这听起来像是minus points为了隐私。

防火墙的目的是限制对服务的访问。它不会阻止端口 80 上的“不良”流量,然后在您的服务器上安装恶意软件或利用一些未修补的漏洞。有人可能会安装可以读取系统信息的恶意脚本,包括文件、系统信息等,因此这也可能是一个隐私问题。服务器上私人数据的价值会影响您的特定风险。

基本的防火墙可能也无法阻止 DDoS 攻击,它不会阻止对特定 Web 应用程序、Web 服务器等的攻击。安全需要分层应用,防火墙不应该是唯一使用的安全保护。良好的编码和修补计数以确保安全。

...访问该计算机上的文件和文件夹的唯一可能方法是通过端口 80 通过 Web 服务器,这意味着:如果 Web 服务器不允许未经授权的访问,我可以相信我的文件将保持私密。

这部分假设不存在可以提供未经授权的权限、提权、绕过等的操作系统漏洞或应用程序漏洞。他们可能无法连接 SMB、FTP 等,但可以利用一些漏洞并获得收益访问文件(远程外壳等)

在你的 windows 机器上运行virtualbox怎么样,在一个新的虚拟机中你运行像debian linux这样更安全的东西,然后在上面运行 apache web 服务器?然后你可以使用 linux 上的 iptables 和 linux 附带的一般安全性。

或者直接在主机上安装linux。很抱歉,如果您想要一个安全的系统,在 Windows 7 上运行网络服务器似乎会给您带来麻烦。

此外,在网络边缘安装网关设备(防火墙/路由器)也会有很大帮助。

此外,就像其他人提到的那样,无论有多少防火墙,以及您的外部防御有多少漏洞都无关紧要。如果您的网络服务器或自己的脚本有故障,这一切都无关紧要。

其他来源 httpd.apache.org/ www.dd-wrt.com/site/index

您可能需要考虑的其他事项,以及其他人已经提出的建议:

  • 如果您的网站遭到机器人大军的 DDoS 攻击,您是否准备好在家中没有互联网,只要别人决定,一时兴起?
  • 如果当您的应用程序受到威胁时,攻击者会在您的家庭网络中吗?如果是这样,他们是否能够访问您的家庭路由器或任何其他计算机?那样你觉得可以吗?
  • 同一台 PC 上还托管了哪些其他内容?
  • 重新启动以应用紧急补丁对业务有何影响?

您是否考虑过使用托管服务提供商?那里有很多“免费套餐”优惠。

[更新]

要回答您的具体问题:

我提前知道各种各样的人会试图通过它,所以我可以做好准备并在那里建立一整支警察部队,

您在这里的假设是您知道他们何时以及如何攻击。你不会的。正如你的比喻所说,你不能让警察在“某处”等待可能永远不会发生的袭击。

让我担心的是可能在我不知道的情况下存在的后门......所以我的问题是如何使操作系统与外界完全完全隔离,这样唯一可能的访问点是通过我的网络服务器监听端口 80。

您还应该考虑监控应用程序和网络。即使您可以使操作系统与外部完全隔离(它不会持久),您如何知道它是否有效?换句话说,如果你错过了什么并且你相信你是安全的怎么办?虚假的安全感比知道根本没有安全感更糟糕。

最后,我建议您与专业的渗透测试人员合作,如果不定期检查您的应用程序,至少检查一次,特别是如果您要存储个人信息或信用卡等资料。我知道您有预算问题......但是在安全领域,就像在软件开发领域一样,没有免费的午餐。