• 文章搜索:
  • 易筋洗髓

        • 分享到...

        • 新浪微博
        • 腾讯微博
        • 推荐到豆瓣 豆瓣空间
        • 分享到搜狐微博 搜狐微博
        • 分享到QQ空间 QQ空间
        • 分享到腾讯朋友 腾讯朋友
        • 网易微博分享 网易微博
        • 添加到百度搜藏 百度搜藏
        • 转贴到开心网 开心网
        • 转发好友 告诉聊友
    • 推荐
    • 打印
    • 收藏

    天网恢恢疏而不漏—SecPath M9000 NAT日志一网打尽

    作者:  |  上传时间:2014-11-25  |  关键字:天网恢恢疏而不漏—SecPath M9000 NAT日志一网打尽

    SecPath M9000系列产品是H3C公司的高端安全旗舰产品,硬件上采用主控引擎、业务引擎、交换引擎和接口单元完全物理分离的全分布式架构,软件上基于H3C领先的 Comware V7平台,具有丰富的功能、超高的性能及可靠性。SecPath M9000支持完整的二、三层网络特性,具有访问控制、NAT、VPN、攻击防范等丰富的安全功能,而且还推出了安全框架集群(SCF)、智能分流(IFF)、虚拟化(SOP)等一系列全新的特性,可以为互联网、运营商、大型企业等客户提供全方位的安全防护。

    NAT(Network Address Translation,网络地址转换)是SecPath M9000最常用的功能之一,通过NAT可以缓解目前IPv4地址资源枯竭的情况,同时还可以隐藏用户内部真实服务器的地址,避免将服务器的地址暴露在公共网络上,对服务器起到一定的保护作用。SecPath M9000支持NO-PAT、PAT、NAT444、NAT Server、NAT Static等各种基本的NAT功能,还支持ALG、NAT多实例以及DNS Mapping等高级特性,并且SecPath M9000的NAT会话新建和并发连接都非常高,可以满足用户灵活多变的NAT应用需求。

    在很多的NAT应用场景下,特别是多对一NAT映射的时候,用户需要了解NAT转换前后的公私网地址和端口的对应关系,SecPath M9000通过会话清晰的记录了NAT转后前后的IP地址和端口映射关系,但是会话是实时创建和删除的,会话保存在设备内存里面,数据交互完成或者到达老化时间后会话就会自动删除,如果需要查看之前一段时间的NAT转换信息或者对长时间存储NAT转换关系以作审计,就必须将NAT转换关系以日志的形式发送到远端日志主机。

    M9000会话举例:

    <M9000>display session table ipv4 source-ip 192.168.1.2 destination-ip 60.191.99.142 verbose
CPU 1 on slot 2:
Initiator:
Source      IP/port: 192.168.1.2/21641   //报文源IP地址和端口
Destination IP/port: 60.191.99.142/23
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
Responder:
Source      IP/port: 60.191.99.142/23
Destination IP/port: 60.191.99.147/1024  //NAT转后报文的地址和端口
DS-Lite tunnel peer: -
VPN instance/VLAN ID/VLL ID: -/-/-
Protocol: TCP(6)
State: TCP_ESTABLISHED
Application: TELNET
Start time: 2014-07-15 20:15:09  TTL: 3595s
Interface(in) : GigabitEthernet0/0/2
Interface(out): GigabitEthernet0/0/21
Initiator->Responder:           25 packets       1086 bytes
Responder->Initiator:           19 packets       1274 bytes

    普通NAT日志输出方式:

    SecPath M9000具有丰富灵活的日志功能,可以通过多种形式记录并发送NAT日志。目前可以采用Flow日志以二进制形式输出到远端日志服务器,也可以用syslog日志以文本形式输出到日志主机进行审计。防火墙根据报文的5元组(源IP地址、目的IP地址、源端口、目的端口、协议号)对用户访问外部网络的流进行分类统计,并生成用户流(Flow)日志。Flow日志会记录报文的5元组和发送、接收的字节数等信息,网络管理员利用这些信息可以实时跟踪、记录用户访问网络的情况,增强网络的可视性和安全性。SecPath M9000的Flow日志目前有Flow1.0和Flow3.0两个版本,两个版本Flow日志的格式稍有不同,如果要审计用户的NAT转换关系,必须采用Flow3.0版本。

    Flow1.0日志格式:

    字段

    描述

    SrcIP

    源IP地址

    DestIP

    目的IP地址

    SrcPort

    TCP/UDP源端口号

    DestPort

    TCP/UDP目的端口号

    StartTime

    流起始时间,以秒为单位,从1970/1/1 0:0开始计算

    EndTime

    流结束时间,以秒为单位,从1970/1/1 0:0开始计算

    Protocol

    IP承载的协议类型

    Operator

    操作字,主要指流结束的原因:

    · 0:保留不用

    · 1:正常流结束

    · 2:定时器超时老化

    · 3:CLEAR/配置变动引起的流老化

    · 4:资源不足带来的流老化,这样获得资源满足新流

    · 5:一对一的NAT映射,此时记录中只有源IP地址和转换后IP以及时间字段有效

    · 6:标志长时间存在流的中间发送记录

    · 7:替换引起的流删除

    · 8:流创建时的记录

    · FE:其他

    · 10~FE-1:以后扩充用

    Reserved

    保留

    Flow3.0日志格式:

    字段

    描述

    Protocol

    IP承载的协议类型

    Operator

    操作字,主要指流结束的原因:

    · 0:保留不用

    · 1:正常流结束

    · 2:定时器超时老化

    · 3:CLEAR/配置变动引起的流老化

    · 4:资源不足带来的流老化,这样获得资源满足新流

    · 5:一对一的NAT映射,此时记录中只有源IP地址和转换后IP以及时间字段有效

    · 6:标志长时间存在流的中间发送记录

    · 7:替换引起的流删除

    · 8:流创建时的记录

    · FE:其他

    · 10~FE-1:以后扩充用

    IPVersion

    IP报文版本

    TosIPv4

    IPv4报文的Tos字段

    SourceIP

    源IP地址

    SrcNatIP

    NAT转换后的源IP地址

    DestIP

    目的IP地址

    DestNatIP

    NAT转换后的目的IP地址

    SrcPort

    TCP/UDP源端口号

    SrcNatPort

    NAT转换后的TCP/UDP源端口号

    DestPort

    TCP/UDP目的端口号

    DestNatPort

    NAT转换后的TCP/UDP目的端口号

    StartTime

    流起始时间,以秒为单位,从1970/01/01 00:00开始计算

    EndTime

    流结束时间,以秒为单位,从1970/01/01 00:00开始计算

    InTotalPkg

    接收的报文包数

    InTotalByte

    接收的报文字节数

    OutTotalPkg

    发出的报文包数

    OutTotalByte

    发出的报文字节数

    InVPNID

    入VPN ID

    OutVPNID

    出VPN ID

    Reserved1

    保留

    Reserved2

    保留

    Reserved3

    保留

    Flow日志有两种输出方式,一种是将Flow日志以二进制格式封装成UDP报文直接发送给网络中的日志服务器,日志服务器安装iMC NTA组件、SecCenter Firewall Manager或者其它第三方软件对Flow日志进行解析和显示。这种方式日志输出的效率比较高,设备不存在输出性能瓶颈的问题,是设备默认的输出方式,也是比较推荐的方式。

    Flow1.0日志抓包解析样例:

    Flow3.0日志抓包解析样例:

    另一种是将Flow日志以系统日志(syslog)的格式输出到设备的信息中心模块,再通过设置信息中心的输出通道,将转换后的日志输出到logbuffer或者远端的syslog日志主机。这种方式要求设备对Flow日志进行转换再输出,对M9000设备的CPU性能要求较高,通常只能在NAT流量比较小的情况下使用。

    Flow日志转Syslog日志格式:

    %Jul  1 10:50:08:259 2014 M9000-IRF NAT/6/NAT_FLOW: -Chassis=2-Slot=2.1; Protocol(1001)=ICMP; SrcIPAddr(1003)=1.1.1.1; SrcPort(1004)=1133; NatSrcIPAddr(1005)=60.191.99.150; NatSrcPort(1006)=0; DstIPAddr(1007)=60.191.99.142; DstPort(1008)=2048; NatDstIPAddr(1009)=60.191.99.142; NatDstPort(1010)=18; InitPktCount(1044)=1; InitByteCount(1046)=84; RplyPktCount(1045)=0; RplyByteCount(1047)=0; RcvVPNInstance(1042)=; SndVPNInstance(1043)=; RcvDSLiteTunnelPeer(1040)=; SndDSLiteTunnelPeer(1041)=; BeginTime_e(1013)=07012014105008; EndTime_e(1014)=; Event(1048)=(8)Session created;
%Jul  1 10:50:39:061 2014 M9000-IRF NAT/6/NAT_FLOW: -Chassis=2-Slot=2.1; Protocol(1001)=ICMP; SrcIPAddr(1003)=1.1.1.1; SrcPort(1004)=1133; NatSrcIPAddr(1005)=60.191.99.150; NatSrcPort(1006)=0; DstIPAddr(1007)=60.191.99.142; DstPort(1008)=2048; NatDstIPAddr(1009)=60.191.99.142; NatDstPort(1010)=18; InitPktCount(1044)=4; InitByteCount(1046)=336; RplyPktCount(1045)=5; RplyByteCount(1047)=420; RcvVPNInstance(1042)=; SndVPNInstance(1043)=; RcvDSLiteTunnelPeer(1040)=; SndDSLiteTunnelPeer(1041)=; BeginTime_e(1013)=07012014105008; EndTime_e(1014)=07012014105039; Event(1048)=(2)Aged for timeout;

    NAT444日志输出方式:

    NAT444本质上是一种PAT方式的地址转换,但与普通动态地址转换不同的是,NAT444地址转换是基于端口块的方式来复用公网IP地址的,即一个私网IP地址在一个时间段内独占一个公网IP地址的某个端口块,这样方便审计,是运营商在众多IPv4向IPv6网络过渡技术中的首选过渡方案。NAT444同样可以和普通NAT一样采用标准流日志的方式将日志发送到远端日志主机进行分析和审计,除此之外目前国内各运营商还推出了自己独有的NAT444日志格式规范,中国电信、中国移动和中国联通的日志规范各不相同。虽然具体的格式不同,但是基本都包括用户端口块分配日志、端口块回收日志、会话日志和端口耗尽的告警日志四部分。由于NAT444的日志是运营商客户定制的,所以在SecPath M9000设备上叫做customlog,目前SecPath M9000支持中国电信、中国移动和中国联通三种格式的NAT444日志。

    电信日志样例:

    用户开始日志:
Jun 7 12:34:08 192.168.249.107 H3C - NAT444:userbasedA [17 2.1.1.201 - 3.1.1.100 - 50001 50010]   
用户结束日志:
Jun 7 12:34:08 192.168.249.107 H3C - NAT444:userbasedW [17 2.1.1.201 - 3.1.1.100 - 50001 50010]
Session开始日志:
Jun 7 12:34:08 192.168.249.107 H3C - NAT444:sessionbasedA [6 172.16.2.171 - 12.1.2.171 19338 40704 -]  
Session结束日志:
Jun 7 12:34:08 192.168.249.107 H3C - NAT444:sessionbasedW [6 172.16.2.171 - 12.1.2.171 19338 40704 -]   
端口块耗尽日志:
Jun 7 12:34:08 192.168.249.107 H3C - NAT444:userbasedF [17 2.1.1.201 - 3.1.1.100 - - -]

    以会话日志输出NAT转换信息:

    SecPath M9000通过会话记录了两个通信终端之间交互数据的IP地址、端口、协议号、时间和流量等信息,会话是一个双向的概念,一个会话关联两个方向的流,一个为会话发起方(Initiator),另外一个为会话响应方(Responder)。M9000创新性的增加了一个会话日志功能,不但在会话创建、删除时会发送会话日志,而且还可以通过设置时间和流量阈值来触发设备发送会话日志。由于防火墙的NAT映射关系都清晰的记录在会话里面,所以只需要把会话以日志格式输出到远端的日志主机,也能审计到NAT的转换关系,这是一种变通的输出方式,正常情况下还是推荐以Flow日志输出到远端日志主机。因为无论防火墙做不做NAT,只要有流量就会记录会话,一旦配置了会话日志,做不做NAT的会话都会以日志格式输出,通常情况下设备的会话数量可能比较大,经常出现百万甚至千万级别的会话数,而且会话是实时创建和删除的,每次新建和删除都会生成一条日志,所以一旦开启这个功能后,设备有可能产生大量的会话日志,不但查询起来非常不方便,而且对设备的性能也会有很大的影响,建议用户谨慎使用该功能。

    会话日志举例:

    会话创建日志:
%Jul  1 10:04:35:188 2014 M9000-IRF SESSION/6/SESSION_IPV4_FLOW: -Chassis=2-Slot=2.1; Protocol(1001)=ICMP;SrcIPAddr(1003)=1.1.1.1;SrcPort(1004)=994;NatSrcIPAddr(1005)=60.191.99.150;NatSrcPort(1006)=0;DstIPAddr(1007)=60.191.99.142;DstPort(1008)=2048;NatDstIPAddr(1009)=60.191.99.142;NatDstPort(1010)=6;InitPktCount(1044)=1;InitByteCount(1046)=84;RplyPktCount(1045)=0;RplyByteCount(1047)=0;RcvVPNInstance(1042)=;SndVPNInstance(1043)=;RcvDSLiteTunnelPeer(1040)=;SndDSLiteTunnelPeer(1041)=;BeginTime_e(1013)=07012014100435;EndTime_e(1014)=;Event(1048)=(8)Session created;   
会话删除日志:
%Jul  1 10:05:05:990 2014 M9000-IRF SESSION/6/SESSION_IPV4_FLOW: -Chassis=2-Slot=2.1; Protocol(1001)=ICMP;SrcIPAddr(1003)=1.1.1.1;SrcPort(1004)=994;NatSrcIPAddr(1005)=60.191.99.150;NatSrcPort(1006)=0;DstIPAddr(1007)=60.191.99.142;DstPort(1008)=2048;NatDstIPAddr(1009)=60.191.99.142;NatDstPort(1010)=6;InitPktCount(1044)=4;InitByteCount(1046)=336;RplyPktCount(1045)=5;RplyByteCount(1047)=420;RcvVPNInstance(1042)=;SndVPNInstance(1043)=;RcvDSLiteTunnelPeer(1040)=;SndDSLiteTunnelPeer(1041)=;BeginTime_e(1013)=07012014100435;EndTime_e(1014)=07012014100505;Event(1048)=(2)Aged for timeout;

    总结:SecPath M9000具有丰富的NAT功能,而且支持各种NAT日志输出方式,实际使用中要根据客户需求和现场环境灵活选择日志输出方式。简单总结下,如果是普通NAT,推荐采用Flow日志输出,结合SecCenter Firewall Manager和iMC的NTA组件或者SSM组件对日志进行收集和分析;如果客户没有购买这些软件,也可以采用客户自己的日志分析平台,H3C可以提供Flow日志的格式,用户按照日志格式对软件平台进行修改以支持日志解析和统计。如果是NAT444,基本上采用Customlog方式输出日志到远程日志主机,实际情况根据运营商的要求选择Telecom、Unicom或者CMCC等日志格式。