質問が長すぎて申し訳ありません。
私は 4 台の PowerDNS サーバーを所有しており、以下にサンプル IP を示します。ns1.example.com 1.1.1.1 ns2.example.com 2.2.2.2 rec1.example.com 3.3.3.3 rec2.example.com 4.4.4.4
私のネットワークでは、ns1 と ns2 はいくつかのゾーンとリバースゾーンを持つ権威サーバーです。そして、rec1 と rec2 は再帰 DNS サーバーです。rec1 と rec2 は powerdns/recursor.conf の「forward-zones」を使用して ns1 と ns2 から自分のゾーンを要求するように構成しましたが、これは正常に機能しています。また、「forward-zones-recurse=.=8.8.8.8」を構成して、他のすべてのクエリを google DNS に送信しましたが、これも正常に機能しています。私のネットワークには、rec1 と rec2 をマシンのメイン DNS サーバーとして使用するサブネット (クライアント) が多数あります。これらのサブネットは、rec1 と rec2 が ns1 と ns2 または google からクエリを要求するドメインに従って、rec1 と rec2 から任意のドメインを要求します。ここまでは問題はありません。クライアントは任意のアドレスを正常にクエリできます。
私の問題は、rec1とrec2がインターネットに対して「open_resolver」になったことです。つまり、インターネット上の誰もがこれらのサーバーにDNSクエリを送信でき、それらは機能します。私は「allow-from=私のサブネット" を powerdns/recursor.conf に記述しましたが、問題が発生します。Gmail サーバーなどのインターネット サーバーが私の逆ゾーンを検索できないためです。そのため、すべての PTR レコードがインターネット上で利用できません。また、"allow-from=" を 0.0.0.0/0 に変更すると、すべての IP とすべてのクエリに対して open_resolver になります。
Bind9 のように、named.conf.option 内の各ゾーンに「allow_query {trusted;}」を使用できるような解決策があるかどうか疑問に思っています。そうすれば、Bind サーバーを open_resolver になるように制御し、インターネットに対して自分の逆方向のゾーンにのみ応答し、他の質問はしないようにすることができます。
誰かが助けてくれたら嬉しいです。よろしくお願いします
答え1
使用している DNS とは別に、リゾルバ DNS サーバーをネットワーク範囲に制限すると、ほとんどの攻撃から保護されます。一方、権威ネームサーバーを公開することも有効です。権威 DNS サーバーとして Bind を使用し、リゾルバ サーバーとして Unbound を使用することをお勧めします。