分段设置
ip能够传输高达65536个字节的数据。但是,大多数媒体如以太网无法携带如此巨大的数据包。为了补偿,ip堆栈把数据分离为独立的包发送,每个包有各自的ip头和信息,便于接收方正确地重组原始包。
但是,很多ip堆栈不能正确处理分离的数据包,使入侵者能够利用这个机会攻击系统。阿姆瑞特防火墙具有几种防范数据段攻击的手段。
pseudoreass_maxconcurrent
迸发数据段重组的最大数。
缺省值:1024
illegalfrags
决定防火墙怎样处理错误组建的数据段。“错误组建”这个词指数据段重叠,用不同的数据复制数据段,数据段尺寸有误等。可能进行的设置包括:
1 drop–不记录,丢弃非法数据段。切记将被重组的数据包是不可信的,可以加以记录做进一步跟踪。
2 droplog–丢弃并记录非法数据段。切记将被重组的数据包是不可信的,可以加以记录做进一步跟踪。
3 droppacket–丢弃非法数据段和以前存储的所有数据段。不允许reassillegallinger时间内该包更多的数据段通过。
4 droplogpacket–作为丢弃包,但要记录事件。
5 droplogall–作为droplogpacket,但要记录reassillegallinger时间内到达的属于该包的更多数据段。
是否放弃某个数据段或不允许整个包的选择由两个因素决定:
1 放弃整个包更安全。
2 如果是,因为可能接收非法数据段,所以选择放弃整个包,攻击者能够在重组过程中用发送非法数据段的方法,中断通讯,并用此法阻断几乎所有通讯。
缺省值:droplog –放弃某个数据段并记住重组试图是不可信的。duplicatefragdata
如果同一个数据段多次到达,意味着在前往接收方途中的某一点该数据段已被复制,或是攻击者试图中断包重组。为了准确地确定其中的可能性,阿姆瑞特防火墙对数据段的数据组成进行对比。对比可在数据段2~512的位置随机进行,抽样的每个位置4个字节。如果对比的抽样数更大,发现复制数据段不匹配的可能性更大。对比越多,cpu的负荷就越大。
缺省值:check8 –对比8个随机位置,共32个字节。
fragreassemblyfail
下面的一个原因都可能导致重组失败:
1 某些数据段未在reasstimeout或reasstimelimit规定的时间内到达。这意味着一或多个数据段在通过internet的途中丢失了,这是十分常见的现象。
2 防火墙因新到达的分离数据包而被迫中断重组,防火墙资源暂时耗尽。这种情况下,旧的重组企图或被放弃或标记为“失败”。
3 攻击者试图发送错误的分段包。
正常情况下,在失败频繁出现时,不希望对失败进行记录。可是,记录可疑数据段的失败可能很有用。illegalfrags设置为drop而不是droppacket时,会出现这种失败。
fragreassemblyfail具有以下设置:
1 nolog –重组试图失败时,不进行记录
2 logsuspect–只要涉及可疑数据段,就记录失败重组企图。
3 logsuspectsubseq –作为logsuspect,但在包到达时,也记录该包后来的数据段。
4 logall–记录所有的失败重组企图。
5 logallsubseq–作为logall,但也但在包到达时,也记录该包后来的数据段。
缺省值:logsuspectsubseq
droppedfrags
如果包因规则设置而被拒绝进入系统,那么也值得记录该包的各个数据段。droppedfrags设置指定防火墙采取的措施。该规则的可能设置如下:
1 nolog–不记录规则集中未规定上述规则的事件。
2 logsuspect–记录受可疑数据段影响而被丢弃的重组尝试的数据段。
3 logall–记录所有被丢弃的数据段。
缺省值:logsuspect
duplicatefrags
如果同一数据段多次到达,意味着在前往接收方途中的某一点该数据段已被复制,或是攻击者试图中断包重组。duplicatefrags决定是否记录这样的数据段。注意如果数据段里包含的数据不符,duplicatefragdata也能够对它们进行记录。可能的设置如下:
1 nolog–正常情况下不做记录
2 logsuspect –如果重组过程受到可疑数据段的影响,则记录复制的数据段。
3 logall–记录所有被复制的数据段。
缺省值:logsuspect
fragmentedicmp
与icmp echo(ping)不同,icmp信息因为含有不必要数据段的细小数据,所以不能进行常规分段。fragmentedicmp决定当防火墙接收到非icmp echo或echoreply分段icmp信息时,采取的行动。
缺省值:droplog
minimumfraglength
minimumfraglength决定所有数据段的大小,数据包的最后一个数据段例外。尽管过小的太多数据段的到达会对ip堆栈造成问题,但不能经常把此限制设得太高。发送者创建极小数据段的情况十分少见。但是,发送者可以发送1480个字节的数据段,前往接收者途中的路由器或vpn通道随后将有效mtu减少到1440个字节。这样会产生许多1440个字节的数据段和同样数量的40个字节的数据段。因为存在潜在问题,所以阿姆瑞特防火墙的缺省设置设计为允许最小的7个字节的数据段通过。内部使用时,所有媒体的大小是人所共知的,因此,可以把此值上升到200个字节或更高。
缺省值:8字节
reasstimeout
在以前数据段接收的reasstimeout时间内,如果没有其他数据段到达,重组试图将被打断。
缺省值:65秒
reasstimelimit
第一个接收的数据段到达后,重组试图总会被打断reasstimelimit的时间。
缺省值:90秒
reassdonelinger
包一旦被重组,防火墙能够对此做短暂记忆以防该把更多的数据段,即复制的旧数据段到达。
缺省值:20秒
reassillegallinger
整个包一旦标有非法标志,防火墙能够对此做短暂记忆以防该把更多的数据段到达。
缺省值:60秒