私のDNSサーバーのnamed.confで
rate-limit {
responses-per-second 5;
window 5;
};
これは実際にはどういう意味ですか? DNSクライアントの問題を引き起こす可能性がありますか?これは構成がきつすぎるですか?
1つのDNSクライアントが1秒間に取得できる同一の応答の数を制限します。 window 5
オプションは、5 * 5応答のバーストを許可します。
「同一の応答」と「単一のDNSクライアント」は、ここでは少し明白ではない用語です。詳細については、こちらをお読みください: http://web.archive.org/web/20140209100744/http://ss.vix .su /〜vjs/rl-arm.html 。
一般的にレート制限するのは良いことです-いつかDOS攻撃の場合に役立つかもしれません。ほとんどの場合、デフォルトで問題ありません。
BIND 9.9の管理者リファレンスマニュアル をお読みください。
基本的に、responses-per-second
は1秒間に1つの宛先に送信できる同一の応答の数です。定義はトリッキーです。
単一の宛先は、必要に応じてipv4-prefix-length
またはipv6-prefix-length
で構成されたサイズの、ネットワークアドレスのブロックです。したがって、ipv4-prefix-length
が24で、192.0.2.1
と192.0.2.2
の両方がDNSサーバーにクエリを実行している場合、これらはこのクォータを共有し、2つの間で非常に多くのクエリしか送信できません。
同一の応答は、特定の存在する名前または存在しない名前に対する特定のRRtypeに対するクエリへの応答です。次のクエリはすべて異なります。
IN A example.net.
IN A www.example.net.
IN AAAA example.net.
IN A nonexistent.domain.example.net.
ただし、次のクエリはすべて同じです(nonexistent.domain.example.net.
などがその名前に準拠していると想定)。
IN A nonexistent.domain.example.net.
IN A nonexistent.domain2.example.net.
IN SOA other.nonexistent.domain.example.net.
window
は、状況をさらに複雑にします。これは、クォータをバンクできる秒数です。 window
とresponses-per-second
を乗算すると、割り当て量がプラスになる最大値、またはより基本的にはバースト容量が得られます。
キャッチオールの例を挙げましょう:
あなたはexample.net.
の非再帰的な権威ネームサーバーです。過去10秒間にDNSトラフィックがまったく見られず、問題の構成がグローバルに適用されることを想像してください。次のイベントが順次発生します。
IN NS example.net.
に対して100クエリを送信します。 25が許可され、残りの75は無視されます。IN A nonexistent.example.net.
に対して100クエリを送信します。 25が許可され、残りの75は無視されます。IN MX nonexistent-domain.example.net.
に対して1つのクエリを送信します。存在しないドメインの制限に達したため、無視されます。IN A example.net.
に対して1つのクエリを送信します。許可されています。IN NS example.net.
に対する単一のクエリを送信します。それらの25は返信を受け取り、残りの25は無視されます。 198.51.100.0/24の割り当てはこれらのホストには適用されませんが、192.0.2.0/24の割り当てを共有します。IN NS example.net.
を繰り返します。割り当ては1秒あたり5つのクエリによってのみ補充されるため、そのうちの5つは応答を受け取り、残りの20つは無視されます。iptables -A INPUT -p udp --dport 53 -m recent --set --name dnslimit
iptables -A INPUT -p udp --dport 53 -m recent --update --seconds 60 --hitcount 11 --name dnslimit -j DROP
IPtablesも同様に機能します。攻撃が見つかった場合、サービスからトラフィックを完全に遮断します。
私はレート制限するのは良い考えではないと思います、自分自身に尋ねてください:あなたもウェブサーバーの応答をレート制限しますか? DNS応答がWebサーバー応答ほど重要ではないと思うのはなぜですか?
そして、レート制限を行ったとしても、その5リクエスト/秒は非常に低く聞こえます。