Shorewall:记录到自定义文件

Shorewall:记录到自定义文件

我正在运行Ubuntu 服务器 14.04系统岸墙防火墙。Shoewall 本质上是iptables,并且 iptables 通过 Netfilter 进行日志记录(这是我目前的理解)。

我的问题是我无法理解有关日志记录的 shorewall 文档去往不同的目的地。这是我已经走了多远:

  • 我安装并启动ulogd
  • 我在中定义了一个变量/etc/shorewall/paramsLOG=NFLOG
  • info我把所有出现的$LOG改为/etc/shorewall/shorewall.conf
  • 我将日志目标设置为/etc/shorewall/shorewall.confLOGFILE=/var/log/shorewall

这据称可以实现以下目标:Netfilter 记录到NFLOG(的后继ULOG)目的地,这意味着 Netfilter 日志消息由 处理ulogd2

我不知道的是,如何将ulogd2所有 Shorewall 消息写入我想要的日志文件/var/log/shorewall

文档对此不太清楚,因为此论坛主题作证。这博客文章ulogd2我发现关于日志重定向的内容同样模糊不清。

总之:

  1. 我重定向 Shorewall 日志消息的方法是否ulogd2正确?
  2. 我该如何配置ulogd2以将 shorewall 的消息重定向到/var/log/shorewall

PS:我不是在 AskUbuntu 上问这个问题,因为这与其他 Linux 发行版同样相关。

答案1

Ubuntu 使用 rsyslog,因此您可以将其配置为过滤消息并将其写入任意日志文件,例如创建文件 /etc/rsyslog.d/shorewall.conf

:msg, contains, "Shorewall:" /var/log/shorewall
& ~

或者如果你想要进一步拆分

:msg, contains, "Shorewall:cust2net:ACCEPT:" /var/log/shorewallc2na.log
& ~

:msg, contains, "Shorewall:" /var/log/shorewall
& ~

将所有包含“Shorewall:cust2net:ACCEPT:”的消息放入一个日志文件,并将任何其他包含“Shorewall”的消息放入不同的日志文件。

您需要重新启动 rsyslogd 才能使其生效。

答案2

我认为你忘记更新文件了policy

#SOURCE     DEST    POLICY      LOG LEVEL   LIMIT:BURST
$FW         net  ACCEPT
net         all     DROP        $LOG
# The FOLLOWING POLICY MUST BE LAST
all         all     REJECT      $LOG

相关内容