Windows Server 2019

DNS Аудит запитів клієнтів у Windows Server, журналів DNS

DNS Аудит запитів клієнтів у Windows Server, журналів DNS

У цій статті ми розглянемо, як включити логістику всіх запитів користувачів DNS, які отримує сервер DNS на сервері Windows та виконує їх аналіз. У мене це було, коли було потрібно прикрасити (видалити) старий контролер домену Active Directory у гілці, і необхідно було зрозуміти, які пристрої все ще використовують цей DNS -сервер. Після включення журналу DNS та його аналізу я зміг знайти решту пристроїв та перенастроювати їх на інші сервери DNS. Крім того, ця методика допоможе вам знайти хостів у мережі з підозрілою активністю (звернення до шкідливих URL -адрес, хостів хостів тощо.D.).

Звичайно, ви можете надіти Wireshark, Network Monitor або PKTMON SERVER і відстежувати весь трафік на 53 портах, але використовувати запити DNS -функції вбудованого входу набагато простіше.

За замовчуванням Windows Server відключив DNS, що реєструють усі пакети. Щоб увімкнути його:

  1. Запустіть консоль DNS Manager ( Dnsmgmt.MSC ) і підключитися до потрібного сервера DNS;
  2. Відкрийте свої властивості та перейдіть на вкладку Реєстрація налагодження;
  3. Увімкніть опцію Пакети журналів для налагодження;
  4. Далі ви можете налаштувати параметри логістики: виберіть напрямок DNS, протокол (UDP та/або TCP), типи пакетів (прості запити DNS, запити на оновлення записів, сповіщення);
  5. За допомогою варіанту Фільтр -пакети за IP -адресою Ви можете вказати IP -адреси, для яких вам потрібно увійти в надсилання пакетів (допоможіть значно зменшити розмір журналу).
  6. В полі Шлях та ім'я файлу журналу Вкажіть назву текстового файлу, в якому потрібно записати всі події. За замовчуванням розмір журналу DNS обмежений 500 Мб. Після досягнення цієї межі старі події почнуть перезавантажуватись новими.

Ви також можете ввімкнути журнал DNS або отримати поточні налаштування за допомогою PowerShell:

Get-dnsserverdiagnostics

Зверніть увагу, що на високо завантажених серверах Windows реєстрація запитів DNS може спричинити додаткове завантаження на підсистему процесора, пам'яті та диска (диски повинні бути досить виробничими).

Тепер слідкуйте за будь -яким комп'ютером DNS запит на цей сервер (IP -адреса нашого хоста DNS з Windows Server 192.168.13.10), наприклад:

Nslookup winitpro.RU 192.168.13.10

Або подайте запит DNS за допомогою PowerShell:

Resolve -dnsname -name winitpro.ru -server 192.168.13.10

Цей запит повернувся клієнту IP -адресу запитуваного сервера.

Тепер ми перевіримо, чи відображається цей запит у журналі сервера DNS.

Для цього ми будемо шукати текстовий журнал за IP -адресою клієнта (192.168.13.200). Ви можете відкрити файл журналу в зошиті, або ви можете шукати його за допомогою PowerShell:

Get-content "c: \ logs \ dc01_dns.журнал "| out-sting -stream | select-rning" 192.168.13.200 "

Подія виглядає так:

29.04.2021 2:30:20 ранку 0D0C Пакет 00000272D98DD0B0 UDP RCV 192.168.13.200 0002 Q [0001 D Номер] A (8) WinitPro (2) RU (0)

Як бачите, журнал вказує: від клієнта 192.168.13.200 отриманий (RCV) запит DNS протоколу UDP для вирішення (8) WinitPro (2) RU (0), а потім сервер DNS успішно (Noerror) надіслав йому відповідь (SND).

Усі поля описані на початку файлу:

Поле # Інформаційні значення ------------------------ 1 Дата 2 Час 3 Ідентифікатор потоку 4 Контекст 5 Ідентифікатор Інтернету 6 Індикатор UDP/TCP 7 Надіслати/ Індикатор прийому 8 Віддалений IP 9 XID (шістнадцятковий) 10 Запит/Відповідь r = Відповідь порожній = Запит 11 Опкод Q = Стандартний запит n = Повідомлення u = оновлення ? = Невідомий 12 [прапори (шістнадцять) 13 прапорів (коди чар) a = авторський asswer t = усічена відповідь d = recursion бажана r = recursion avainable 14 Відповідь 15 Питання тип 16 quessecode 

Через конкретний формат досить складно проаналізувати журнал DNS, отже, перетворити запити DNS у більш зручний формат, ви можете використовувати готовий сценарій PowerShell Get-dnsdebuglog.PS1.

Сценарій не мій, але, на жаль, він зараз недоступний у Technet ScriptCenter через наступні зміни в Microsoft, тому я врятував його в своєму сховищі в Github https: // github.Com/winadm/posh/blob/master/dns/get-dnsdebuglog.PS1

Завантажте цей файл на свій диск. Потім дозвольте запустити сценарії PowerShell на поточній консолі:

Встановити -executionPolicy -cope процес необмежено

Імпортуйте функцію з файлу get-dnsdebuglog.PS1 до вашого сеансу:

. C: \ ps \ get-dnsdebuglog.PS1

Тепер ви можете перетворити журнал DNS у більш зручний вигляд:

Get -dnsdebuglog -dnslog c: \ logs \ dc01_dns.Журнал | Таблиця формату

[Або ви можете експортувати результат у файл CSV для подальшого аналізу в Excel (або ви можете безпосередньо звернутися до PowerShell у файл Excel і ввести в нього необхідні рядки).

Get -dnsdebuglog -dnslog c: \ logs \ dc01_dns.Журнал | Export-CSV C: \ log \ truglyformeddnslog.CSV -notypeInformation

Ви можете експортувати цей файл для Excel та використовувати його для аналізу запитів DNS (файли містять хост -адреси та DNS, для яких вони звернулися до вашого сервера DNS).

Також для аналізу файлу журналу за допомогою DNS ви можете використовувати запити Лєг -аналізатор 2.2 (https: // docs.Microsoft.Com/en-sus/archive/blogs/secadv/parsing-dns-server-log-track-clients). Наприклад, наступна команда відображатиме інформацію про кількість запитів DNS з кожної IP -адреси:

Logparser.Exe -i: tsv -nskiplines: 30 -headerrow: Off -EiseParator: Простір -nsep: 1 -fixedsep: Off -rtp: -1 "Виберіть поле9 як ip, reversens (ip) як ім'я, кількість (ip) як -qurecuunt Forom "c: \ logs \ dc01_dns.Повідомте "What Field11 =" Q "за IP -замовленням за допомогою QueryCount DESC"

У цьому прикладі ми використовували текстові файли для збору журналів DNS. У Windows Server 2012+ ви можете записувати запити DNS безпосередньо в журнал «Переглядач подій» ( Microsoft-Windows-DNS-Server/Audit ). Але на мою думку, текстові журнали набагато простіше аналізувати.

Звичайно, якщо вам потрібно увійти в запити DNS для багатьох серверів, бажано надсилати їх звичайну систему для збору журналів, зберігання та обробки журналів, таких як Splunk, Elk, Graylog або Azure Logal Analytics.

Увімкнувши журнал DNS та його аналіз, я знайшов IP -адреси пристроїв, які все ще використовують цей DNS -сервер, і переобладнали їх на інші сервери DNS. Тепер, якщо старий постійний струм не містить ролей FSMO, то його можна спокійно видалити (події логотипу користувача не відіграють роль).

Вибір найкращих програм для обробки фотографій
Великий вибір найкращих редакторів фотографій для різних операційних систем. Розглянемо програми для Windows, MacOS, Linux, а також популярних мобільн...
Найкращі розширення для Internet Explorer
Internet Explorer - це стандартний браузер, який постачався разом з операційними системами Windows до того, як його замінили Edge Observer. Програма н...
Як користуватися Safehouse Explorer Створіть зашифрований віртуальний розділ
Windows має власну технологію шифрування Бітлокер, Швидкий, комфортний та надійний, з підтримкою захисту окремих обсягів, TRM та позначення ГПП. Він і...