硅谷杂志:应用访问控制列表,加强网络安全 |
2012-07-07 13:21 作者:陈宪海 来源:硅谷网 HV: 编辑: 【搜索试试】
|
|
硅谷网7月7日消息 (原文载于《硅谷》杂志6月刊)访问控制列表(ACL)是提高网络安全的基本方法,通过在网络设备上合理设置访问控制列表,过滤和控制通过网络设备的数据流,可以合理分配网络流量、阻断不安全的访问,提高网络的安全性。介绍访问控制列表的基本概念和工作原理,结合配置实例,列举访问控制列表在网络安全方面的具体应用。访问控制列表,是加强网络安全性的重要技术手段之一。
作者简介:
陈宪海(1965-),男,辽宁抚顺人,高级工程师,研究方向:计算机系统信息安全,计算机网络运维管理。
随着计算机网络的广泛应用,人们对网络的依赖程度也日益增强,网络的安全性和可靠性也越来越重要。网络设备是网络的骨干和信息出入的桥梁,通过在网络设备上进行合理的访问控制列表设置,能够降低系统负荷,限制流量、防御计算机病毒的入侵和黑客的攻击,从而加强网络安全。
1访问控制列表的基本概念和功能
1.1访问控制列表的基本概念
访问控制列表(Accesscontrollist,缩写ACL,以下简写)通过在路由器接口处控制路由数据包是被转发还是被阻塞来过滤网络通信流量。路由器根据ACL中指定的条件来检测通过路由器的每个数据包,从而决定是转发还是丢弃该数据包。
ACL的定义是基于所有协议的,如IP、IPX等,也就是,如果想控制某种协议的通信数据流,必须对该接口的这种协议定义单独的ACL。
ACL早期主要应用在路由器上,目前支持ACL应用的有路由器、防火墙、交换机等网络设备。(本文中的网络设备特指可以支持ACL的设备)。
1.2ACL的功能
1)限制网络流量、提高网络性能。例如,ACL可以根据数据包的协议,指定这种类型的数据包具有更高的优先级,同等情况下可预先被网络设备处理。
2)提供对通信流量的控制手段。
3)提供网络访问的基本安全手段。
4)在网络设备接口处,决定哪种类型的通信流量被转发、哪种类型的通信流量被阻塞。
1.3ACL的工作流程
在使用ACL时,把预先定义好的ACL规则应用在网络设备的接口上,对接口进方向或者出方向的数据包进行过滤。(ACL只能过滤经过网络设备的数据包,网络设备自身产生的数据包不受作用)。
在网络设备接口上使用ACL有进和出两个方向,每个接口上,每种路由协议ACL都可以配置进或出。
1.4ACL的分类
根据使用的判断条件不同,ACL分为两大类:标准ACL和扩展ACL。
1.4.1标准ACL
标准ACL的语句所依据的判断条件是数据包的源IP地址,它只能过滤来自某个网络或主机的数据包,允许或者拒绝基于网络、子网或主机IP地址的所有通信流量通过网络设备的接口。
1.4.2扩展ACL
扩展ACL所依据的判断条件是数据包的源IP地址、目的IP地址、协议及数据所要访问的端口。相比标准ACL,更加灵活,能完成很多前者不能实现的工作。
标准ACL控制基于网络地址的信息流,且只允许过滤源地址。
扩展ACL通过网络地址和传输中的数据类型进行信息流控制,允许过滤源地址、目的地址和上层应用数据。
1.5ACL使用应遵循的原则和规范
1)最小特权原则:只给受控对象完成任务的最小权限。
2)最靠近受控对象原则:所有的网络层访问权限控制尽可能离受控对象最近。ACL的执行过程是按照配置规则从上往下顺序进行匹配,一旦符合匹配条件,就立刻结束比较过程将数据包转发,不在执行下面的ACL语句。
3)默认丢弃原则:在每个ACL的最后是一行隐含的“deny(拒绝)”语句,如果数据包与ACL的所有行都不匹配,将被丢弃。所以在ACL中至少有一条“permit”(允许)的语句,否则将导致网络中断。
4)放置的位置:根据最大程度减少不必要通信流量的通行准则,应该尽可能地把ACL放置在靠近被拒绝的通信流量的来源处。
标准ACL要尽量靠近数据流的目的端,这样可避免ACL阻止数据流前往其他的目的地。
扩展ACL应该尽量放置在靠近数据流的源端,这样才能在不需要的流量流经网络之前将其过滤掉。
5)最具限制性的语句应该放在访问控制语句的首行,按从特殊到一般的原则安排先后顺序。
6)新的语句只能被添加到ACL的末尾,即不允许将新的语句插入到原有的ACL中。
7)ACL只能过滤通过该网络设备的数据流,不能过滤该网络设备本身发出的数据包。
2应用ACL,加强网络安全
应用ACL,能够合理分配网络带宽,通过允许或拒绝数据包的IP、协议、端口、时间等,防御计算机病毒和计算机黑客的攻击,加强网络的安全性。
2.1防止外部的非法探测
ICMP(InternetControlMessageProtocol)是Internet控制报文协议,用于在IP主机、网络设备之间传递控制消息。控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。ICMP的应用主要是ping和tracert命令,非法访问者对内部网络发起攻击前,往往会用ping命令探测网络,或者使用tracert命令做路由跟踪,通过ACL规则禁止ICMP,ACL规则如下:
access-list101denyicmpanyany
access-list101permitipanyany
2.2.防御计算机病毒攻击,关闭易受公攻击的端口
针对微软操作系统的漏洞,一些病毒程序和漏洞扫描软件通过UDP端口135、137、138、1434和TCP端口135、137、139、445、4444、5554、9995、9996等进行病毒传播和攻击,可设置ACL规则阻止病毒传播和黑客攻击。
access-list102denyudpanyanyeq135
access-list102denyudpanyanyeq137
access-list102denyudpanyanyeq138
access-list102denyudpanyanyeq1434
access-list102denytcpanyanyeq135
access-list102denytcpanyanyeq137
access-list102denytcpanyanyeq139
access-list102denytcpanyanyeq445
access-list102denytcpanyanyeq4444
access-list102denytcpanyanyeq5554
access-list102denytcpanyanyeq9995
access-list102denytcpanyanyeq9996
access-list102permitipanyany
2.3限制telnet范围
telnet命令为我们远程登录网络设备提供的方便,同时也会给计算机黑客提供入侵我们网络的机会,可以应用ACL规则,允许特定的IP使用telnet,禁止其他IP使用telnet,保障网络的安全。
telnet是TCP的应用层协议,端口号是23。
ACL规则如下:
access-list103permittcp10.0.1.2000.0.0.254(定义允许的IP通过)
access-list103denytcp10.0.1.2540.0.0.254anyeq23
2.4防御TCPSYNFlood攻击
TCPSYNFlood攻击是黑客经常使用的攻击手段,它通过独占网络资源、使其他主机不能进行正常访问,从而导致服务器死机或网络瘫痪。
2.4.1TCP的连接过程
先介绍TCP的连接过程,因为SYNFlood攻击与TCP协议密切相关。
TCP(TransmissionControlProtocol)是传输控制协议,采用三次握手确认机制建立连接,提供可靠的连接服务。
第一次握手:主机A发送带SYN(synchronize)标志的TCP报文SYN=1,seq=100(seq:sequence,主机A随机产生的号码)到主机B,主机B由SYN=1知道,主机A要求建立连接。
第二次握手:主机B收到请求后确认连接信息,向主机A发送ack(AcknowledgeCharacter,确认信息)报文,acknumber=101(主机A的seq+1),syn=1,ack=1,seq=200(主机B随机产生的号码)。
第三次握手:主机A收到B的报文后检查acknumber是否正确,即第一次发送的seqnumber+1,以及ack是否为1,若acknumber=101(主机A的seq+1),ack=1,正确,主机A再发送acknumber=201(主机B的seq+1)),ack=1,主机B收到后确认seq=201,ack=1,则连接成功。
完成三次握手。主机A与主机B建立可靠的TCP连接,开始通信。
在三次握手过程中,网络设备维护一个未连接的队列,为每个主机的SYN开设一个条目,主机收到SYN并确认后,网络设备删除该条目。同时,网络设备还需维护通信过程中未连接的队列,半连接存活时间,重传次数等信息。
2.4.2TCPSYN攻击原理
SYN攻击是利用了TCP协议的缺陷,发送大量伪造的SYN数据包到用户主机,用户主机回复确认,由于伪造的SYN数据包源地址不存在,用户主机需要不断发送直至超时,将SYN请求丢弃。SYN攻击造成网络设备必须维护一个很大的未连接队列,数据包重传导致网络异常缓慢或瘫痪,正常的SYN请求淹没在大量伪造的SYN数据包中。
2.4.3应用ACL的TCP截取功能,有效防御SYN攻击
网络设备截取符合ACL的TCP的SYN数据包,代替主机间的TCP连接,如果连接成功,网络设备和主机建立TCP连接后,结合2个半连接。如果连接失败,将数据包丢弃。
ACL规则如下:
access-list104permittcpany10.0.1.10.0.0.255(10.0.1.1/24是要保护的IP地址)。
注:需开启TCP截取。TCP截取模式有intercept和watch模式,默认为intercept。
2.5防御IP碎片的攻击
2.5.1IP分片
以太网数据传输时,对数据进行封装和解封装,由于受到传输线路的物理电气、接口参数等因素的影响,以太网数据链路层最大传输单元(MaximumTransmissionUnit,MTU)是1500字节,其中包括IP包头信息占20字节,UDP包头信息占8字节,其余1472字节是数据部分。如果数据大于1472字节,就会产生分片。数据被分片后,每一部分被单独路由,数据到达目的主机后,根据数据包标识标志和分片偏移量等分片信息在IP层重新正确组合。
2.5.2IP碎片攻击
IP碎片攻击是计算机黑客针对数据分片的原理,通过程序大量发送特别设计的IP碎片,比如:重叠的IP片段、IP片段不完整的数据报、IP碎片太多或太小的数据报等,目的主机在处理这些错误数据包时,因资源被大量占用而导致系统崩溃。
2.5.3防御IP碎片攻击
利用扩展ACL对IP碎片攻击进行控制,规则如下:
Access-list105permitip10.0.1.00.0.0.255anyfragment(笔者楼层交换机)
带“fragment”参数的ACL条目,将只对分片数据包的后续分片进行控制,并且数据包中不能包含四层信息。如果数据包不分片,允许数据通过;如果数据分片,ACL检查后续分片中是否包含四层信息,没有四层信息数据包通过,如果包含四层信息的话,网络设备就对数据包做丢弃处理,从而实现了防御IP碎片的攻击。
2.6利用自反式ACL实现安全控制
在边界网络设备上,部署只允许内网用户主动访问外网的流量通过,外网主动访问内网的所有流量都拒绝的规则,注意:在边界网络设备接口的入方向上要拒绝掉所有外网主动发起的流量,但要允许内网发起而由外网返回的流量,否则内网发起的流量也不能正常通讯。我们通过自反式ACL能够很好地解决这个问题。
自反式ACL会根据一个方向的ACL,自动创建出一个反方向的ACL,就是和原来的控制列表IP的源地址和目的地址颠倒,并且源端口号和目的端口号完全相反的一个列表。并且还有一定的时间限制,过了时间,就会超时,这个新创建的列表就会消失,这样增加了网络的安全性。
目前,网络协议基本以IPv4为主,通常企业内网都是私有地址通过NAT(NetworkAddressTranslation)出去,网络随着IPv6的广泛应用,企业将大量应用外网IP地址的网络设备,自反式ACL的应用将有效的提高企业的网络安全。
3使用ACL可能带来的一些问题
通过在网络设备上正确合理的配置ACL,可以加强网络安全,需要注意的是,使用ACL,需要根据网络的状况和计算机病毒的发展,提前合理制定访问规则,对网络管理者有比较高的要求。
4结束语
介绍了ACL的基本概念、工作原理以及在网络安全中的具体应用,在一定程度上可以帮助网络管理人员从技术手段上更加灵活、方便地控制网络,提供网络的安全性。但是,由于网络的复杂性和新技术的迅速发展,网络管理人员还需要经常维护网络,以提供网络的安全性。《硅谷》杂志
|
|
|
|
【对“硅谷杂志:应用访问控制列表,加强网络安全”发布评论】 |
版权及免责声明:
① 本网站部分投稿来源于“网友”,涉及投资、理财、消费等内容,请亲们反复甄别,切勿轻信。本网站部分由赞助商提供的内容属于【广告】性质,仅供阅读,不构成具体实施建议,请谨慎对待。据此操作,风险自担。
② 内容来源注明“硅谷网”及其相关称谓的文字、图片和音视频,版权均属本网站所有,任何媒体、网站或个人需经本网站许可方可复制或转载,并在使用时必须注明来源【硅谷网】或对应来源,违者本网站将依法追究责任。
③ 注明来源为各大报纸、杂志、网站及其他媒体的文章,文章原作者享有著作权,本网站转载其他媒体稿件是为传播更多的信息,并不代表赞同其观点和对其真实性负责,本网站不承担此类稿件侵权行为的连带责任。
④ 本网站不对非自身发布内容的真实性、合法性、准确性作担保。若硅谷网因为自身和转载内容,涉及到侵权、违法等问题,请有关单位或个人速与本网站取得联系(联系电话:01057255600),我们将第一时间核实处理。
|
|
|
|