Red Hat Training

A Red Hat training course is available for RHEL 8

49.8.2. 1 分以内に新しい着信 TCP 接続を 11 個以上試行する IP アドレスのブロック

nftables フレームワークにより、管理者はセットを動的に更新できます。このセクションでは、この機能を使用して、1 分以内に 11 個以上の IPv4 TCP 接続を確立しているホストを一時的にブロックする方法を説明します。nftables は、5 分経つと自動的にその IP アドレスを拒否リストから削除します。

手順

  1. ip アドレスファミリーを使用して filter テーブルを作成します。

    # nft add table ip filter
  2. input チェーンを filter テーブルに追加します。

    # nft add chain ip filter input { type filter hook input priority 0 \; }
  3. denylist という名前のセットを filter テーブルに追加します。

    # nft add set ip filter denylist { type ipv4_addr \; flags dynamic, timeout \; timeout 5m \; }

    このコマンドは、IPv4 アドレスの動的セットを作成します。timeout 5m パラメーターは、nftables がセットから 5 分後にエントリーを自動的に削除することを定義します。

  4. 1 分以内に 11 個以上の新しい TCP 接続を確立しようとするホストのソース IP アドレスを denylist セットに自動的に追加するルールを追加します。

    # nft add rule ip filter input ip protocol tcp ct state new, untracked limit rate over 10/minute add @denylist { ip saddr }
  5. denylist セットの IP アドレスからの接続をすべて破棄するルールを追加します。

    # nft add rule ip filter input ip saddr @denylist drop

関連情報