このコマンドを使用してSIPトラフィックをデバッグしています。tcpdump -i eth0 -nt port 5060 -v
出力は次のとおりです。
IP (tos 0x0, ttl 113, id 6082, offset 0, flags [none], proto UDP (17), length 504)
128.90.192.88.56177 > 172.31.78.225.5060: SIP, length: 476
REGISTER sip:54.84.215.2:5060 SIP/2.0
To: <sip:[email protected]>
From: <sip:[email protected]>;tag=e5f4a9461830e4f7a15059
Via: SIP/2.0/UDP 10.2.38.49:56177;branch=A3DG5FK-d91443-95107561815059-1--d91443-;rport
Call-ID: e5f4a946183180e4f7a15059
CSeq: 1 REGISTER
Contact: <sip:[email protected]:56177>
Expires: 3600
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
User-Agent: Samsung OfficeServ
Content-Length: 0
IP (tos 0x0, ttl 105, id 28245, offset 0, flags [none], proto UDP (17), length 500)
128.90.59.90.49529 > 172.31.78.225.5060: SIP, length: 472
REGISTER sip:54.84.215.2:5060 SIP/2.0
To: <sip:[email protected]>
From: <sip:[email protected]>;tag=e5f4a933383e4f7a13062
Via: SIP/2.0/UDP 10.4.0.14:49529;branch=A3DG5FK-d91443-17576214913062-1--d91443-;rport
Call-ID: e5f4a93338364e4f7a13062
CSeq: 1 REGISTER
Contact: <sip:[email protected]:49529>
Expires: 3600
Max-Forwards: 70
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, NOTIFY, MESSAGE, SUBSCRIBE, INFO
User-Agent: Samsung OfficeServ
Content-Length: 0
... etc...
私のサーバーが長すぎるため、多くのボットがこれを発見し、上記のように迷惑な間違った要求を送信しています。
IPをブロックしましたが、tcpdump128.90.192.88
は128.90.59.90
まだトラフィックをキャプチャしています。
root@ip-172-31-78-225:~# iptables -nL | grep 128.90.192.88
DROP all -- 128.90.192.88 0.0.0.0/0
これらのパケットをどのようにフィルタリングできますか?私のファイアウォールは1000以上のIPをブロックし、多くのIPを使用してフィルタを構築したくありません。ホワイトリストを作成できることを知っていますが、これらのパケットをフィルタリングしてキャプチャされる理由を理解する方法があるかどうか疑問に思います。また、間違った要求を送信するボットをブロックするためにこのアプローチを使い続けたいと思います。ブロックされていないパケットのみを分析して、そのIPをブロックするかどうかを判断できればよいでしょう。
答え1
申し訳ありません。この質問は他の質問と重複する可能性があります。https://stackoverflow.com/a/57073203/637142
とにかく解決策は次のとおりです。
#NFLOG traffic going to port 5060 (both tcp and udp)
iptables -A INPUT -p udp --dport 5060 -j NFLOG
iptables -A INPUT -p tcp --dport 5060 -j NFLOG
# now capure any trific from NFLOG
tcpdump -i nflog -nUlNt -v