天下网吧 >> 网吧天地 >> 网吧技术 >> 网吧系统 >> 正文

Fedora Core6中IPtables日志管理技巧

2008-4-8赛迪网佚名

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

欢迎访问最专业的网吧论坛,无盘论坛,网吧经营,网咖管理,网吧专业论坛https://bbs.txwb.com

关注天下网吧微信,了解网吧网咖经营管理,安装维护:


本文来源:赛迪网 作者:佚名

声明
本文来源地址:0
声明:本站所发表的文章、评论及图片仅代表作者本人观点,与本站立场无关。若文章侵犯了您的相关权益,请及时与我们联系,我们会及时处理,感谢您对本站的支持!联系Email:support@txwb.com.,本站所有有注明来源为天下网吧或天下网吧论坛的原创作品,各位转载时请注明来源链接!
天下网吧·网吧天下
  • 本周热门
  • 本月热门
  • 阅读排行