bind ne fonctionnerait que si allow-query est «any»

13

J'ai ceci dans /etc/named.conf, j'ai commenté les valeurs par défaut et défini les miennes en dessous. Mon domaine ne se chargerait pas dans le navigateur à moins que je ne définisse allow-query sur "any", est-ce OK, que dois-je modifier? If is localhostor 127.0.0.1; 10.0.1.0/24;domain ne se chargerait pas. J'ai essayé le truc 127 .. car il le mentionnait ici: http://wiki.mandriva.com/en/Testing:Bind

La version de liaison est 9.7.0-P2-RedHat-9.7.0-5.P2.el6_0.1 OS est CentOS 6.0.

options {
        // listen-on port 53 { 127.0.0.1; };
        listen-on port 53 { any; };
        //listen-on-v6 port 53 { ::1; };
        listen-on-v6 port 53 { any; };
        directory       "/var/named";
        dump-file       "/var/named/data/cache_dump.db";
        statistics-file "/var/named/data/named_stats.txt";
        memstatistics-file "/var/named/data/named_mem_stats.txt";
        //allow-query     { localhost; };
        allow-query     { any; };

        recursion yes;

        dnssec-enable yes;
        dnssec-validation yes;
        dnssec-lookaside auto;

        /* Path to ISC DLV key */
        bindkeys-file "/etc/named.iscdlv.key";
};
adrianTNT
la source

Réponses:

13

Lorsque vous écoutez 127.0.0.1 ou localhost ou :: 1 et / ou autorisez la requête à partir de localhost uniquement, bind ne répondra qu'aux requêtes provenant du même ordinateur qui exécute bind. (Cela a défini cette méthode dans "testing" probablement parce qu'ils voulaient probablement juste tester que la liaison fonctionne sans l'ouvrir à l'extérieur pour des raisons de sécurité.)

Il est normal de les définir sur "any" afin qu'ils soient accessibles de l'extérieur.

Sandman4
la source
Certains articles en ligne mentionnaient qu'il pouvait être exposé à des attaques DOS, le cas échéant. Si j'ai bien compris.
adrianTNT
1
Eh bien, même si c'est vrai, sans "aucun" cela ne fonctionnera pas;)
Sandman4
1
Btw, quel est l'objectif de votre serveur? Est-ce seulement autorisé pour certains de votre zone? Qui devrait pouvoir accéder à votre serveur?
Sandman4
Il s'agit d'un site d'hébergement d'images, il hébergera plusieurs domaines sur la même IP. Le domaine est chez godaddy où j'ai défini deux "hôtes" ns1.domain ns2.domain et associé ces NS à l'adresse IP de mon serveur.
adrianTNT
1
D'accord, il devrait donc être accessible de l'extérieur. Il doit donc être "quelconque". Et vous feriez mieux de définir «récursivité non» si vous avez peur des attaques. Mais godaddy ne vous fournit-il pas de serveurs de noms?
Sandman4
3

Si votre serveur DNS est un serveur de mise en cache local, définissez

allow-query { <your subnet>; }; 

dans les options. Et, dans chaque zone:

allow-query { any; };

Si vous ne l'utilisez pas comme serveur de mise en cache, définissez-le sur aucune option;

allow-query { none; };

Fondamentalement, vous ne voulez pas que votre serveur réponde à des domaines auxquels vous ne faites pas autorité.

rsd
la source
-3

Soyez prudent - ce n'est pas vrai:

Si vous ne l'utilisez pas comme serveur de mise en cache, définissez-le sur aucune option;

allow-query { none; };

Un tel serveur ne répond à aucun paquet, même pour les domaines pour lesquels il fait autorité.

Dalibor Straka
la source