Назад | Перейти на главную страницу

Почему Snort не соответствует ответу DNS?

Скорее всего, это недоразумение новичка.

Система: Ubuntu AMD64, 14.04.03 LTS; установлен Snort с конфигурацией по умолчанию.

Я пишу правило Snort, которое касается ответов DNS. Чтобы убедиться, что все работает, я написал следующее правило:

alert udp any any -> any any (msg:"UDP"; sid:10000001; rev:001;)

Затем я использую -r file.pcap с Snort, чтобы проверить мое правило.

В моем файле pcap 4 пакета:

  1. DNS-запрос на запись A.
  2. Ответ DNS для записи A.
  3. DNS-запрос на запись TXT.
  4. Ответ DNS на запись TXT.

И клиент, и сервер находятся в одной сети / 24. Используется порт DNS на стороне сервера по умолчанию (53).

Когда я запускаю Snort на своем pcap, он предупреждает о запросах, но не об ответах. Я даже пробовал запустить Snort вживую и использовать dig для генерации DNS-запросов. Такое же поведение: предупреждения о запросах, но не ответах.

$ snort -A console -q -u snort -g snort -c snort.conf -r dns.pcap 
11/05-19:13:00.754320  [**] [1:10000001:1] UDP [**] [Priority: 0] {UDP} 192.168.188.11:35977 -> 192.168.188.10:53
11/05-19:13:15.734932  [**] [1:10000001:1] UDP [**] [Priority: 0] {UDP} 192.168.188.11:50795 -> 192.168.188.10:53

Почему Snort не предупреждает об ответах?

Согласно этот вопрос, добавив -k none, который отключает проверку контрольной суммы, приводит к предупреждению всех четырех пакетов.

Пока читается файл pcap, я не совсем понимаю, почему нельзя вычислить контрольную сумму, но я думаю, что на самом деле это другой вопрос.