web-dev-qa-db-ja.com

iptablesルールはIPセットを操作できますか?

iptables-extensions(8)setモジュールについて説明し、IPの有無、またはより一般的にはIPとの一致に反応することが可能であると説明しています。 IPセット。

ただし、iptablesルールを使用してその場でIPセットにアイテムを追加する方法はないようです。

recentモジュールを使用すると、試行を続ける特定のIPを一時的にブラックリストに登録して、IPセットに追加できるという考えです(これはおそらく高速です)。これは、そのような場合にトラバースするルールが少なくなることを意味し、IPセットとの照合も高速であると言われています。

5
0xC0000022L

iptables-extensions(8) で説明されているSETターゲットを使用すると、isが可能であることがわかります。

SET
   This module adds and/or deletes entries from IP sets which can be defined by ipset(8).

   --add-set setname flag[,flag...]
          add the address(es)/port(s) of the packet to the set

   --del-set setname flag[,flag...]
          delete the address(es)/port(s) of the packet from the set

          where flag(s) are src and/or dst specifications and there can be no more
          than six of them.

   --timeout value
          when adding an entry, the timeout value to use instead of the default one
          from the set definition

   --exist
          when  adding  an  entry  if it already exists, reset the timeout value to
          the specified one or to the default from the set definition

   Use of -j SET requires that ipset kernel support is provided, which, for standard
   kernels, is the case since Linux 2.6.39.

setモジュールの説明を見つけた後、さらに下を検索していなかったため、見つかりませんでした。

5
0xC0000022L

いいえ、iptables/netfilterはipsetリストを操作できません。

Iptablesのset match拡張子は、ipsetリストへの読み取り専用ビューです。リストは、ipsetコマンドでのみ操作することを目的としています。

達成しようとしていることを実行する最良の方法は、iptables log拡張機能を fail2ban と組み合わせて使用​​することです。
Iptablesは、誰かがポリシーに違反するたびにログに記録するように構成され、X回違反すると、fail2banはそのホストをブラックリストに追加します。

1
Patrick