Firewall 防火墙基础

本文深入探讨了防火墙技术的基本概念,包括防火墙的功能、不同类型的防火墙技术如静态包过滤和动态包过滤,以及防火墙策略的应用。同时,介绍了iptables服务的工作原理,数据包在系统中的流向,以及如何通过规则链进行数据包处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 防火墙技术

防火墙是用于阻止计算机之间直接通信,位于两个或多个网络间,实施网络之间访问控制的组件集合。

技术协议栈判据检测内容逻辑位置物理位置代表
静态包过滤网络层访问控制表源地址, 目的地址网络边界负责内外网络转换的网关, 个人计算机已退出市场
动态包过滤网络层, 传输层访问控制表端口号, 协议状态网络边界负责内外网络转换的网关, 个人计算机
应用级网关应用层应用协议分析截进出某应用程序的所有封包,并且封锁其他的封包,通常是直接将封包丢弃两个网络的驳接处通用PC平台或芯片级专用硬件平台NetScreen, FortiNet
代理服务应用层小型的带有数据检测过滤功能的透明代理服务器
状态监视Checkpoint
数据库协议分析与控制技术

2. 防火墙策略

策略内容
通策略默认门是全关的,必须要定义谁能进
堵策略默认门是洞开的,有身份认证就能进

3. 应用软件

iptables 现在被做成了一个服务,可以进行启动,停止的。启动,则将规则直接生效,停止,则将规则撤销。

iptables 还支持自己定义链。但是自己定义的链,必须是跟某种特定的链关联起来的。

在一个关卡设定,指定当有数据的时候专门去找某个特定的链来处理,当那个链处理完之后,再返回。接着在特定的链中继续检查。

软件包工作空间功能
iptables用户空间规则列表,定义规则和策略
netfilter内核空间网络过滤器,读取规则和策略

4. 数据包流向

一个特定是数据包必定会经过规则链中的一个或多个。

类型流向
本机向外界发Output -> Postrouting
外界向本机发Prerouting -> Input
外界经过本机向外界发Prerouting -> Forward -> Postrouting

5. 规则链

也叫做钩子函数(hook functions),由 netfilter 规定。

规则链就是规则的集合。针对特定数据包的各种防火墙规则,按照顺序依次放入对应的链中。

名称位置含义内容判断时机举例
PREROUTING路由前for altering packets as soon as they come in当收到要通过防火墙发送给其他网络地址的数据包时应用的规则在对数据包做路由选择之前
INPUT数据包入口for packets destined to local sockets外界访问防火墙数据的规则的集合收到访问防火墙本地地址的数据包时限制某IP是否可以管理防火墙
FORWARD转发关卡for packets being routed through the box所有通过防火墙的数据的规则的集合收到要通过防火墙发送给其他网络地址的数据包时限制某IP是否能访问某网站
OUTPUT数据包出口for locally-generated packets防火墙访问外界数据的规则的集合防火墙本机向外发出数据时是否允许防火墙对外进行DNS解析
POSTROUTING路由后在对数据包做路由选择之后

1. 名词

状态监视 Stateful Inspection

应用协议分析(Application Protocol Analysis)技术工作在OSI模型的最高层——应用层上,在这一层里能接触到的所有数据都是最终形式,也就是说,防火墙“看到”的数据和我们看到的是一样的,而不是一个个带着地址端口协议等原始内容的数据包,因而它可以实现更高级的数据检测过程。

通用PC平台:使用标准计算机的硬件平台和一些功能经过简化处理的UNIX系列操作系统

专用硬件平台:采用专门设计的硬件平台,搭建专门开发的防火墙软件

静态数据包过滤 Static Packet Filtering

动态数据包过滤 Dynamic Packet Filtering 与基于状态的包过滤防火墙技术,即Stateful-based Packet Filtering 其实是同一类型

应用级网关 Application Level Gateways

代理服务(Proxy Service)也称链路级网关或TCP通道(Circuit Level Gateways or
TCP Tunnels)

访问控制表 Access Control Table

协议栈:TCP/IP 协议栈层级

网络边界:两个网络之间的接口处,称为边界防火墙,工作于操作系统网络处理接口与网络驱动程序接口(Network Driver Interface Specification,NDIS)之间

代理服务器(Transparent Proxy)

网络边界,即两个网络之间的接口处,在操作系统网络处理接口与网络驱动程序接口之间

2. 在协议栈的不同层级有什么不同?

在网络层只能对源地址和目标地址进行检测,而在应用层,软件处理的数据同人们看到的数据,包含所有信息。

3. 什么影响防火墙的性能?

吞吐量可能成为流量瓶颈。

6. 规则表定义

为了让各个功能交替工作,我们制定出了“表”这个定义,来定义、区分各种不同的工作功能和处理方式。

除了三张默认的表外,我们还可以自定义额外的链。

规则的次序非常关键,谁的规则越严格,应该放的越靠前,而检查规则的时候,是按照从上往下的方式进行检查的。

规则表内容作用于哪种数据包或规则链
filter定义过滤功能,即数据包中的通策略或堵策略,用于管理本机数据包的进出。INPUT, FORWARD, OUTPUT
nat定义地址转换功能。用于来源地与目的地的 IP 或 port 转换,用于管理后端主机(防火墙内部主机的)访问internet。与本机无关。主要与 Linux 主机后的内部计算机有关PREROUTING, OUTPUT, POSTROUTING
mangle修改报文原数据,即特殊数据包的路由标记,即修改TTL。能够实现将数据包的元数据拆开,在里面做标记/修改内容的。而防火墙标记,其实就是靠mangle来实现的。用于管理有特殊标记的包PREROUTING,INPUT,FORWARD,OUTPUT,POSTROUTING
raw
security

7. 参考

http://zhidao.baidu.com/question/23063704.html

http://www.xuexila.com/diannao/360634.html

http://blog.chinaunix.net/uid-23886490-id-3167640.html

http://drops.wooyun.org/tips/1424

http://blog.chinaunix.net/uid-9950859-id-98279.html

http://blog.chinaunix.net/uid-26495963-id-3279216.html

http://blog.youkuaiyun.com/houlc/article/details/7089436

### 华为防火墙工作原理 华为防火墙作为网络安全设备,主要用于保护内部网络免受外部威胁。其工作原理主要包括以下几个方面: - **访问控制**:过定义安全区域(如Trust、Untrust),并设置不同区域间的访问规则来决定哪些流量可以进入或离开特定的安全域[^1]。 - **状态检测技术**:不仅检查数据包头部信息,还会跟踪连接的状态变化,从而提供更细粒度的安全防护措施。 - **入侵防御系统(IPS)** 和 **病毒防范(Anti-Virus, AV)** 功能集成于其中,在阻止恶意软件传播的同时也能够识别已知攻击模式并加以拦截。 - **应用层网关(ALG)** 支持多种协议的应用级过滤,确保只有合法的服务请求被允许穿越防火墙边界。 ### 基本配置教程 #### 定义安全区 为了区分内外部环境,常会创建至少两个不同的安全级别——信任区(`trust`)和非信任区(`untrust`), 并指定接口所属的安全等级: ```shell firewall zone trust add interface GigabitEthernet0/0/1 quit firewall zone untrust add interface GigabitEthernet0/0/2 ``` #### 设置源NAT转换规则 当来自可信区域的数据流向外发送时,可以过配置SNAT规则隐藏真实的私有地址,提高安全性同时也解决了IPv4地址不足的问题: ```shell nat address-group 1 section 0 192.168.1.1 192.168.1.254 quit nat-policy interzone trust untrust outbound source-zone trust destination-zone untrust action snat translate-address group 1 ``` 上述命令实现了从`trust`到`untrust`方向上的静态PAT(Port Address Translation)[^2]. #### 启用GRE over IPsec 加密隧道 对于需要保障信保密性的场景,则可以在现有基础上进一步构建GRE over IPsec隧道以实现端到端加密传输服务。这涉及到调整现有的安全策略以便让GRE报文顺利穿过防火墙,并完成相应的IPsec参数设定过程,包括但不限于预共享秘钥的选择等细节处理[^3]: ```shell ike proposal 1 encryption-algorithm aes-cbc-256 dh group14 integrity-algorithm sha2-256 lifetime duration 86400 # ipsec transform-set set1 encapsulation-mode tunnel pfs dh-group14 ike-peer peer-name proposal 1 sa duration time-based infinite # interface Tunnel0 ip address 172.16.1.1 255.255.255.252 tunnel-protocol gre ipsec remote-ip-address x.x.x.x local-ip-address y.y.y.y ipsec profile profilename undo shutdown ``` 以上仅展示了基础框架下的典型操作流程;实际部署过程中还需考虑更多因素,比如性能优化、高可用性设计等方面的要求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值