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

Получение журналов pfSense / freeBSD с помощью elk

Я пытаюсь централизовать журналы из разных систем.

Я установил Elastick Stack (Elasticsearch, Logstash, Kibana) и WAZUH OSSEC на одном сервере (названном elk).

Я установил агент OSSEC на три сервера ubuntu и могу проверять журналы и целостность файлов.

Однако как я могу получить журналы из pfSense? Я попытался установить агент OSSEC, скомпилировав его, но это не так просто ... Я думал сделать это через удаленный системный журнал, но похоже, что он не работает ...

В интерфейсе pfSense -> Статус -> Системные журналы -> Настройки я поместил адрес и порт моего лося в поле удаленного сервера журналов и добавил это в /var/ossec/etc/ossec.conf лося:

<remote>
    <connection>syslog</connection>
    <port>514</port>
    <protocol>udp</protocol>
    <allowed-ips>192.168.2.0/24</allowed-ips>
    <local_ip>192.168.2.4</local_ip>
</remote>

Но я не получаю никаких журналов моего pfSense, когда визуализирую их с помощью Kibana ... Вы знаете, как заставить его работать?

Попробуйте бежать tcpdump чтобы подтвердить, что у вас есть трафик с устройства pfSense. Например, вы можете запустить что-то вроде:

tcpdump -nni eth0 port 514 -s 0 -AA 

Это покажет вам заголовок пакета и полезную нагрузку.

Попробуйте также проверить, что ossec-remoted процесс прослушивает входящий трафик. Вы можете сделать это, запустив:

netstat -nap | grep 514

Кроме того, как еще один вариант, который мне лично нравится, вы можете использовать (на сервере Wazuh) демон Rsyslog для сбора данных Syslog и их сохранения в файл.

Затем вы можете настроить компонент сборщика журналов сервера Wazuh для чтения этого файла журнала, чтобы он также обрабатывался Wazuh и механизмом анализа.

Хороший инструмент для отслеживания, если Rsyslog записывает в файл, и если компонент ossec-logcollector читает, он работает lsof. Пример:

lsof /var/log/your_syslog_file.log

Чтобы использовать Rsyslog, вам необходимо настроить его для прослушивания удаленных данных и правила для записи журналов в файл. Пример правила:

if ($fromhost == '192.168.98.1') and ($msg contains 'pfSense') then -/var/log/your_syslog_file.lgo

Если вы пойдете этим путем, чтобы избежать конфликта, не забудьте отключить ossec-remote sysl