我实际上是在创办一家小型服务公司。目前我只有一台服务器。现在没有钱购买独立/专用的防火墙设备。
在提供互联网服务的同一台机器上安装防火墙软件是否有效?我的服务器将在多个端口上提供 HTTP、NFS 和 SSH 以及定制的服务器软件。
(编辑)所有服务(NFS 除外)都应向互联网开放。不是内部服务。我猜我的机器(在 内虚拟化Xen
)直接连接到互联网,因为我可以仅使用 IP 地址通过 SSH 连接到我的机器。
(编辑)NFS 不对互联网开放。抱歉,我的错误。NFS 仅通过 SSH 提供服务。
答案1
如果您小心地仅将端口开放给需要访问这些服务的最小 IP 地址子集(即,仅将自定义应用程序/NFS/SSH 端口开放给需要访问这些服务的最小 IP 地址集),经验告诉我,让您的数据包过滤/防火墙与您的服务在同一台机器上运行与通过外部防火墙保护它们相比没有问题(如果我们只谈论一台服务器并且我们对 NAT 或其他一些高级防火墙功能(如协议检查)不感兴趣)。
然后,对于那些需要向整个互联网开放的服务(即 HTTP/S),我会建议,根据您选择的操作系统,使用其他工具/技术来最大限度地降低这些服务被利用的风险(无论是由于您使用的软件中的漏洞还是您编写的软件中的编程错误)。如果您使用的是 linux/apache,modsecurity 是保护您的 Web 服务的一个非常好的选择。对于 IIS,Microsoft 有自己的一套工具和调整来提供同等级别的保护。
但当然,这只是我的意见,也许最好的策略是等待听取更多意见/经验,然后自己决定。
答案2
如果你的机器足够强大(很多内存,很多核心),那么我建议你去虚拟化小路:
安装虚拟机管理程序(VMware ESXi 或 Citrix XenServer - 它们都有免费版本)
创建 2 台虚拟机:
VM #1 有 2 个网络接口:外部和内部*
VM #2 有 1 个网络接口:内部*
在虚拟机 #1 中安装防火墙
在虚拟机 #2 中安装服务器
**此处的内部是指仅存在于 XenServer 盒内、无法从盒外访问的网络*
答案3
我最近在如果我的服务器配置良好,为什么还需要防火墙?并且社区似乎总体上发现这个答案很有用;你可能希望阅读它。
答案4
如果你正在运行 VMWare ESX(i),那么他们实际上有特定虚拟设备将您的防火墙整合到与您的 DMZ 和私人机器相同的硬件上。