最近、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アドレスです。
私はグーグルで検索しています、私はそれが何であったかを本当に見つけていません。これはなりすまし攻撃ですか、それとも単にサーバーのネットワーク構成の問題ですか?
サーバーに2つのインターフェイスがあります。
これが私の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
誰かが私を助けることができますか?私はこれらの火星人について心配する必要がありますか?
次のように、パケットをDROPおよびLOGにiptablesルールを追加することについてどう思いますか。
-A INPUT -i -s 10.0.0.0/8 ENO1 j DROP
ご協力いただき誠にありがとうございます
データ「44a812 41 1d 2b 13 8b 9c ab 34 89 1000」に埋め込まれているMACアドレスを確認することでソースを見つけることができるはずです。 44:a8:12:41:1d:2bをインターフェイスのMACアドレスにする必要があります。 13:8b:9c:ab:34:89はリモートデバイスのMACアドレスである必要があります。
キャッシュをチェックして、それらのMACアドレスに他のアドレスがあるかどうかを確認してください。 arp -a
を使用するコマンドにする必要があります。
デバイスのMACアドレスを確認するには、ip link show
またはifconfig
を使用します。
martianソースで発生する問題の多くは、ネットワークトポロジの考慮事項が原因です。以下に対処する必要がある場合があります。
- ルーター:ルーターが不正なアドレスを経由している可能性があります。ルーターが正しく構成されていることを確認してください。
- 複数のNIC:コンピューターに複数のNICカードが同じスイッチに接続されている場合、火星のソースが表示されることがあります(これが最も一般的な原因です)。
- ファイアウォール:不適切なトラフィックを許可するファイアウォールはありますか?
- IPアドレス:マルチキャストまたはクラスEネットワークアドレスを使用していますか?
- 他のコンピューター:他のサーバーまたはワークステーションのMACアドレスに責任がありますか?
考えられる解決策
同じサブネット上の複数のNIC:同じサブネット上の複数のNICが最も一般的な原因です。同じサブネット上に複数のNICが必要な場合は、マネージドスイッチを使用してください。これは、1枚を除くすべてのNICカードをオフラインにすることでテストできます。メッセージが消えた場合は、複数のNICが原因であると考えられます。別の解決策はNICを結合することです。一般的に言えば、適切に構成されたネットワークでは、ボンディングの場合を除いて、複数のNICが同じサブネット上にある必要はありません。
カーネルへのロギングをオフにします:火星のソースがセキュリティの問題に関連していないと判断できる場合は、火星のソースをオフにすることができますロギング。ネットワークが安全であり、これらのメッセージの送信元がルーターからのものではないことを確認する必要があることに注意してください。
/etc/sysconfig/sysctl add "net.ipv4.conf..log_martians=0"
で「
sysctl
」が「chkconfig boot.sysctl on
」によって起動時に実行されるように設定されていることを確認してください