前言
一旦连上网络,就充满各种危机。
许多人基于各式各样的理由,想侵入你的系统,这种人俗称为 cracker。尤有甚者,近年来,cracker 圈里流行一种结合病毒行为及系统漏洞的入侵工具,称为网虫(Netwrom),它以类似网络机器人(robot)的模式,到处扫射咬噬,已形成泛滥。比如:Lion、CodeRed、Nimda 等。现在你只要将一台新安装好的Win平台的机器连上网络,不消几分钟之内,即可钓中一堆 CoreRed 或 Nimda 咬噬的封包。
传统上,为了保护自身内部网络的安全,另一方面,也为了可以做 网络进出交通 的控管,通常所采用的方法是建构一层网络防火墙系统,在外部网络和内部网络之间,构筑一道屏障,以做为安全的区隔,使得特定的封包才能进入我们的内部网络,而将大部份奇奇怪怪的封包,如 Nimda 网虫扫射的封包,完全隔离在外,但同时,又可允许内部网络的机器自在地对外联机,内部的使用者上网的行为甚少需要有任何改变。
换言之,防火墙系统可区隔网络封包,使内部网络中流通的封包十分干净,更让网络管理者在安装新机器时,比如 NT/W2K,不致于一装好、连上网络就中标。单就这点,防火墙系统对校园网络管理者而言,就十分有价值。
不过,防火墙系统十分昂贵,平民百姓及小单位的我们实在买不起,而且其功能也未必就如其所宣称的那样足以符合我们的需求。因此许多前贤开始寻找其它替代的方案,在低成本、高效益、弹性大的考量下,使用 FreeBSD/OpenBSD/Linux 来建构小型防火墙系统蔚为流行。甚至许多公司拿 FreeBSD/Linux的防火墙机制为基础,制造出商用的防火墙系统;国内某一知名的防火墙公司,其防火核心即源自于 Linux。
什么是网络防火墙?
根据前述,在此我给防火墙一个简单的定义 (这是OLS3自己的说法,若有误谬,请不吝指正)。
"防火墙" 是指一套用来明显区隔两个(或以上)网络之间的一组软硬件装置,使网管人员得以事先制定种种安全规则,针对网络交通及安全程度,进行过滤控制和调整,最大的目的在于防止网络遭受入侵。
防火墙的种类?
防火墙大概可以分为以下三种:
? 封包过滤式 (Packet Filtering Firewall)
? 网关式
? 代理式
简单说明如下:
所谓封包过滤式防火墙是指:利用操作系统,在 IP 层及传输层运作,藉由检查封包的 IP 表头,来决定该封包的路由(放行/转向/丢弃/拒绝),而达到保护自身网络的功能。本次研习要介绍的防火墙,即属于封包过滤式的。这种防火墙的优点是:效能好、控管性高、成本低廉。
所谓网关式防火墙是指:所有外部网络可以到达的地方,仅止于这台网关主机,而内部网络的使用者欲连至外部网络,需要先登入这台网关主机。
所谓代理式防火墙是指:针对每一种应用服务程序,做代理伺服的工作,clietn端的使用者其实是和这台代理主机连接,而非外部网络的主机,但却可使client端的使用者,感觉到他真的在取用外部网络的主机服务一样,此种特性,称为 Proxy。代理式防火墙的优点是:可确保资料的完整性,只有特定的服务才会被交换,并可针对其内容做过滤防毒,可进行高阶的存取控制。
现代功能完备的的防火墙,经常结合封包过滤及Proxy代理这二种特性,不过价格相常地高。以中小学校园网络而言,封包过滤式的防火墙,其实已足敷需要了。
以下介绍需要的配备:
? 一部 PC (P100以上等级) + 二片网络卡(100M) , 硬盘不必太大 (当然 PC 的等级越高越好,不过太高也是一种浪费)
? 交换式集线器 + 若干条 RJ45 网络线
? RedHat 7.2 (或 RedHat 6.x)
以下介绍防火墙入门时,所需要的一些基本观念。
TCP/IP
Figure 2. TCP/IP 四层架构
封包过滤
所谓封包过滤,是一种小软件,它藉以检查 IP 封包的表头,来决定该封包的命运(接受/转向/丢弃/拒绝)。在 Linux 中,封包过滤的功能,已整合进入 Linux 核心(kernel)之中。
如何得知核心目前是有支持封包过滤功能呢?
查看此? /proc/net/ip_fwchains 是否存在便知(适用 Linux kernel 2.1.x~2.x)。
若此?不存在,则核心必须重新制作,打开封包过滤选项,重新编译安装之。
IP 封包,如下图所示:
Figure 3. IP 封包
Figure 4. TCP 封包
封包过滤程序,即根据 IP 封包的表头中的来源IP、目的IP、封包型态、取自TCP/UPD表头的 port 及其它一些旗标信息,来决定此封包最后的命运。
至目前为止,Linux 核心封包过滤已发展到了第四代:
第 1 代 : Linux 1.x 移植自 BSD 的 ipfw第 2 代 : Linux 2.0 ipfwadm第 3 代 : Linux 2.1~2.x ipchains第 4 代 : Linux 2.4~ iptables
服务信道 (Service Ports)
所谓服务信道(port)是指:主机中应用程序对外服务的管道。
port 的范围从 0 到 65535。1~1023 保留给系统专用,仅有 root 权限者才能使用,称之为:privileged ports (特权信道)。1024 ~ 65535 则称为 unprivileged ports (非特权信道)。
非特权信道有二种用途:
? 开放给系统中其它应用服务程序使用,如 mysql 用 3306, X11 用 6000。
? 当使用 client 端程序(如 ssh),连接到其它 server 主机的服务时(如 ssh server),系统会在 1024 ~ 65535 中,随机抽出一个未被占用的 port,指定给 client 联机端,来当作 client 端这边的通讯 port,此时 client端的IP、port 以及 server端的IP、port,四者形成联机时唯一的连结识别,当双方完成联机所需的沟通时,我们说:client 端和 server 端的联机,已经建立(ESTABLISHED)。(我们称这四者形成一组 socket pair。)
如下图所示:
Figure 5. client 和 server 联机图 (1)
Figure 6. client 和 server 联机图 (2)
常见的服务信道
Table 1. port list
IANA : port 的完整定义
IANA port numbers
封包的种类
有三种 IP 封包,我们称之为 IP 网络讯息。这三种封包,正是封包过滤型防火墙所要专注的对象。它们各有不同的特性,如下所示:
? ICMP (network layer / IP control / status messages)
? UDP (request / response)
? TCP (syn, syn/ack, ack 三向交握)
其过程,如下图所示。
Figure 7. ICMP ping and pong
Figure 8. UDP request/response
Figure 9. TCP 三向交握
私有 IP 空间
RFC 1918 里规定了三段范围的 IP,供私有网络(private network)实验用途使用,在公开的网络上它们不会被路由,正因为这种特性,因此极适合拿它们当作内部网络的 IP,从而达到保护内部网络的目的。列出如下:
? Class A : 10.0.0.0/8 (整个 10.0.0.0 的 A Class 的 IP,约 1 千 6 百多万个可用 IP
? Class B : 172.16.0.0/12 (共 16 个 B Class 的 IP,由 172.16.0.0 ~ 172.31.0.0,约一百万个可用 IP)
? Class C : 192.168.0.0/16 (共有 255 个 C Class 的 IP,即:192.168.1.0 ~ 192.168.255.0,约 65000 个可用 IP
NAT
何谓 NAT ?
NAT 的 Network Address Translation 的简称,简单来说,它是一种转换地址的技术,经常运用在防火墙的建置上,使得内部的私有 IP,转换成公开的 IP,而能和外界沟通。
IDS
何谓 IDS ?
IDS 是 Intrusion detection system 的简称(入侵侦测系统),它是一种监测封包进出、比对入侵型态、预防入侵攻击,并能适时提出警告的防御系统。
OLS3 推荐的 IDS 是 Snort,不输商用专业级的入侵侦测系统。
Figure 10. 可爱的 Snort
DMZ
何谓 DMZ ?
DMZ 是 De-militarized zone 的简称(非军事区),它是内部网络(军事区)和外部网络之间的一小段网络,该区可受 IDS 的侦测保护,亦可受防火墙的监控,或受其它安全机制的检测,有一点接近公开的网段,但却可以受到整个防火墙系统的保护。
封包过滤预设政策(Default Packet-Filtering Policy)
有二种预设的政策,设定防火墙时,要选择使用那一种。
1. 丢弃所有,欲放行,需用设定将它打开。(deny-everything policy)
2. 接受所有,欲丢弃,需用设定将它关闭。(accept-everything policy)
第一种比第二种安全,在设定上比较单纯。但第二种,比较容易使用,唯较容易忽略了某些考量。
以下介绍防火墙的架设步骤
1.备妥硬件及连接线
2.按预定的网络拓朴串接
3.安装OS,打开核心支持
4.设定防火墙规则
5.测试
6.校调
7.正式启用
8.观察运作情形,视情况再作调整
ipchains 的 manpage
IPCHAINS(8) IPCHAINS(8)
NAME
ipchains - IP firewall administration
SYNOPSIS
ipchains -[ADC] chain rule-specification [options]
ipchains -[RI] chain rulenum rule-specification [options]
ipchains -D chain rulenum [options]
ipchains -[LFZNX] [chain] [options]
ipchains -P chain target [options]
ipchains -M [ -L | -S ] [options]
DESCRIPTION
Ipchains is used to set up, maintain, and inspect the IP
firewall rules in the Linux kernel. These rules can be
divided into 4 different categories: the IP input chain,
the IP output chain, the IP forwarding chain, and user
defined chains.
For each of these categories, a separate table of rules is
maintained, any of which might refer to one of the user-
defined chains. See ipfw(4) for more details.
TARGETS
A firewall rule specifies criteria for a packet, and a
target. If the packet does not match, the next rule in
the chain is the examined; if it does match, then the next
rule is specified by the value of the target, which can be
the name of a user-defined chain, or one of the special
values ACCEPT, DENY, REJECT, MASQ, REDIRECT, or RETURN.
ACCEPT means to let the packet through. DENY means to
drop the packet on the floor. REJECT means the same as
drop, but is more polite and easier to debug, since an
ICMP message is sent back to the sender indicating that
the packet was dropped. (Note that DENY and REJECT are
the same for ICMP packets). [Note: this is incorrect; set-
ting ICMP to REJECT will cause ICMP port unreachables to
be sent!]
MASQ is only legal for the forward and user defined
chains, and can only be used when the kernel is compiled
with CONFIG_IP_MASQUERADE defined. With this, packets
will be masqueraded as if they originated from the local
host. Furthermore, reverse packets will be recognized as
such and they will be demasqueraded automatically, bypass-
ing the forwarding chain.
REDIRECT is only legal for the input and user-defined
chains and can only be used when the Linux kernel is com-
piled with CONFIG_IP_TRANSPARENT_PROXY defined. With
this, packets will be redirected to a local socket, even
if they were sent to a remote host. If the specified
redirection port is 0, which is the default value, the
destination port of a packet will be used as the redirec-
tion port. When this target is used, an optional extra
argument (the port number) can be supplied.
If the end of a user-defined chain is reached, or a rule
February 8, 1998 1
IPCHAINS(8) IPCHAINS(8)
with target RETURN is matched, then the next rule in the
previous (calling) chain is examined. If the end of a
builtin chain is reached, or a rule in a builtin chain
with target RETURN is matched, the target specified by the
chain policy determines the fate of the packet.
OPTIONS
The options that are recognized by ipchains can be divided
into several different groups.
COMMANDS
These options specify the specific action to perform; only
one of them can be specified on the command line, unless
otherwise specified below. For all the long versions of
the command and option names, you only need to use enough
letters to ensure that ipchains can differentiate it from
all other options.
-A, --append
Append one or more rules to the end of the selected
chain. When the source and/or destination names
resolve to more than one address, a rule will be
added for each possible address combination.
-D, --delete
Delete one or more rules from the selected chain.
There are two versions of this command: the rule
can be specified as a number in the chain (starting
at 1 for the first rule) or a rule to match.
-R, --replace
Replace a rule in the selected chain. If the
source and/or destination names resolve to multiple
addresses, the command will fail. Rules are num-
bered starting at 1.
-I, --insert
Insert one or more rules in the selected chain as
the given rule number. So, if the rule number is
1, the rule or rules are inserted at the head of
the chain.
-L, --list
List all rules in the selected chain. If no chain
is selected, all chains are listed. It is legal to
specify the -Z (zero) option as well, in which case
no chain may be specified. The exact output is
effected by the other arguments given.
-F, --flush
Flush the selected chain. This is equivalent to
deleting all the rules one by one.
February 8, 1998 2
IPCHAINS(8) IPCHAINS(8)
-Z, --zero
Zero the packet and byte counters in all chains.
It is legal to specify the -L, --list (list) option
as well, to see the counters immediately before
they are cleared; if this is done, then no specific
chain can be specified (they will all be displayed
and cleared.
-N, --new-chain
Create a new user-defined chain of the given name.
There must be no target of that name already.
-X, --delete-chain
Delete the specified user-defined chain. There
must be no references to the chain (if there are
you must delete or replace the referring rules
before the chain can be deleted). If no argument
is given, it will attempt to delete every non-
builtin chain.
-P, --policy
Set the policy for the chain to the given target.
See the section TARGETS for the legal targets.
Only non-userdefined chains can have policies, and
neither built-in nor user-defined chains can be
policy targets.
-M, --masquerading
This option allows viewing of the currently mas-
queraded connections (in conjuction with the -L
option) or to set the kernel masqerading parameters
(with the -S option).
-S, --set tcp tcpfin udp
Change the timeout values used for masquerading.
This command always takes 3 parameters, represent-
ing the timeout values (in seconds) for TCP ses-
sions, TCP sessions after receiving a FIN packet,
and UDP packets, respectiv
Figure 11. ipchains 结构图
Figure 12. ipchains 指令结构图
ipchains 指令表中译版
以下由 OLS3(ols3@[url]www.tnc.edu.tw[/url]) 中译,翻得不好,请见谅。(您可以自由传播)使用版本:ipchains 1.3.9, 17-Mar-1999使用法: ipchains -[ADC] 规则链 规则设定 [选项]
ipchains -[RI] 规则链 规则编号 规则设定 [选项]
ipchains -D 规则链 规则编号 [选项]
ipchains -[LFZNX] [规则链] [选项]
ipchains -P 规则链 处置方式 [选项]
ipchains -M [ -L | -S ] [选项]
ipchains -h [icmp] (显示使用方法, 或 ICMP 信息)命令:可用 长名 或 简称,有些可以附加选项.(以 -- 开头者为长名,以 - 开头者为简称)
--add
-A 规则链
附加至指定的规则链中
--delete
-D 规则链
由指定的规则链中删除一条规则
--delete
-D 规则链 规则编号
由指定的规则链中,删除某一指定规则编号的规则
(编号由1开始)
--insert
-I 规则链 [规则编号]
插入规则链时,使用 规则编号 的方式插入
(编号由1开始)
--replace -R 规则链 规则编号
取代 某一条规则编号的规则
--list
-L [规则链]
列出 指定的规则链 或 所有的规则链 中的规则
--flush
-F [规则链]
删除 指定的规则链 或 所有的规则链 中的规则
--zero
-Z [规则链]
清空计数 指定的规则链 或所有的 规则链 中的规则
--check
-C 规则链
在指定的规则链中,测试封包
--new
-N 规则链
开启一个新的使用者自订的规则链
--delete-chain
-X 规则链
删除使用者自订的规则链
--policy
-P 规则链 处置方式
更改规则链的预设政策为某一处置方式
--masquerade -M -L
列出现有的伪装封包联机
--set -M -S tcp tcpfin udp 设置伪装封包逾时数值选项:
--bidirectional -b 插入两值: 一个是 -s ,一个是 -d 反过来(双向之意)
--proto -p [!] proto 协议: 使用名称或数字, eg. `tcp' or 6
--source -s [!] address[/mask] [!] [port[:port]] 来源地址设定
--source-port [!] [port[:port]] 来源port设定
--destination -d [!] address[/mask] [!] [port[:port]] 目的地址设定
--destination-port [!] [port[:port]] 目的port设定
--icmp-type [!] typename 设立 ICMP 的型态
--interface -i [!] name[+] 网络接口名称 ([+] 使用万用字符)
--jump -j 处置方式 [port] 跳到指定的处置方式 ([port] 做 REDIRECT 之用)
--mark -m [+-]mark 数值 用来 标示 符合比对规则的封包
--numeric -n 使用数字来显示地址及 port
--log -l 对符合比对规则的封包,打开核心记录文件的功能
--output -o [maxsize] 输出比对符合的封包至网络连结设备
--TOS -t and xor 针对 TOS 字段做 and 或 xor mask 运算
--verbose -v
详细模式
--exact -x 显示完整的封包数及计数值[!] --fragment -f 仅比对第二个或后续的 fragments[!] --syn -y 凡 SYN 有设立的 TCP 封包才符合比对规则[!] --version -V 显示封包的版本
--line-numbers
列出编号
--no-warnings
关闭所有警告讯息
ipchains 的规则链
以下介绍 ipchains 的基本用法
ipchains 中的指令,皆需要区分大小写。
ipchains 把封包过滤规则分成四个类别,每一个类别可以是许多过滤规则的集合,称之为 "规则链"(chains),而封包过滤的过程,每个封包会进入其所属的链中,进行比对的动作,若某一条规则符合,就执行该规则所指定的目标动作(TARGET),如 DENY/REJECT/ACCEPT/MASQ/REDIRECT/RETURN;若不然,则继续下一条。
若所有的规则都不符合,则由预设政策(policy),来决定该封包最后的命运。
四种规则链,如下:
? input
? output
? forward
? 使用者自订
前三者,是内订就有的链。其特性,在课堂上说明之。
ipchains 使用时的样板
在设定 ipchains 的封包过滤规则时,有几个样板的动作,若先熟悉它们,往后就可自行套用,依此类推,很快地,您就可以进入这个天地之中。
观察目前的设定
在做设定时,通常我们会用指令来观察一下现况,作法如下:
ipchains -L -n
上述 -n 是指 不要进行 IP 反解的动作, 只显示数字 IP 即可, 以加快指令的速度。
定义变数
以下 $FW_IP 代表防火墙的第一片网卡的 IP,我们以下列来定义之。
FW_IP="163.26.197.8"
清除所有的规则
一开始要先清除所有的规则,重新开始,以免旧有的规则影响新的设定。作法如下:
ipchains -F
选定预设的政策
接着,要选定各个不同的规则链,预设的政策为何。作法如下:
预设全部丢弃
ipchains -P input DENYipchains -P output DENYipchains -P forward DENY
或者,预设全部接受
ipchains -P input ACCEPTipchains -P output ACCEPTipchains -P forward ACCEPT
各个规则链的预设政策可独立自主的设定,不必受其它链的影响。
以下练习,若目标为 DENY,则 policy 请设为 ACCEPT;若目标为 ACCEPT,则 policy 请设为 DENY,如此方可看出效果。
开放某一介面
开放 loopback 介面。作法如下:
ipchains -A input -i lo -j ACCEPTipchains -A output -i lo -j ACCEPT
因为 loopback 是 127.0.0.0/8,为 local 测试用途,因此开放。
ipchains -A input -i eth1 -j ACCEPTipchains -A output -i eth1 -j ACCEPTipchains -A forward -i eth1 -j ACCEPT
丢弃不合理的封包
有些封包是不合理的,比如:它的来源,明明是私有IP,却在连接外部的网卡上,有进出的情况,如此明显是有人假造的,可能是有心者的入侵攻击,因此予以丢弃。作法如下:
ipchains -A input -i eth0 -s 172.16.0.0/12 -j DENY(来自私有B Class IP,却欲进入 eth0)ipchains -A output -i eth0 -d 172.16.0.0/12 -j DENY(欲输出,目的地竟是私有 B Class IP)
在此例中,eth0 是连接对外的网路介面。
封包伪装(NAT)
作法如下:
echo 1 > /proc/sys/net/ipv4/ip_forwardipchains -A forward -i eth0 -s 172.16.0.0/16 -j MASQ
上述指令将内部私有 IP 段: 172.16.0.0/16 伪装为 eth0 的 IP
效果如下:
Figure 13. client 和 server 连线图 (1)
NAT 的封包改写动作,其实很简单。我们以下图来加以说明:
假设防火墙第一片网卡的 IP 是 163.26.197.21,内部网路某一主机 IP 是 192.168.1.8,今该内部 PC 欲观看外部网路某一Web站台(IP 是 211.22.33.44),其封包改写伪装的过程,如下图所示:
Figure 14. NAT 机制下封包运作图
NAT 的改写动作,不仅是在 IP 及 port 而已,另外像 checksum 等,都要重新计算。
虚拟主机
从一部主机的 port 转向到另一部主机的 port
作法如下:
ipchains -A input -p tcp -d $FW_IP 80 -j REDIRECT 8080redir --lport=8080 --caddr=172.16.0.101 --cport=80 &
上面的意思是说:借用 8080 的 port,使原本要连至 163.26.197.8 Web Server port 80 的封包,转向到私有 IP 172.16.0.101 的 Web Server port 80,从而达到俗称 "虚拟主机" 的目的。
redir 是 redir*.rpm 套件的主程式,为一种转 port 的工具,可在 ftp.tnc.edu.tw/pub/Sysop/firewall/ 下载。
拒绝 ping
有时想拒绝别人 ping 我们的主机。作法如下:(预设 policy 为 ACCEPT)
ipchains -A input -i eth0 -p icmp -s any/0 8 -d $FW_IP -j DENY
但我们想 ping 别人,因此接受回应。(预设 policy 为 DENY)
ipchains -A output -i eth0 -p icmp -s $FW_IP 8 -j ACCEPTipchains -A input -i eth0 -p icmp -s any/0 0 -d $FW_IP -j ACCEPT
在此例中,$FW_IP 是连接对外的网路介面的 IP。
开放 "别人"(如 163.26.200.4) 可以 ping 你
ipchains -A input -i eth0 -p icmp -s 163.26.200.4 8 -d $FW_IP -j ACCEPTipchains -A output -i eth0 -p icmp -s $FW_IP 0 -d 163.26.200.4 -j ACCEPT
在此例中,$FW_IP 是连接对外的网路介面的 IP。
ICMP 有几个常用的 message type
0 ping response(回应); 3 destination-unreachable ; 4 source-quench ; 5 redirect ; 8 echo-request(ping的要求) ; 11 time-exceeded ; 12 parameter-problem
拒绝 traceroute
有时想拒绝别人 traceroute 我们的主机。作法如下:
注意: 预设 policy 是 ACCEPT 的情况下
ipchains -A output -i eth0 -p icmp -s $FW_IP 3 -j DENYipchains -A output -i eth0 -p icmp -s $FW_IP 11 -j DENY
上述作法,最主要的原因是:traceroute 会发出 udp 封包,使中途的主机产生 ICMP Time Exceeded 讯息 (icmp message type 是 11),最后的目的地则会产生 Destination Unreachable 讯息(icmp message type 是 3),因此把对外的 icmp 3 / icmp 11 给挡掉(不回应对方),就可使对方的 traceroute 失效。
注意:traceroute 发出的封包,大部份情况下,会使用 32769:65535 (or 1024:65535) 及 33434:33523 这二段的 port 范围,但不是绝对的。因此,欲拒绝别人 traceroute,光只拦掉这二段 port,并不保险。
上述 traceroute 的运作原理,可由以下记录档对照验证:
在此记录档中,由 163.26.197.253 执行 traceroute 211.22.236.162,中途的路由器全都回应 icmp 11,而目的地 211.22.236.162 则回应 icmp3,每一个路由器之资讯取得,则使用 TTL 原理,皆可由下列记录档印证之。
Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33435 L=38 S=0x00 I=58241 F=0x0000 T=1 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 163.26.197.254:11 163.26.197.253:0 L=66 S=0x00 I=13592 F=0x0000 T=30 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33436 L=38 S=0x00 I=58242 F=0x0000 T=1 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 163.26.197.254:11 163.26.197.253:0 L=66 S=0x00 I=13593 F=0x0000 T=30 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33437 L=38 S=0x00 I=58243 F=0x0000 T=1 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 163.26.197.254:11 163.26.197.253:0 L=66 S=0x00 I=13594 F=0x0000 T=30 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33438 L=38 S=0x00 I=58244 F=0x0000 T=2 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.66.250:11 163.26.197.253:0 L=56 S=0x00 I=28626 F=0x0000 T=29 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33439 L=38 S=0x00 I=58245 F=0x0000 T=2 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.66.250:11 163.26.197.253:0 L=56 S=0x00 I=28627 F=0x0000 T=29 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33440 L=38 S=0x00 I=58246 F=0x0000 T=2 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.66.250:11 163.26.197.253:0 L=56 S=0x00 I=28628 F=0x0000 T=29 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33441 L=38 S=0x00 I=58247 F=0x0000 T=3 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.82.250:11 163.26.197.253:0 L=56 S=0xC0 I=54471 F=0x0000 T=253 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33442 L=38 S=0x00 I=58248 F=0x0000 T=3 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth0 PROTO=1 10.162.82.250:11 163.26.197.253:0 L=56 S=0xC0 I=54472 F=0x0000 T=253 (#13)Feb 12 09:43:59 mdfw kernel: Packet log: output ACCEPT eth0 PROTO=17 163.26.197.253:1038 211.22.236.162:33443 L=38 S=0x00 I=58249 F=0x0000 T=3 (#5)Feb 12 09:43:59 mdfw kernel: Packet log: input ACCEPT eth