深入分析Linux防火墙

关于网络安全的研究分析中,防火墙(Firewall)是被经常强调的重点,它基本功能是过滤并可能阻挡本地网络或者网络的某个部分与Internet之间的数据传送(数据包)。数据包其实就是一段段的数据,其中同时包括了用来把它们发送到各自的目的地所必须的信息。

你可以把数据包想象成一个邮包:数据包本身就是邮包中的数据,而信封上则是所有用来把这些信息发送到正确的机器和正确的程序中去的书信抬头,它同时还包含着回信地址等方面的信息。在其具体的过滤工作过程中,防火墙将接管在此之前从网络内部存取Internet和从Internet存取该内部网络的路由设置。

我们的感觉是以前的防火墙专门用来过滤一些非法的数据包,要么为什么其中的一种类型称为包过滤型防火墙呢?发展到现在,它的功能是日益增多,不仅能够过滤数据包,还能够作网络地址转换,作代理等等。Linux内核2.4中防火墙实现NetFilter就是这样的。

先来看看防火墙所处的位置,我的理解是要么它装在一台机器上作个人防火墙,要么装在一台机器上为一个局域网提供网关的功能,而后种情况则如下图所示:

这副图概括了装在网关上的NetFilter的框架结构图,从图中可以看到一个数据包可能经过的路径,其中用[]扩起来的东东,称为检查点,当数据包到达这个点时,就要停下来进行一些检查。这里检查点的名称使用的是iptables中名称,具体到NetFilter中可能就要改为那些所谓的钩子 (Hook)函数了。

NetFilter概括起来说,它有下面的三个基本功能:

1、数据过滤(filter表)

2、网络地址转换(nat表)

3、数据包处理(mangle表)

根据这三个功能,将上面的五个检查点按功能进行了分类。由于每个功能在NetFilter中对应一个表,而每个检查点又有若干个匹配规则,这些规则组成一个链,所以就有下面的说法:“NetFilter是表的容器,表是链的容器,链是规则的容器”

一个链(chain)其实就是众多规则(rules)中的一个检查清单(checklist)。每一条链中可以有一条或数条规则,每一条规则都是这样定义的“如果数据包头符合这样的条件,就这样处理这个数据包”。当一个数据包到达一个链时,系统就会从第一条规则开始检查,看是否符合该规则所定义的条件: 如果满足,系统将根据该条规则所定义的方法处理该数据包;如果不满足则继续检查下一条规则。最后,如果该数据包不符合该链中任一条规则的话,系统就会根据该链预先定义的策略(policy)来处理该数据包。

而一个iptables命令基本上包含如下五部分:希望工作在哪个表上、希望使用该表的哪个链、进行的操作(插入,添加,删除,修改)、对特定规则的目标动作和匹配数据包条件。

基本的语法为:iptables -t table -Operation chain -j target match(es)(系统缺省的表为”filter”)

基本操作如下:

-A 在链尾添加一条规则

-I 插入规则

-D 删除规则

-R 替代一条规则

-L 列出规则

基本目标动作,适用于所有的链:

ACCEPT 接收该数据包

DROP 丢弃该数据包

QUEUE 排队该数据包到用户空间

RETURN 返回到前面调用的链

foobar 用户自定义链

基本匹配条件,适用于所有的链:

-p 指定协议(tcp/icmp/udp/…)

-s 源地址(ip address/masklen)

-d 目的地址(ip address/masklen)

-i 数据包输入接口

-o 数据包输出接口

匹配条件扩展:

TCP—–匹配源端口,目的端口,及tcp标记的任意组合,tcp选项等。

UPD—–匹配源端口和目的端口

ICMP—-匹配ICMP类型

MAC—–匹配接收到的数据的mac地址

MARK—-匹配nfmark

OWNE—-(仅仅应用于本地产生的数据包)来匹配用户ID,组ID,进程ID及会话ID

LIMIT—匹配特定时间段内的数据包限制。这个扩展匹配对于限制dos攻击数据流非常有用。

STATE—匹配特定状态下的数据包(由连接跟踪子系统来决定状态),可能的状态包括:

INVALID (不匹配于任何连接)

ESTABLISHED (属于某个已经建立的链接的数据包)

NEW (建立连接的数据包)

RELATED (和某个已经建立的连接有一定相关的数据包,例如一个ICMP错误消息或ftp数据连接)

TOS——匹配IP头的TOS字段的值。

【编辑推荐】

  1. Linux个人防火墙的设计与实现
  2. 快速构架Linux防火墙

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/140069.html<

(0)
运维的头像运维
上一篇2025-03-03 18:45
下一篇 2025-03-03 18:46

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注