web-dev-qa-db-ja.com

ローカル保護のためにBind / Namedを使用してドメインをブロックする方法は?

Bindを使用してドメインのリストをシンクホール/ブラックホールしようとしています。私の問題は、confの間違った場所で「Include」を使用していることだと思います。誰かがコードのブラックリスト行が正しい場所にあることを確認できますか?

include "/etc/rndc.key";
controls {
    inet 127.0.0.1 allow { localhost; } keys { "rndc-key"; };
};
options {
    directory                "/var/named"; // the default
    pid-file                 "/var/run/named/named.pid";
    dump-file                "data/cache_dump.db";
    statistics-file          "data/named_stats.txt";
    allow-transfer {"none";};
};
logging {
    channel default_debug {
            file "data/named.run";
            severity dynamic;
    };
};
view "localhost_resolver" {

 include "/var/named/blacklist.zones"; //RIGHT HERE!!!!!!!!!!!!!!

    match-clients         { 127.0.0.1/32; };
    match-destinations    { localhost; };
    recursion yes;

    zone "." IN {
        type hint;
        file "/var/named/named.ca";
    };
    include "/var/named/named.rfc1912.zones";
};
view "internal" {
    match-clients        { localnets; };
    match-destinations    { localnets; };
    recursion yes;

    zone "." IN {
        type hint;
        file "/var/named/named.ca";
    };
zone "my.real.domain" {
    type master;
    file "/var/named/my.real.domain.zone";
};

};
view    "external" {
    recursion no;
    zone "." IN {
        type hint;
        file "/var/named/named.ca";
    };

zone "my.real.domain" {
    type master;
    file "/var/named/my.real.domain.zone";
};

};

名前付きサービスを開始するには、そこに配置するしかありませんでした。ログは、ドメインがロードされていることを示しています。ブラックリストは単に127.0.0.1にfwするので、これは機能しているようです。私が

@ 127.0.0.1blacklisted.domainを掘る

127 ..と設定されたネームサーバーを指して成功した答えが得られます。しかし、私が

ping blacklisted.domain

実際のIPにpingを送信し、DNSを介して解決します。誰かが光を当てることはできますか?ドメインのリストをローカルアクセスからブロックしたいだけです。私もdnsmasqが大好きです。

1
JsEveryDay

DNSレベルでドメイン名をブロックすることは悪い考えです。次のドキュメントを参照してください: http://www.afnic.fr/medias/documents/conseilscientifique/SC-consequences-of-DNS-based-Internet-filtering。 pdf

また、同じインスタンスに再帰関数と権限関数を混在させることはお勧めできません。

ただし、DNSファイアリングを実行する必要がある場合は、[〜#〜] bind [〜#〜](および他のいくつかのネームサーバー)によってサポートされる特定の機能があります)、応答ポリシーゾーンのRPZと呼ばれます。

詳細については、 https://dnsrpz.info/ を参照してください。

ドメインネームサービス応答ポリシーゾーン(DNS RPZ)は、ネームサーバー管理者がカスタム情報をグローバルDNSの上にオーバーレイして、クエリに対する代替応答を提供できるようにする方法です。現在、ISC BINDネームサーバー(9.8以降)に実装されています。 DNS RPZ機能の別の総称は「DNSファイアウォール」です。

特に[〜#〜] bind [〜#〜]については、 ftp: //ftp.isc.org/isc/bind9/cur/9.11/doc/arm/Bv9ARM.ch06.html

正しいドメイン名を入力するとすぐに、必要に応じてすぐに機能するこの例が表示されます。

たとえば、次のオプションステートメントを使用できます。

response-policy { zone "badlist"; };

そしてこのゾーンステートメント

zone "badlist" {type master; file "master/badlist"; allow-query {none;}; };

このゾーンファイルで

$TTL 1H
@                       SOA LOCALHOST. named-mgr.example.com (1 1h 15m 30d 2h)
                        NS  LOCALHOST.

; QNAME policy records.  There are no periods (.) after the owner names.
nxdomain.domain.com     CNAME   .               ; NXDOMAIN policy
1
Patrick Mevzek