📜  计算机网络中的防火墙介绍

📅  最后修改于: 2021-10-19 06:03:14             🧑  作者: Mango

防火墙是一种基于硬件或软件的网络安全设备,它监控所有传入和传出的流量,并根据一组定义的安全规则接受、拒绝或丢弃该特定流量。

接受:允许流量
拒绝:阻止流量但回复“无法访问的错误”
Drop :阻止流量而不回复

防火墙在安全的内部网络和不受信任的外部网络(如 Internet)之间建立了一道屏障。

防火墙的历史和需求

在防火墙出现之前,网络安全由驻留在路由器上的访问控制列表 (ACL) 执行。 ACL 是确定是否应向特定 IP 地址授予或拒绝网络访问权限的规则。
但是 ACL 无法确定它阻塞的数据包的性质。此外,仅 ACL 无法将威胁排除在网络之外。因此,引入了防火墙。

对于组织而言,连接到 Internet 不再是可选的。但是,访问 Internet 为组织带来了好处;它还使外部世界能够与组织的内部网络互动。这对组织构成了威胁。为了保护内部网络免受未经授权的流量的影响,我们需要一个防火墙。

防火墙的工作原理

防火墙根据其表中定义的规则集匹配网络流量。匹配规则后,关联操作将应用于网络流量。例如,Rules 定义为 HR 部门的任何员工都不能访问代码服务器的数据,同时定义了另一个规则,例如系统管理员可以访问 HR 和技术部门的数据。可以根据组织的必要性和安全策略在防火墙上定义规则。
从服务器的角度来看,网络流量可以是传出的也可以是传入的。防火墙为这两种情况维护一组不同的规则。大多数来自服务器本身的传出流量允许通过。尽管如此,对传出流量设置规则总是更好的,以实现更高的安全性并防止不需要的通信。
传入流量的处理方式不同。大多数到达防火墙的流量是这三种主要传输层协议之一 – TCP、UDP 或 ICMP。所有这些类型都有源地址和目标地址。此外,TCP 和 UDP 有端口号。 ICMP 使用类型代码而不是端口号来标识该数据包的用途。

默认策略:很难在防火墙上明确涵盖所有可能的规则。因此,防火墙必须始终具有默认策略。默认策略仅包含操作(接受、拒绝或丢弃)。
假设防火墙上没有定义关于到服务器的 SSH 连接的规则。因此,它将遵循默认策略。如果防火墙上的默认策略设置为accept ,则办公室外的任何计算机都可以与服务器建立 SSH 连接。因此,将默认策略设置为丢弃(或拒绝)始终是一个好习惯。

防火墙的生成

防火墙可以根据其生成进行分类。

  1. 第一代 – 包过滤防火墙:包过滤防火墙用于通过监控传出和传入的数据包并根据源和目标 IP 地址、协议和端口允许它们通过或停止来控制网络访问。它在传输协议层分析流量(但主要使用前 3 层)。
    数据包防火墙隔离处理每个数据包。他们无法判断数据包是否是现有流量的一部分。只有它可以根据唯一的数据包头允许或拒绝数据包。

    包过滤防火墙维护一个过滤表,用于决定是转发还是丢弃包。从给定的过滤表中,数据包将根据以下规则进行过滤:

    1. 来自网络 192.168.21.0 的传入数据包被阻止。
    2. 发往内部 TELNET 服务器(端口 23)的传入数据包被阻止。
    3. 发往主机 192.168.21.3 的传入数据包被阻止。
    4. 允许使用网络 192.168.21.0 的所有知名服务。
  2. 第二代-状态检查防火墙:状态防火墙(执行状态数据包检查)能够确定数据包的连接状态,与数据包过滤防火墙不同,这使得它更加高效。它跟踪通过它传输的网络连接的状态,例如 TCP 流。因此过滤决策不仅基于定义的规则,而且基于状态表中数据包的历史。
  3. 第三代 – 应用层防火墙:应用层防火墙可以检查和过滤任何 OSI 层上的数据包,直到应用层。它能够阻止特定内容,还可以识别某些应用程序和协议(如 HTTP、FTP)何时被滥用。
    换句话说,应用层防火墙是运行代理服务器的主机。代理防火墙阻止防火墙任一侧之间的直接连接,每个数据包都必须通过代理。它可以根据预定义的规则允许或阻止流量。

    注意:应用层防火墙也可以用作网络地址转换器 (NAT)。

  4. 下一代防火墙 (NGFW):如今正在部署下一代防火墙以阻止现代安全漏洞,例如高级恶意软件攻击和应用层攻击。 NGFW 包含深度数据包检测、应用程序检测、SSL/SSH 检测和许多保护网络免受这些现代威胁的功能。

防火墙的类型

防火墙通常有两种类型:基于主机和基于网络。

  1. 基于主机的防火墙:基于主机的防火墙安装在每个网络节点上,用于控制每个传入和传出的数据包。它是一个软件应用程序或应用程序套件,是操作系统的一部分。需要基于主机的防火墙,因为网络防火墙无法在受信任的网络内部提供保护。主机防火墙保护每台主机免受攻击和未经授权的访问。
  2. 基于网络的防火墙:网络级别的网络防火墙函数。换句话说,这些防火墙过滤网络上的所有传入和传出流量。它通过使用防火墙上定义的规则过滤流量来保护内部网络。网络防火墙可能有两个或多个网络接口卡 (NIC)。基于网络的防火墙通常是安装了专有软件的专用系统。

两种类型的防火墙都有各自的优势。

参考:
https://en.wikipedia.org/wiki/Firewall_(计算)
https://www.cisco.com/c/en_in/products/security/firewalls/what-is-a-firewall.html
http://nptel.ac.in/courses/106105084/31