Shorewall在Debian上填满我的日志文件,如何阻止它?

时间:2012-08-15 20:46:07

标签: debian firewall

我在Debian 6.0上运行Shorewall作为防火墙和NAT。

我现在遇到一个问题,我的/ var / log / syslog和/ var / log / messages被这样的数十万行填满:

Aug 15 22:37:34 pathfinder kernel: [ 3091.789049] Shorewall:loc2fw:REJECT:IN=eth0 OUT= MAC=00:32:4d:7a:d7:53:00:24:8c:df:44:48:08:00 SRC=192.168.1.100 DST=83.233.146.100 LEN=104 TOS=0x00 PREC=0x00 TTL=64 ID=29973 PROTO=UDP SPT=60003 DPT=53247 LEN=84 
Aug 15 22:37:37 pathfinder kernel: [ 3094.790387] Shorewall:loc2fw:REJECT:IN=eth0 OUT= MAC=00:32:4d:7a:d7:53:00:24:8c:df:44:48:08:00 SRC=192.168.1.100 DST=83.233.146.100 LEN=104 TOS=0x00 PREC=0x00 TTL=64 ID=29974 PROTO=UDP SPT=60003 DPT=53247 LEN=84 

我不确定为什么192.168.1.100计算机正在执行此操作(尝试从路由器上的内部网络接口eth0中获取我的公共IP。现在没有多大关系,但我想停止获取我的日志充满了这一点。

我的日志设置如下/etc/shorewall/shorewall.conf

###############################################################################
#                              L O G G I N G
###############################################################################

LOGFILE=/var/log/messages

STARTUP_LOG=/var/log/shorewall-init.log

LOG_VERBOSITY=1

LOGFORMAT="Shorewall:%s:%s:"

LOGTAGONLY=No

LOGRATE=

LOGBURST=

LOGALLNEW=

BLACKLIST_LOGLEVEL=

MACLIST_LOG_LEVEL=info

TCP_FLAGS_LOG_LEVEL=""
# above was in original setting info

SMURF_LOG_LEVEL=info

LOG_MARTIANS=Yes

我尝试将log_verbosity设置为0和-1,但没有成功。我也尝试过(如你所见)将tcp_flag_log_level更改为空字符串。

shorewall的哪一部分会生成这些消息,如何阻止它们出现在我的日志文件中?

2 个答案:

答案 0 :(得分:3)

我发现了这个问题!

/ etc / shorewall / policy看起来像这样

###############################################################################
#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST

loc             net             ACCEPT
loc             $FW             ACCEPT
net             all             DROP            info
$FW             net             ACCEPT
# THE FOLLOWING POLICY MUST BE LAST
all             all             REJECT          info

我将此更改为

###############################################################################
#SOURCE         DEST            POLICY          LOG LEVEL       LIMIT:BURST

loc             net             ACCEPT
loc             $FW             ACCEPT
net             all             DROP            warn
$FW             net             ACCEPT
# THE FOLLOWING POLICY MUST BE LAST
all             all             REJECT          info

最后我的日志文件又恢复了理智。

答案 1 :(得分:0)

在/etc/cron.d中我放置了一个文件:log2zero。 基本上它运行8分钟命令将日志文件大于100mb设置为零。

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
*/8 * * * *   root  find /var/log /var/local/log -size +100M -type f | while read file; do cat /dev/null > $file && echo "$file > 100M (set to zero)"; done