Я работаю над задачей, в которой моя команда безопасности просит предоставить файл pcap в папке /var /log /snort. Они выбрали IPADDRESS-источник из файла оповещения, и им необходимо провести дополнительный анализ файлов pcap (то есть snort.log.xxxxxxx) для этого IP-адреса источника.

Файл предупреждений и файлы snort.log.xxxxx находятся в одной папке. Как дать им точный файл snort.log.xxxxx для анализа? Пожалуйста, дайте некоторые команды или любую технику, чтобы сделать это. Я очень новичок в этой области. Я работаю на машине с Linux (Centos 7), где snort выводит журналы.

1 ответ1

0

Как вы сказали, по умолчанию Snort будет вести журнал двумя способами:

  1. файл alert - содержит метаданные оповещения в текстовом формате
  2. snort.log.########## - PCAP пакета (ов), который вызвал предупреждение

Я бы сделал это (используя только базовые команды linux bash):

Единый подход оповещения

Чтобы найти записи оповещений:

Найдите файл alert . Вы можете искать по IP-адресу или по имени оповещения, используя grep .

grep "PATTERN" /var/log/snort/alert

Типичная строка записи журнала будет выглядеть так:

01/04-03:28:11.959559  [**] [1:1000001:1] Signature_Name [**] [Classification: Attempted User Privilege Gain] [Priority: 1] {TCP} 192.168.1.1:80 -> 192.168.1.128:39590

Чтобы найти соответствующий файл PCAP:

Затем, чтобы выяснить, какой файл был записан, вы можете просмотреть измененное время в длинном списке каталогов (ls -l) или преобразовать временную метку (не забудьте добавить год и поставить пробел между дата и время) для определения времени эпохи с помощью следующей команды:

date "+%s" -d "01/04/2018 03:28:11.959559"

Выход:

1515054491

Затем найдите файл с именем snort.log.1515054491 . Это должно содержать данные PCAP.

Если вам нужно несколько журналов для одного IP-адреса

Это подход кувалдой. Если они хотят, чтобы записи из обоих файлов относились только к одному IP-адресу, я бы сделал следующее:

Записи файла оповещения

Grep для IP-адреса, а затем записать вывод в отдельный файл.

grep "192.168.1.1" /var/log/snort > /tmp/alerts_192.168.1.1.txt

Это должно просто отфильтровать только те строки, где появляется IP-адрес, и перенаправить его в новый файл, который вы можете предоставить группе безопасности.

Файлы PCAP

Я бы проявил осторожность при этом, так как каталог журнала snort может быть очень большим, и перебор большой группы файлов может создать нагрузку на систему (особенно если это датчик с очень большим объемом трафика). Я бы рекомендовал использовать маску файла для приблизительного периода времени для данных, которые вы ищете. Имейте в виду, этот период времени должен быть в формате эпохи.

Скажем, команда хочет, чтобы все вернулось назад час назад (3600 секунд). Отметка времени эпохи составляет 1515054491. Вычтите 3600 из этого, и вы получите 1515050891.

1515050891 - Start
1515054491 - End
151505???? - File mask (close enough)

Затем я создал бы цикл for, чтобы перебрать все эти файлы и выполнить команду tcpdump для фильтрации только по рассматриваемому IP-адресу.

tcpdump -r infile -w outfile "BPF"

Варианты:

  • -r для чтения из файла (в отличие от запуска прямого захвата из интерфейса)
  • -w для записи в файл
  • "BPF" - фильтр пакетов Berkley (в этом случае это будет «host 192.168.1.1» для указания любых пакетов с этим IP.)

А теперь цикл for:

cd /var/log/snort
for file in snort.log.151505????
do
    tcpdump -r $file -w /tmp/$file "host 192.168.1.1"
done

И теперь у вас должна быть копия всех ваших файлов предупреждений в папке /tmp , но только с данными, относящимися к этому конкретному IP-адресу. Если у вас установлен mergecap , я бы порекомендовал объединить все это в один файл PCAP, используя следующее:

mergecap -w /tmp/snort_log_192.168.1.1.pcap /tmp/snort.log.*

Вы должны знать, что в /tmp есть два файла:

  • /tmp/alerts_192.168.1.1.txt
  • /tmp/snort_log_192.168.1.1.pcap

Затем предоставьте эти файлы вашей группе безопасности.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .