來自我公共 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介面(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 show
或ifconfig
。
火星來源遇到的許多問題都是由網路拓撲考慮引起的。可能需要解決以下問題:
- 路由器:路由器可能通過非法地址進行路由;確保路由器配置正確。
- 多個 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
”啟動時執行