iptables 最近のモジュール: 以下の古い項目を削除

iptables 最近のモジュール: 以下の古い項目を削除

私はiptables recentモジュールを使用しています:

-A INPUT -m recent --rsource --name PORTSCAN --set -j DROP

上記の行は問題のIPアドレスを/proc/net/xt_recent/PORTSCAN

nこれで、このリストを定期的にチェックし(cron操作)、数時間経過したアイテムを削除する方法を探しています。

私が使用しているxt_recent.ip_pkt_list_tot=1オプションrecent。これは、私がパケットを見たときにそれを複数回捕捉しないことを意味します。私はパケットを最後に見た時間だけを保持します。

リストは/proc/net/xt_recent/PORTSCAN次のとおりです。

src=185.242.5.46 ttl: 240 last_seen: 4312349727 oldest_pkt: 1 4312349727
src=184.100.29.188 ttl: 57 last_seen: 4312673918 oldest_pkt: 1 4312673918
src=184.157.25.107 ttl: 57 last_seen: 4312086204 oldest_pkt: 1 4312086204

nこのリストを定期的に「削除」するには、数時間未満の項目しか残らないようにするにはどうすればよいですか。

iptablesこれを行う方法はありますか?または、いくつかのカスタムスクリプトを使用して実行する必要がありますか?

答え1

--reapこれがまさにあなたが探しているようです。iptables 拡張マニュアルページ、次の部分に関する部分recent

--reap このオプションはでのみ利用可能です--seconds。このオプションを使用すると、最後に指定された時間(秒)より古いエントリが消去されます。

仕組みは次のとおりです。Linuxカーネルの関連ソースコード部分

関連情報