Passei um tempo pesquisando esse tópico e não consigo encontrar uma resposta exata, por isso estou bastante confiante de que não é uma duplicata e, embora minha pergunta seja baseada em uma necessidade de segurança, acho que ainda é seguro pergunte aqui, mas deixe-me saber se eu preciso movê-lo para a comunidade de segurança.
Essencialmente, as consultas DNS usam TCP (se sim, qual cenário isso pode ocorrer)? Mais uma vez, estou falando apenas de consultas. É possível que eles viajem pelo TCP? Se os domínios tiverem apenas no máximo 253 bytes de comprimento e os pacotes UDP puderem ter até 512 bytes, as consultas sempre serão exibidas como UDP? Não achei que uma consulta resolvível pudesse ser grande o suficiente para exigir o uso do TCP. Se um servidor DNS recebesse uma solicitação para um domínio maior que 253 bytes, o servidor eliminaria / não tentaria resolvê-lo? Estou certo de que fiz algumas suposições falsas aqui.
Para algum contexto, estou trabalhando com o grupo de segurança para integrar consultas DNS em sua ferramenta de monitoramento de segurança e, por vários motivos, decidimos capturar esse tráfego via captura de pacote padrão em servidores DNS e controladores de domínio. O principal requisito é capturar todas as consultas DNS para que eles possam identificar qual cliente tentou resolver qualquer domínio. Com base nesse requisito, não estamos preocupados em capturar respostas DNS ou outro tráfego, como transferências de zona, o que também é motivado pelo fato de que precisamos limitar o volume de log o máximo possível. Assim, planejamos capturar apenas consultas DNS destinadas ao servidor DNS e enviadas por UDP. Para mais contexto (tipo de escopo de pergunta que se arrasta aqui), agora foi levantado que podemos precisar expandir a segurança ' s visibilidade para que eles possam monitorar atividades como canais secretos em execução no DNS (que também apresentariam a necessidade de capturar respostas DNS e, posteriormente, o tráfego TCP). Mas, mesmo nesse tipo de cenário, pensei que qualquer tráfego DNS de saída teria a forma de pesquisas / consultas, e que eles sempre seriam sobre UDP, mesmo que de uma fonte maliciosa (por causa do meu raciocínio no primeiro parágrafo). Portanto, isso traz algumas perguntas adicionais:
No mínimo, não estaríamos capturando metade da conversa com a abordagem que descrevi? Ou um cliente enviaria tráfego DNS que não está na forma de uma consulta? (talvez como algum tipo de resposta à resposta de um servidor DNS e talvez acabe saindo pelo TCP)
As consultas DNS podem ser modificadas para usar o TCP? Um servidor DNS aceitaria e responderia a uma consulta DNS vinda do TCP?
Não tenho certeza se é relevante, mas limitamos as solicitações de DNS a servidores DNS autorizados e bloqueamos todo o tráfego de saída pela porta 53. Sou definitivamente um novato, então, desculpe se minha pergunta não é compatível e avise-me. como eu deveria modificar.