iptables 日志分析

用途

防火墙除了进行有效的网络访问控制之外,还可以清晰记录网络上的访问,并自动生成日志进行保存. 在防火墙日志中主要记录消息发送源IP、消息目的IP、消息流向、消息内容以及应用几个方面.管理员可以按照不同的需求查找日志、审计日志,还可以分析网络带宽利用,各种协议和端口的使用情况,防火墙产生的安全告警对网络安全管理提供帮助信息

配置iptables 日志(ubuntu 16.04)

  1. 配置 /etc/rsyslog.d/30-iptables.conf文件内容,将消息内容包含iptables: 的日志写入到 /var/log/iptables.log中

     :msg,contains,"iptables:" /var/log/iptables.log
    
  2. 重启rsyslog服务

     /etc/init.d/rsyslog restart
    
  3. 配置记录日志规则

     iptables -N SILENCE_INPUT_LOG
     iptables -I INPUT 1 -j SILENCE_INPUT_LOG
    
     iptables -A SILENCE_INPUT_LOG -p tcp --dport 8080 -j LOG --log-prefix "iptables:"
     iptables -A SILENCE_INPUT_LOG -p icmp -j LOG --log-prefix "iptables:"
     iptables -A SILENCE_INPUT_LOG -p tcp --dport 8081 -j LOG --log-prefix "iptables:"
     iptables -A SILENCE_INPUT_LOG -p udp --dport 8082 -j LOG --log-prefix "iptables:"
    
  4. tail 查看 iptables.log 文件

     tail -n 0 -f /var/log/iptables.log
    
  5. 测试

    web测试
    a. 使用curl命令访问目标的8080端口, 查看iptables.log:

         curl -XGET "192.168.1.116:8080"
    
         产生日志:
    
             May 14 17:57:53 silence kernel: [80156.647246] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=10065 DF PROTO=TCP SPT=39548 DPT=8080 WINDOW=8192 RES=0x00 SYN URGP=0
             May 14 17:57:54 silence kernel: [80157.157241] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=10067 DF PROTO=TCP SPT=39548 DPT=8080 WINDOW=8192 RES=0x00 SYN URGP=0
             May 14 17:57:54 silence kernel: [80157.663905] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=48 TOS=0x00 PREC=0x00 TTL=64 ID=10069 DF PROTO=TCP SPT=39548 DPT=8080 WINDOW=8192 RES=0x00 SYN URGP=0
    
     c. 启动web服务器:
    
         python3 -mhttp.server --bind 0.0.0.0 8080
    
     d. 再次使用curl命令访问目标的8080端口, 查看iptables.log:
    
         curl -XGET "192.168.1.116:8080"
    
         产生日志:
    
             May 14 17:58:41 silence kernel: [80204.153519] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=10313 DF PROTO=TCP SPT=39609 DPT=8080 WINDOW=8192 RES=0x00 SYN URGP=0
             May 14 17:58:41 silence kernel: [80204.522080] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=10314 DF PROTO=TCP SPT=39609 DPT=8080 WINDOW=16425 RES=0x00 ACK URGP=0
             May 14 17:58:41 silence kernel: [80204.522164] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=122 TOS=0x00 PREC=0x00 TTL=64 ID=10315 DF PROTO=TCP SPT=39609 DPT=8080 WINDOW=16425 RES=0x00 ACK PSH URGP=0
             May 14 17:58:41 silence kernel: [80204.535677] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=10317 DF PROTO=TCP SPT=39609 DPT=8080 WINDOW=16425 RES=0x00 ACK URGP=0
             May 14 17:58:41 silence kernel: [80204.544903] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=10318 DF PROTO=TCP SPT=39609 DPT=8080 WINDOW=16425 RES=0x00 ACK URGP=0
             May 14 17:58:41 silence kernel: [80204.553159] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=10320 DF PROTO=TCP SPT=39609 DPT=8080 WINDOW=16425 RES=0x00 ACK FIN URGP=0
    

    icmp测试

     a. 使用ping命令访问目标, 查看iptables.log:
    
         ping 192.168.1.116 -c 1
    
         产生日志:
    
             May 14 18:11:29 silence kernel: [80972.571111] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=60 TOS=0x00 PREC=0x00 TTL=64 ID=12568 PROTO=ICMP TYPE=8 CODE=0 ID=1 SEQ=106
    

    TCP测试

     a. 使用nc命令创建服务
    
         nc -l 0.0.0.0 8081
    
     b. 使用nc命令访问目标的8081端口, 查看iptables.log
    
         echo "hello world" | nc 192.168.1.116 8081
    
         产生日志:
    
             May 14 18:27:37 silence kernel: [81940.888216] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=52 TOS=0x00 PREC=0x00 TTL=64 ID=19910 DF PROTO=TCP SPT=42178 DPT=8081 WINDOW=8192 RES=0x00 SYN URGP=0
             May 14 18:27:37 silence kernel: [81940.891373] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=19911 DF PROTO=TCP SPT=42178 DPT=8081 WINDOW=16425 RES=0x00 ACK URGP=0
             May 14 18:27:37 silence kernel: [81940.894137] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=56 TOS=0x00 PREC=0x00 TTL=64 ID=19912 DF PROTO=TCP SPT=42178 DPT=8081 WINDOW=16425 RES=0x00 ACK PSH URGP=0
             May 14 18:27:40 silence kernel: [81943.873860] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=40 TOS=0x00 PREC=0x00 TTL=64 ID=19919 DF PROTO=TCP SPT=42178 DPT=8081 WINDOW=0 RES=0x00 ACK RST URGP=0
    

    UDP测试

    a. 使用nc命令创建服务

     nc -l -u 0.0.0.0 8082
    

    b. 使用nc命令访问目标的8081端口, 查看iptables.log

     echo "hello world" | nc -u 192.168.1.116 8082
    
     产生日志:
    
         May 14 18:30:10 silence kernel: [82093.478533] iptables:IN=wlp6s0 OUT= MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 SRC=192.168.1.105 DST=192.168.1.116 LEN=44 TOS=0x00 PREC=0x00 TTL=64 ID=23082 PROTO=UDP SPT=57747 DPT=8082 LEN=24
    

日志格式

字段 含义
May 14 17:57:53 日志时间, 由syslog产生
silence 主机名
kernel 进程名称,说明netfilter由内核运行
80156.647246
iptables: 日志前缀, 通过--log-prefix配置
IN=wlp6s0 数据包进入的接口,若为表示本地产生
OUT= 数据包离开的接口,若为空表示本地接收
MAC=00:26:c6:54:89:be:ec:0e:c4:3e:e3:e9:08:00 00:26:c6:54:89:be为目的MAC地址, ec:0e:c4:3e:e3:e9为源MAC地址
08:00 表示上层协议代码, IP协议
SRC=192.168.1.105 源IP地址
DST=192.168.1.116 目的IP地址
LEN=52 IP头长度,字节(MTU)
TOS=0x00 服务字段
PREC=0x00 服务类型的优先级字段
TTL=64 IP数据包的生存时间
ID=10065 IP数据包标识
DF 标识不分段
PROTO=TCP 传输层协议类型, 其他ICMP, UDP
SPT=39548 源端口
DPT=8080 目的端口
LEN=24 传输层协议头长度
WINDOW=8192 窗口大小
RES=0x00 保留值
SYN TCP标志位, 其他CWR, ECE, URG, ACK, PSH, RST, FIN
URGP=0 紧急指针起点
TYPE=8 CODE=0 ID=1 SEQ=106 ICMP协议出现
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 200,612评论 5 471
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 84,345评论 2 377
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 147,625评论 0 332
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,022评论 1 272
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,974评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,227评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,688评论 3 392
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,358评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,490评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,402评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,446评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,126评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,721评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,802评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,013评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,504评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,080评论 2 341

推荐阅读更多精彩内容