Linux

防火牆:記錄到自定義文件

  • July 20, 2015

我正在執行帶有Shorewall防火牆的Ubuntu Server 14.04系統。Shorewall 本質上是iptables的前端,它是通過 Netfilter 進行日誌記錄的 iptables(我目前的理解)。

我的問題是我無法理解有關登錄到不同目的地的岸牆文件。這就是我已經走了多遠:

  • 我安裝並開始ulogd
  • 我在中定義了一個變數/etc/shorewall/paramsLOG=NFLOG
  • 我將所有出現info$LOG``/etc/shorewall/shorewall.conf
  • 我將日誌目標設置為/etc/shorewall/shorewall.confLOGFILE=/var/log/shorewall

這應該完成以下任務: Netfilter 將日誌記錄到NFLOG(繼任者ULOG)目的地,這意味著 Netfilter 日誌消息由ulogd2.

我不知道的是,我如何知道ulogd2將所有岸牆消息寫入我想要的日誌文件/var/log/shorewall

正如這個論壇文章所證明的那樣,文件對此相當不清楚。我發現這篇博文同樣含糊不清,關於ulogd2’ 的日誌重定向。

總之:

  1. 我的重定向岸牆日誌消息的方法是否完全ulogd2正確?
  2. 如何配置ulogd2將shorewall的消息重定向到/var/log/shorewall

PS:我不是在 AskUbuntu 上問這個問題,因為這與其他 Linux 發行版同樣相關。

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 才能使其生效。

引用自:https://serverfault.com/questions/591732