UP | HOME

防火墙概论

Table of Contents

防火墙部署于两个网络之间。它依据预设规则,对所有跨网数据流进行管控与过滤,从而保护特定网络或局部网段免受未经授权的访问

使用防火墙规则时,务必 小心谨慎。某些配置可能会导致管理员无法登录服务器

为了安全起见,建议通过本地控制台执行初始防火墙配置,而不是通过 SSH 远程配置

防火墙可以增强主机或网络的安全性。它们可以执行以下一项或多项操作:

FreeBSD 内置三种防火墙:PF、IPFW 和 IPFILTER(也称 IPF)

此外还提供两种流量整形工具以控制带宽:altq(4) 和 dummynet(4)

流量整形

流量整形 Traffic Shaping 旨在优化或保障网络性能,其核心是对网络数据流的特征进行主动调节

具体而言,它通过对部分数据包进行限速和缓冲延迟,将原本不规则的流量重塑为平滑的输出流

从而确保网络传输严格符合预设应用在速率、延迟及抖动等方面的服务质量(QoS)标准

服务质量 QoS 标准是计算机网络对数据包传输质量的一种承诺,通常通过带宽、延迟及丢包率等性能指标来衡量

然而,现代互联网在架构设计上采用的是“尽力而为(Best-Effort)”的传输模式

这意味着网络节点会竭尽全力去转发每一个数据包,但在机制上并不提供任何绝对的送达或性能担保

交替队列 Alternate Queuing,ALTQ 通常与 PF 紧密关联,*dummynet* 则与 IPFW 紧密关联。三种防火墙均通过规则控制进出 FreeBSD 系统的数据包访问,但实现方式各异,规则语法也不相同

所有防火墙均通过检查数据包控制字段的值来工作

因此规则集的编写者需要了解 TCP/IP 的工作原理、数据包控制字段中各值的含义,以及这些值在正常会话中的使用方式

规则集

规则集 包含一组规则,依据数据包中所含值决定 允许通过还是 阻止

  • 主机之间的双向数据包交换构成一次会话
  • 防火墙规则集既处理来自公共互联网的数据包,也处理系统对这些数据包作出的响应数据包
  • 每个 TCP/IP 服务由其协议和监听端口定义。指向特定服务的数据包源自非特权端口,目标为特定地址上的服务端口

    上述参数均可作为选择标准来创建规则,从而允许或阻止服务
    

要查找未知的端口号,请参阅 /etc/services (源代码位于 usr.sbin/services_mkdb/services

此外,特洛伊木马也可能使用未知端口,需要额外留意

包容性

防火墙规则集可分为 排他性包容性 两类

  • 除非流量与规则集匹配,排他性防火墙对所有流量一律允许通过
  • 包容性防火墙则反之:仅允许匹配规则的流量通过,阻止其余所有流量

    包容性防火墙能更好地控制出站流量,对提供公共互联网服务的系统是更合适的选择
    
    它同时控制来自公共互联网的流量,决定哪些流量可以访问私有网络,所有不匹配规则的流量均被阻止并记录
    
    包容性防火墙因降低了允许不良流量通过的风险,通常比排他性防火墙更安全
    
    除非另有说明,本章中的所有配置和示例规则集均采用包容性防火墙规则集
    

有状态

有状态 防火墙可增强安全性

  • 有状态防火墙会跟踪打开的连接,仅允许与现有连接匹配的流量,或用于建立新连接的数据包
  • 有状态过滤将流量视作一次双向数据包交换的会话。规则中指定状态后,防火墙会动态生成每个预期数据包的内部规则,能够匹配并判定数据包是否属于该会话
    • 如果数据包不符合会话模板,即自动拒绝
    • 会话完成后,即从动态状态表中移除该会话
  • 有状态过滤使用户专注于阻止或允许新的会话

    新会话一旦允许,所有后续数据包自动放行,任何伪造的数据包均自动拒绝
    
    若阻止新会话,则任何后续数据包均不会允许通过
    
  • 有状态过滤具备强大的匹配能力,可防御各种攻击方法

NAT

NAT 网络地址转换 是一项核心的网络路由技术,其主要功能是在局域网的私有 IP 地址与互联网的公网 IP 地址之间,执行动态的映射与报文头部替换

  • NAT 使防火墙后的私有局域网可以共享 ISP the Internet service provider ,互联网服务提供方分配的单一 IP 地址(即便该地址是动态分配的)
  • NAT 使局域网中每台计算机均能访问互联网,无需为多个互联网账户或 IP 地址支付额外费用
数据包经防火墙发往公共互联网时,NAT 自动将各系统的私有局域网 IP 地址转换为单一公共 IP 地址

返回的数据包则执行反向转换

根据 RFC 1918,以下 IP 地址范围保留供私有网络使用,这些地址永远不会直接路由到公共互联网,因此可与 NAT 配合使用:

地址范围 备注
10.0.0.0/8 RFC 1918 私有地址
172.16.0.0/12 RFC 1918 私有地址
192.168.0.0/16 RFC 1918 私有地址
Next: ipfirewall Home: 防火墙