Por que o domínio de pesquisa em /etc/resolv.conf é usado para TODAS as consultas?

3

De acordo com muitos guias que encontrei, o domínio de pesquisa em /etc/resolv.conf deve ser usado apenas para consultas sem ponto . No entanto, man resolve.conf diz isso sobre a opção ndots :

sets a threshold for the number of dots which must appear in a name given to res_query(3) (see resolver(3)) before an initial absolute query will be made. The default for n is 1, meaning that if there are any dots in a name, the name will be tried first as an absolute name before any search list elements are appended to it. The value for this option is silently capped to 15.

Isso contradiz as afirmações sobre domínios de pesquisa sendo usados apenas para consultas sem ponto, e também parece ser verdade. Eu notei pela primeira vez acidentalmente usando o tcpdump. Ao resolver, por exemplo, reallynonexistentdomain.com, e meu resolv.conf contém 'search test.com', o resultado são duas consultas: reallynonexistentdomain.com e reallynonexistentdomain.com.test.com. Ambas as consultas obtêm a resposta NXDOMAIN e a resolução parece funcionar como deveria, mas existe alguma maneira de impedir a última consulta? É obviamente falso e (não tem 100% de certeza sobre isso) um potencial risco de segurança.

Quais razões práticas existem para anexar o domínio de busca a um nome de domínio totalmente qualificado (ou mais especificamente, um nome com pelo menos ndots dots)? Eu não consigo pensar em nenhum. Não seria melhor se o resolvedor simplesmente não tentasse usar o domínio de busca quando a consulta original fosse respondida com NXDOMAIN, contanto que tivesse pelo menos ndots dots?

Estou usando o Debian wheezy. O comportamento poderia ser diferente em outras distribuições ou em outros sistemas semelhantes ao UNIX?

    
por Juha Kallio 21.05.2012 / 17:17

1 resposta

2

A razão prática desse comportamento é muito simples: se sua organização usa example.com domain e seu departamento de vendas usa sales.example.com domain, você deve poder acessar o FQDN fileserver.sales.example.com como simplesmente fileserver.sales . Isso é muito útil se você tiver muitos hosts / sites internos e economizar bastante digitação.

Observe que a opção ndots lida apenas com a consulta inicial , por exemplo deve ser a consulta inicial enviada como está ou com o domínio local anexado. Se a primeira consulta textual falhar, o resolvedor sempre anexará o domínio local e tentará novamente. Isso não tem nada a ver com o número de pontos.

Muitos protocolos e serviços de descoberta automática dependem desse comportamento do DNS. Não há risco de segurança enquanto o domínio local estiver sob seu controle . Por exemplo. Se alguém digitar gogle.com e seu domínio local estiver não sob seu controle, é trivial configurar um servidor não autorizado em gogle.com.example.com para interceptar esses erros.

    
por 22.05.2012 / 21:56

Tags