Я витратив трохи часу на дослідження цієї теми і, здається, не можу знайти точну відповідь, тому я впевнений, що це не дублікат, і хоча моє питання ґрунтується на потребі безпеки, я думаю, що це все ще безпечно запитайте тут, але дайте мені знати, чи потрібно мені перенести його до спільноти безпеки.
По суті, чи запити 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. Я, безумовно, новичок, тому вибачте, якщо моє питання не відповідає, і дайте мені знати як я повинен змінити.