基于rsyslog的iptables.log配置

 
 
                                                                                       iptables.log
防火墙工作在linux内核的网络栈上。在防火墙开启的情况下任何通过网卡(包括进和出)的包都需要防火墙来处理。默认情况下防火处理过的包都是不记录的。有时候因系统安全及业务的需要对防火墙处理过的某些数据包要分析,此时通过日志的形式详细记录防火墙的处理细节就显得尤为重要。下面介绍基于rsyslog的防火墙日志配置。
一、准备工作
  1.安装rsyslog
     # yum install syslog
二、在防火墙添加规则。关于LOG的参考文档:https://help.ubuntu.com/community/IptablesHowTo
     # iptables -A INPUT -p tcp –dport 22 -j LOG –log-prefix "one: "  #此处的"one: "自行定义,有意义即可。可以理解为符合此规则的数据包防火墙都给打上一个标示"one: "
     # iptables -A INPUT -p tcp –dport 22 -j ACCEPT

     
     # iptables -A OUTPUT -p tcp –sport 80 -j LOG –log-prefix "two: "
     # iptables -A OUTPUT -p tcp –sport 80 -j ACCEPT
                          .
                          .
                          .
    例子中只是对netfiler表,INPUT和OUTPUT链来说明,也可以根据业务需要对其他表、链打标示符
三、iptables.log的配置。
   在给防火墙添加规则的过程中给特殊的数据包打标示,下面的配置中将用到。iptables.log中将记录防火有标示的数据包的处理细节。
   # vim /etc/rsyslog.d/iptables.conf (此文件默认是不从在的) 添加如下内容
     :msg, contains, "one: " -/var/log/iptables.log
     & ~
     :msg, contains, "two: " -/var/log/iptables.log
     & ~

四、启动rsyslog
    service rsyslog start 或 service rsyslog restart

原创文章,作者:马仙山,如若转载,请注明出处:http://www.178linux.com/11121