iptablesポートスキャン防止でIPを見る

iptablesポートスキャン防止でIPを見る

サーバー上のポートスキャンを防ぐために、次の iptables ルールがあります。

/sbin/iptables -A INPUT -m state --state NEW -m set ! --match-set scanned_ports src,dst -m hashlimit --hashlimit-above 1/hour --hashlimit-burst 5 --hashlimit-mode srcip --hashlimit-name portscan --hashlimit-htable-expire 10000 -j SET --add-set port_scanners src --exist
/sbin/iptables -A INPUT -m state --state NEW -m set --match-set port_scanners src -j DROP
/sbin/iptables -A INPUT -m state --state NEW -j SET --add-set scanned_ports src,dst

現在どのIPがロックされているかを確認する方法は?ポートスキャンを試みるすべてのIPを記録するスクリプトを作成したいと思います。

ありがとう

答え1

ロギングはiptablesに組み込まれています。 iptablesを見つけるLOGGINGは設定が非常に簡単です。この方法では、削除されたすべてのIPアドレスを取得して/var/log/messagesに保存します。

iptables -N LOGGING
iptables -A INPUT -j LOGGING
iptables -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-Dropped: " --log-level 4
iptables -A LOGGING -j DROP

デフォルトでは/var/log/messagesに移動しますが、/etc/syslog.confに以下を追加してから、/var/log/dropped.logをタップして他のエントリにリダイレクトできます。

kern.warning /var/log/dropped.log

関連情報