検索

6.7. nftables を使用した接続の量の制限

download PDF
nftables を使用して、接続の数を制限したり、一定量の接続の確立を試みる IP アドレスをブロックして、大量のシステムリソースを使用しないようにすることができます。

6.7.1. nftables を使用した接続数の制限

nft ユーティリティーの ct count パラメーターを使用すると、管理者は接続数を制限できます。この手順では、着信接続を制限する方法の基本的な例を説明します。

前提条件

  • example_table にベースの example_chain が存在する。

手順6.19 nftables を使用した接続数の制限

  1. IPv4 アドレスから SSH ポート(22)への 2 つの同時接続のみを許可し、同じ IP からの接続をすべて拒否するルールを追加します。
    # nft add rule ip example_table example_chain tcp dport ssh meter 
    example_meter { ip saddr ct count over 2 } counter reject
  2. 必要に応じて、前の手順で作成した meter を表示します。
    # nft list meter ip example_table example_meter
    table ip example_table {
      meter example_meter {
        type ipv4_addr
        size 65535
        elements = { 192.0.2.1 : ct count over 2 , 192.0.2.2 : ct count over 2  }
      }
    }
    elements エントリーは、現在ルールに一致するアドレスを表示します。この例では、elements は、SSH ポートへのアクティブな接続がある IP アドレスを一覧表示します。出力には、アクティブな接続の数を表示しないため、接続が拒否された場合は表示されないことに注意してください。

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

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

手順6.20 1 分以内に新しい着信 TCP 接続を 11 個以上試行する 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 分以内に新規 TCP 接続を 10 個以上確立しようとするホストのソース 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

6.7.3. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.