iptables日志探秘

iptables日志探秘


防火墙的主要功能除了其本身能进行有效控制网络访问之外,还有一个很重要的功能就是能清晰地记录网络上的访问,并自动生成日志进行保存。虽然日志格式会因防火墙厂商的不同而形态各异,但被记录下的主要信息大体上却是一致的。无论是后面我们谈到的PIXASA或是CheckPoint放火墙其产生的日志内容均类似。这就表明,任何连接或者请求,例如TCPUDPICMP连接记录、连接的流量信息、连接建立时间等,防火墙日志都会将其逐一体现。所以归纳起来,防火墙日志大致包含消息发送源IP地址、消息目的IP、消息流向、消息的内容,以及应用几方面。

防火墙每天要产生大量的日志文件,防火墙管理员针对这未经任何处理和分析的庞大的日志进行管理是很困难的。因此,日志的统计和分析现在已经成为防火墙功能中必不可少的一项,管理员不但可以按照不同的需求来查找日志、审计日志,还可以分析网络带宽的利用率、各种网络协议和端口的使用情况等。防火墙日志还会产生安全警告及一些对网络安全管理很有帮助的信息。这极大的方便了管理员对防火墙的安全管控。

本文以Linux下的iptables为例讲解防火墙日志,下面看一段iptables日志

Jun 19 1720:04 webkernel NEW DRAP IN=eth0 OUT=MAC=00:10:4b:cd:7b:b4:00:e0:le:b9:04al:08:00SRC=192.168.150.1 DST=192.168.150.152 LEN=20 TOS=0X00 PREC=0x00 TTL=249ID=10492 DF PROTO=UDP SPT=53 DPT=32926 LEN=231

对于此日志解释见表1

1 iptablesLog字段解释

序号

字段名称

含义

1

Jun 19 17:20:24

日期时间,由syslog生成

2

Web

主机名称

3

Kernel

进程名由syslogd生成kernel为内核产生的日志说明netfilter在内核中运行

4

NEW_DRAP

记录前缀,由用户指定—log-prefix”NEW_DRAP”

5

IN=eth0

数据包进入的接口,若为空表示本机产生,接口还有eth0br0

6

OUT=

数据包离开的接口,若为空表示本机接收

7

MAC=00:10:4b:cd:7b:b4:00:e0:le:b9:04:al

00:10:4b:cd:7b:b4 为目标MAC地址

00:e0:le:b9:04:al 为源MAC地址

8

08:00

08:00 为上层协议代码,即表示IP协议

9

SRC=192.168.150.1

192.168.150.1为源IP地址

10

DST=192.168.150.152

192.168.150.152w为目标IP地址

11

LEN=20

IP封包+承载数据的总长度(MTU)

12

TOS=0x00

IP包头内的服务类型字段,能反应服务质量包括延迟、可靠性和拥塞等

13

PREC=0x00

服务类型的优先级字段

14

TTL=249

IP数据包的生存时间

15

ID=10492

IP数据包标识

16

DF

DF表示不分段,此字段还可能为MF/FRAG

17

PROTO=UDP

传输层协议类型,它代表上层协议是什么可分为TCPUDPICMP

18

SPT=53

表示源端口号

19

DPT=32926

表示目的端口号

20

LEN=231

传输层协议头长度

21

SEQ= 内容略

TCP序列号

22

ACK=内容略

TCP应答号

23

WINDOWS=内容略

IP包头内的窗口大小

24

RES

保留值

25

CWR/ECE/URG/ACK/PSH/RST/SYN/FIN

TCP标志位

26

URGP=

紧急指针起点

27

OPT( 内容略 )

IPTCP选项,括号内为十六进制

28

INCOMPLETE[65535 bytes]

不完整的数据包

29

TYPE=CODE=ID=SEQ=PARAMETER=

当协议为ICMP时出现

30

SPI=0xF1234567

当前协议为AHESP时出现

31

SYN

TCP-Flags中的SYN标志,此外还有FIN/ACK/RST/URG/PSH几种

32

[  ]

中括号出现在两个地方,在ICMP协议中作为协议头的递归使用;在数据包长度出现非法时用于指出数据实际长度

 

二、LOG日志格式的思考:

从表1的描述可看出,iptables日志记录的信息很多而且显得很凌乱,在分析时面临以下几个问题:

1MAC的表示过于简单,把目标MAC、源MAC及长度类型全部混在一起,不利于阅读。

2)在表中的序号1213TOSPREC的值都为“0x00”标志位表示方式混乱。

3)在日志中没有记录数据包内容,特别是对一些被拒绝的数据包,如果有记录数据包内容将有助于查找攻击方式、方法。

4)没有记录规则号,对于被记录的数据包,当需要查看它因为满足什么条件被记录时,将变得比较困难。

5LENDPT标志同时出现在IP头、TCP头中在分析处理日志时容易出现混乱。

 

三、日志分析

 

Linux下单独记录Iptables的方法是编辑/etc/syslog.conf文件,在其中加入一行

kern.warning /var/log/iptables.log

然后重启syslog服务:

#/etc/init.d/syslog restart

   为了方便地对日志进行分析,可加上适当的记录日志前缀,即在IPtables中使用LOG选项,通过LOG 选项打开匹配数据包的内核记录功能。LOG 选项的子选项 --log-prefix 用来给记录信息添加一个消息前缀,这个前缀可设达 29 个字符。添加前缀的目的只是为了更好的辨别记录信息,比如更容易用 grep 这种工具过滤出匹配的记录信息。下面举个例子。在Linux 服务器中输入下面的命令:

                           wKiom1Sg8uSj4X_9AADLlsXyfrM150.jpg

接下来查看iptables.log日志文件中加HACKERS前缀的日志,当然你也可以换成其他内容。

wKioL1Sg86HAbjzpAAF825kGXRg718.jpg

 

参数“-j LOG”用于设定日志级别,利用 syslog 把特殊级别的信息放入指定日志文件。初始存放在/var/log/messages里面,由于存放messages中,对于分析日志产生不便。这里简单介绍一个iptables日志的管理、循环和自动报告生成的实例。

几乎所有的Linux发行版都默认安装了iptables,由dmesgsyslogdfacility结合内核管理。iptables的日志的初始值是[warn(=4)],若需要修改这个初始值就需要编辑syslog.conf

/etc/logrotate.conf的初始设置是每周进行日志循环。所以每周的日志将被存在 /var/log/iptables.log中,以前的日志将被顺次存储在iptableslog.1~ iptables-log.50 中。

另一种方法就是通过iptables直接获取日志,操作如下:

# iptables -A INPUT -s 127.0.0.1 -p icmp -j LOG--log-prefix "iptables icmp-localhost "

\\*保存从eth0 进入的packet记录;

# iptables -A INPUT -s 127.0.0.1 -p icmp -j DROP

\\*废除从eth0进入的packet记录;

 经过上面两条命令操作之后/var/log/iptables-log.1的内容将如下所示:

 Sep 2310:16:14 hostname kernel: iptables icmp-localhost IN=lo OUT=MAC=00:00:00:00:00:00:00:00:00:00:00:00:08:00 SRC=127.0.0.1 DST=127.0.0.1LEN=84 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=ICMP TYPE=8 CODE=0 ID=57148SEQ=256

上面这种方法比较麻烦,下面用ulog工具可使用netlink直接将日志广播到用户态,这样以来效率更高,首先安装ulog包,命令如下:

#apt-get install ulogd

查看Iptables日志,如图1所示。

wKiom1Sg8vjQL9HeAAiVN4xqOWU179.jpg

ulog查看Iptables日志

四、图形化分析工具

了解日志构成和结构、含义是基础,但大数据下的“大安全时代”必须使用工具软件协助你完成任务,下面笔者推荐几款图形化分析工具。

1OSSIM

OSSIM USM 版本可以对各种日志进行归一化处理并以图表的方式展现出来,如图2所示。

wKiom1Sg83CwGGRGAAUm2RpDWLk701.jpg

2 OSSIM日志收集

2 FirewallAnalyzer

Firewall Analyzer是一套基于Web,无需安装代理的防火墙日志分析系统,该系统可支持网络中的多款防火墙设备,并实现监视、日志搜集和分析、并以报表的形式将其呈现出来。利用Firewall Analyzer,网络安全管理员,可以快速的获取网络频宽占用,以及安全时间等重要信息,从而更加有效地对网络实施管理。一般来说,可以获取到的安全事件信息包括:入侵检测、病毒攻击、拒绝服务攻击等异常的网络行为。Firewall Analyzer能分析Cisco PIX、ASA,CheckPoint等多种防火墙日志。如图3所示,为Firewall Analyzer流量分析界面。

wKiom1Sg83vx-bxDAAX4lKOYZjU001.jpg

Firewall Analyzer 日志分析主界面

3Sawmill

Sawmill适用于Unix/LinuxWindows等多种平台,支持900 种日志格式,集中式且跨平台的日志报表管理系统,能集中搜集日志,并产生中文报表(包含体简体及繁体中文),简约的操作界面让使用者能直觉地透过简单的点击操作,能够轻松分析Netfilter日志,快速分析并定制报表,如图4、5所示。

wKiom1Sg84jyvd3qAAHVXGc6PSA630.jpg

设定读取数据源

wKioL1Sg9ETTQEZBAAL1H7Ve-pQ094.jpg

5设定输出报表

wKioL1SvdViwPyWKAAdTRltl6nM946.jpg

4.Splunk

Splunk是一款强大的日志分析工具,使用 Splunk 可收集、索引和利用所有应用程序、服务器和设备(物理、虚拟和云中)生成的快速移动型计算机数据 ,用它分析iptables日志,如图6所示,是不是和OSSIM的图形化输出有些相似?

wKioL1Svb9SzvSMyAAbrWEfoo14891.jpg图6

5.logstash
Logstash是一个开源工具,它可以对你的日志进行收集、简单分析,我们看看下面这段原始日志,我通过一个实验来说明logstash是如何通过图形化方式展示给用户的。

wKiom1VEQDKSlpy7AAGypNinLcc378.jpg

wKioL1VEQamCpiZoAARbBDmTb0c496.jpg

总之,开源工具学习成本高,对初学者难度大,而商业工具可以让你省心,需要一笔不菲的开销的同时,还少了一些研究开源软件的成就感。

有关日志分析的更多内容大家可以参考《UNIX/Linux网络日志分析与流量监控》一书。



 本文转自 李晨光 51CTO博客,原文链接:http://blog.51cto.com/chenguang/1597202,如需转载请自行联系原作者




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目录 译者序.................................................................................................................................................................................4 关于作者.............................................................................................................................................................................5 如何阅读.............................................................................................................................................................................5 必备知识.............................................................................................................................................................................6 本文约定.............................................................................................................................................................................6 Chapter1.序言.....................................................................................................................................................................6 1.1.为什么要写这个指南......................................................................................................................................... 6 1.2.指南是如何写的................................................................................................................................................. 7 1.3.文中出现的术语................................................................................................................................................. 7 Chapter2.准备阶段.............................................................................................................................................................8 2.1.哪里能取得iptables............................................................................................................................................8 2.2.内核配置............................................................................................................................................................. 8 2.3.编译与安装....................................................................................................................................................... 11 2.3.1.编译....................................................................................................................................................... 11 2.3.2.在RedHat7.1 上安装.............................................................................................................................12 Chapter3.表和链...............................................................................................................................................................14 3.1.概述................................................................................................................................................................... 14 3.2.mangle 表.......................................................................................................................................................... 17 3.3.nat 表................................................................................................................................................................. 18 3.4.Filter 表..............................................................................................................................................................19 Chapter4.状态机制...........................................................................................................................................................19 4.1.概述................................................................................................................................................................... 19 4.2.conntrack 记录.................................................................................................................................................. 20 4.3.数据包在用户空间的状态............................................................................................................................... 21 4.4.TCP 连接...........................................................................................................................................................22 4.5.UDP 连接.......................................................................................................................................................... 25 4.6.ICMP 连接........................................................................................................................................................ 26 4.7.缺省的连接操作............................................................................................................................................... 28 4.8.复杂协议和连接跟踪....................................................................................................................................... 29 Chapter5.规则的保存与恢复...........................................................................................................................................30 5.1.速度................................................................................................................................................................... 30 5.2.restore 的不足之处........................................................................................................................................... 31 5.3.iptables-save...................................................................................................................................................... 31 5.4.iptables-restore...................................................................................................................................................34 Chapter6.规则是如何练成的...........................................................................................................................................34 6.1.基础................................................................................................................................................................... 35 6.2.Tables.................................................................................................................................................................35 6.3.Commands......................................................................................................................................................... 36 6.4.Matches..............................................................................................................................................................39 6.4.1.通用匹配...............................................................................................................................................39 6.4.2.隐含匹配...............................................................................................................................................41 6.4.3.显式匹配...............................................................................................................................................44 6.4.4.针对非正常包的匹配............................................................................................................................49 6.5.Targets/Jumps.................................................................................................................................................... 49 6.5.1.ACCEPTtarget...................................................................................................................................... 50 6.5.2.DNATtarget........................................................................................................................................... 50 6.5.3.DROPtarget........................................................................................................................................... 53 6.5.4.LOGtarget..............................................................................................................................................54 6.5.5.MARKtarget..........................................................................................................................................55 6.5.6.MASQUERADEtarget.......................................................................................................................... 55 6.5.7.MIRRORtarget...................................................................................................................................... 56 6.5.8.QUEUEtarget........................................................................................................................................ 57 6.5.9.REDIRECTtarget.................................................................................................................................. 57 6.5.10.REJECTtarget......................................................................................................................................57 6.5.11.RETURNtarget.................................................................................................................................... 58 6.5.12.SNATtarget..........................................................................................................................................58 6.5.13.TOStarget............................................................................................................................................ 59 6.5.14.TTLtarget............................................................................................................................................ 60 6.5.15.ULOGtarget.........................................................................................................................................61 Chapter7.防火墙配置实例rc.firewall............................................................................................................................. 62 7.1.关于rc.firewall..................................................................................................................................................62 7.2.rc.firewall 详解..................................................................................................................................................63 7.2.1.参数配置...............................................................................................................................................63 7.2.2.外部模块的装载...................................................................................................................................63 7.2.3.proc 的设置...........................................................................................................................................65 7.2.4.规则位置的优化...................................................................................................................................65 7.2.5.缺省策略的设置...................................................................................................................................68 7.2.6.自定义链的设置...................................................................................................................................68 7.2.7.INPUT 链.............................................................................................................................................. 72 7.2.8.FORWARD 链.......................................................................................................................................73 7.2.9.OUTPUT 链.......................................................................................................................................... 74 7.2.10.PREROUTING 链...............................................................................................................................74 7.2.11.POSTROUTING 链............................................................................................................................. 74 Chapter8.例子简介...........................................................................................................................................................75 8.1.rc.firewall.txt 脚本的结构................................................................................................................................ 75 8.1.1.脚本结构...............................................................................................................................................75 8.2.rc.firewall.txt..................................................................................................................................................... 79 8.3.rc.DMZ.firewall.txt............................................................................................................................................80 8.4.rc.DHCP.firewall.txt.......................................................................................................................................... 81 8.5.rc.UTIN.firewall.txt...........................................................................................................................................84 8.6.rc.test-iptables.txt...............................................................................................................................................85 8.7.rc.flush-iptables.txt............................................................................................................................................ 85 8.8.Limit-match.txt.................................................................................................................................................. 86 8.9.Pid-owner.txt......................................................................................................................................................86 8.10.Sid-owner.txt....................................................................................................................................................86 8.11.Ttl-inc.txt......................................................................................................................................................... 86 8.12.Iptables-saveruleset......................................................................................................................................... 87 附录A.常用命令详解......................................................................................................................................................87 A.1.查看当前规则集的命令.................................................................................................................................. 87 A.2.修正和清空iptables 的命令.............................................................................................................................88 附录B.常见问题与解答..................................................................................................................................................88 B.1.模块装载问题...................................................................................................................................................88 B.2.未设置SYN 的NEW 状态包.......................................................................................................................... 90 B.3.NEW 状态的SYN/ACK 包..............................................................................................................................91 B.4.使用私有IP 地址的ISP.................................................................................................................................. 91 B.5.放行DHCP 数据..............................................................................................................................................92 B.6.关于mIRCDCC 的问题...................................................................................................................................92 附录C.ICMP 类型........................................................................................................................................................... 93 附录D.其他资源和链接..................................................................................................................................................94 附录E.鸣谢...................................................................................................................................................................... 96 附录F.History...................................................................................................................................................................97 附录G.GNUFreeDocumentationLicense.......................................................................................................................100 附录H.GNUGeneralPublicLicense................................................................................................................................107 附录I.示例脚本的代码................................................................................................................................................. 114 I.1.rc.firewall 脚本代码........................................................................................................................................ 114 I.2.rc.DMZ.firewall 脚本代码............................................................................................................................... 124 I.3.rc.UTIN.firewall 脚本代码...............................................................................................................................135 I.4.rc.DHCP.firewall 脚本代码.............................................................................................................................. 145 I.5.rc.flush-iptables 脚本代码............................................................................................................................... 155 I.6.rc.test-iptables 脚本代码................................................................................................................................. 157

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值