LINUX下防火牆iptables的日誌管理心得

LINUX下防火牆iptables的日誌管理心得

  iptables的日誌(log)由syslogd紀錄和管理。初始存放在 /var/log/messages裡面。自動採取迴圈紀錄(rotation)的方式記錄。但是由於混在 messages中,對於管理和監視產生了不便。這裡,我簡單介紹一下我的 iptables日誌的管理,迴圈,和自動報告生成的經驗:

  由於iptables是linux的核心本身的功能,由dmesg或syslogd的.facility結合核心管理。iptables的日誌的初始值是[warn(=4)], 需要修改 syslog.conf。

  ---------------------------------------------------------------

  :

  kern.=warn /var/log/kern-warn-log←可以自己決定檔名

  ---------------------------------------------------------------

  這裡,facility在[kern]是 priority 的[warn], 日誌將被記錄在 /var/log/kern-warn-log 。

  日誌迴圈的設定方法:

  在 /etc/logrotated.d/syslog 中追加以下語句:

  --------------------------------------------------------------

  :

  /var/log/kern-warn-log {

  rotate 50 剩餘檔案數

  postrotate

  /bin/kill -HUP `cat /var/run/syslogd.pid 2>/dev/null` 2>/dev/null || true

  endscript

  }

  --------------------------------------------------------------

  /etc/logrotate.conf的初始設定是每週一進行一次log的迴圈。所以每週的日誌將被存在 /var/log/kern-warn-log 中,之前的舊日誌將被順次儲存在 kern-warn-log.1 ----- kern-warn-log.50 中。

  另外還有一種方法就是 透過iptables直接獲取日誌:(一般不用)

  # iptables -A INPUT -s 127.0.0.1 -p icmp -j LOG --log-prefix "iptables icmp-localhost "←儲存從eth0 進入的packet紀錄

  # iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP←廢除從eth0進入的packet紀錄

  這樣一來,/var/log/kern-warn-log的內容將如下所示:

  Sep 23 10:16:14 hostname kernel: iptables icmp-localhost IN=lo OUT= MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1 LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=57148 SEQ=256

最近訪問