来自我的公共 IP 的火星资源

来自我的公共 IP 的火星资源

这些天我在 kern.log 中收到了一些火星数据包:

Jul  7 02:28:20 box14932 kernel: [789192.798073] IPv4: martian source XXX.XXX.XXX.XXX from 10.91.12.01, on dev eth1
Jul  7 02:28:20 box14932 kernel: [789192.798095] ll header: 00000000: 44 a8 12 41 1d 2b 13 8b 9c ab 34 89 10 00        D.BB.......Y..
Jul  7 04:29:12 box14932 kernel: [798267.423393] IPv4: martian source XXX.XXX.XXX.XXX from 10.91.20.10, on dev eth1
Jul  7 04:29:12 box14932 kernel: [798267.423401] ll header: 00000000: 44 a8 12 41 1d 2b 13 8b 9c ab 34 89 10 00        D.BB.......Y..
Jul  7 04:29:12 box14932 kernel: [798267.423408] IPv4: martian source XXX.XXX.XXX.XXX from 10.91.20.10, on dev eth1
Jul  7 04:29:12 box14932 kernel: [798267.423410] ll header: 00000000: 44 a8 12 41 1d 2b 13 8b 9c ab 34 89 10 00        D.BB.......Y..

源“XXX.XXX.XXX.XXX”是我的服务器的公网IP地址。

我在 Google 上搜索,但还是没找到到底是什么问题。这是欺骗攻击还是我的服务器的网络配置问题?

我的服务器上有两个接口:

  • eth1是主接口(公网 IP)
  • eth2是 RPN 接口(真实专用网络,因此不连接到公共网络),其 IP 地址以 10.91 开头...
  • 显然,这是回送。

这是我的 sysctl.conf 配置,其中 rp_filter=1 和 log_martians=1:

# Log Martians
net.ipv4.conf.all.log_martians = 1
net.ipv4.icmp_ignore_bogus_error_responses = 1


# IP Spoofing protection
net.ipv4.conf.all.rp_filter = 1
net.ipv4.conf.default.rp_filter = 1

# Disable source packet routing
net.ipv4.conf.all.accept_source_route = 0
net.ipv6.conf.all.accept_source_route = 0 
net.ipv4.conf.default.accept_source_route = 0
net.ipv6.conf.default.accept_source_route = 0

# Ignore send redirects
net.ipv4.conf.all.send_redirects = 0
net.ipv4.conf.default.send_redirects = 0

# Block SYN attacks
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_max_syn_backlog = 4096
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 5

# Ignore ICMP redirects
net.ipv4.conf.all.accept_redirects = 0
net.ipv6.conf.all.accept_redirects = 0
net.ipv4.conf.default.accept_redirects = 0 
net.ipv6.conf.default.accept_redirects = 0

有人能帮帮我吗?我应该担心这些火星人吗?

你对添加 iptables 规则来 DROP 和 LOG 数据包有什么看法,例如:

-A INPUT -i -s 10.0.0.0/8 ENO1 j DROP

非常感谢您的帮助

答案1

您应该能够通过检查数据“44 a8 12 41 1d 2b 13 8b 9c ab 34 89 10 00”中嵌入的 MAC 地址来找到源。44:a8:12:41:1d:2b 应该是您的接口的 MAC 地址。13:8b:9c:ab:34:89 应该是远程设备的 MAC 地址。

尝试检查您的缓存以查看是否有这些 MAC 地址的其他地址。 arp -a应该是使用的命令。

要检查您的设备的 MAC 地址,请使用ip link showifconfig

答案2

遇到的大部分问题火星人源是由于网络拓扑考虑而导致的。可能需要解决以下问题:

  • 路由器:路由器可能通过非法地址进行路由;请确保路由器配置正确。
  • 多个 NICS:如果一台计算机有多个 NIC 卡插在同一个交换机上,那么它可能会显示火星源(这是最常见的原因)。
  • 防火墙:是否有防火墙允许不适当的流量进入?
  • IP 地址:您使用的是多播还是 E 类网络地址?
  • 其他计算机:其他服务器或工作站的 MAC 地址是否负责?

潜在解决方案

同一子网上的多个 NIC:同一子网上有多个 NIC 是最常见的原因。如果必须在同一个子网上有多个 NIC,请使用托管交换机。这可以通过脱机除一个 NIC 卡之外的所有 NIC 进行测试;如果消息消失,则可以假设多个 NIC 是原因。另一个解决方案是将 NIC 绑定在一起。一般来说,正确配置的网络不应要求多个 NIC 位于同一个子网上,绑定的情况除外。

关闭内核日志记录:如果您能够确定火星来源与安全问题无关,那么您可以关闭火星来源日志记录。请注意,您必须确保网络是安全的,并且这些消息的来源不是来自路由器。

  • /etc/sysconfig/sysctl add "net.ipv4.conf..log_martians=0"

  • 确保“ sysctl”已设置为在启动时运行“ chkconfig boot.sysctl on

消息日志中显示火星源错误

相关内容