Security

來自我公共 IP 的火星資源

  • July 7, 2016

這些天我在 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介面(Real Private Network,因此不連接公網),其IP地址以10.91開頭…
  • lo這顯然是環回。

這是我的 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

非常感謝您的幫助

您應該能夠通過檢查數據“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

火星來源遇到的許多問題都是由網路拓撲考慮引起的。可能需要解決以下問題:

  • 路由器:路由器可能通過非法地址進行路由;確保路由器配置正確。
  • 多個 NICS:如果一台電腦有多個 NIC 卡插入同一個交換機,則可能會顯示火星來源(這是最常見的原因)。
  • 防火牆:是否有防火牆允許不適當的流量進入?
  • IP 地址:您使用的是多播還是 E 類網路地址?
  • 其他電腦:其他伺服器或工作站的 MAC 地址是否負責?

潛在的解決方案

同一子網上有多個 NIC:同一子網上有多個 NIC 是最常見的原因。如果您必須在同一子網上有多個 NIC,請使用託管交換機。這可以通過離線測試除一張網卡以外的所有卡;如果消息消失,那麼您可以假設多個 NIC 是原因。另一種解決方案是將 NIC 綁定在一起。一般來說,一個正確配置的網路不應該要求多個網卡在同一個子網上,除非是在綁定的情況下。

**關閉對核心的日誌記錄:**如果您能夠確定火星源與安全問題無關,那麼您可以關閉火星源日誌記錄。請注意,您必須確保網路是安全的,並且這些消息的來源不是來自路由器。

  • /etc/sysconfig/sysctl add "net.ipv4.conf..log_martians=0"
  • 確保“ sysctl”設置為通過“ chkconfig boot.sysctl on”啟動時執行

消息日誌中顯示的火星來源錯誤

引用自:https://serverfault.com/questions/788439