使用 iptables 设置防火墙

使用 iptables 设置防火墙

所以,事情变得越来越严重。我设置了一个“真实”服务器。在此之前,我已经使用虚拟机配置了防火墙。现在我有一个问题,我需要允许哪个 IP,因为我想默认拒绝连接。

假设我的本地 IP 是192.168.178.99,我的网络 IP 是74.154.255.115。我建议我需要接受来自网络地址 ( 74.154.255.115) 的任何连接。但这意味着任何使用连接到我的路由器的人都可以访问服务器。是否有某种常用方法来设置安全服务器,但仍确保我可以从该特定设备连接到它,而不考虑设备连接到的网络?

答案1

由于 IP 地址比特定人员更能识别网络,因此您要么简单地信任特定网络,并希望/采取措施确保该网络上的人们不会/不能采取过多恶意行为。

另一种方法是设置一个 VPN 服务器,它通常允许您为个人用户分配 VPN 上的特定 IP 地址,然后根据该 VPN IP 地址创建进一步的防火墙规则。

答案2

假设我的本地 IP 是 192.168.178.99,我的网络 IP 是 74.154.255.115。我建议我需要接受来自网络地址 (74.154.255.115) 的任何连接。

您的路由器将简单地向前数据包,从而将原始 IP 交给您,除非它是 NATing(和伪装 IP)。即:传入数据包没有路由器的 IP。想想看,如果真是这样,那么来回发送数据包实际上是不可能的,因为路由器“记住”数据包来自哪里(源 IP)以及发送到哪里(目标 IP)的努力将是巨大的。这种方式根本不切实际,这可能是实现方式不合理的原因。

所以事实恰恰相反。您的内部不可路由 IP 对外部方不可见,因为路由器会负责伪装它(或者如果您是路由器,您必须这样做),但传入数据包仍应具有正确的原始 IP 地址。因此,就外部网络而言,您的防火墙规则将同样有效。

现在,像您描述的那样的设置听起来有点像家庭设置而不是典型的重型服务器,但从技术上讲它是一个服务器。

话虽如此,如果路由器能处理防火墙,而不是暴露任何服务的机器,那就更好了。但如果路由器不提供此功能,那么在家庭设置中可能行不通。

我也同意,封锁个别 IP 地址或网络对于很多目的来说都不太实用。但是,在一种情况下,它是有效的:攻击(或作为子集:疑似攻击)。

假设有人试图通过字典攻击强行进入服务(例如 SSH)。然后,您可以使用recentNetfilter 附带的模块跟踪他们的 IP 地址,如果他们尝试得太过频繁(即在太短的时间内尝试太频繁),您可以将他们置于IP设置. 然后所需要的只是一个规则,该规则会丢弃或拒绝来自有问题的 IP 集的数据包。

相关内容