配色: 字号:
PIX防火墙几个比较有用的指令
2012-06-14 | 阅:  转:  |  分享 
  
PIX防火墙几个比较有用的指令

?PIX只有一个CPU来完成所有的工作,从处理包到向console写debug信息。最消耗CPU资源的进程是加密,因此如果PIX要完成数据包的加密工作,最好使用加速卡或专用的VPNConcentrator.日志功能是另外一个消耗大量系统资源的进程。因此,建议在正常情况下关闭PIX向console,monitor,buffer写日志的功能。

pixfirewall#showcpuusage

CPUutilizationfor5seconds=1%;1minute:2%;5minutes:1%

showtraffic

本命令可以看出在特定的时间内有多少流量流经PIX了。这个特定的时间是上次执行本命令到这次执行本命令的时间间隔。我们可以看到各个接口的数据流量情况。

pixfirewall#showtraffic

outside:

received(in124.650secs):

295468packets167218253bytes

2370pkts/sec1341502bytes/sec

transmitted(in124.650secs):

260901packets120467981bytes

2093pkts/sec966449bytes/sec

inside:

received(in124.650secs):

261478packets120145678bytes

2097pkts/sec963864bytes/sec

transmitted(in124.650secs):

294649packets167380042bytes

2363pkts/sec1342800bytes/sec

showperfmon

这条命令监测PIX检查的数据的流量和类型。它可以判断出PIX上每秒所做的变换(xlates)和连接数(conn)。

PERFMONSTATSCurrentAverage

Xlates18/s19/s

Connections75/s79/s

TCPConns44/s49/s

UDPConns31/s30/s

URLAccess27/s30/s

URLServerReq0/s0/s

TCPFixup1323/s1413/s

TCPIntercept0/s0/s

HTTPFixup923/s935/s

FTPFixup4/s2/s

AAAAuthen0/s0/s

AAAAuthor0/s0/s

AAAAccount0/s0/s

其中,较重要的有Xlates是每秒钟产生变换的数字;Connections是建立的连接数;TCPFixup是指PIX每秒钟转发了多少TCP包;TCPIntercept是指有每秒多少SYN包已经超出了开始的设定值。

showblocks

和showcpuusage在一起使用,可以判断出PIX是否过载了。

当一个数据包进入防火墙的接口,会先排在input接口的队列中,根据数据帧的大小,又被分到不同的block中。如对于以太网帧,使用1550字节的block。如果数据是从千兆口进来的,会使用16384字节的block。PIX然后会根据ASA算法决定是否让包通过。如果PIX过载了,那相应的block会降到或接近0(看CNT这一列)。当该值降到0时,PIX会尝试申请更多的block,最多可到8192。如果没有block可用,包会被丢弃。

256字节的block是statefulfailover信息。主PIX向从PIX发送这些包以更新xlates和connection信息。如果某段时间有大量的连接建立和拆除,256字节的block可能会降到0,就是说从PIX可能没有和主PIX同步。这个时间如果不长,是可以接受的,但如果长时间维持在0,需要考虑升级到更高速的PIX了。

另外,日志信息也是通过256字节的block向外部送出的,注意通常不需要将日志的级别设置成debug.

pixfirewall#showblocks

SIZEMAXLOWCNT

4160015971600

80400399400

256500495499

1550144411701188

16384204815321538

showmemory

可以看出PIX的内存以及当前可用的内存。正常情况下,PIX的可用内存的变化幅度不应该太大。如果突然发现内存快用光了,要检查是否用攻击发生。可以用showconncount命令看当前PIX中有多少连接,如果PIX内存耗尽,最终会crash.

pixfirewall#showmemory

1073741824bytestotal,1022992384bytesfree

showxlatecount

显示当前通过PIX的变换数和最多达到的变换数。一个变换是指一个内部地址变换成一个外部合法地址。一台机器可能会与外部的多个目标建立连接,但这时只有一个变换。如果显示的变换数远大于内部的机器数,可能是受到了网络攻击。

pixfirewall#showxlatecount

84inuse,218mostused

showconncount

可以看当前的PIX的最大的连接数。一个connection是一个内部4层信息到外部地址的映射。当PIX收到一个SYN包,就建立一个connection.过高connection数意味着受到了攻击,这时如果用showmemory命令虽然连接数很高,但是并没有消耗掉PIX过多的内存资源。

pixfirewall#showconncount

2289inuse,44729mostused

showinterface

这条命令用来判断双工的匹配问题和电缆故障,也可以看出接口是否过载了。如果PIX的CPU资源耗尽了,那么1550字节的block会接近0,如果是千兆口,16384字节的block接近0。另外一个信号是”nobuffers”的值不断增加,它表明接口接收包的速率太快,PIX来不及处理,也没有足够的block去承载,已经有丢包产生了。如果”nobuffer”伴随着CPU的使用率升高,说明该考虑升级到性能更强的防火墙了。

当数据包进入接口时,被放在inputhardwarequeue中,如果该queue满了,被放在inputsoftwarequeue中。包然后从inputqueue中被放到block中等待PIXOS的处理,PIX决定把包放到哪个出口,即哪个outputhardwarequeue中,如果该queue满了,就放到outputsoftwarequeue中;如果每个软队列中的maxblocks都很大,就称之为”overrun”。常见的情况是入口和出口的数据传输速率不匹配,就会出现overrun,这时应该考虑升级接口了。

pixfirewall#showinterface

interfaceethernet0"inside"isup,lineprotocolisup

Hardwareisi82559ethernet,addressis0002.b31b.99ff

IPaddress9.9.9.1,subnetmask255.255.255.0

MTU1500bytes,BW100000Kbitfullduplex

4630packetsinput,803174bytes,0nobuffer

Received2broadcasts,0runts,0giants

0inputerrors,0CRC,0frame,0overrun,0ignored,0abort

4535packetsoutput,445424bytes,0underruns

0outputerrors,0collisions,0interfaceresets

0babbles,0latecollisions,0deferred

0lostcarrier,0nocarrier

inputqueue(curr/maxblocks):hardware(128/128)software(0/1)

outputqueue(curr/maxblocks):hardware(0/2)software(0/1)

如果是runts,inputerrors,CRCs或frameerrors在增加,可能是双工方式不匹配造成的或电缆故障。

showprocess

显示当前PIX中的活动的进程有什么。这样就可以看出什么进程使用了过多的CPU资源,什么进程没能使用CPU资源。为了得到这个信息,我们连续两次执行showprocess命令,间隔1分钟。对有所怀疑的进程,两次的Runtime值相减,时间差(单位是毫秒)就是该进程一分钟所占用的CPU资源。557poll进程通常是占用时间最多的进程,它负责询问以太接口看是否有包需要处理。

我们用showcpuusage命令看PIX的负载情况。

一般来说,CPU达到80%时,性能会受到影响;超过90%时,会有丢包的情况发生。

这个时候,我们可以通过命令showprocess来看看什么进程在消耗CPU资源,

查出该进程后找相应的办法处理。

如果CPU的使用率并不高,但是还是觉得有丢包的情况发生,

用showinterface命令检查是否有错包出现,即是否有双工匹配问题或电缆问题;

如果是"nobuffer"增加,同时CPU使用率并不高,说明接口的能力不能满足流量的需求;

如果buffer状况很好,检查block,如果1550字节或16384字节的block接近0了,

说明PIX由于太忙开始丢包了,这时CPU也会很高。

如果发现在PIX建立新的连接很困难,用命令showconncount检查当前的连接数:

如果很高了,用showmemory命令看看内存的状况,

如果内存很少了,用showconn命令或showlocal-host命令

查一下连接数如此多的原因,很可能是遭遇DoS攻击了。

另外,showtraffic命令显示每个接口处理的包数和字节数;

showperfmon命令进一步将traffic分成不同的类型。



献花(0)
+1
(本文系红人会首藏)