数据链路层网络安全

152432894.png

1.配置端口安全,避免MAC地址扩散攻击和MAC地址欺骗攻击;

2.配置DHCP监听,保证客户端能够从正确的DHCP服务器获得IP地址,避免DHCP服务器欺骗和DHCP地址耗尽;

3.配置IP源防护,确保客户端不能使用自行指定的IP地址,也不能使用其它客户正在使用的IP地址,防御IP地址欺骗;

   4.配置DAI,防范ARP攻击以及ARP欺骗。


【详细实验步骤】

  一、配置拓扑设备的基本信息:接口、管理、VLAN等实现全网互通


【配置】


DHCPSer(config)#ip route 0.0.0.0  0.0.0.0 30.30.30.2

DHCPSer(config)#enable secret ywlin

DHCPSer(config)#username ywlin password ywlin

DHCPSer(config)#line vty 0 4

DHCPSer(config-line)#password ywlin

DHCPSer(config-line)#login

DHCPSer(config-line)#int f0/0

DHCPSer(config-if)#ip add 30.30.30.1 255.255.255.0

DHCPSer(config-if)#no shutdown



SW1(config)#ip routing

SW1(config)#enable secret ywlin

SW1(config)#username ywlin password ywlin

SW1(config)#line vty 0 4

SW1(config-line)#password ywlin

SW1(config-line)#login

SW1(config-line)#int f0/3

SW1(config-if)# switchport mode access

SW1(config-if)# switchport access vlan 30

SW1(config-if)#no shutdown

SW1(config-if)#int range f0/1-2

SW1(config-if-range)#no shutdown

SW1(config-if-range)#switchport mode trunk

SW1(config-if-range)#int vlan 10

SW1(config-if)#no shutdown

SW1(config-if)#ip add 10.10.10.254  255.255.255.0

SW1(config-if-range)#int vlan 20

SW1(config-if)#no shutdown

SW1(config-if)#ip add 20.20.20.254  255.255.255.0

SW1(config-if-range)#int vlan 30

SW1(config-if)#no shutdown

SW1(config-if)#ip add 30.30.30.254 255.255.255.0

SW1(config-if)#end

SW1#vlan database

SW1(vlan)#vlan 10

SW1(vlan)#vlan 20

SW1(vlan)#vlan 30


SW2(config)#enable secret ywlin

SW2(config)#username ywlin password ywlin

SW2(config)#line vty 0 4

SW2(config-line)#password ywlin

SW2(config-line)#login

SW2(config-line)#int f0/0

SW2(config-if)#switchport mode trunk

SW2(config-if)#no shutdown

SW2(config-if)#int range f0/1

SW2(config-if)#no shutdown

SW2(config-if)#switchport mode access

SW2(config-if)#switchport access valn 10

SW2(config-if)#int range f0/2

SW2(config-if)#no shutdown

SW2(config-if)#switchport mode access

SW2(config-if)#switchport access valn 20

SW2(config-if)#end

SW2#vlan database

SW2(vlan)#vlan 10

SW2(vlan)#vlan 20


SW3(config)#enable secret ywlin

SW3(config)#username ywlin password ywlin

SW3(config)#line vty 0 4

SW3(config-line)#password ywlin

SW3(config-line)#login

SW3(config-line)#int f0/0

SW3(config-if)#switchport mode trunk

SW3(config-if)#no shutdown

SW3(config-if)#int range f0/1

SW3(config-if)#no shutdown

SW3(config-if)#switchport mode access

SW3(config-if)#switchport access valn 10

SW3(config-if)#end

SW3#vlan database

SW3(vlan)#vlan 10


PC1(config)#ip route 0.0.0.0 0.0.0.0 10.10.10.254

PC1(config-line)#int f0/0

PC1(config-if)#ip add 10.10.10.1  255.255.255.0

PC1(config-if)#no shutdown


PC2(config)#ip route 0.0.0.0 0.0.0.0  20.20.20.254

PC2(config-line)#int f0/0

PC2(config-if)#ip add 20.20.20.1  255.255.255.0

PC2(config-if)#no shutdown


PC3(config)#ip route 0.0.0.0 0.0.0.0  10.10.10.254

PC3(config-line)#int f0/0

PC3(config-if)#ip add 10.10.10.2  255.255.255.0

PC3(config-if)#no shutdown



二、将交换机SW1的F0/0、SW2的F0/1-2、SW3的F0/1端口置为接入模式并设置为速端口,分别属于VLAN30、VLAN10/VLAN20、VLAN10


Switch(config)#int range f0/1-3

Switch(config-if-range)#spanning-tree portfast



三、配置端口安全

   1.在交换机SW1的F0/3、SW2的F0/2-3、SW3的F0/2接口启用端口安全,其中SW1的F0/3口配置最大  允许MAC地址数为1,并且绑定DHCPSer的MAC地址000f.907d.a800;SW2的F0/2-/3口配置最大允许的MAC地址数为2,F0/2绑定0030.6744.be53,F0/3绑定一个未知的MAC地址;SW3的F0/2口配置最大允许的MAC地址数为1,不绑定任何MAC地址,配置粘贴功能sticky(粘连)特性。

【配置】

SW1(config)#int  range f0/3

SW1(config-if)#switchport  port-security

SW1(config-if)#switchport  port-security maximum 1

SW1(config-if)#  switchport port-security mac-address 000f.907d.a800


SW2(config)#int range f0/2-3

SW2(config-if-range)#switchport  port-security

SW2(config-if-range)#int  f0/2

SW2(config-if)#switchport  port-security maximum 2

SW2(config-if)# switchport port-security  mac-address 0030.6744.be53

SW2(config-if)#  int f0/3

SW2(config-if)#switchport  port-security maximum 2

SW2(config-if)#switchport  port-security mac-address ffff.ffff.0000     // 未知MAC


SW3(config)#int  f0/2

SW3(config-if-range)#switchport  port-security

SW3(config-if)#switchport  port-security maximum

SW3(config-if)#  switchport port-security mac-address sticky[d1]


2.配置SW1的F0/3和SW3的F0/2口的违规为shutdown; 配置SW2的F0/2-3接口的违规为retrict

【配置】

SW1(config)#int  f0/3

SW1(config-if)#switchport  port-security violation shutdown[d2]

SW3(config)#int  f0/2

SW3(config-if)#switchport  port-security violation shutdown

SW2(config)#int  rang f0/2 - 3

SW2(config-if-range)#switchport  port-security violation restrict


【验证】

SW1的F0/3接口端口安全状态

152714875.jpg

SW2的F0/2-3接口端口安全状态

152936578.jpg

   SW3的F0/2接口端口安全状态

152952135.jpg


3.将客户端按拓扑接入交换机,验证客户端是否相互访问,查看当前运行的配置文件,验证粘连特性

       153034791.jpg  

       153034647.jpg

       153034194.jpg

       153034841.jpg




4.将PC1和PC2连接端口互换,验证是否还可以通信

153201803.png


可正常通信,因为两个端口都允许有两个MAC地址,此时只是原先的MAC对掉了



        153224775.jpg

        153224437.jpg



将现在的PC1和PC3的接口互换,如下图,验证SW3的F0/2状态为err-disadbled,SW2的F0/2接口正常,但是连接的主机(PC3)无法访问PC3

    153424136.png


   SW3交换机的F0/2端口违规DOWN掉


          153424906.jpg

          153424758.jpg

SW2交换机的F0/2端口由于允许使用两个MAC地址,所以仍能正常使用

          153424533.jpg

所以PC3可正常通信

          153424938.jpg




5.将PC1和PC2按照如下图所示连接正确的端口,PC3可以正常通信,但是PC1所在的SW3的F0/2接口为err-disable状态。使用errdisable命令设置交换机自动恢err-disable状态的端口为正常状态,恢复时间设置为60秒


【配置】

Switch(config-if)#  switchport port-security aging time 60[d3]

Switch(config)#  switchport port-security aging type inactivity[d4]

Switch(config)#  switchport port-security aging static                 //删除静态绑定的MAC[d5]


SW2(config)#errdisable recovery cause psecure-violation[d6]

SW2(config)#errdisable recovery  interval 60[d7]


SW3(config)#errdisable  recovery cause psecure-violation

SW3(config)#errdisable  recovery interval 60


【验证】

  153925775.jpg


四、配置DHCP服务器

1.pool vlan10,地址池为:10.10.10.100-10.10.10.200/24;pool vlan20,地址池为:20.20.20.0-20.20.20.99/24;配置DHCP中继


【配置】

DHCPSer(config)#ip dhcp pool vlan10

DHCPSer(dhcp-config)#network 10.10.10.0  255.255.255.0

DHCPSer(dhcp-config)#default-router 10.10.10.254

DHCPSer(dhcp-config)#lease 5

DHCPSer(dhcp-config)#exit

DHCPSer(config)#ip  dhcp excluded-address 10.10.10.1  10.10.10.100

DHCPSer(config)#ip dhcp pool vlan20

DHCPSer(dhcp-config)#network 20.20.20.0  255.255.255.0

DHCPSer(dhcp-config)#default-router 20.20.20.254

DHCPSer(dhcp-config)#lease 5

DHCPSer(dhcp-config)#exit

DHCPSer(config)#ip  dhcp excluded-address 20.20.20.1 20.20.20.200


SW1(config)#int  vlan 10

SW1(config-if)#ip helper-address  30.30.30.1[d8]

SW1(config-if)#int  vlan 20

SW1(config-if)#ip  helper-address 30.30.30.1


【验证】


         153948136.jpg

         153949449.jpg




五、配置DHCP监听


153949694.png

启用DHCP监听及作用VLAN,SW1的作用VLAN为10、20、30,SW2的作用VLAN为10、20,SW3的作用VLAN为10;

配置SW1的F0/2、SW2的F0/2-3、SW3的F0/2接口为非信任;[d9]

配置SW1的F0/1 F0/3、SW2的F0/1、SW3的F0/1接口为信任;

配置报文中插入选项82信息;

配置预防DCHP耗尽攻击并启用MAC地址核实;

配置端口自动恢复

注:观察配置SW1的F0/2为非信任接口作用


【配置】

SW1(config)#ip dhcp snooping

SW1(config)#ip dhcp snooping vlan 10,20,30[d10]

SW1(config)#ip dhcp snooping information option[d11]

SW1(config)#ip dhcp snooping verify mac-address[d12]

SW1(config)#int range f0/1,f0/3

SW1(config-if-range)#ip dhcp snooping trust[d13]

SW1(config)#int f0/2

SW1(config-if)#ip dhcp snooping limit rate 15[d14]

SW1(config)#ip dhcp snooping information option allow-untrusted[d15]

SW1(config-if-range)#switchport port-security aging time 60[d16]

SW1(config-if-range)#switchport port-security  aging type inactivity[r17]

SW1(config)#errdisable recovery cause dhcp-rate-limit[d18]

SW1(config)#errdisable recovery interval 60


SW2(config)#ip dhcp snooping

SW2(config)#ip dhcp snooping vlan 10,20

SW2(config)#ip dhcp snooping information option

SW2(config)#int f0/1

SW2(config-if)#ip dhcp snooping trust

SW2(config)#int range f0/2-3

SW2(config-if-range)#switchport port-security aging time 60

SW2(config-if-range)#switchport  port-security aging type inactivity

SW2(config-if-range)#ip dhcp snooping limit rate 15

SW2(config)#errdisable recovery cause dhcp-rate-limit

SW2(config)#errdisable recovery interval 60


SW3(config)#ip dhcp snooping

SW3(config)#ip dhcp snooping vlan 10

SW3(config)#ip dhcp snooping information option

SW3(config)#int f0/1

SW3(config-if)#ip dhcp snooping trust

SW3(config)#int f0/2

SW3(config-if)#switchport port-security aging time 60

SW3(config-if)#switchport  port-security aging type inactivity

SW3(config-if)#ip dhcp snooping limit rate 15

SW3(config)#errdisable recovery cause dhcp-rate-limit

SW3(config)#errdisable recovery interval 60



【验证】


Show ip dhcp snooping                    //查看当前DHCP监听状态以及各端口情况

Show ip dhcp snooping binding           //查看当前DHCP监听绑定表

Switch#clear ip dhcp snooping binding   //清除DHCP监听绑定表


         154058222.jpg

         154058592.jpg

         154058678.jpg


PC1 PC2 PC3重新请求DHCP

154058565.jpg

   154058530.jpg

   154059241.jpg

Show  ip dhcp snooping binding 查看当前DHCP监听绑定表

SW2有两条记录,动态学习到的

        154305560.jpg


SW3有一条记录,动态学习到的

154305959.jpg


而SW1却只有一条记录,学习类型也不同

 154306533.jpg


原因是F0/2端口为非信任,且配置了

ip dhcp snooping information option allow-untrusted[d19]


六、配置IP源防护、DAI(由于学校设备有限,脱离实验,仅靠理论完成)      

    154306409.png

【配置】


DHCPSer(config-if)#ip dhcp  relay information trusted[r20]//在这个环境中有必要配置吗?


SW1(config)#ip  arp inspection vlan 10,20,30[d21]

SW1(config)#int range f0/1-2

SW1(config-if- range)#ip arp inspection trust[d22]

SW1(config)#int f0/1

SW1(config-if)#no  ip dhcp snooping trust[d23]只能用清除端口配置的命令完成 待补

SW1(config-if)#ip dhcp snooping limit rate 15[d24]

SW1(config-if)#int f0/3

SW1(config-if)#spanning-tree portfast

SW1(config-if)#ip verify source port-security[r25]

SW1(config-if)#ip arp inspection limit rate 15[r26]

SW1(config)#ip source binding 000F.907D.A800 vlan 30 30.30.30.1 int f0/3[r27]

SW1(config)#errdisable recovery cause dhcp-rate-limit[d28]

SW1(config)#errdisable recovery cause psecure-violation[d29]

SW1(config)#errdisable recovery interval 60[d30]


SW2(config)#ip arp inspection vlan 10,20

SW2(config)#int f0/1

SW2(config-if)#ip arp inspection  trust

SW2(config-if)#int range f0/2-3

SW2(config-if-range)#spanning-tree portfast

SW2(config-if-range)#ip verify source port-security

SW2(config-if-range)#ip arp inspection limit rate 15

SW2(config)#errdisable recovery cause dhcp-rate-limit

SW2(config)#errdisable recovery cause psecure-violation

SW2(config)#errdisable recovery interval 60


SW3(config)#ip arp inspection vlan 10

SW3(config)#int f0/1

SW3(config-if)#ip arp inspection  trust

SW3(config-if)#int f0/2

SW3(config-if)#spanning-tree portfast

SW3(config-if)#ip verify source port-security

SW3(config-if)#ip arp inspection limit rate 15

SW3(config)#errdisable recovery cause dhcp-rate-limit

SW3(config)#errdisable recovery cause psecure-violation

SW3(config)#errdisable recovery interval 60



[d1]配置粘连特性

可在全局或接口模式下配置

[d2]违规策略protectrestrictshutdown

[d3]配置老化时间

默认为0,表示不删除

[d4]老化时间到期后如何删除动态获悉的MAC地址规,有两种方式:

Absolute:直接删除重新学习

Inactivity:到期后,看端口是否有流量,没有就删除;静态绑定不受老化时间影响。

[d5]删除静态绑定的MAC地址

[d6]配置商端口在err-disabled状态时自动恢复

[d7]设置计时器

Time:30~86400s

[d8]DHCP中继

[d9]默认都为非信任

[d10]DHCP监听的作用VLAN,可一次多设

[d11]DPCP报文插入选项82信息

[d12]启用核实MAC地址功能,避免DHCP耗尽攻击,全局模式下

[d13]配置为信任接口

[d14]配置预防DHCP耗尽攻击:通过限制非信任端口DHCP报文速递,减缓DHCP耗尽攻击,Cisco2960范围为1~2048

[d15]SW1F0/2接口配置为非信任,是为了使DCHP报文通过此接口重新插入选项82信息来在此交换机中生成监听绑定表,为后续动态服务.DAI

这条命令是为非信任接口接收信息而不丢弃。

[d16]配置老化时间

默认为0,表示不删除

[r17]老化时间到期后如何删除动态获悉的MAC地址规,有两种方式:

Absolute:直接删除重新学习

Inactivity:到期后,看端口是否有流量,没有就删除;静态绑定不受老化时间影响。

[d18]当非信任端口违规时,端口进入err-disable

配置端口进入err-disable状态的原因,然后配置计时器

[d19]SW1F0/2接口配置为非信任,是为了使DCHP报文通过此接口重新插入选项82信息来在此交换机中生成监听绑定表,为后续动态服务.DAI

这条命令是为非信任接口接收信息而不丢弃。

[r20]允许被插入选项82信息但无中继信息的DHCP报文通过

[d21]指定VLAN上启用DAI

[d22]DAI】将端口设置为信任

[d23]DHCP】将前面配置为信任的端口恢复为非信任,这样SW1才能记录DHCP绑定表,DAI需要用到

[d24]配置预防DHCP耗尽攻击:通过限制非信任端口DHCP报文速递,减缓DHCP耗尽攻击,Cisco2960范围为1~2048

[r25]启用基于源IP和源MAC地址的IP源防护

[r26]限制入站ARP报文速率

0~2048/s,默认为15/s。当超出允许速率时,端口进入err-disable

[r27]DHCP服务器配置静态IP源绑定

[d28]当非信任端口违规时,端口进入err-disable

配置端口进入err-disable状态的原因,然后配置计时器

[d29]配置商端口在err-disabled状态时自动恢复

[d30]设置计时器

Time:30~86400s



注:由于没事间整理,完整报告请查看附件,若有误处请指正为谢!

你可能感兴趣的:(网络安全,端口安全,DAI,链路层安全,IP源防护)