私の(Linux)サーバーにはかなり単純なiptablesルールがいくつかあります。
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -m tcp -p tcp --dport https -j ACCEPT
iptables -A INPUT -j LOG
iptables -A INPUT -j NFLOG
iptables -A INPUT -j DROP
ICMPはフィルタリングされませんが、他の不要な接続は許可されません。 NFLOGルールは、パケットをパケットキャプチャファイル(pcap)に格納するだけです。 Syslogはかなりスパムになっているので、パケットの詳細を調べました。
tshark -V -a filesize:1 -r /scooby/doo.pcap
(IPとポート[replaced]
)
Frame 1: 52 bytes on wire (416 bits), 52 bytes captured (416 bits)
Encapsulation type: Raw IP (7)
[Protocols in frame: raw:ip:gre:ip:udp:data]
Internet Protocol Version 4, Src: [incoming IP] ([incoming IP]), Dst: [my server IP] ([my server IP])
Version: 4
Header length: 20 bytes
Total Length: 52
Identification: 0x0000 (0)
Flags: 0x02 (Don't Fragment)
Time to live: 52
Protocol: GRE (47)
Generic Routing Encapsulation (IP)
Flags and Version: 0x0000
Protocol Type: IP (0x0800)
Internet Protocol Version 4, Src: [not my IP1] ([not my IP1]), Dst: [not my IP2] ([not my IP2])
Version: 4
Header length: 20 bytes
Total Length: 28
Time to live: 64
Protocol: UDP (17)
User Datagram Protocol, Src Port: [random port1] ([random port1]), Dst Port: [random port2] ([random port2])
Length: 8
未承諾パケットは、ほとんどがip:gre:ip:udpパケットです。 GREパケットの量(通常は1分あたり複数)は、他の一方的なパケット(脆弱性スキャナー/スパマー/ポートスキャナー)を大幅に上回ります。 GREカプセル化内のIPはどれも私にとって特別な意味はなく、(排他的に)米国を拠点とする企業に属するさまざまな通常のIPだけです(したがって、完全にランダムなアドレスではありません)。
なぜ誰かがそれらのGREパケットを送信するのですか?
GREパケットに関連する既知のDoSの脆弱性はありますか?これは、誤って構成されたルーター/サーバーをだまして、カプセル化されたパケットを見かけの宛先に転送させようとする試みですか?送信者は、設定した可能性のある潜在的なGREトンネルの性質に関する情報を収集しようとしますか?
ボーナス:最も合理的な反応は本当に「-jDROP」ですか?
Rick Wanner(ISC)によると、このようなトラフィックはMiraiボットネットに接続されている可能性があります。彼はそれについてコメントしました ここ & ここ (ありがとう、@ Aaron)@Michal Hamptonが疑ったように、ペイロードに含まれるアドレスは手がかりです:それらは-と一致するように見えます 疑似乱数ジェネレーター みらいに含まれています-確認できませんでしたが。
Brain Krebsによると 彼のウェブサイトはGREスパムによって少なくともある程度ダウンしました。従来のDDoS手法とは対照的に、GRE(ip/47)を送信する理由は明らかではありません。 GREがDDoSで使用される理由に関する推測: