為什麼我的 iptables 不記錄日誌?

為什麼我的 iptables 不記錄日誌?

我有一個在 Ubuntu 16.04 上運行的 Linux 伺服器。今天我安裝了PSAD,一個入侵偵測系統。

PSAD 透過分析 iptables 的日誌檔案來運作。因此,在使用 PSAD 之前要做的第一件事是啟用 iptables 日誌記錄。

sudo iptables -A INPUT -j LOG
sudo iptables -A FORWARD -j LOG

我運行了連接埠掃描並隨後調用了 PSAD 狀態。它應該顯示發生了連接埠掃描,但沒有顯示任何內容。只是還沒有進行連接埠掃描。

一段時間後我意識到,iptables 沒有記錄日誌。沒有日誌檔案包含 iptables 日誌。我調查了

  • /var/log/messages,預設情況下它們應該位於其中,但檔案為空
  • /var/log/kern.log
  • /var/log/syslog

沒有什麼。也許值得注意的是我使用的是UFW。我關注了一個PSAD 和 UFW 教程,但仍沒有任何反應。也沒有記錄在教程中建立的新檔案。

可能是什麼原因?我沒有自己搭建伺服器。最重要的安全措施已經在我面前完成了。也許他們已經刪除了一些軟體包。如果您能幫助我,那就太好了,伺服器必須是安全的。

答案1

IP 表中的規則從上到下套用。

每當規則應用於套件時,它都會按照規則定義進行處理,並且(如果沒有配置不同)會導致離開規則鏈。

這表示如果您的 LOG 規則位於其他規則之下,它將僅適用於先前未由規則處理的套件。

如果您想要記錄每個套件,請將 LOG 規則放在對應規則鏈的頂部。


順便一提:iptables 的預設日誌檔位於/var/log/kern.log

答案2

可能在 (r)syslog 中停用了核心日誌記錄。將其新增至 /etc/rsyslog.conf 檔案: kern.warn /var/log/firewall.log並重新載入 syslog。

之後,制定一些規則,例如,iptables -A -p tcp --dport 22 -j LOG --log-prefix " ALERT " --log-level=warning

並掃描你的 SSH 連接埠。

答案3

取消註解以下行/etc/rsyslog.conf

module(load="imklog") # provides kernel logging support

然後運行

service rsyslog restart

使用檢查日誌

tail -f /var/log/syslog

或者:

date; stat /var/log/syslog

相關內容