【相关博客链接】
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(1. 网络安全概述)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(2. 恶意代码)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(3. ARP攻击)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(4. 拒绝服务攻击)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(5. DNS安全)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(6. 网络安全扫描)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(8. 入侵检测系统)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(9. 虚拟专用网络)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(10. 应用安全PGP)
【期末复习】北京邮电大学《网络安全》课程期末复习笔记(11. 社会工程学)
7. 防火墙
7.1. 什么是访问控制
- 访问控制(Access Control)指系统对用户身份及其所属的预先定义的策略组限制其使用数据资源能力的手段
- 访问控制是系统保密性、完整性、可用性和合法使用性的重要基础
- 访问控制需要完成两个任务:识别和确认访问系统的用户、决定该用户可以对某一系统资源进行何种类型的访问
- 访问控制包括三个要素:主体、客体和控制策略
- 主体S(Subject)。是指提出访问资源具体请求。是某一操作动作的发起者,但不一定是动作的执行者,可能是某一用户,也可以是用户启动的进程、服务和设备等
- 客体O(Object)。是指被访问资源的实体。所有可以被操作的信息、资源、对象都可以是客体。客体可以是信息、文件、记录等集合体,也可以是网络上硬件设施、无限通信中的终端,甚至可以包含另外一个客体
- 控制策略A(Attribution)。是主体对客体的相关访问规则集合,即属性集合。访问策略体现了一种授权行为,也是客体对主体某些操作行为的默认
7.2. 访问控制策略实施原则
- 安全策略的实施原则:安全策略的制定实施也是围绕主体、客体和安全控制规则集三者之间的关系展开的
- 最小特权原则:最小特权原则是指主体执行操作时,按照主体所需权利的最小化原则分配给主体权力。最小特权原则的优点是最大限度地限制了主体实施授权行为,可以避免来自突发事件、错误和未授权用主体的危险
- 最小泄漏原则:最小泄漏原则是指主体执行任务时,按照主体所需要知道的信息最小化的原则分配给主体权力
- 多级安全策略:多级安全策略是指主体和客体间的数据流向和权限控制按照安全级别的绝密(TS)、秘密(S)、机密(C)、限制(RS)和无级别(U)五级来划分。多级安全策略的优点是避免敏感信息的扩散。具有安全级别的信息资源,只有安全级别比他高的主体才能够访问
- 多级安全系统必然要将信息资源按照安全属性分级考虑,安全类别有两种类型
- 一种是有层次的安全级别(Hierarchical Classification),分为TS,S,C,RS,U五级:绝密级别(Top Secret),秘密级别(Secret),机密级别(Confidential),限制级别(Restricted)和无级别级(Unclassified)
- 另一种是无层次的安全级别,不对主体和客体按照安全类别分类,只是给出客体接受访问时可以使用的规则和管理者
7.3. 自主访问控制模型DAC
- 自主访问控制模型: 允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体,某些用户还可以自主地把自己所拥有的客体的访问权限授予其它用户
- 在实现上,首先要对用户的身份进行鉴别,然后就可以按照访问控制列表所赋予用户的权限允许和限制用户使用客体的资源。主体控制权限的修改通常由特权用户或是特权用户(管理员)组实现
- 自主访问控制模型的特点是授权的实施主体(1、可以授权的主体;2、管理授权的客体;3、授权组)自主负责赋予和回收其他主体对客体资源的访问权限。
- DAC模型一般采用访问控制矩阵和访问控制列表来存放不同主体的访问控制信息,从而达到对主体访问权限的限制目的
7.4. 强制访问控制模型(MAC)
-
强制访问控制模型(MAC Model:Mandatory Access Control Model)一种多级访问控制策略
-
系统对访问主体和受控对象实行强制访问控制,系统事先给访问主体和受控对象分配不同的安全级别属性,实施访问控制时,系统先对访问主体和受控对象的安全级别属性进行比较,再决定访问主体能否访问该受控对象
-
考虑到偏序关系,主体对客体的访问主要有四种方式
- 向下读(rd,read down):主体安全级别高于客体信息资源的安全级别时允许查阅的读操作;
- 向上读(ru,read up):主体安全级别低于客体信息资源的安全级别时允许的读操作;
- 向下写(wd,write down):主体安全级别高于客体信息资源的安全级别时允许执行的动作或是写操作;
- 向上写(wu,write up):主体安全级别低于客体信息资源的安全级别时允许执行的动作或是写操作。
-
MAC模型中的几种主要模型:Lattice模型,Bell-LaPadula模型(BLP Model)和Biba模型(Biba Model)
- lattice模型: 在Lattices模型中,每个资源和用户都服从于一个安全类别。这些安全类别我们称为安全级别,也就是我们在本章开始所描述的五个安全级别,TS,S,C,R,U。在整个安全模型中,信息资源对应一个安全类别,用户所对应的安全级别必须比可以使用的客体资源高才能进行访问。Lattices模型是实现安全分级的系统,这种方案非常适用于需要对信息资源进行明显分类的系统
- BLP模型: BLP[Bell and LaPadula,1976]模型是典型的信息保密性多级安全模型,主要应用于军事系统.不上读,不下写. Bell-LaPadula模型通常是处理多级安全信息系统的设计基础,客体在处理绝密级数据和秘密级数据时,要防止处理绝密级数据的程序把信息泄露给处理秘密级数据的程序. BLP模型的出发点是维护系统的保密性,有效地防止信息泄露,忽略了完整性指标,使非法、越权篡改成为可能.
- Biba模型[Biba,1977]在研究BLP模型的特性时发现,BLP模型只解决了信息的保密问题,其在完整性定义存在方面有一定缺陷.禁止向上写,没有向下读. Biba模型模仿BLP模型的信息保密性级别,定义了信息完整性级别,在信息流向的定义方面不允许从级别低的进程到级别高的进程,也就是说用户只能向比自己安全级别低的客体写入信息,从而防止非法用户创建安全级别高的客体信息,避免越权、篡改等行为的产生Biba模型可同时针对有层次的安全级别和无层次的安全种类
7.5. 基于角色的访问控制模型RBAC Model
- 基于角色的访问控制模型(RBAC Model,Role-based Access Model)的基本思想是将访问许可权分配给一定的角色,用户通过饰演不同的角色获得角色所拥有的访问许可权
- RBAC从控制主体的角度出发,根据管理中相对稳定的职权和责任来划分角色,将访问权限与角色相联系,这点与传统的MAC和DAC将权限直接授予用户的方式不同
- 相比较而言, RBAC是实施面向企业的安全策略的一种有效的访问控制方式,其具有灵活性、方便性和安全性的特点,目前在大型数据库系统的权限管理中得到普遍应用
- 角色由系统管理员定义,角色成员的增减也只能由系统管理员来执行,即只有系统管理员有权定义和分配角色。用户与客体无直接联系,只有通过角色才享有该角色所对应的权限,从而访问相应的客体
- 用户不能自主地将访问权限授给别的用户,这是RBAC与 DAC的根本区别所在。RBAC与MAC的区别在于:MAC 是基于多级安全需求的,而RBAC则不是
7.6. 基于任务的访问控制模型(TBAC)
- 基于任务的访问控制模型(TBAC Model,Task-based Access Control Model)是从应用和企业层角度来解决安全问题,以面向任务的观点,从任务(活动)的角度来建立安全模型和实现安全机制,在任务处理的过程中提供动态实时的安全管理
- 在TBAC中,对象的访问权限控制并不是静止不变的,而是随着执行任务的上下文环境发生变化。TBAC首要考虑的是在工作流的环境中对信息的保护问题,TBAC是一种上下文相关的访问控制模型。其次,TBAC不仅能对不同工作流实行不同的访问控制策略,而且还能对同一工作流的不同任务实例实行不同的访问控制策略
7.7. 访问控制实现
- 访问控制表
- 访问控制矩阵
- 访问控制能力列表
- 访问控制安全标签列表: 安全标签是限制和附属在主体或客体上的一组安全属性信息。安全标签的含义比能力更为广泛和严格,因为它实际上还建立了一个严格的安全等级集合
7.8. 防火墙定义
-
防火墙是位于两个(或多个)网络间实施网间访问控制的一组组件的集合
-
它满足以下条件
- 所有进出被保护网络的通信必须通过防火墙
- 所有通过防火墙的通信必须经过安全策略的过滤或者防火墙的授权
- 防火墙自身应对渗透(peneration)免疫
-
一个典型的防火墙使用形态
- 防火墙在此处的功能:
- 工作子网与外部子网的物理隔离
- 访问控制
- 对工作子网做NAT地址转换
- 日志记录
- 防火墙在此处的功能:
-
防火墙的功能
- 用户认证,访问控制,内容过滤,
- IDS与报警,
- NAT,
- 应用程序代理,VPN,
- 日志,
7.9. 防火墙分类
- 从形态上分类: 软件防火墙,硬件防火墙
- 从实现技术分类: 包过滤防火墙,应用网关防火墙,状态检测防火墙,代理防火墙,电路级网关
- 从部署位置分类: 主机防火墙,网络防火墙
7.10. 防火墙访问控制方法
- 服务控制:确定可以访问的服务类型
- 方向控制:确定特定的服务请求可以发起并允许通过防火墙
- 用户控制:不同的用户具有不同服务访问的权限
- 行为控制:控制怎样使用特定服务。如过滤垃圾邮件
7.11. 包过滤防火墙
- 对所接收的每个数据包做允许、拒绝的决定
- 审查每个数据包以便确定其是否与某一条包过滤规则匹配
- 过滤规则基于可以提供给IP转发过程的包头信息
- 分为静态包过滤与动态包过滤两类
- 动态包过滤对外出数据包的身份做一个标记,对相同连接的进入的数据包也被允许通过,也就是说,它捕获了一个“连接”,而不是单个数据包头中的信息
- 静态包过滤防火墙是根据定义好的过滤规则审查每个数据包,以便确定其是否与某一条包过滤规则匹配
- 判断依据
- 基本信息: 源目IP,数据报协议(TCP 、 UDP、 ICMP 、IGMP),源目端口(FTP、 HTTP 、DNS)
- 协议具体信息: IP选项源路由、记录路由. TCP选项SYN 、ACK、 FIN 、RST 等.其它协议选项ICMP、 ECHO、 ICMP、 ECHO 、REPLY等
- 流向及接口信息: 数据包流向in或out.数据包流经网络接口eth0 eth1.
- 优点:
- 逻辑简单
- 对网络性能的影响较小,有较强的透明性
- 易于匹配绝大多数网络层、传输层数据包,定制策略灵活
- 并且它的工作与应用层无关,无须改动任何客户机和主机上的应用程序,易于安装和使用
- 缺点:
- 需要对IP、TCP、UDP、ICMP等协议有深入了解,否则容易出现因配置不当带来的问题
- 过滤依据主要是TCP/IP报头里面的有限信息,不能对应用层数据进行处理,提供较低水平的安全性
- 由于数据包的地址及端口号都在数据包的头部,不能彻底防止IP地址欺骗
- 允许外部客户和内部主机的直接连接
- 不提供用户的鉴别机制
- 包过滤防火墙的原理
-
数据包在经过防火墙的时候,查找对应的控制策略,根据策略决定如何处理该数据包,
-
过滤依据主要是TCP/IP报头里面的有限信息,不能对应用层数据进行处理,提供较低水平的安全性
7.12. 应用网关
-
应用网关防火墙(AGF,Application Gateway Firewall),又称代理防火墙或简称应用网关
-
应用网关在应用层处理信息
-
AGF可以支持多个应用,如E-mail,Web,DNS, Telnet,FTP等
-
应用网关代理服务器的工作过程为
- 首先,它对该用户的身份进行验证
- 若为合法用户,则把请求转发给真正的某个内部网络的主机,同时监控用户的操作,拒绝不合法的访问(访问权限)
- 当内部网络向外部网络申请服务时,代理服务器的工作过程刚好相反。(认证输入、输出两个方向的连接)
-
优点: (对应用层信息进行检查, 不许直接连接, 隐藏IP地址, 对用户身份进行校验, )
- 不允许内外网主机的直接连接
- 可以提供比包过滤更详细的日志记录(应用层信息)
- 可以隐藏内部IP地址
- 认证用户而非设备
- 可以为用户提供透明的加密机制
- 可以与认证、授权等安全手段方便的集成
- 监控、过滤应用层信息
-
缺点(慢,不透明)
- 代理速度比包过滤慢
- 代理对用户不透明,给用户的使用带来不便,灵活性不够
- 这种代理技术需要针对每种协议设置一个不同的代理服务器
- 有时要求特定的客户端软件
-
应用代理可以对数据包的数据区进行分析,并以此判断数据是否允许通过
-
应用控制可以对常用的高层应用做更细的控制.如HTTP的GET、POST、HEAD如FTP的GET、PUT等
7.13. 状态检测防火墙(包过滤+状态检测)
-
状态检测防火墙是在动态包过滤防火墙基础上,增加了状态检测机制而形成的
-
具有连接的跟踪能力
-
以TCP协议为例:所谓的状态检测机制关注的主要问题不再仅是SYN和 ACK标志位,或者是来源端口和目标端口,还包括了序号、窗口大小等其它TCP协议信息
-
优点:具备动态包过滤的所有优点,同时具有更高的安全性
-
缺点:
- 检测的层次仅限于网络层与传输层,无法对应用层内容进行检测,从而无法抵抗应用层的攻击.
- 性能比动态包过滤稍差:因为检测更多的内容
-
状态检测可以结合前后数据包里的数据信息进行综合分析决定是否允许该包通过
7.14. 网络地址翻译(NAT)
-
目的
- 解决IP地址空间不足问题
- 向外界隐藏内部网结构
-
网络地址转就是在防火墙上装一个合法IP地址集,然后
- 当内部某一用户要访问Internet时,防火墙动态地从地址集中选一个未分配的地址分配给该用户
- 同时,对于内部的某些服务器如Web服务器,网络地址转换器允许为其分配一个固定的合法地址
-
NAT的三种类型
- 静态NAT •内部网络每个主机都永久映射成外部合法的地址
- NAT池•在外部网络中定义了一系列合法地址,采用动态分配的方法映射到内部网络
- 端口NAT(PNAT)•把内部地址映射到外部网络的一个IP地址的不同端口上
-
NAT转换& IP复用: 公开地址不足的网络可以使用这种方式提供 IP复用功
7.15. 防火墙体系结构
- 双重宿主主机体系结构(什么是, 特点(禁止路由,应用层代理服务, 用户口令控制是关键, 性能是关键), 缺点)
-
防火墙的双重宿主主机体系结构是指以一台双重宿主主机作为防火墙系统的主体,执行分离外部网络与内部网络的任务
-
双重宿主主机至少有两个网络接口
-
双重宿主主机的防火墙体系结构禁止路由转发功能,完全阻止了内外网络之间的IP通信
-
两个网络之间的通信可通过应用层数据共享和应用层代理服务的方法实现。一般情况下采用应用层代理服务的方法
-
双重宿主主机的特性
- 用户口令控制是关键
- 必须支持很多用户的访问(中转站),其性能非常重要
-
缺点:双重宿主主机是隔开内外网络的唯一屏障,一旦它被入侵,内部网络便向入侵者敞开大门
-
- 屏蔽主机体系结构(优点(两层防护, 网络层, 应用层), 缺点(路由器配置是关键))
-
屏蔽主机体系结构由包过滤路由器和内部网络的堡垒主机共同构成防火墙
-
包过滤路由器配置在内部网和外部网之间,保证外部系统对内部网络的操作只能经过堡垒主机
-
堡垒主机配置在内部网络上,是外部网络主机连接到内部网络主机的桥梁,它需要拥有高等级的安全
-
屏蔽路由器可按如下规则之一进行配置
- 允许内部主机为了某些服务请求与外部网上的主机建立直接连接(即允许那些经过过滤的服务)
- 不允许所有来自外部主机的直接连接
-
安全性更高,双重保护:实现了网络层安全(包过滤)和应用层安全(代理服务)
-
缺点:过滤路由器能否正确配置是安全与否的关键。如果路由器被损害,堡垒主机将被穿过,整个网络对侵袭者是开放的
-
- 屏蔽子网体系结构()
-
屏蔽子网体系结构在本质上与屏蔽主机体系结构一样,但添加了额外的一层保护体系——周边网络。堡垒主机位于周边网络上,周边网络和内部网络被内部路由器分开
-
原因:堡垒主机是用户网络上最容易受侵袭的机器。通过在周边网络上隔离堡垒主机,能减少在堡垒主机被侵入的影响
-
周边网络是一个防护层,在其上可放置一些信息服务器,它们是牺牲主机,可能会受到攻击,因此又被称为非军事区(DMZ)
-
周边网络的作用:即使堡垒主机被入侵者控制,它仍可消除对内部网的侦听。例: netxray等的工作原理
-
堡垒主机(防御核心, 代理服务, 出站不一定经过, 入站一定经过)
- 堡垒主机位于周边网络,是整个防御体系的核心
- 堡垒主机可被认为是应用层网关,可以运行各种代理服务程序
- 对于出站服务不一定要求所有的服务经过堡垒主机代理,但对于入站服务应要求所有服务都通过堡垒主机
-
外部路由器(访问路由器)(防御,路由, IP欺骗)
- 作用:保护周边网络和内部网络不受外部网络的侵犯
- 它把入站的数据包路由到堡垒主机
- 防止部分IP欺骗,它可分辨出数据包是否真正来自周边网络,而内部路由器不可
-
内部路由器(阻塞路由器)(大部分过滤)
- 作用:保护内部网络不受外部网络和周边网络的侵害,它执行大部分过滤工作
- 外部路由器一般与内部路由器应用相同的规则
-
优点(3层防护, 只对外通过DMZ, 内部网络用户通过堡垒主机或代理服务器访问外部网络)
- 入侵者需突破3个不同的设备才能入侵内部网络
- 只对外通告DMZ区的网络,保证内部网络不可
- 内部网络用户通过堡垒主机或代理服务器访问外部网络
-