iptables和阻止潜在的不可能的stream量

我正在研究一些iptables防火墙规则,并且看到了许多例子,这些例子说明阻止来自不可路由的IP地址空间的可能的stream量的重要性。 这将包括来自RFC 1918,RFC 1700,RFC 5735,RFC 3927,RFC 3068,RFC 2544,RFC 5737,RFC 3171和RFC 919的项目。一些示例包括以下内容:

  • $ CURRENT_IP
  • 0.0.0.0/8
  • 10.0.0.0/8
  • 127.0.0.0/8
  • 169.254.0.0/16
  • 172.16.0.0/12
  • 192.0.0.0/24
  • 192.0.2.0/24
  • 192.88.99.0/24
  • 192.168.0.0/16
  • 198.18.0.0/15
  • 198.51.100.0/24
  • 203.0.113.0/24
  • 224.0.0.0/4
  • 240.0.0.0/4
  • 255.255.255.255

一些例子表明,如果它是stream量的来源,你只需要担心检查这个stream量。 例子:

$IPT -A ANTISPOOF -s 0.0.0.0/8 -m limit --limit 5/min --limit-burst 5 -j LOG --log-prefix "Denied Spoofed Source IP Address: " $IPT -A ANTISPOOF -s 0.0.0.0/8 -j DROP 

在其他示例中,在检查input和输出的来源和目的地时采取更激进的立场。 例子包括:

 iptables -A INPUT -d 172.0.0.0/8 -j DROP iptables -A INPUT -s 172.0.0.0/8 -j DROP iptables -A OUTPUT -d 172.0.0.0/8 -j DROP iptables -A OUTPUT -s 172.0.0.0/8 -j DROP 

我仍然有以下问题:

  • 我是否需要检查项目符号列表中列出的IP范围的源地址?
  • 我需要检查项目符号列表中列出的IP范围的目标地址吗?
  • 为上面列出的IP范围创build规则是很重要的,包括INPUT和OUTPUT链。
  • 是否有任何我忘记检查的IP范围是从上面的项目符号列表中丢失的?

在此先感谢您的帮助。

上述规则集中的大部分都涉及通常称为“Bogon Filtering”的内容: http : //en.wikipedia.org/wiki/Bogon_filtering – 这些是来自/未分配地址空间区域的数据包。

然而,这些范围中的3个是RFC1918专用networking: http : //en.wikipedia.org/wiki/Private_networks – 来自这些networking的数据包仍然可以按照Bogons的类别进行分类,但前提是它们不合法。 (即使玫瑰是一种杂草,如果它正在一个停车场的中间…)

如果这是您正在使用的路由器,请考虑以下事项:

  • INPUT和OUTPUT链处理来自(分别)本地防火墙本地进程的stream量。 大多数路由交通将不会触及这些链条。
  • FORWARD链处理通过机器路由到另一个目的地的stream量。
  • 通常情况下,您需要阻止来自这些networking的入站stream量和到这些目标networking的出站stream量。 看一看iptables的-i标志,它可以让你限制匹配给一个给定的networking适配器。
    • 不过,我是第二个顶级玩家,因为这样做可能不是必要的。 如果它是你的服务器,你应该控制它的发送。
  • 请记住,您的内部LAN可能使用其中一个专用地址范围。 您可能仍然希望允许stream量通过。
 * Do I need to check for the source address of the IP ranges listed above in the bulleted list? 

是的,即使你的isp / nsp丢弃它们,你也不希望你的服务器试图回答/发送数据包到列出的地址。

 * Do I need to check for the destination address of the IP ranges listed above in the bulleted list? 

是的,传入的数据包不会被传递到操作系统,但是您想阻止尝试靠近系统/networking的边缘。

 * Is is important to create rules for the IP ranges listed above that would include both the INPUT and OUTPUT chains? 

是的,你不希望发送数据包到列出的地址。

 * Are there any IP ranges that I have forgotten to check from that are missing from the bulleted list above? 

是的,您的IP地址应拒绝传入给您。 您可以通过使用( http://www.team-cymru.org/Services/Bogons/ )获得更积极的态度,但是当剩余的ipv4地址被分配时,您可能会阻止合法的源。

iptables命中计数将帮助您确定哪些规则正在工作,并且logging将有助于识别连接是否被拒绝或被接受。