Menu Close

Red Hat Training

A Red Hat training course is available for RHEL 8

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

このセクションでは、1 分以内に 11 個以上の IPv4 TCP 接続を確立しているホストを一時的にブロックする方法を説明します。

手順

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

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

    # nft add chain ip filter input { type filter hook input priority 0 \; }
  3. 1 分以内に 10 を超える TCP 接続を確立しようとするソースアドレスからのすべてのパケットを破棄するルールを追加します。

    # nft add rule ip filter input ip protocol tcp ct state new, untracked meter ratemeter { ip saddr timeout 5m limit rate over 10/minute } drop

    timeout 5m パラメーターは、nftables が、メーターが古いエントリーで一杯にならないように、5 分後にエントリーを自動的に削除することを定義します。

検証

  • メーターのコンテンツを表示するには、以下のコマンドを実行します。

    # nft list meter ip filter ratemeter
    table ip filter {
      meter ratemeter {
        type ipv4_addr
        size 65535
        flags dynamic,timeout
        elements = { 192.0.2.1 limit rate over 10/minute timeout 5m expires 4m58s224ms }
      }
    }