1、什么是防火墙?

防火墙( Firewall )是防止火灾发生时,火势烧到其它区域,使用由防火材料砌的墙。

防火墙docker无效 防火墙policy_服务器

后来这个词语引入到了网络中,把从外向内的网络入侵行为看做是火灾,防止这种入侵的策略叫做防火墙。后来,防火墙不但用于防范外网,例如:对企业内网的 DoS 攻击或非法访问等,也开始防范从内部网络向互联网泄露信息、把内部网络作为攻击跳板等行为。

防火墙docker无效 防火墙policy_防火墙docker无效_02

硬件防火墙可以实现 CIA机密性( Confidentiality )、完整性( Integrity )、可用性( Availability )这三种类型的对应策略。小企业会在局域网和互联网的边界部署防火墙。

防火墙docker无效 防火墙policy_客户端_03

2、防火墙有哪些类型?

防火墙可分为软件防火墙硬件防火墙。软件防火墙又可分为个人防火墙网关防火墙

个人防火墙

个人防火墙运行在 PC 上,用于监控 PC 和外网的通信信息。在 Windows 操作系统中集成了 Windows 防火墙。

防火墙docker无效 防火墙policy_运维_04

杀毒软件产品厂家的个人防火墙一般包含在安全软件套件里。

防火墙docker无效 防火墙policy_服务器_05

网关防火墙

在网络中的网关上配置防火墙的功能,能对网络中的流量进行策略控制,这就是网关防火墙

网关防火墙分为两种,一种是在 Windows 、Linux 等操作系统上安装并运行防火墙软件的软件网关防火墙,另一种是使用专用设备的硬件网关防火墙

个人防火墙主要监控 PC 的通信流量,网关防火墙是监控网络中所有终端的通信流量,在网关处进行策略控制。

防火墙docker无效 防火墙policy_网络_06

硬件防火墙

通过硬件设备实现的防火墙叫做硬件防火墙,外形跟路由器相似,接口类型通常有千兆网口、万兆光口。

防火墙docker无效 防火墙policy_服务器_07

3、防火墙有哪些技术类型?

防火墙docker无效 防火墙policy_客户端_08

4、什么是代理服务器?

代理服务器是应用网关防火墙的一种。假设客户端和 HTTP 服务器通信时, 客户端发送请求报文时,代理服务器会替代客户端向 HTTP 服务器发送请求;HTTP 服务器回复响应报文时,代理服务器会代替 HTTP 服务器向客户端回复。对于客户端来说,代理服务器就是 HTTP 服务器。客户端和代理服务器、代理服务器和 HTTP 服务器分别建立两个会话。

  • 从客户端收到的请求报文、从服务器收到响应报文,代理服务器都会在应用层进行检查,如果有异常就放弃通信或发送出错信息。
  • 由于代理服务器是会话的起点,对互联网的服务器来说,是看不到客户端的 IP 地址。

防火墙docker无效 防火墙policy_网络_09

报文过滤防火墙是以 IP 或 TCP/UDP 为对象,判断是否允许通信。而应用网关防火墙是以应用程序为对象,也就是将 FTP 、HTTP 、Telnet 、DNS 等为对象进行判断。

5、防火墙有哪些接口模式?

防火墙有四种接口模式,分别是 L3 模式L2 模式L1 模式TAP 模式

防火墙docker无效 防火墙policy_服务器_10

L1 ~ L3 模式是将防火墙进行串连,TAP 模式是防火墙进行旁挂。

防火墙docker无效 防火墙policy_客户端_11

6、防火墙能防范哪些威胁?

防火墙能够防范的威胁如下:

  • 窃听:通过窃听网络数据获取银行卡号、密码等重要信息

防火墙docker无效 防火墙policy_运维_12

  • 篡改:将网站主页、邮件等通信内容恶意修改

防火墙docker无效 防火墙policy_运维_13

  • 破坏:通过电脑病毒或DoS攻击等破坏系统的正常工作

防火墙docker无效 防火墙policy_运维_14

  • 冒充:冒充他人发送邮件,对接收方进行钓鱼、诈骗等行为

防火墙docker无效 防火墙policy_运维_15

  • 信息泄露:电脑或服务器上的重要信息或文档泄露

防火墙docker无效 防火墙policy_服务器_16

  • 攻击跳板:作为病毒部署或DoS攻击的跳板

防火墙docker无效 防火墙policy_网络_17

  • 垃圾邮件:以营利为目的发送大量邮件

7、有哪些人会威胁安全?

  • 黑客( hacker ):是指精通计算机技术的人,并非特指网络攻击者。
  • 破解者( cracker ):对网络进行非法访问、窃听信息、篡改等行为的人。
  • 攻击者( attacker ):使用 DoS 等攻击系统,以造成系统宕机为目的的人。
  • 妨碍者:发送大量垃圾邮件、在论坛粘贴大量广告、发布大量无意义信息的人。
  • 普通用户:尽管不会主动攻击,但在病毒、蠕虫等感染电脑后,成为威胁网络安全的对象。
  • 僵尸( bot ):作为攻击跳板的终端,被植入具有攻击程序的病毒,遭受感染的终端叫做僵尸,由大量僵尸程序组成的网络叫做僵尸网络。

8、防火墙有哪些功能?

防火墙常见的功能有:会话管理报文结构解析安全区域安全策略NATVPNDoS 防御报文攻击防御内容扫描监控和报告报文抓包

9、什么是会话?

会话是两个终端系统之间的逻辑连接,从开始到结束的通信过程。

TCP 中,客户端和服务器通信,使用 3 次握手建立 1 个 TCP 连接,客户端发送请求( request ),服务器进行回应( response ),直至结束的过程就是进行了 1 个会话通信。

UDP 中,客户端和服务器的源端口和目的端口一致,之后的一系列通信都叫做会话。

ICMP 中,Echo request 和对应的 Echo reply 组成 1 个会话。

数据流是一组有序,有起点和终点的数据序列。一个会话有两个数据流( flow ):一个是 “ 客户端到服务器 ”( client to server ),另一个是 “ 服务器到客户端 ”( server to client )。

防火墙docker无效 防火墙policy_防火墙docker无效_18

10、什么是 TCP 连接管理?

在数据通信前,客户端发送一个 SYN 包作为建立连接的请求。如果服务器发来回应,则认为可以开始数据通信。如果未收到服务器的回应,就不会进行数据通信。在通信结束时,会使用 FIN 包进行断开连接的处理。

SYN 包和 FIN 包是通过 TCP 头部的控制字段来管理 TCP 连接。一个连接的建立与断开,正常过程至少需要来回发送 7 个包才能完成。建立一个 TCP 连接需要发送 3 个包,这个过程叫作三次握手。断开一个 TCP 连接需要发送 4 个包,这个过程也称作四次挥手。创建一个 TCP 连接,会产生一个 32 位随机序列号,因为每一个新的连接使用一个新的随机序列号。

防火墙docker无效 防火墙policy_服务器_19

  • SYN 检查

TCP 会话开始时,客户端会发送一个 SYN 消息。如果没有会话信息,或尚未建立会话,即非 SYN 消息的 TCP 数据段到达防火墙,防火墙会当做非法消息而丢弃。

  • ACK 检查

通过对 SYN-ACK 的 ACK 消息检查,确认进行中的 3 次握手是否是非法尝试,防范 SYN Flood 攻击。

  • 重复数据段检查

防火墙收到重复数据段,也就是序列号相同的 TCP 数据段,可以选择接收或者丢弃。

  • 窗口检查

防火墙可以检测 TCP 头部的序列号和滑动窗口大小,拦截超过滑动窗口容量数据的序列号。

  • 数据段重组

防火墙可以验证 TCP 数据段序列号是否完整。

11、防火墙如何建立会话?

a.防火墙收到报文后,首先检查会话表,确认是否有相同的会话。如果有相同会话,那么会禁止会话建立,确保会话都是唯一的。

b.如果是不同会话,那么检查报文,通常是查看路由表或 MAC 地址表来确定转发路径。如果可以转发,就确定对应的转发出接口和目的网段。如果不能转发,就丢弃这个数据。

c.报文检查目的地址是否需要进行 NAT 。如果需要,就先完成 NAT ,然后转发到相应出接口和目的网段。

d.对报文和目的信息进行安全策略检查,源信息是源接口、源区域和源地址,目的信息是目的接口、目的区域和目的地址。如果有匹配的安全策略,就根据策略进行处理,允许通信就进行转发,拒绝通信就进行丢弃。如果没有匹配的安全策略,就根据默认拒绝的策略丢弃数据。

e.当报文被允许通信时,防火墙的会话表中就会生成相应的会话信息。

12、什么是会话生存时间?

自动生成的会话表信息,是有一定的生存时间。会话建立后,一段时间内一直没有进行通信,防火墙会删除生存时间到期的会话表项。如果长期保留会话表项,这些会话信息可能会被恶意攻击。同时,会话表是会占用防火墙资源,防火墙的会话表项的数量也是有限的,长期保留闲置的会话,会影响新会话的生成。

会话时间可以根据协议的不同,分别进行设置。

TCP 的话,会话的超时时间通常是 30 分钟到 1 小时,UDP 是 30 秒。比如,Telnet 连接在防火墙上建立会话后,如果在 1 个小时内没有任何数据通信,防火墙会自动删除这个会话表项。客户端无法再次使用这个 Telnet 会话了。

防火墙docker无效 防火墙policy_客户端_20

13、会话如何正常终止?

客户端完成数据传输后,发送 FIN 消息,即使用 FIN 标志位的 TCP 数据段。

服务器收到 FIN 消息后,在回复消息中,使用 FIN 和 ACK 标志位,并将 ACK 编号设置为“接收的 Seq 编号 + 1 ” 。

客户端相同处理方式,在回复消息中,使用 ACK 标志位,并将 ACK 编号设置为“接收的 Seq 编号 + 1 ” 。

如果客户端或服务器在连接过程发生故障,只有一方是侦听状态,这叫做半侦听或半关闭。如果通信恢复,接收到故障前的数据段,那么会回复 RST 消息,强制终止 TCP 连接。

当防火墙收到 FIN 或 RST 消息时,会启动一个 30 秒的定时器。即使 FIN → FIN-ACK → ACK 的终止过程没完成,防火墙也会强制删除会话表项。

防火墙docker无效 防火墙policy_服务器_21

14、什么是 UDP 数据流?

UDP 不需要像 TCP 一样 3 次握手,客户端和服务器直接使用应用程序的 UDP 数据进行交互。

UDP 数据流是指源 IP 地址、源端口号、目的 IP 地址和目的端口号这 4 个参数都相同的一系列 UDP 数据。

防火墙docker无效 防火墙policy_运维_22

DNS 和 SNMP 这类应用程序,只需要 1 个 UDP 数据,就能构成 1 个数据流。

音频和视频使用的 RTP ,就需要多个 UDP 数据,来构成 1 个数据流。

15、没有端口号的协议如何生成会话?

像 ICMP 这类没有端口号的协议,是直接根据 IP 头部的协议号来生成会话。

防火墙通过识别 ICMP 不同的请求消息和对应的响应消息,来判断这些消息序列是否属于同一个会话。

防火墙docker无效 防火墙policy_网络_23

16、两台防火墙,如何管理会话?

通常两台防火墙会使用主备方式的冗余结构,对主防火墙和备防火墙的会话信息进行同步。主防火墙负责建立用户通信的会话,并把会话信息记录到会话表中,同时将信息转发到备防火墙。

17、会话管理有什么防御功能?

防火墙可以通过限制会话数量,能够防范 DoS 攻击,还能控制防火墙的负载,提高防火墙的性能。

防火墙可以以 TCP SYN 、UDP 、ICMP 等协议为单位,通过指定源与目的的组合方式,来限制这类会话的数目。