国产一级一区二区_segui88久久综合9999_97久久夜色精品国产_欧美色网一区二区

掃一掃
關注微信公眾號

Fedora6中IPtables日志管理技巧
2008-07-11   賽迪網

Iptables的手冊中提到LOG target這個target是專門用來記錄數據包有關信息的。這些信息可能是非法的,那就可以用來除錯。LOG會返回包的有關細節,如IP頭的大部分和其他有趣的信息。這個功能是通過內核的日志工具完成的,一般是syslogd。返回的信息可用dmesg閱讀,或者可以直接查看syslogd的日志文件,也可以用其他的什么程序來看。LOG對調試規則有很大的幫助,你可以看到包去了哪里、經過了什么規則的處理,什么樣的規則處理什么樣的包,等等。下面我們來實現如何通過內核的日志工具管理IPtables日志。

一、配置syslogd的配置文件/etc/syslog.conf

syslogd默認把日志信息輸出到/var/log/messages文件。下面向大家介紹如何建立一個新的IPtables日志文件/var/log/iptables。修改syslogd的配置文件/etc/syslog.conf,告訴syslogd IPtables使用哪個記錄等級。記錄等級的詳細信息可以查看文件syslog.conf,一般來說有以下幾種,它們的級別依次是:debug, info,notice,warning,warn,err,error,crit,alert, emerg,panic。其中,error和err、warn和warning、panic和emerg分別是同義詞,也就是說作用完全一樣的。注意這三種級別是不被贊成使用的(因為信息量太大)。信息級別說明了被記錄信息所反映的問題的嚴重程度。

IPtables的所有LOG信息可以通過內核的功能被記錄。

首先在文件syslog.conf里添加如下內容

# Iptables logging
kern.debug      /var/log/iptables

然后再指定iptables的LOG規則使用級別debug(例如: iptables -I INPUT 1 -j LOG --log-prefix '[IPTABLES DROP LOGS]:' --log-level debug),就可以把所有的信息存入文件/var/log/iptables內。

最后重新啟動syslog服務或重啟計算機。

我用的是FC6,用service syslog restart命令可以很方便地啟動syslog服務。

二、使用IPtables滾動日志

所有的日志文件都會隨著時間的推移和訪問次數的增加而迅速增長,因此必須對日志文件進行定期清理以免造成磁盤空間的不必要的浪費。FC6下有一個專門的日志滾動處理程序logrotate,logrotate能夠自動完成日志的壓縮、備份、刪除工作,系統默認把logrotate加入到系統每天執行的計劃任務中,這樣就省得管理員自己去處理了。

首先查看并確定logrotate的配置文件/etc/logrotate.conf內容如下:

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp -- we'll rotate them here
/var/log/wtmp {
    monthly
    create 0664 root utmp
    rotate 1
}

# system-specific logs may be also be configured here.

然后在syslog的滾動日志配置文件/etc/logrotate.d/syslog里面添加IPtables的日志文件/var/log/iptables,詳細內容如下:

/var/log/iptables /var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
    sharedscripts
    postrotate
    /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

最后安排logrotate每天執行一次,確定文件/etc/cron.daily/logrotate內容如下:

#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

至此我們就為IPtables創建了單獨的滾動日志,可以更好地分析網絡攻擊信息。

熱詞搜索:

上一篇:服務器如何防溢出?
下一篇:入侵后自保 3389下擦除日志

分享到: 收藏
主站蜘蛛池模板: 大冶市| 轮台县| 台东市| 嵊泗县| 略阳县| 富源县| 内江市| 墨竹工卡县| 时尚| 宝丰县| 岱山县| 鹰潭市| 阿城市| 临城县| 临潭县| 西林县| 安陆市| 油尖旺区| 富顺县| 富川| 鹰潭市| 山东省| 水富县| 庆安县| 辽中县| 平南县| 龙川县| 扬中市| 郁南县| 河南省| 右玉县| 陇西县| 惠安县| 青河县| 都昌县| 临高县| 中牟县| 永泰县| 察雅县| 噶尔县| 桑植县|