Я потратил немного времени на изучение этой темы и, похоже, не могу найти точного ответа, поэтому я вполне уверен, что это не дубликат, и хотя мой вопрос основан на необходимости обеспечения безопасности, я думаю, что все еще безопасно спросите здесь, но дайте мне знать, если мне нужно переместить это сообщество безопасности.
По сути, DNS-запросы когда-либо используют TCP (если так, какой сценарий это может произойти)? Опять же, я говорю только о запросах. Могут ли они путешествовать по TCP? Если длина доменов не может превышать 253 байта, а пакеты UDP могут достигать 512 байтов, разве запросы не всегда будут передаваться как UDP? Я не думал, что разрешимый запрос может быть достаточно большим, чтобы потребовать использования TCP. Если DNS-сервер когда-либо получал запрос на домен размером более 253 байт, сервер отбросит его / не попытается разрешить? Я уверен, что я сделал некоторые ложные предположения здесь.
В некоторых случаях я работаю с группой безопасности над тем, чтобы включить запросы DNS в их инструмент мониторинга безопасности, и по разным причинам мы решили, что мы будем захватывать этот трафик с помощью стандартного захвата пакетов на DNS-серверах и контроллерах домена. Основным требованием является сбор всех DNS-запросов, чтобы они могли определить, какой клиент пытался разрешить любой данный домен. Исходя из этого требования, мы не занимаемся захватом ответов DNS или другого трафика, такого как передача зон, что также обусловлено тем фактом, что нам необходимо максимально ограничить объем журнала. Таким образом, мы планируем захватывать только DNS-запросы, предназначенные для DNS-сервера и отправленные через UDP. Для большего контекста (вид области вопроса ползет здесь), теперь поднято, что нам, возможно, потребуется расширить безопасность ' s видимость, чтобы они могли отслеживать активность, такую как скрытые каналы, работающие через DNS (что также потребовало бы перехватывать ответы DNS, а затем и трафик TCP). Но даже в таком сценарии я думал, что любой исходящий трафик DNS будет в форме запросов / запросов, и что они всегда будут передаваться по UDP, даже если они исходят из злонамеренного источника (из-за моих рассуждений в первом абзаце). Так что это поднимает некоторые дополнительные вопросы:
Разве мы не смогли бы захватить половину разговора с подходом, который я обрисовал? Или клиент отправит DNS-трафик не в форме запроса? (может быть, как какой-то ответ на ответ DNS-сервера, и, возможно, в конечном итоге выходит через TCP)
Можно ли изменить DNS-запросы для использования TCP? Будет ли DNS-сервер принимать и отвечать на запросы DNS, поступающие через TCP?
Не уверен, что это актуально, но мы ограничиваем запросы DNS только авторизованными DNS-серверами и блокируем весь остальной трафик, исходящий через порт 53. Я определенно новичок, поэтому извините, если мой вопрос не соответствует требованиям, и дайте мне знать как я должен изменить.