|簡體中文

比思論壇

 找回密碼
 按這成為會員
搜索



查看: 634|回復: 0
打印 上一主題 下一主題

IPtables日志管理

[複製鏈接]

86

主題

3

好友

577

積分

中學生

Rank: 3Rank: 3

  • TA的每日心情
    開心
    2024-10-15 21:32
  • 簽到天數: 1627 天

    [LV.Master]伴壇終老

    推廣值
    0
    貢獻值
    0
    金錢
    7346
    威望
    577
    主題
    86
    樓主
    發表於 2014-11-15 20:25:36
    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

    重要聲明:本論壇是以即時上載留言的方式運作,比思論壇對所有留言的真實性、完整性及立場等,不負任何法律責任。而一切留言之言論只代表留言者個人意見,並非本網站之立場,讀者及用戶不應信賴內容,並應自行判斷內容之真實性。於有關情形下,讀者及用戶應尋求專業意見(如涉及醫療、法律或投資等問題)。 由於本論壇受到「即時上載留言」運作方式所規限,故不能完全監察所有留言,若讀者及用戶發現有留言出現問題,請聯絡我們比思論壇有權刪除任何留言及拒絕任何人士上載留言 (刪除前或不會作事先警告及通知 ),同時亦有不刪除留言的權利,如有任何爭議,管理員擁有最終的詮釋權。用戶切勿撰寫粗言穢語、誹謗、渲染色情暴力或人身攻擊的言論,敬請自律。本網站保留一切法律權利。

    手機版| 廣告聯繫

    GMT+8, 2024-11-1 07:45 , Processed in 0.018015 second(s), 16 queries , Gzip On, Memcache On.

    Powered by Discuz! X2.5

    © 2001-2012 Comsenz Inc.

    回頂部