基于状态的资源和连接控制基于这样的观点:
监视所有连接的状态,如果连接长时间没有应答,一直处于半连接状态,浪费了连接资源连接已经建立,但长时间没有数据穿过,浪费了连接资源;
如果有超出正常范围的大量半连接充斥设备,很可能是受到了半连接攻击,网络上流行某种协议的病毒,它也会占用宝贵的网络资源和连接资源,使正常数据无法通过设备;
缺省情况下,IP Inspect功能是启用的,根据网络的情况,管理员需要重新设计Inspect的配置参数。
资源控制的方法:
基于状态的资源和连接控制可以通过几种方法:
限定系统总的连接数目
限定特定协议的半连接最高警戒线;
限定特定协议的连接超时时间;
限定特定协议每分钟半连接的最高警戒线;
限定特定协议的连接参数;
限定符合条件源主机的连接数目;
限定符合条件目的主机的连接数目;
资源控制的配置:
ip inspect max 500000 系统总的连接数
ip inspect max 500000 tcp 系统总的TCP连接数
ip inspect max 100000 udp 系统总的UDP连接数
ip inspect maxincomplete high 20000 tcp TCP半连接最高水位线
ip inspect maxincomplete low 10000 tcp TCP半连接最低水位线
ip inspect one-minute high 20000 tcp TCP每分钟半连接最高水位线
ip inspect one-minute low 10000 tcp TCP每分钟半连接最低水位线
ip inspect idletime 3600 tcp TCP全连接超时时间
简单说明,当TCP半连接达到最高水位线时,设备开始清除超过的半连接,一直清到最低水位线为止;TCP每分钟半连接也是一样的。
限制主机的最大连接数目:
网络中经常会出现一些病毒,感染的主机会自动向变换地址的目标主机发送TCP连接请求或ICMP报文,如前段时间爆发的冲击波及其变种就具有类似的特征,通过限制网络内主机的最大连接数目可以有效的达到防范效果;
access-list 40 permit 192.168.0.0 255.255.0.0 定义个地址范围
ip inspect max flow 50 src list 40 限制符合条件的主机最多建立50个连接,超过这个数目,新的连接报文将被丢弃!
特殊主机的需求:
网络内部可能会存在一些特殊连接需求的主机,如内部的DNS服务器,或一些部门的代理服务器等,对于这些主机他们的连接请求一般会超过一般主机的情况,所以需要对这些特殊的主机执行特殊的流限制;
对于不十分了解网络内主机的构成的管理源来说,不断的通过show ip inspect statistics flow来查看网络内主机建立连接的情况是一种比较好的方式,通过恰当的定义网络主机的连接数量,可以很大程度的防止一些网络病毒的攻击或DOS攻击;
access-list 11 permit host 10.1.0.4
access-list 12 permit host 10.1.1.1
access-list 13 permit 10.0.0.0 255.0.0.0
ip inspect max flow 1000 src list 11
ip inspect max flow 10000 src list 12
ip inspect max flow 50 src list 13
对服务器资源的保护:
通过IP inspect对目的主机的保护,主要用于对内部主机保护的情况,如保护DMZ区域的服务器资源遭到DOS攻击的情况
access-list 2001 permit tcp any 10.1.0.4 eq 21
access-list 2001 permit tcp any 10.1.0.5 eq http
ip inspect max flow 500 dst list 2001
ip inspect max flow 1000 dst-dport list 2001
--------------------------------------------------------------------------------
SmartHammer(config)# policy-map out 创建策略路由“out”
SmartHammer(config-policy-map)# list 10 nexthop 10.0.0.2 指定不同的“下一跳”
SmartHammer(config-policy-map)# list 11 nexthop 202.0.1.2 指定不同的“下一跳”
SmartHammer(config-policy-map)# exit
定义源地址:
SmartHammer(config)# access-list 10 permit ip 192.168.1.0/24 any
SmartHammer(config)# access-list 11 permit ip 192.168.2.0/24 any
在数据包的“入接口”启用策略路由
SmartHammer(config)# interface ge0
SmartHammer(config-if)# ip route-policy out
--------------------------------------------------------------------------------
DHCP Server:
SmartHammer(config)#dhcp 进入DHCP配置模式
SmartHammer(config-dhcp)#share-net ge1 subnet 172.16.1.0/24 配置名为ge1的一个子网,范围172.16.1.0/24
SmartHammer(config-dhcp)#share-net ge1 router 172.16.1.1 配置DHCP服务器分配给客户端的默认网关地址172.16.1.1
SmartHammer(config-dhcp)#share-net ge1 dns 202.99.16.1 这个意思就不用说了吧?呵呵
SmartHammer(config-dhcp)#share-net ge1 172.16.1.10 172.16.1.250 7200 向DHCP子网中增加地址池,前面的为开始地址,后面的为结束地址,7200为地址续租,时间为分钟
DHCP Client:
SmartHammer(config)# int ge2
SmartHammer(config-if)# dhcpclient
SmartHammer(config-if)# exit
DHCP relay:
Router(config)#dhcp
Router(config-dhcp)#relay 192.168.0.1 配置DHCP Relay服务器IP地址
Router(config-dhcp)#exit
创建桥接口:
SmartHammer(config)# interface bvi0
SmartHammer(config-if)# exit
向桥接口下加入对应的接口:
SmartHammer(config)# interface ge0
SmartHammer(config-if)# bridge-group 0
SmartHammer(config)# interface ge1
SmartHammer(config-if)# bridge-group 0
注意:
桥接口可以象普通接口一样配置IP地址;接口加入桥接口后,原IP地址自动清除
--------------------------------------------------------------------------------
网络攻击的特点:
在多数的网络攻击中,攻击者都是通过对目标系统进行连续的流量泛洪攻击(Flood)来达到耗尽系统可以资源的目的
攻击包隐藏在正常的业务流中很难区分,最典型的如TCP Flood攻击;
常见的两种攻击模式:
针对服务器的攻击:
常用的工具:TCP SYN、Smurf IP、ICMP Flood、Ping of death等,通常的特征是通过伪造源地址向目标服务器发起大量的连接请求,耗尽服务器资源。
针对网络设备的攻击:
最常见的为DDOS攻击,攻击者占用所有的网络资源,导致整个网络的瘫痪。
DOS/DDOS攻击的种类:
Smurf attack
Land-based attack
Ping of death
Teardrop attack
Jolt2 attack
Arp attack
winnuke
Flood攻击
ICMP Flood
UDP Flood
TCP Flood
防DOS攻击配置:
SmartHammer(config)# ip defend jolt2
SmartHammer(config)# ip defend land-based
SmartHammer(config)# ip defend ping-death
SmartHammer(config)# ip defend tear-drop
SmartHammer(config)# ip defend winnuke
SmartHammer(config)# ip defend all 启用所有的防攻击模块
注意:缺省已经启用了,不建议自己再做此方面的配置
防DDOS攻击-TCP代理:
两种TCP代理模式的比较:
Intercept模式(默认配置)
防火墙和客户端首先建立TCP连接,确认是合法数据连接后再和服务器建立连 接,数据包在传输过程中需要更改TCP序列号;
通过牺牲防火墙自身的资源和性能来达到完全保护服务器资源;
对于来源不确定或无法通过访问策略来控制的DDOS攻击十分有效
Gateway模式
利用服务器在维持全连接所耗费的资源小于维护半连接的原理,首先使服务器处于全连接状态
对防火墙自身的性能影响比较小,但防御效果不如Intercept模式
配置TCP代理:
ip service tcp intercept 启用TCP智能代理
ip tcp intercept mode (intercept/gateway) 选择模式,默认为intercept模式
ip tcp intercept maxincomplete high 3000 半连接高警戒线
ip tcp intercept maxincomplete low 2000 半连接低警戒线
ip tcp intercept one-minute high 2000 每分钟半连接高警戒线
ip tcp intercept one-minute low 1000 每分钟半连接低警戒线
ip tcp intercept list 2000 attack 500 TCP代理启用门限,默认值为300
access-list 2000 permit tcp any any 对所有的TCP连接进行匹配
--------------------------------------------------------------------------------
当防火墙的HSOS软件因升级失败或者其他原因损坏时,系统将不能正常的启动,会进入CFE模块,提示符为:Harbour> ,当然,在正常时,也可以用“ctrl + B” 进CFE模块,进行其他的操作,比如,清除忘记的密码等;
看看CFE模式下的命令:
Harbour> help
Available commands:
reset Reset the system.
set time Set current time
set console Change the active console device
e Modify contents of memory.
d Dump memory.
test sdram Test all available memory
test all Test cpld nvram flash and sdram
test cpld Test cpld
test nvram Test nvram
test flash Test flash block
test fatfs Do a FAT file system test, test fatfs device-name
test disk Do a disk test, test disk device-name
test timer Test the timer
test pci Test and display information about PCI buses and devices
boot Start a program depend on HSOS_IMAGE
go Start a previously loaded program.
load Load an executable file into memory without executing it
ping Ping a remote IP host.
ifconfig Configure the Ethernet interface
show time Display current time according to RTC
show devices Display information about the installed devices.
unsetenv Delete an environment variable.
printenv Display the environment variables
setenv Set an environment variable.
help Obtain help for BIOS commands
For more information about a command, enter ‘help command-name‘
*** command status = 0
几个重要的,
reset,重起系统
printenv,查看启动配置
setenv,设置启动参数
如果对命令不熟,可以用help命令来看格式:
Harbour> help load
SUMMARY
Load an executable file into memory without executing it
USAGE
load [-options] host:filename|dev:filename
This command loads an executable file into memory, but does not execute it.
OPTIONS
-raw sysinfo file
-z Load compessed file
*** command status = 0
上面是对load命令的帮助,大家可以知道这个命令可以装载一个HSOS,但是不会保存它,基本命令格式为load [-options] host:filename|dev:filename等等
既然HSOS文件已经损坏了,我们下载个新的吧,通过TFTP程序,命令格式如下,自己都会建立TFTP服务器吧?
在下载前,先看看设备的配置情况:
Harbour> printenv
Variable Name Value
-------------------- --------------------------------------------------
BOOT_CONSOLE uart0
NET_DEVICE eth3
NET_IPADDR 192.168.98.3
NET_NETMASK 255.255.255.0
NET_GATEWAY 0.0.0.0
NET_NAMESERVER 0.0.0.0
ETH0_HWADDR 00:05:3b:91:00:f8
ETH1_HWADDR 00:05:3b:91:00:f9
ETH2_HWADDR 00:05:3b:91:00:fa
ETH3_HWADDR 00:05:3b:91:00:fb
SERIAL_NO 01010288A11004B000033
PRODUCT_NAME SmartHammer M504
PRODUCT_DATE 2004-11-20
HSOS_CONFIG flash0:config
flash0 0x11000000
HSOS_REBOOT_TIMES 0
HSOS_IMAGE flash0:hsos.M504_1.3.1_0051.img
*** command status = 0
上面的显示大家很容易知道了 eth3已经有个地址了,为192.168.98.3,所以,大家就把网线接在eth3上,设置好自己TFTP服务器的地址,然后ping一下下:测试已经通了。
再下载HSOS程序:
Harbour> load -z 192.168.98.1:hsosM504.img
Loader:elf Filesys:tftp Dev:eth3 File:192.168.98.1:hsosM504.img Options:(null)
Loading......
Good. Loading finished!
*** command status = 0
Harbour>
上面的提示已经成功了;
下面就用这个HSOS启动了,注意它是装载在内存里的,没有保存在FLASH里,所以,不能重起,重起就会丢失HSOS的,我们用下面的命令启动:
Harbour> go
Closing network.
Starting program .....
SiByte BCM1125H A2 (SB1 rev 3)
Board type: SiByte SmartHammer
ge0: Link speed: 100BaseT FDX
ge1: Link speed: 1000BaseT FDX
Login: ge2: Link is Down
ge3: Link is Down
Login: admin
Password:
Password:
Harbour Networks Limited.
version M504_1.3.1_0041
Build 0041 at 六 4月 30 15:01:07 CST 2005.
SmartHammer> en
Password:
SmartHammer#
已经成功的启动了,哈哈!!
但不要高兴的太早了,因为这个时候,HSOS还在内存里,没有装进FLASH,所以要再下载个到FLASH里,设置好接口地址,刚才的线没有拔,就用原来的eth3好了,
SmartHammer# conf t
SmartHammer(config)# inter ge3
SmartHammer(config-if)# ip add 192.168.98.3/24
SmartHammer(config-if)# exit
SmartHammer(config)#
然后再下载一下:
SmartHammer# copy tftp://192.168.98.1/hsosM504.img flash0:
..............
14661240 bytes have received, we will move it to appropriate place!
It maybe last a few minites,please waiting...
........................................................
[OK]
SmartHammer#
察看下FLASH里面的东西:
SmartHammer# show flash
905 Sep 1 11:13 config
13677364 Dec 13 2004 hsos
14661240 Sep 1 11:17 hsosm504.img
32686k bytes total (5008k bytes free)
刚才下载的hsosM504.img 已经在了,我们再指定下启动的HSOS文件:
SmartHammer# set boot system flash0:hsosm504.img
SmartHammer# show system boot
HSOS_IMAGE flash0:hsosm504.img
HSOS_CONFIG flash0:config
HSOS_OPTIONS
SmartHammer#
已经改成了我们新下载的了,OK,重起
SmartHammer# reboot
Are you sure to reboot the system? [Y/N]y
System will reboot now!
BIOS version 1.1 and CPLD version 1.1 for SmartHammer M504
Build Date: Sat Jul 15 18:54:42 HKT 2006
Copyright (c) Harbour Networks Limited All rights reserved.
eth3: Link speed: Unknown
Loader:elf Filesys:fat Dev:flash0 File:hsosm504.img Options:(null)
Loading......
Good. Loading finished!
Closing network.
Starting program .....
SiByte BCM1125H A2 (SB1 rev 3)
Board type: SiByte SmartHammer
ge0: Link speed: 100BaseT FDX
ge1: Link speed: 1000BaseT FDX
ge2: Link is Down
ge3: Link is Down
Login: ge3: Link speed: 100BaseT FDX
admin
Password:
Harbour Networks Limited.
version M504_1.3.1_0041
Build 0041 at 六 4月 30 15:01:07 CST 2005.
SmartHammer> en
Password:
SmartHammer#
好了,已经成功的重新转载HSOS了。