1、什么是防火墙?
防火墙(Firewall
)是防止火灾发生时,火势烧到其它区域,使用由防火材料砌的墙。
后来这个词语引入到了网络中,把从外向内的网络入侵行为看做是火灾,防止这种入侵的策略叫做 防火墙。后来,防火墙不但用于防范外网,例如:对企业内网的 DoS 攻击或非法访问等,也开始防范从内部网络向互联网泄露信息、把内部网络作为攻击跳板等行为。
硬件防火墙可以实现 CIA 的 机密性(Confidentiality
)、完整性(Integrity
)、可用性(Availability
)这三种类型的对应策略。小企业会在局域网和互联网的边界部署防火墙。
CIA条目 | 威胁种类 | 策略使用技术 | 策略实施设备 | 说明 |
---|---|---|---|---|
机密性 | 窃听、非法访问、窃取等 | 用户认证、加密 | 防火墙、VPN、IDS/IPS 等 | 只允许合法用户访问相关信息。确保机密性,即保证信息不被泄露,设置防止非法访问等保护策略 |
完整性 | 篡改、冒充等 | 数据认证、电子签名、加密 | 防火墙、VPN、IDS/IPS 等 | 保证信息的完整,防止信息被篡改 |
可用性 | DoS 攻击等 | 过滤、冗余、策略 | 防火墙、带宽控制设备等 | 确保用户能够正常访问信息。也就是服务器或网络设备的运维,避免系统出现宕机问题 |
2、防火墙有哪些类型?
防火墙可分为 软件防火墙 和 硬件防火墙。软件防火墙又可分为 个人防火墙 和 网关防火墙。
(1)个人防火墙
个人防火墙运行在 PC 上,用于监控 PC 和外网的通信信息。在 Windows 操作系统中集成了 Windows 防火墙。
功能 | 作用 |
---|---|
确认连接请求 | 咨询用户是否阻止特定的连接请求 |
安全日志 | 根据需要生成安全日志,记录 PC 正常连接与错误连接的信息。在做故障分析时,日志起到了很大的作用 |
反病毒功能 | 阻止 PC 接收病毒和蠕虫通信 |
反间谍软件功能 | 阻止 PC 接收间谍软件或程序的通信 |
个人信息保护功能 | 设置保护策略,防止个人信息被窃取、浏览恶意网站以及钓鱼诈骗等 |
(2)网关防火墙
在网络中的网关上配置防火墙的功能,能对网络中的流量进行策略控制,这就是网关防火墙。
网关防火墙分为两种,一种是在 Windows 、Linux 等操作系统上安装并运行防火墙软件的软件网关防火墙,另一种是使用专用设备的硬件网关防火墙。
个人防火墙主要监控 PC 的通信流量,网关防火墙是监控 网络中所有终端的通信流量,在网关处进行策略控制。
个人防火墙 | 网关防火墙 | 区别 |
---|---|---|
安装位置 | 用户的 PC 上 | Windows 或 Linux 等服务器上 |
网络中的位置 | 终端 | 网关 |
安全监控对象 | 流入终端的流量 | 经过网关的流量 |
加密通信 | 在终端上解密后检查 | 不能检查 |
压缩文件检查 | 解压后检查 | 对解压方式、解压基本有限制 |
口令文件检查 | 输入口令后解压检查 | 不能检查 |
(3)硬件防火墙
通过硬件设备实现的防火墙叫做硬件防火墙,外形跟路由器相似,接口类型通常有千兆网口、万兆光口。
3、防火墙有哪些技术类型?
4、什么是代理服务器?
代理服务器 是应用网关防火墙的一种。假设客户端和 HTTP 服务器通信时, 客户端发送请求报文时,代理服务器会替代客户端向 HTTP 服务器发送请求;HTTP 服务器回复响应报文时,代理服务器会代替 HTTP 服务器向客户端回复。对于客户端来说,代理服务器就是 HTTP 服务器。客户端和代理服务器、代理服务器和 HTTP 服务器分别建立两个会话。
报文过滤防火墙是以 IP 或 TCP/UDP 为对象,判断是否允许通信。而应用网关防火墙是以应用程序为对象,也就是将 FTP 、HTTP 、Telnet 、DNS 等为对象进行判断。
5、防火墙有哪些接口模式?
防火墙有四种接口模式:
L1 ~ L3 模式是将防火墙进行串连,TAP 模式是防火墙进行旁挂。
6、防火墙能防范哪些威胁?
(1)窃听:通过窃听网络数据获取银行卡号、密码等重要信息。
(4)冒充:冒充他人发送邮件,对接收方进行钓鱼、诈骗等行为。
7、有哪些人会威胁安全?
黑客(hacker
):是指精通计算机技术的人,并非特指网络攻击者。
破解者(cracker
):对网络进行非法访问、窃听信息、篡改等行为的人。
攻击者(attacker
):使用 DoS 等攻击系统,以造成系统宕机为目的的人。
妨碍者:发送大量垃圾邮件、在论坛粘贴大量广告、发布大量无意义信息的人。
普通用户:尽管不会主动攻击,但在病毒、蠕虫等感染电脑后,成为威胁网络安全的对象。
僵尸(bot
):作为攻击跳板的终端,被植入具有攻击程序的病毒,遭受感染的终端叫做僵尸,由大量僵尸程序组成的网络叫做僵尸网络。
8、防火墙有哪些功能?
防火墙常见的功能有:
9、什么是会话?
会话 是两个终端系统之间的逻辑连接,从开始到结束的通信过程。
request
),服务器进行回应(response
),直至结束的过程就是进行了 1 1 1 个会话通信。Echo request
和对应的 Echo reply
组成 1 1 1 个会话。数据流 是一组有序,有起点和终点的数据序列。一个会话有两个数据流(flow
):一个是 “客户端到服务器”(client to server
),另一个是 “服务器到客户端”(server to client
)。
10、什么是 TCP 连接管理?
在数据通信前,客户端发送一个 SYN
包作为建立连接的请求。如果服务器发来回应,则认为可以开始数据通信。如果未收到服务器的回应,就不会进行数据通信。在通信结束时,会使用 FIN
包进行断开连接的处理。
SYN
包和 FIN
包是通过 TCP 头部的控制字段来管理 TCP 连接。一个连接的建立与断开,正常过程至少需要来回发送 7 7 7 个包才能完成。建立一个 TCP 连接需要发送 3 3 3 个包,这个过程叫作 三次握手。断开一个 TCP 连接需要发送 4 4 4 个包,这个过程也称作 四次挥手。创建一个 TCP 连接,会产生一个 32 32 32 位随机序列号,因为每一个新的连接使用一个新的随机序列号。
SYN 检查:TCP 会话开始时,客户端会发送一个 SYN
消息。如果没有会话信息,或尚未建立会话,即非 SYN
消息的 TCP 数据段到达防火墙,防火墙会当做非法消息而丢弃。
ACK 检查:通过对 SYN-ACK
的 ACK
消息检查,确认进行中的 3 3 3 次握手是否是非法尝试,防范 SYN Flood
攻击。
重复数据段检查:防火墙收到重复数据段,也就是序列号相同的 TCP 数据段,可以选择接收或者丢弃。
窗口检查:防火墙可以检测 TCP 头部的序列号和滑动窗口大小,拦截超过滑动窗口容量数据的序列号。
数据段重组:防火墙可以验证 TCP 数据段序列号是否完整。
11、防火墙如何建立会话?
防火墙收到报文后,首先检查会话表,确认是否有相同的会话。如果有相同会话,那么会禁止会话建立,确保会话都是唯一的。
如果是不同会话,那么检查报文,通常是查看路由表或 MAC 地址表来确定转发路径。如果可以转发,就确定对应的转发出接口和目的网段。如果不能转发,就丢弃这个数据。
报文检查目的地址是否需要进行 NAT 。如果需要,就先完成 NAT ,然后转发到相应出接口和目的网段。
对报文和目的信息进行安全策略检查,源信息是源接口、源区域和源地址,目的信息是目的接口、目的区域和目的地址。如果有匹配的安全策略,就根据策略进行处理,允许通信就进行转发,拒绝通信就进行丢弃。如果没有匹配的安全策略,就根据默认拒绝的策略丢弃数据。
当报文被允许通信时,防火墙的会话表中就会生成相应的会话信息。
12、什么是会话生存时间?
自动生成的会话表信息,是有一定的 生存时间。会话建立后,一段时间内一直没有进行通信,防火墙会删除生存时间到期的会话表项。如果长期保留会话表项,这些会话信息可能会被恶意攻击。同时,会话表是会占用防火墙资源,防火墙的会话表项的数量也是有限的,长期保留闲置的会话,会影响新会话的生成。
会话时间可以根据协议的不同,分别进行设置。
TCP 的话,会话的超时时间通常是 30 30 30 分钟到 1 1 1 小时,UDP 是 30 30 30 秒。比如,Telnet 连接在防火墙上建立会话后,如果在 1 1 1 个小时内没有任何数据通信,防火墙会自动删除这个会话表项。客户端无法再次使用这个 Telnet 会话了。
13、会话如何正常终止?
客户端完成数据传输后,发送 FIN
消息,即使用 FIN
标志位的 TCP 数据段。
服务器收到 FIN
消息后,在回复消息中,使用 FIN
和 ACK
标志位,并将 ACK
编号设置为 “接收的 Seq 编号 + 1”。
客户端相同处理方式,在回复消息中,使用 ACK
标志位,并将 ACK
编号设置为 “接收的 Seq 编号 + 1”。
如果客户端或服务器在连接过程发生故障,只有一方是侦听状态,这叫做 半侦听 或 半关闭。如果通信恢复,接收到故障前的数据段,那么会回复 RST
消息,强制终止 TCP 连接。
当防火墙收到 FIN
或 RST
消息时,会启动一个 30 30 30 秒的定时器。即使 FIN → FIN-ACK → ACK
的终止过程没完成,防火墙也会强制删除会话表项。
14、什么是 UDP 数据流?
UDP 不需要像 TCP 一样 3 3 3 次握手,客户端和服务器直接使用应用程序的 UDP 数据进行交互。
UDP 数据流 是指 源 IP 地址、源端口号、目的 IP 地址 和 目的端口号 这 4 4 4 个参数都相同的一系列 UDP 数据。
DNS 和 SNMP 这类应用程序,只需要 1 1 1 个 UDP 数据,就能构成 1 1 1 个数据流。
音频和视频使用的 RTP ,就需要多个 UDP 数据,来构成 1 1 1 个数据流。
15、没有端口号的协议如何生成会话?
像 ICMP 这类没有端口号的协议,是直接根据 IP 头部的 协议号 来生成会话。
防火墙通过识别 ICMP 不同的请求消息和对应的响应消息,来判断这些消息序列是否属于同一个会话。
16、两台防火墙,如何管理会话?
通常两台防火墙会使用主备方式的冗余结构,对主防火墙和备防火墙的会话信息进行 同步。主防火墙负责建立用户通信的会话,并把会话信息记录到会话表中,同时将信息转发到备防火墙。
17、会话管理有什么防御功能?
防火墙可以通过 限制会话数量,能够防范 DoS 攻击,还能控制防火墙的负载,提高防火墙的性能。
防火墙可以以 TCP SYN 、UDP 、ICMP 等协议为单位,通过指定源与目的的组合方式,来限制这类会话的数目。
18、如何防范非法报文?
为了防止非法报文的流入和流出,防火墙会对报文的头部和数据进行解析。常见的有:IP 头部解析、TCP 头部解析、UDP 头部解析。
(1)IP 头部解析
0x0800
时表示 IPv4 ,同时 IPv4 头部的版本也是 4 4 4 。类型字段为 0x86DD
时表示 IPv6 ,IP 头部的版本也是 6 6 6。LAND attack
。ping of death
攻击。(2)TCP 头部解析
SYN
、ACK
等字段是否存在组合不正确的情况。(3)UDP 头部解析
19、什么是安全区域?
防火墙有 安全区域(Security Zone
,简称区域)的概念。防火墙的物理接口和逻辑接口会分配到不同的区域中,也就是将防火墙的网段分别划分到不同的区域中。一个网络接口只能属于一个区域。
在同一个区域内,可以自由进行通信,但是跨区域通信,必须符合安全策略才行。当然,防火墙也可以设置安全策略,根据源或目的地址等条件,判断在同一区域内能否允许通信。
信任区域(Trust Zone
),也叫做 内部区域,所属接口是 G1/1
、tunnel1
、Loopback1
,是指公司内部网络区域,表示可以信赖的区域。通常区域内是可以自由通信。
不信任区域(Untrust Zone
),也叫做 外部区域,所属接口是 G1/2
,是指公司外部网络区域,比如互联网。与信任区域相对,是不可信任的区域,通常只会拦截通信,不允许所有通信。也可以设置安全策略,允许从信任区域到不信任区域的通信。
DMZ 区域(DeMilitarized Zone
),所属接口是 G1/4
,是对外公开的服务器使用的区域,与信任区域是分开的。
自定义区域(Custom Zone
),这里说的是上图 Sales Zone
,所属接口是 G1/3
,只有销售部门员工才能访问的区域,是人为划分和定义的自定义区域。当然,也能根据具体内容、安全策略描述和管理目的自定义其它区域。
20、什么是安全策略?
防火墙的主要功能是访问控制,也就是判断特定源和特定目的之间是否允许进行特定的通信。访问控制是通过规则来实现,每一条规则都指定了源、目的和通信内容等信息。这些访问控制规则的集合,在路由器中,叫做 访问控制列表,而在防火墙中,叫做 安全策略 或 安全规则。