ドメインの誤ったIPアドレスを返すことにより、特定のWebサイトへのアクセスをブロックするDNSサーバーを構築しています。
現在、DNSMasqを使用してこれを実行していますが、リストは非常に大きく、この機能を実行するためにバインドに移動しようとしています。 DNSMasqは大きなリストを静かに処理しますが、いくつかの制限があり、私の選択を余儀なくされています。 DNSMasqのドメイン全体に対してこれを行うには、次のように構成ファイルに1行追加するだけです。
address=/url.com/1.2.3.4
これにより、1.2.3.4
に対して常に*.url.com
が返されます。
私は次のことでいくつかの支援を探しています:
乾杯
pjf
DNSブラックリストは、誰かが本当に必要な場合にサイトにアクセスするのを阻止する方法ではありませんが、悪意のあるソフトウェアやcasual悪いWebサイトにアクセスしようとする場合に役立ちます。 。
RPZを使用すると、応答の書き換えルールを定義するゾーンファイルを作成できます。これらはバージョン9.8.1で実装されました。
IPアドレスがbadrecord.example.com.
である198.51.100.1
をブロックするとします。ここでは実際のIPは重要ではありませんが、何が起こるかを補強するのに役立つIPを提供します。
options {
# Snip.
response-policy { zone "mypolicy"; };
};
zone "mypolicy" {
type master;
file "mypolicy.zone";
allow-query { none; };
};
ゾーンファイルは次のようになります。
$TTL 1H
@ SOA LOCALHOST. doesnt.really.matter.example.org. (1 1h 15m 30d 2h)
; NS required for zone syntax reasons, but ignored
NS LOCALHOST.
; CNAME bad reply to a DNS record that isn't in this file
badrecord.example.com. CNAME mywalledgarden.example.edu.
; replace bad reply with fixed IP address
badrecord2.example.com. A 203.0.113.1
; rewrite the top of a bad domain, as well as all records immediately
; beneath the apex. (i.e. not further than one level deep)
example.net. A 203.0.113.1
*.example.net. A 203.0.113.1
観察:
allow-query
ルールにより、ユーザーはゾーンに直接クエリを実行できません。NXDOMAIN
を正しく返すことです。クライアントが不良データを含む応答を取得するために、応答を変更するだけです可能であれば。実行できる書き換えはこれらだけではありません。完全な構文と潜在的なアプリケーションについては、BINDARMを参照することをお勧めします。
インターネット上に、ルート(.
)ゾーンの作成や、ブロックする必要のあるドメインごとに1つのゾーンの作成などを提案するガイドがいくつかあります。そうしないでください。これは、DNS管理者がより良いオプションがないために頼っていた、古くて扱いにくい方法です。 RPZがオプションであり、それがニーズをカバーしている場合は、それを使用してください。ドメインに対して権限がない場合は、ドメインに対して権限を持つように構成しないでください。