iptablesを使用して適応ファイアウォールを作成しようとしていますが、最近のモジュールがどのように機能するのかわかりません。例えばhttp://blog.zioup.org/2008/iptables_recent/
私のiptablesの作品:
...input stuff, established, etc...
-A INPUT -m conntrack --ctstate NEW -j limiter
... more input stuff...
# very end of chain, nothing matches. Likely unauthorized port
-A INPUT -m conntrack --ctstate NEW -m recent --name PORTSCAN --set
# limiter table
-A limiter -m recent --update --name PORTSCAN
-A limiter -m recent --rcheck --name PORTSCAN --hitcount 10 --seconds 300 -j LOG
この設定が機能します。私は/proc/net/xt_recent/PORTSCANを観察し、閉じたポートでnmapを実行して私のIPを追加し、ポート80(オープン)に接続しようとしてリストを更新しました。また、開いているポートにのみ接続してもリストに追加されません。
私の問題は、リミッターテーブルの2行を1つにマージしようとすると、もはや機能しないことです。
#-A limiter -m recent --update --name PORTSCAN
#-A limiter -m recent --rcheck --name PORTSCAN --hitcount 10 --seconds 300 -j LOG
-A limiter -m recent --update --name PORTSCAN --hitcount 10 --seconds 300 -j LOG
開いているポートが閉じてから検索すると、リストは更新されません(ただし、10パケット/ 300秒の制限を超えると記録されます)。
私の理解は、更新された行が他の2つの行と同じであることです。なぜできないの?