中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 操作系统 > Linux > Fedora Linux
Fedora Core6中IPtables日志管理技巧
作者:anyager 时间:2007-12-05 17:15 出处:ccidnet 责编:月夜寒箫
              摘要:Fedora Core6中IPtables日志管理技巧
 

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创建了单独的滚动日志,可以更好地分析网络攻击信息。

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有