思科2950交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令:
Switch#config terminal
#进入配置模式
Switch(config)# Interface fastethernet 0/1
#进入具体端口配置模式
Switch(config-if)#Switchport port-secruity
#配置端口安全模式
Switch(config-if )switchport port-security mac-address MAC(主机的MAC地址)
#配置该端口要绑定的主机的MAC地址
Switch(config-if )no switchport port-security mac-address MAC(主机的MAC地址)
#删除绑定主机的MAC地址
注意:
以上命令设置交换机上某个端口绑定一个具体的MAC地址,这样只有这个主机可以使用网络,如果对该主机的网卡进行了更换或者其他PC机想通过这个端口使用网络都不可用,除非删除或修改该端口上绑定的MAC地址,才能正常使用。
注意:
以上功能适用于思科2950、3550、4500、6500系列交换机
2.方案2——基于MAC地址的扩展访问列表
Switch(config)Mac access-list extended MAC10
#定义一个MAC地址访问控制列表并且命名该列表名为MAC10
Switch(config)permit host 0009.6bc4.d4bf any
#定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机
Switch(config)permit any host 0009.6bc4.d4bf
#定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机
Switch(config-if )interface Fa0/20
#进入配置具体端口的模式
Switch(config-if )mac access-group MAC10 in
#在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)
Switch(config)no mac access-list extended MAC10
#清除名为MAC10的访问列表
此功能与应用一大体相同,但它是基于端口做的MAC地址访问控制列表限制,可以限定特定源MAC地址与目的地址范围。
注意:
以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像(Enhanced Image)。
3.方案3——IP地址的MAC地址绑定
只能将应用1或2与基于IP的访问控制列表组合来使用才能达到IP-MAC 绑定功能。
Switch(config)Mac access-list extended MAC10
#定义一个MAC地址访问控制列表并且命名该列表名为MAC10
Switch(config)permit host 0009.6bc4.d4bf any
#定义MAC地址为0009.6bc4.d4bf的主机可以访问任意主机
Switch(config)permit any host 0009.6bc4.d4bf
#定义所有主机可以访问MAC地址为0009.6bc4.d4bf的主机
Switch(config)Ip access-list extended IP10
#定义一个IP地址访问控制列表并且命名该列表名为IP10
Switch(config)Permit 192.168.0.1 0.0.0.0 any
#定义IP地址为192.168.0.1的主机可以访问任意主机
Permit any 192.168.0.1 0.0.0.0
#定义所有主机可以访问IP地址为192.168.0.1的主机
Switch(config-if )interface Fa0/20
#进入配置具体端口的模式
Switch(config-if )mac access-group MAC10 in
#在该端口上应用名为MAC10的访问列表(即前面我们定义的访问策略)
Switch(config-if )Ip access-group IP10 in
#在该端口上应用名为IP10的访问列表(即前面我们定义的访问策略)
Switch(config)no mac access-list extended MAC10
#清除名为MAC10的访问列表
Switch(config)no Ip access-group IP10 in
#清除名为IP10的访问列表
上述所提到的应用1是基于主机MAC地址与交换机端口的绑定,方案2是基于MAC地址的访问控制列表,前两种方案所能实现的功能大体一样。如果要做到IP与MAC地址的绑定只能按照方案3来实现,可根据需求将方案1或方案2与IP访问控制列表结合起来使用以达到自己想要的效果。
注意:以上功能在思科2950、3550、4500、6500系列交换机上可以实现,但是需要注意的是2950、3550需要交换机运行增强的软件镜像(Enhanced Image)。
后注:从表面上看来,绑定MAC地址和IP地址可以防止内部IP地址被盗用,但实际上由于各层协议以及网卡驱动等实现技术,MAC地址与IP地址的绑定存在很大的缺陷,并不能真正防止内部IP地址被盗用。#p# Ping命令
Ping是最常使用的故障诊断与排除命令。它由一组ICMP回应请求报文组成,如果网络正常运行将返回一组回应应答报文。ICMP消息以IP数据包传输,因此接收到ICMP回应应答消息能够表明第三层以下的连接都工作正常。
Cisco的ping命令不但支持IP协议,而且支持大多数其他的桌面协议,如IPX和AppleTalk协议的ping命令。我们首先看一下支持IP协议的ping命令以用户EXEC方式执行的情况,然后再讨论在特权模式下,扩展的ping命令包含的许多强大功能。
用户执行模式
IP PING 简单的IP ping既可以在用户模式下执行,也可以在特权模式下执行。正常情况下,命令会发送回5个回应请求,5个惊叹号表明所有的请求都成功地接收到了响应。输出中还包括最大、最小和平均往返时间等信息。
每一个“!”表明一个echo响应被成功的接受,如果不是“!”号,则表明echo响应未被接收到的原因:
! 响应成功接收
· 请求超时
U 目的不可达
P 协议不可达
N 网络不可达
Q 源抑制
M 不能分段
? 不可知报文类型
IPX PING IPX ping命令只能在运行IOS v 8.2及其以上版本的路由器上执行。用户模式下的IPX ping通常仅用于测试Cisco路由器接口。在特权模式下,用户可以ping特定的NOVELL工作站,命令的格式为“ping ipx IPX地址”。
APPLETALE PING 该命令使用Apple Echo Protocol(AEP)以确认AppleTalk节点之间的连通性。需要注意的是,目前的Cisco路由器仅对以太 网接口支持Apple Echo Protocol。命令的格式为“ping apple Appletalk地址”。
特权执行模式
在特权执行模式下,扩展的ping命令适用于任何一种桌面协议。它包含更多的功能属性,因此可以获得更为详细的信息。通过这些信息我们可以分析网络性能下降的原因而不单单是服务丢失的原因。扩展的ping命令的执行方式也是敲入ping。然后路由器提示各种不同的属性。
EXTENDED IP PING 其使用方法如下所示:
YH-Router#ping
Protocol [ip]:
Target IP address: 165.48.183.12
Repeat count [5]: 10
Datagram size [100]: 1600
Timeout in seconds [2]:
Extended commands [n]: y
Source address or interface: 165.48.48.3
Type of service [0]:
Set DF bit in IP header? [no]:
Data pattern [0xABCD]:
Loose, Srict, Record, Timestamp, Verbose[none]:
Sweep range of sizes [n]:
Type escape sequence to abort.
Sending 10, 1600-byte ICMP Echoes to 165.58.183.12, timeout is 2 seconds:
!!!!!!!!!!
Success rate is 100 percent (10/10), round-trip min/avg/max = 36/39/48 ms
首先我们讨论特权模式下的ping的各种可用属性。每种属性的缺省值在括号中显示。
Protocol 需要测试的协议。
Target address 测试的目标地址。
Repeat count 如果出现间歇性的失败或者响应时间过慢,ping重复的次数。
Datagram size 如果怀疑报文由于延迟过长或者分段失败而丢失,则可以提高报文的大小。例如,我们可以使用1600字节的报文来强制分段。
Timeout 如果怀疑超时是由于响应过慢而不是报文丢失,则可以提高该值。
Extended commands 回答确定以获得扩展属性。
Source address 必须是路由器接口的地址。
Type of service 根据RFC 791 TOS规定的属性,通常缺省值为0。
Set DF bit in IP header? 通过设置DF位禁止分段,即使是报文超过了路由器定义的MTU也禁止分段。
Data pattern [0xABCD] 通过改变数据模式可以测试线路的噪声。
Loose,Strict,Record,Timestamp,Verbose[none] 这些都是IP报文头的属性。一般只使用Record属性和Verbose,其他属性很少被使用。Record可以用来记录报文每一跳的地址,Verbose属性给出每一个回应应答的响应时间。。
Sweep range of sizes [n] 该属性主要用于测试大报文被丢失、处理速度过慢或者分段失败等故障。
EXTEND IPX PING 扩展的IPX ping也允许用户修改参数,比如报文大小和重复次数。对用户模式下ping的另一个增强属性是使用了Novell Standard echo属性。使用这一属性,用户可以ping装载IPX的工作站。如果禁用该属性,Novell IPX设备将不响应ping,因为它们不支持Cisco proprietary IPX ping协议。用户可以修改设备的属性使它们支持这一特性。
EXTENDED APPLETALK PING 扩展的AppleTalk ping命令是对用户模式下ping的增强,这一点与扩展的IPX ping类似。与IP和IPX扩展ping一样,用户也可以选择Verbose等属性。
trace命令
trace命令提供路由器到目的地址的每一跳的信息。它通过控制IP报文的生存期(TTL)字段来实现。TTL等于1的ICMP回应请求报文将被首先发 送。路径上的第一个路由器将会丢弃该报文并且发送回标识错误消息的报文。错误消息通常是ICMP超时消息,表明报文顺利到达路径的下一跳,或者端口不可达消息,表明报文已经被目的地址接收但是不能向上传送到IP协议栈。
为了获得往返延迟时间的信息,trace发送三个报文并显示平均延迟时间。然后将报文的TTL字段加1并发送3个报文。这些报文将到达路径的第二个路由器上,并返回超时错误或者端口不可达消息。反复使用这一方法,不断增加报文的TTL字段的值,直到接收到目的地址的响应消息。
在有些情况下,使用trace命令可能会导致故障。因为IOS中存在与trace命令相关的bug。这些bug的相关信息可以从CCO得到。另外一个问题是,某些目标站点不响应ICMP端口不可达消息。当命令的输出显示一系列星号(*)时,就可能碰到了此类站点。用户可以使用Ctrl-Shift-6中断命令的执行。
用户执行模式 下面展示了一个简单的在用户执行模式下执行的trace命令的输出。到达目的地的距离是3跳。TTL值为1的3个报文的响应消息是ICMP超时错误,并且返回报文的IP地址有两个。因为路由器1和路由器2在同一个网段中,并且它们到路由器3的距离都是一跳,因此这些路由器都响应该报文。
Router3#trace 171.144.1.39
Type escape sequence to abort.
Tracing the route to Router9 (171.144.1.39)
1 Router2 (165.48.48.2) 0 msec
Router2 (165.48.48.2) 0 msec
Router1 (165.48.48.1) 0 msec
2 165.48.48.129 12 msec
Router6 (165.48.49.129) 12 msec 12 msec
3 Router4 (171.133.1.2) 12 msec 12 msec
Router9 (171.144.1.39) 12 msec 12 msec
Router3
下面列出了IP trace命令的输出中出现的不同字符及其含义:
XY msec 在接收到响应消息之前的往返延迟(以毫秒为单位)
* 报文超时
? 报文类型不能识别
U 端口不可达
P 协议不可达
N 网络不可达
H 主机不可达
Q ICMP 源抑制
特权模式扩展Trace 用于扩展ping命令的许多属性都可以用来扩展trace命令的功能。扩展trace命令的特殊属性有:
Numeric display 在缺省情况下,trace命令的输出中既包括IP地址也包括其对应的DNS域名。如果用户不需要显示DNS域名,则可以使用该属性。
Probe count 其缺省值为3,用户可以根据需要进行调整。
TTL 该值可以在最大和最小TTL值之间变化。
Port number 这是一个非常有用的属性,它可以使工程技术人员跟踪特定的传输层端口。因此,不但可以确认源端与目的端之间的IP连通性, 而且可以确认高层服务是否可被访问。
与trace命令相关的另外一个问题是,如果存在到达目的地的多条路径,返回报文的源地址可能不相同。在这种情况下,用户需要仔细比较不同返回报文的延迟时间。如果仍不能得到明确的结果,可以远程访问路径上的一个或多个路由器,使用trace命令访问源地址和目的地址。#p#
二,路由器网络服务安全配置
1,禁止CDP(Cisco Discovery Protocol)。如:
Router(Config)#no cdp run
Router(Config-if)# no cdp enable
2,禁止其他的TCP、UDP Small服务。
Router(Config)# no service tcp-small-servers
Router(Config)# no service udp-samll-servers
3,禁止Finger服务。
Router(Config)# no ip finger
Router(Config)# no service finger
4,建议禁止HTTP服务。
Router(Config)# no ip http server
如果启用了HTTP服务则需要对其进行安全配置:设置用户名和密码;采用访问列表进行控制。如:
Router(Config)# username BluShin privilege 10 G00dPa55w0rd
Router(Config)# ip http auth local
Router(Config)# no access-list 10
Router(Config)# access-list 10 permit 192.168.0.1
Router(Config)# access-list 10 deny any
Router(Config)# ip http access-class 10
Router(Config)# ip http server
Router(Config)# exit
5,禁止BOOTp服务。
Router(Config)# no ip bootp server
禁止从网络启动和自动从网络下载初始配置文件。
Router(Config)# no boot network
Router(Config)# no servic config
6,禁止IP Source Routing。
Router(Config)# no ip source-route
7,建议如果不需要ARP-Proxy服务则禁止它,路由器默认识开启的。
Router(Config)# no ip proxy-arp
Router(Config-if)# no ip proxy-arp
8,明确的禁止IP Directed Broadcast。
Router(Config)# no ip directed-broadcast
9,禁止IP Classless。
Router(Config)# no ip classless
10,禁止ICMP协议的IP Unreachables,Redirects,Mask Replies。
Router(Config-if)# no ip unreacheables
Router(Config-if)# no ip redirects
Router(Config-if)# no ip mask-reply
11,建议禁止SNMP协议服务。在禁止时必须删除一些SNMP服务的默认配置。或者需要访问列表来过滤。如:
Router(Config)# no snmp-server community public Ro
Router(Config)# no snmp-server community admin RW
Router(Config)# no access-list 70
Router(Config)# access-list 70 deny any
Router(Config)# snmp-server community MoreHardPublic Ro 70
Router(Config)# no snmp-server enable traps
Router(Config)# no snmp-server system-shutdown
Router(Config)# no snmp-server trap-anth
Router(Config)# no snmp-server
Router(Config)# end
12,如果没必要则禁止WINS和DNS服务。
Router(Config)# no ip domain-lookup
如果需要则需要配置:
Router(Config)# hostname Router
Router(Config)# ip name-server 202.102.134.96
13,明确禁止不使用的端口。
Router(Config)# interface eth0/3
Router(Config)# shutdown
三,路由器路由协议安全配置
1,首先禁止默认启用的ARP-Proxy,它容易引起路由表的混乱。
Router(Config)# no ip proxy-arp 或者
Router(Config-if)# no ip proxy-arp
2,启用OSPF路由协议的认证。默认的OSPF认证密码是明文传输的,建议启用MD5认证。并设置一定强度密钥(key,相对的路由器必须有相同的Key)。
Router(Config)# router ospf 100
Router(Config-router)# network 192.168.100.0 0.0.0.255 area 100
! 启用MD5认证。
! area area-id authentication 启用认证,是明文密码认证。
!area area-id authentication message-digest
Router(Config-router)# area 100 authentication message-digest
Router(Config)# exit
Router(Config)# interface eth0/1
!启用MD5密钥Key为routerospfkey。
!ip ospf authentication-key key 启用认证密钥,但会是明文传输。
!ip ospf message-digest-key key-id(1-255) md5 key
Router(Config-if)# ip ospf message-digest-key 1 md5 routerospfkey
3,RIP协议的认证。只有RIP-V2支持,RIP-1不支持。建议启用RIP-V2。并且采用MD5认证。普通认证同样是明文传输的。
Router(Config)# config terminal
! 启用设置密钥链
Router(Config)# key chain mykeychainname
Router(Config-keychain)# key 1
!设置密钥字串
Router(Config-leychain-key)# key-string MyFirstKeyString
Router(Config-keyschain)# key 2
Router(Config-keychain-key)# key-string MySecondKeyString
!启用RIP-V2
Router(Config)# router rip
Router(Config-router)# version 2
Router(Config-router)# network 192.168.100.0
Router(Config)# interface eth0/1
! 采用MD5模式认证,并选择已配置的密钥链
Router(Config-if)# ip rip authentication mode md5
Router(Config-if)# ip rip anthentication key-chain mykeychainname
4,启用passive-interface命令可以禁用一些不需要接收和转发路由信息的端口。建议对于不需要路由的端口,启用passive-interface。但是,在RIP协议是只是禁止转发路由信息,并没有禁止接收。在OSPF协议中是禁止转发和接收路由信息。
! Rip中,禁止端口0/3转发路由信息
Router(Config)# router Rip
Router(Config-router)# passive-interface eth0/3
!OSPF中,禁止端口0/3接收和转发路由信息
Router(Config)# router ospf 100
Router(Config-router)# passive-interface eth0/3
5,启用访问列表过滤一些垃圾和恶意路由信息,控制网络的垃圾信息流。
Router(Config)# access-list 10 deny 192.168.1.0 0.0.0.255
Router(Config)# access-list 10 permit any
! 禁止路由器接收更新192.168.1.0网络的路由信息
Router(Config)# router ospf 100
Router(Config-router)# distribute-list 10 in
!禁止路由器转发传播192.168.1.0网络的路由信息
Router(Config)# router ospf 100
Router(Config-router)# distribute-list 10 out
6,建议启用IP Unicast Reverse-Path Verification。它能够检查源IP地址的准确性,从而可以防止一定的IP Spooling。但是它只能在启用CEF(Cisco Express Forwarding)的路由器上使用。
Router# config t
! 启用CEF
Router(Config)# ip cef
!启用Unicast Reverse-Path Verification
Router(Config)# interface eth0/1
Router(Config)# ip verify unicast reverse-path
1,及时的升级IOS软件,并且要迅速的为IOS安装补丁。
2,要严格认真的为IOS作安全备份。
3,要为路由器的配置文件作安全备份。
4,购买UPS设备,或者至少要有冗余电源。
5,要有完备的路由器的安全访问和维护记录日志。
6,要严格设置登录Banner。必须包含非授权用户禁止登录的字样。
7,IP欺骗得简单防护。如过滤非公有地址访问内部网络。过滤自己内部网络地址;回环地址(127.0.0.0/8);RFC1918私有地址;DHCP自定义地址(169.254.0.0/16);科学文档作者测试用地址(192.0.2.0/24);不用的组播地址(224.0.0.0/4);SUN公司的古老的测试地址(20.20.20.0/24;204.152.64.0/23);全网络地址(0.0.0.0/8)。
Router(Config)# access-list 100 deny ip 192.168.0.0 0.0.0.255 any log
Router(Config)# access-list 100 deny ip 127.0.0.0 0.255.255.255 any log
Router(Config)# access-list 100 deny ip 192.168.0.0 0.0.255.255 any log
Router(Config)# access-list 100 deny ip 172.16.0.0 0.15.255.255 any log
Router(Config)# access-list 100 deny ip 10.0.0.0 0.255.255.255 any log
Router(Config)# access-list 100 deny ip 169.254.0.0 0.0.255.255 any log
Router(Config)# access-list 100 deny ip 192.0.2.0 0.0.0.255 any log
Router(Config)# access-list 100 deny ip 224.0.0.0 15.255.255.255 any
Router(Config)# access-list 100 deny ip 20.20.20.0 0.0.0.255 any log
Router(Config)# access-list 100 deny ip 204.152.64.0 0.0.2.255 any log
Router(Config)# access-list 100 deny ip 0.0.0.0 0.255.255.255 any log
8,建议采用访问列表控制流出内部网络的地址必须是属于内部网络的。如:
Router(Config)# no access-list 101
Router(Config)# access-list 101 permit ip 192.168.0.0 0.0.0.255 any
Router(Config)# access-list 101 deny ip any any log
Router(Config)# interface eth 0/1
Router(Config-if)# description "internet Ethernet"
Router(Config-if)# ip address 192.168.0.254 255.255.255.0
Router(Config-if)# ip access-group 101 in
9,TCP SYN的防范。如:
A: 通过访问列表防范。
Router(Config)# no access-list 106
Router(Config)# access-list 106 permit tcp any 192.168.0.0 0.0.0.255 established
Router(Config)# access-list 106 deny ip any any log
Router(Config)# interface eth 0/2
Router(Config-if)# description "external Ethernet"
Router(Config-if)# ip address 192.168.1.254 255.255.255.0
Router(Config-if)# ip access-group 106 in
B:通过TCP截获防范。(这会给路由器产生一定负载)
Router(Config)# ip tcp intercept list 107
Router(Config)# access-list 107 permit tcp any 192.168.0.0 0.0.0.255
Router(Config)# access-list 107 deny ip any any log
Router(Config)# interface eth0
Router(Config)# ip access-group 107 in
10,LAND.C 进攻的防范。
Router(Config)# access-list 107 deny ip host 192.168.1.254 host 192.168.1.254 log
Router(Config)# access-list permit ip any any
Router(Config)# interface eth 0/2
Router(Config-if)# ip address 192.168.1.254 255.255.255.0
Router(Config-if)# ip access-group 107 in
11,Smurf进攻的防范。
Router(Config)# access-list 108 deny ip any host 192.168.1.255 log
Router(Config)# access-list 108 deny ip any host 192.168.1.0 log
12,ICMP协议的安全配置。对于进入ICMP流,我们要禁止ICMP协议的ECHO、Redirect、Mask request。也需要禁止TraceRoute命令的探测。对于流出的ICMP流,我们可以允许ECHO、Parameter Problem、Packet too big。还有TraceRoute命令的使用。
! outbound ICMP Control
Router(Config)# access-list 110 deny icmp any any echo log
Router(Config)# access-list 110 deny icmp any any redirect log
Router(Config)# access-list 110 deny icmp any any mask-request log
Router(Config)# access-list 110 permit icmp any any
! Inbound ICMP Control
Router(Config)# access-list 111 permit icmp any any echo
Router(Config)# access-list 111 permit icmp any any Parameter-problem
Router(Config)# access-list 111 permit icmp any any packet-too-big
Router(Config)# access-list 111 permit icmp any any source-quench
Router(Config)# access-list 111 deny icmp any any log
! Outbound TraceRoute Control
Router(Config)# access-list 112 deny udp any any range 33400 34400
! Inbound TraceRoute Control
Router(Config)# access-list 112 permit udp any any range 33400 34400
13,DDoS(Distributed Denial of Service)的防范。
! The TRINOO DDoS system
Router(Config)# access-list 113 deny tcp any any eq 27665 log
Router(Config)# access-list 113 deny udp any any eq 31335 log
Router(Config)# access-list 113 deny udp any any eq 27444 log
! The Stacheldtraht DDoS system
Router(Config)# access-list 113 deny tcp any any eq 16660 log
Router(Config)# access-list 113 deny tcp any any eq 65000 log
! The TrinityV3 System
Router(Config)# access-list 113 deny tcp any any eq 33270 log
Router(Config)# access-list 113 deny tcp any any eq 39168 log
! The SubSeven DDoS system and some Variants
Router(Config)# access-list 113 deny tcp any any range 6711 6712 log
Router(Config)# access-list 113 deny tcp any any eq 6776 log
Router(Config)# access-list 113 deny tcp any any eq 6669 log
Router(Config)# access-list 113 deny tcp any any eq 2222 log
Router(Config)# access-list 113 deny tcp any any eq 7000 log
13,建议启用SSH,废弃掉Telnet。但只有支持并带有IPSec特征集的IOS才支持SSH。并且IOS12.0-IOS12.2仅支持SSH-V1。如下配置SSH服务的例子:
Router(Config)# config t
Router(Config)# no access-list 22
Router(Config)# access-list 22 permit 192.168.0.22
Router(Config)# access-list deny any
Router(Config)# username BluShin privilege 10 G00dPa55w0rd
! 设置SSH的超时间隔和尝试登录次数
Router(Config)# ip ssh timeout 90
Router(Config)# ip ssh anthentication-retries 2
Router(Config)# line vty 0 4
Router(Config-line)# access-class 22 in
Router(Config-line)# transport input ssh
Router(Config-line)# login local
Router(Config-line)# exit
!启用SSH服务,生成RSA密钥对。
Router(Config)# crypto key generate rsa
The name for the keys will be: router.blushin.org
Choose the size of the key modulus in the range of 360 to 2048 for your General Purpose Keys .Choosing a key modulus greater than 512 may take a few minutes.
How many bits in the modulus[512]: 2048
Generating RSA Keys...

