使用 elk 检索 pfSense/freeBSD 日志

使用 elk 检索 pfSense/freeBSD 日志

我正在尝试集中来自不同系统的日志。

我在一台服务器(名为 elk)上安装了 Elastick Stack(Elasticsearch、Logstash、Kibana)和 WAZUH OSSEC。

我已经在三台 ubuntu 服务器上安装了 OSSEC 代理,并且能够检查日志和文件完整性。

但是,我如何才能从 pfSense 获取日志?我尝试通过编译来安装 OSSEC 代理,但这并不容易……我原本想通过远程系统日志来安装,但似乎行不通……

在 pfSense 界面 -> 状态 -> 系统日志 -> 设置中,我将我的 elk 的地址和端口放在远程日志服务器字段中,并在 elk 的 /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>

但是当我使用 Kibana 将 pfSense 可视化时,我没有收到任何日志...您知道如何让它工作吗?

答案1

尝试运行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

相关内容