1、2023-1-17第1页第八章访问控制列表与端口安全 2023-1-17第2页本章课题 8.1 访问控制列表简介 8.2 编号访问控制列表配置 8.3 命名访问控制列表 8.4 基于时间访问的控制列表 8.5 端口安全2023-1-17第3页网络安全隐患 (1)非人为的或自然力造成的故障、事故等。(2)人为但属于操作人员无意的失误造成的数据丢失或损坏。(3)来自园区网外部和内部人员的恶意攻击和破坏。2023-1-17第4页现有网络安全现有网络安全防御体制防御体制IDS68%杀毒软件杀毒软件99%防火墙防火墙98%ACL71%现有网络安全体制2023-1-17第5页2023-1-17第6页什么是
2、访问列表ISP IP Access-list:IP访问列表或访问控制列表,简称IP ACL IP ACL就是对经过网络设备的数据包根据一定的规则进行数据包的过滤。2023-1-17第7页访问列表的作用 访问控制列表可以限制网络流量、提高网络性能、控制网络通信流量等,同时ACL也是网络访问控制的基本安全手段。在路由器或交换机的接口上配置访问控制列表后,可以对进出接口及通过接口中继的数据包进行安全检测。配置访问控制列表的目的主要基于以下两点。(1)限制路由更新。(2)限制网络访问。2023-1-17第8页访问控制列表类型 标准IP访问控制列表 编号的标准IP访问控制列表 命名的标准IP访问控制列表
3、 扩展IP访问控制列表 编号的扩展IP访问控制列表 命名的扩展IP访问控制列表2023-1-17第9页ACL的一些相关特性(1)每一个接口可以在进入(Inbound)和离开(Outbound)两个方向上分别应用一个ACL,且每个方向上只能应用一个ACL。(2)ACL语句包括两个动作,一个是拒绝(Deny),一个是允许(Permit)。(3)在路由器或交换机接口接收到报文时,应用在接口进入方向的ACL(内向ACL)起作用。(4)在路由选择决定以后,数据准备从某一个接口输出报文时,应用在接口离开方向的ACL(外向ACL)起作用。(5)每个ACL的结尾有一个隐含的deny all(拒绝的所有数据包)
4、语句。因此,如果包不匹配ACL中的任何语句,将被拒绝。2023-1-17第10页ACL的内向匹配过程 路由器取出内向ACL的数据包进入路由器数据包进入路由器路由器取出内向ACL的第一条语句允许还是拒绝?匹配项与数据包中的各项进行比较是否匹配匹配项与数据包是否匹配?允许还是拒绝?取出内向ACL下一条语句最后一条?允许进行路由选择拒绝决定转发接口丢弃结束2023-1-17第11页ACL的外向匹配过程 路由器取出外向ACL的第一条语句选择离开接口是否匹配?匹配项与数据包中的各项进行比较取出外向ACL下一条语句最后一条?允许还是拒绝?允许数据包从离开接口送出结束丢弃拒绝2023-1-17第12页通配符
5、掩码 通配符掩码掩码的二进制形式描 述0.0.0.000000000.00000000.00000000.00000000整个lP地址必须匹配0.0.0.25500000000.00000000.00000000.11111111只有前24位需要匹配0.0.255.25500000000.00000000.11111111.11111111只有前16位需要匹配0.255.255.25500000000.11111111.11111111.11111111只有前8位需要匹配255.255.255.25511111111.11111111.11111111.11111111全部不需要匹配0.0.1
6、5.25500000000.00000000.00001111.11111111只有前20位需要匹配0.0.3.25500000000.00000000.00000011.11111111只有前22位需要匹配2023-1-17第13页IP地址与通配符掩码的作用规则 IP地址与通配符掩码的作用规则是:32位的IP地址与32位的通配符掩码逐位进行比较,通配符掩码为0的位要求IP地址的对应位必须匹配,通配符掩码为1的位所对应的IP地址位不必匹配,例如,IP地址192.168.1.0(相应的二进制为11000000 10101000 00000001 00000000)通配符掩码0.0.0.255(相
7、应的二进制为00000000 00000000 00000000 11111111)该通配符掩码的前24位为0,对应的IP地址位必须匹配,即必须保持原数不变,该通配符掩码的后8位为1,对应的IP地址位不必匹配,即IP地址的后8位可以为任意值。也就是说IP地址192.168.1.0和通配符掩码0.0.0.255匹配的结果是192.168.1.0这个网段内的所有主机。2023-1-17第14页两个特殊的关键字 Host:表示一种精确匹配,是通配符掩码0.0.0.0的简写形式。例如,只检查IP地址为192.168.1.10的数据包,可使用以下两种ACL语句。access-list 10 permit
8、 192.168.1.10 0.0.0.0 或 access-list 10 permit host 192.168.1.10 Any:表示全部不进行匹配,是通配符掩码255.255.255.255的简写形式。例如,允许所有的IP地址的数据都通过,可使用以下两种ACL语句。access-list 10 permit 192.168.1.10 255.255.255.255或 access-list 10 permit any2023-1-17第15页配置访问控制列表的步骤 第一步是配置访问控制列表语句 第二步是把配置好的访问控制列表应用到某个端口上。2023-1-17第16页访问控制列表配置的
9、注意事项(1)注意访问控制列表中语句的次序,尽量把作用范围小的语句放在前面。(2)新的表项只能被添加到访问表的末尾,这意味着不可能改变已有访问表的功能。如果必须要改变,只有先删除已存在的访问控制列表,然后创建一个新访问控制列表,将新访问控制列表用到相应的接口上。(3)标准的IP访问控制列表只匹配源地址,一般都使用扩展的IP访问控制列表以达到精确的要求。(4)标准的访问控制列表尽量靠近目的,扩展的访问控制列表尽量靠近过滤源的位置,以免访问控制列表影响其他接口上的数据流。(5)在应用访问控制列表时,要特别注意过滤的方向。(6)在编号ACL中所有未被允许的都是被拒绝的,所以允许的内容一定要写全面。2
10、023-1-17第17页配置标准IP访问控制列表 access-list access-list-number denylpermit source-address source-wildcard-mask access-list-number的范围是199 访问控制列表的动作:denylpermit2023-1-17第18页应用访问控制列表到接口 Ip access-group access-list-number in|out 访问控制列表只有被应用到某个接口才能达到报文过滤的目的。接口上通过的报文有两个方向,一个是通过接口进入路由器的报文,即in方向的报文,一个是通过接口离开路由器的报文
11、,即out方向的报文,out也是访问控制列表的默认方向。2023-1-17第19页显示访问控制列表配置 Show access-list access-list-number 其中,access-list-number是可选参数,如果指定则显示指定编号的访问控制列表配置细节,如果不指定则显示所有访问控制列表的配置细节。2023-1-17第20页例8-1 请在如图8-3所示的路由器上配置ACL,实现PC1不能访问172.16.10.0网段,而PC2能访问(假设各路由器各接口已配置好,并全网已连通)。2023-1-17第21页扩展IP访问控制列表的配置 access-list access-lis
12、t-number permit|deny protocol source-address source-wildcard-mask source-port destination-address destination-wildcard-mask destination-port log options 扩展IP访问控制列表的编号范围为100199 访问控制列表的动作:permit或deny 协议:IP、TCP、UDP、ICMP、EIGRP、GRE等。源端口号:端口号的范围是065535 2023-1-17第22页端口范围运算符 运算符及其语法描 述例eq portnumber等于,用于指定单
13、个的端口eq 21或eq ftpgt portnumber大于,用于指定大于某个端口的一个端口范围gt 1024lt portnumber小于,用于指定小于某个端口的一个端口范围lt 1024neq portnumber不等于,用于指定除了某个端口以外的所有端口neq 21range portnumber1 portnumber2指位于两个端口号间的一个端口范围range 135 1452023-1-17第23页命名访问控制列表的引入 不管是标准IP访问控制列表,还是扩展的IP访问控制列表,其编号的范围都不超过100个,这样,就可能出现编号不够用的情况;还有就是仅用编号区分的访问控制列表不便于
14、网络管理员对访问控制列表作用的识别。命名IP访问控制列表是通过一个名称而不是一个编号来引用的。命名的访问控制列表可用于标准的和扩展的访问表中。名称的使用是区分大小写的,并且必须以字母开头。在名称的中间可以包含任何字母数字混合使用的字符,名称的最大长度为100个字符。2023-1-17第24页编号IP访问控制列表和命名IP访问控制列表的主要区别(1)名字能更直观地反映出访问控制列表完成的功能。(2)命名访问控制列表突破了99个标准访问控制列表和100个扩展访问控制列表的数目限制,能够定义更多的访问控制列表。(3)单个路由器上命名访问控制列表的名称在所有协议和类型的命名访问控制列表中必须是唯一的,
15、而不同路由器上的命名访问控制列表名称可以相同。(4)命名访问控制列表是一个全局命令,它将使用者进入到命名IP列表的子模式,在该子模式下建立匹配和允许拒绝动作的相关语句。(5)命名IP访问控制列表允许删除个别语句,当一个命名访问控制列表中的语句要被删除时,只需将该语句删除即可,而编号访问控制列表中则需要将访问控制列表中的所有语句删除后再重新输入。(6)命名访问控制列表的命令为ip access-list,在命令中用standard和extended来区别标准访问控制列表和扩展访问控制列表,而编号访问控制列表的配置命令为access-list,并用编号来区别标准和扩展。2023-1-17第25页创
16、建标准命名IP ACL的步骤(1)configure terminal 进入全局配置模式。(2)ip access-list standard name用数字或名字来定义一条Standard IP ACL并进入access-list配置模式。(3)deny source source-wildcard|host source|any或permit source source-wildcard|host source|any在access-list 配置模式声明一个或多个的允许通过(permit)或丢弃(deny)的条件以用于决定报文是转发或还是丢弃。host source代表一台源主机,any
17、 代表任意主机。(4)end 退回到特权模式。(5)show access-lists name显示该接入控制列表,如果不指定access-list及name参数,则显示所有接入控制列表。2023-1-17第26页例8-3 在三层交换机上进行ACL设置,以实现VLAN10的主机不能与VLAN30内的主机进行通信,能与VLAN20内的主机进行通信,而VLAN20可以和VLAN30的主机进行通信。2023-1-17第27页命名扩展IP访问控制列表配置(1)configure terminal进入全局配置模式。(2)ip access-list extended name用数字或名字来定义一条Ext
18、ended IP ACL 并进入access-list配置模式。(3)deny|permit protocol source source-wildcard|host source|any operatorport destination destination-wildcard|host destination|any operator port 在access-list配置模式,声明一个或多个的允许通过(permit)或丢弃(deny)的条件以用于决定匹配条件的报文是转发或还是丢弃。以如下方式定义TCP或UDP的目的或源端口。操作符(operator)只能为eq。如果操作符在source
19、source-wildcard 之后,则报文的源端口匹配指定值条件生效。如果操作符在destination destination-wildcard之后,则报文的目的端口匹配指定值条件生效。port为十进制值,它代表TCP或UDP的端口号,值范围为065535。protocol可以为IP、TCP、UDP、IGMP、ICMP等协议。(4)end退回到特权模式。(5)show access-lists name显示该接入访问控制列表,如果不指定name参数,则显示所有接入访问控制列表。2023-1-17第28页基于时间的访问控制列表 基于时间的访问控制列表能够应用于编号访问控制列表和命名访问控制列
20、表。为了实现基于时间的ACL功能,首先应定义一个Time-range接口来指明日期时间范围,与其他接口一样,Time-range接口通过名称来标识。然后,将Time-range接口与对应的ACL关联起来,这是通过在ACL中用Time-range引用时间范围实现的。2023-1-17第29页路由器时钟设置 路由器时钟设置在特权模式下进行,分为两步:首先设置系统日期时间,然后用当前系统时钟更新路由器实时时钟。配置命令为:Clock set hh:mm:ss day month year/设置系统日期时间 Clock update-calender/更新路由器实时时钟2023-1-17第30页定义T
21、ime-range接口 time-range time-range-name 此命令的作用是定义Time-range接口的名称,参数time-range-name为Time-range接口的名称,接口名称长度为132个字符,中间不能有空格。Time-range接口命名后,就进入了时间定义模式,在此模式中还要使用absolute和periodic两个命令定义具体的时间范围。值得注意的是,一个时间范围只能包括一个absolute绝对时间范围和多个周期时间范围。2023-1-17第31页定义绝对时间范围 Absolute start start-ttme start-date end end-tim
22、e end-date star-time、end-time分别用于指定开始和结束时间,使用24小时表示,其格式为“小时:分钟”,start-date和end-date分别用于指定开始的日期和结束的日期,使用日/月/年的时间格式,而不是通常采用的月/日/年格式,这一点必须注意。命令中的start和end关键字都是可选的。当省略start及其后面的时间、日期时,表示与之相联系的ACL语句立即生效,并一直作用到end处的时间、日期为止;当省略end及其后面的时间,表示与之相联系的ACL语句在start处表示的时间、日期开始生效,并且永远发生作用,当然把访问控制列表删除了的话就不会起作用了。2023-
23、1-17第32页常用的时间定义形式 时 间 定 义描 述Absolute start 17:00Absolute start 17:00 1 decemdber 2000Absolute end 17:00Absolute end 17:00 l decemdber 2000Absolute start 8:00 end 20:00Absolute start 17:00 1 decemdber 2000 end 5:00 31 decemdber 2000从配置的当天17:00开始直到永远从2000年12月1日17:00开始直到永远从配置时开始直到当天的17:00结束从配置时开始直到2000
24、年12月1日17:00结束从8点开始到20点结束从2000年12月1日17:00开始直到2000年12月31日5:00结束2023-1-17第33页定义周期、重复使用的时间范围 Periodic days-of-the-week hh:mm to days-of-the-week hh:mm periodic是以星期为参数来定义时间范围的一个命令。它可以使用大量的参数,其范围可以是一个星期中的某一天、某几天的组合,或者使用关键字daily、weekdays、weekend等。2023-1-17第34页periodic中的参数 参 数描 述Monday,Tuesday,Wednesday,Thu
25、rsday,Friday,Staturday,SundayDailyWeekdayWeekend某一天或某几天的结合每天从星期一到星期五星期六和星期日2023-1-17第35页常用的时间范围定义形式 时间范围定义描 述Periodic weekend 7:00 to 19:00Periodic weekday 8:00 to 17:00Periodic daily 7:00 to 17:00Periodic staturday 17:00 to Monday 7:00Periodic Monday Friday 7:00 to 20:00星期六早上7:00到星期日晚上7:00星期一早上8:00
26、到星期五下午5:00每天的早上7:00到下午5:00星期六下午5:00到星期一早上7:00星期一和星期五的早上7:00到晚上8:002023-1-17第36页应用时间访问控制列表的注意事项 由于使用带时间范围的访问控制列表依赖于路由器的系统时钟,所以要保证路由器时钟设置的准确性。在time-range范围命令中同时使用absolute和periodic语句 2023-1-17第37页例8-5 要求从2019年1月1日起在每周工作时间段8:00到18:00内禁止172.16.10.0网段的主机访问HTTP的数据流。2023-1-17第38页交换机端口安全 利用交换机的端口安全功能可以防止局域网大
27、部分的内部攻击对用户、网络设备造成的破坏。如MAC地址攻击、ARP攻击、IP/MAC地址欺骗等。交换机端口安全的基本功能 限制交换机端口的最大连接数 端口的安全地址绑定2023-1-17第39页交换机端口安全如果一个端口被配置为一个安全端口,当其安全地址的数目已经达到允许的最大个数后;如果该端口收到一个源地址不属于端口上的安全地址的包时,一个安一个安全违例将产生。全违例将产生。当安全违例产生时,你可以选择多种方式来处理违例:Protect:当安全地址个数满后,安全端口将丢弃未知名地址(不是该端口的安全地址中的任何一个)的包。RestrictTrap:当违例产生时,将发送一个Trap通知。Shu
28、tdown:当违例产生时,将关闭端口并发送一个Trap通知。2023-1-17第40页配置安全端口 端口安全最大连接数配置 switchport port-security打开该接口的端口安全功能 switchport port-security maximum value设置接口上安全地址的最大个数,范围是1128,缺省值为128。switchport port-security violationprotect|restrict|shutdown设置处理违例的方式2023-1-17第41页配置安全端口 端口的安全地址绑定 switchport port-security 打开该接口的端口安
29、全功能 switchport port-security mac-address mac-address ip-address ip-address手工配置接口上的安全地址。2023-1-17第42页端口安全的限制 (1)一个安全端口不能是一个Aggregate Port。(2)一个安全端口只能是一个Access Port。(3)在端口上声明的安全地址的数量限制。一个静态模块上的百兆端口(Fast Ethernet,固定在交换机上)上最多支持20个同时声明IP地址和MAC地址的安全地址,一个动态模块(可插拔模块)上的端口最多支持110个同时声明IP地址和MAC地址的安全地址。另外,由于这种同时
30、声明IP地址和MAC地址的安全地址占用的硬件资源与ACLs所占用的系统硬件资源共享,因此在某一个端口上应用了ACLs,则相应地该端口上所能设置的声明IP地址的安全地址个数将会减少。(4)一个安全端口上的安全地址的格式保持一致,即一个端口上的安全地址要么全是绑定了IP地址的安全地址,要么都是绑定MAC地址的安全地址。2023-1-17第43页例8-6 在一个交换机上的端口fastethernet 0/3上应用端口安全功能,设置最大地址个数为2,设置违例方式为protect。2023-1-17第44页例8-7 为接口fastethernet 0/3配置一个安全地址:00d0.f800.075c,并
31、为其绑定一个IP地址:192.168.12.2。2023-1-17第45页安全地址的老化时间 在没有为一个接口上的所有安全地址配置老化时间时,所有的安全地址永远不失效。但由于有的安全地址很长时间未访问端口,这个安全地址由于没有失效还是要占用一安全端口的个数。如果设置了老化时间,在一个老化时间允许的时间内,一个安全地址没有访问端口,则从安全地址表中将这个安全地址删除,空出一个安全地址位置,以让其他地址成为安全地址。当设置安全地址的最大个数后,可以让交换机自动地增加和删除接口上的安全地址了。2023-1-17第46页设置老化时间 Static:表示老化时间将同时应用于手工配置的安全地址和自动学习的
32、地址,否则只应用于自动学习的地址。Time:表示这个端口上安全地址的老化时间,范围是01440,单位是分钟。如果老化时间被设置为0,则老化功能实际上被关闭。老化时间按照绝对的方式的计时,也就是一个地址成为一个端口的安全地址后,经过Time指定的时间后,这个地址就将被自动删除。Time的默认值为0。2023-1-17第47页关闭安全地址老化功能 在接口配置模式下使用如下命令来关闭一个接口的安全地址老化功能(老化时间为0)。no switchport port-security aging time 使用命令来使老化时间仅应用于动态学习到的安全地址。no switchport port-security aging static2023-1-17第48页查看端口安全信息 (1)查看接口的端口安全配置信息。show port-security interface interface-id (2)查看安全地址信息。show port-security address (3)显示某个接口上的安全地址信息。show port-security interface-id address(4)显示所有安全端口的统计信息,包括最大安全地址数、当前安全地址数以及违例处理方式等。show port-security2023-1-17第49页