内网ipv6安全

内网ipv6安全

我刚刚开始涉足 IPv6。

首先,我的参考信息:

  • Comcast ISP 电缆调制解调器
  • Linux 防火墙/路由器/网关机
    • eth1 使用康卡斯特提供的 IPv6 /128 地址指向互联网
    • eth0 使用 Comcast 提供的 IPv6 /64 网络指向我的内部网络
  • 内部 Linux 机器

到目前为止,我在内部计算机上的安全性主要基于使用 RFC1918 地址和iptablesNAT。 IPv6(显然)不支持 NAT。

所以我希望有人有一个简单的教程,告诉我如何ip6tables在我的 linux-firewall-router 上进行配置,以确保我有大量的传出访问权限,但是

  • 只有已建立的连接才会进入
  • 仅必要的 ICMPv6 连接可以进入,但不允许不必要的连接
  • 也许某种knockd类似的方式允许我但没有其他人从互联网访问内部机器
    • 我认为这个问题的答案是“SSH 证书并禁止所有密码登录”

遗憾的是,据我所知,Amazon EC2 不支持 IPv6。否则,这将是测试我的配置的好方法。

答案1

IPv6(显然)不支持 NAT。

标准制定者强烈反对 IPv6 NAT,但这并不妨碍人们实施它。 IPv6 NAT 与 IPv4 NAT 相比并没有什么更容易或更困难的根本区别。 Linux 中的 IPv6 NAT 主题是一个有争议的主题,但它最终在 Linux 3.7 中实现。

ip6tables 是 iptables 的 ipv6 对应项。基本防火墙的设置非常简单,它允许所有内容传出,但只允许特定内容传入,并且不限制对防火墙本身的访问。

  1. 将正向链策略设置为丢弃(我总是建议将链策略设置为丢弃,以便当您刷新并重置规则时,您不会让自己处于敞开状态)
  2. 在转发表中添加一条规则,允许数据包从内部到外部。
  3. 在转发表中添加一条规则,以允许具有“已建立”和“相关”连接跟踪状态的数据包。这允许与您的传出连接相关的响应,而无需向一般互联网开放。
  4. 为您想要允许的任何内容添加规则。

如果您想限制对防火墙盒本身的访问,事情会变得有点棘手,因为您必须确保允许诸如 SLACC 之类的东西。有一些例子在https://www.sixxs.net/wiki/IPv6_Firewalling

如果您试图限制进出路由器本身的流量(而不仅仅是限制转发的流量),您将需要允许邻居发现和邻居通告。

我相信你需要的是(取自https://www.cert.org/downloads/IPv6/ip6tables_rules.txt

ip6tables -A INPUT -p icmpv6 --icmpv6-type router-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-solicitation -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type neighbor-advertisement -m hl --hl-eq 255 -j ACCEPT
ip6tables -A INPUT -p icmpv6 --icmpv6-type redirect -m hl --hl-eq 255 -j ACCEPT

相关内容