Linux防火墙-filter表

作者介绍:简历上没有一个精通的运维工程师。希望大家多多关注作者,下面的思维导图也是预计更新的内容和当前进度(不定时更新)。

我们经过上小章节讲了Linux的部分进阶命令,我们接下来一章节来讲讲Linux防火墙。由于目前以云服务器为主,而云服务器基本上就不会使用系统自带的防火墙,而是使用安全组来代替了防火墙的功能,可以简单理解安全组就是web版的防火墙,我们主要从以下几个方面来讲解Linux防火墙:

Linux防火墙-什么是防火墙

Linux防火墙-4表5链

Linux防火墙-filter表(本章节)

Linux防火墙-nat表

Linux防火墙-常用命令

Linux防火墙-案例(一)

Linux防火墙-案例(二)

Linux防火墙-小结

上一小节,我们介绍了Linux防火墙的基本表链情况,今天就来重点介绍filter这个表及对应的链。它也是实现防火墙最核心功能的表。

filter

filter 表是 Linux 网络过滤框架 netfilter 中的一个关键部分,主要用于实现数据包过滤功能,以下是对其重点介绍:

一、关联链及作用位置

filter 表主要与 INPUT、FORWARD 和 OUTPUT 链相关联。

  1. INPUT 链

    • 当数据包的目标地址是本地系统时,数据包在经过 PREROUTING 链的初步处理后,如果确定目标是本地,就会进入 INPUT 链。

    • 在 INPUT 链中,filter 表起着至关重要的作用,它根据预设的规则对进入本地系统的数据包进行过滤。例如,阻止来自特定 IP 地址或 IP 地址段的恶意数据包进入本地系统的应用程序和服务,保护本地系统的安全。

    • 可以设置规则允许或拒绝特定端口的数据包进入。比如只允许特定的远程管理端口(如 SSH 的默认端口 22)的数据包进入,而阻止其他不必要的端口的数据包,以减少潜在的安全风险。

  2. FORWARD 链

    • 当数据包需要通过本地系统转发到其他网络设备时,会进入 FORWARD 链。

    • 在这个链中,filter 表依据预设的转发规则来决定是否允许数据包进行转发。例如,在企业网络环境中,可以设置规则只允许转发来自内部信任网络的数据包到外部网络,或者阻止转发包含特定类型数据的数据包,以实现对网络流量的精细控制和安全管理。

    • 可以根据数据包的源地址、目标地址、协议类型等信息进行综合判断,决定是否进行转发操作。

  3. OUTPUT 链

    • 当本地系统产生的数据包准备发送出去时,会进入 OUTPUT 链。

    • filter 表在这个链中对本地系统发出的数据包进行过滤。例如,可以设置规则阻止本地系统向某些特定的目标地址发送数据包,防止敏感信息泄露或者误操作导致的不必要的网络通信。

    • 也可以根据数据包的协议类型进行过滤,比如禁止本地系统使用某些不安全或不被允许的网络协议进行通信。

二、规则设置及示例

filter 表的规则设置主要通过相关的命令行工具(如 iptables)来实现。

iptables -A [链名] -[匹配条件] -j [动作]
iptables -I [链名] -[匹配条件] -j [动作]

-A 表示在指定链的末尾添加一条规则;

-I  表示在指定链的最前面插入一条规则;

[匹配条件]可以是下面

包括源 IP 地址(-s选项)

目标 IP 地址(-d选项)

协议类型(-p选项)

-j [动作]表示指定对匹配到的数据包采取的动作

ACCEPT(允许通过)

DROP(丢弃)

REJECT(拒绝并返回错误信息)

#来源于192.168.1.1所有请求都被允许
iptables -A INPUT -s 192.168.1.1  -j ACCEPT

拒绝某个ip的全部连接

#来源于192.168.1.2的所有请求都被拒绝
iptables -A INPUT -s 192.168.1.2  -j DROP

允许某个ip连接22端口​​​​​​​

#只允许192.168.1.3连接的tcp的22端口(也就是sshd服务)
iptables -A INPUT -s 192.168.1.3 -p tcp --dport 22 -j ACCEPT

三、重要性及应用场景

  1. 网络安全防护

    • filter 表是构建 Linux 系统防火墙的核心组成部分。通过在 filter 表中设置合理的规则,可以有效地阻止各种网络攻击,如常见的端口扫描攻击、拒绝服务攻击(DoS 和 DDoS)等。

    • 可以防止恶意软件通过网络传播到本地系统,保护系统的文件、数据和服务的安全。例如,阻止来自已知恶意 IP 地址的连接请求,或者阻止对本地系统的未授权访问尝试。

  2. 网络流量管理

    • 在企业网络环境中,可以利用 filter 表对网络流量进行精细的管理。例如,限制某些用户或设备的网络带宽使用,通过在 OUTPUT 链中设置规则,对特定的 IP 地址或应用程序的数据包进行限速。

    • 可以根据业务需求,优先保障关键业务应用的网络流量,通过设置规则,在 FORWARD 链中优先转发关键业务相关的数据包,确保其网络性能。

  3. 合规性与访问控制

    • 对于一些需要满足特定合规性要求的网络环境,filter 表可以帮助实现访问控制策略。例如,在金融机构或政府部门的网络中,根据法规要求,严格限制对特定敏感数据服务器的访问,只允许特定的 IP 地址或经过授权的设备进行访问,可以通过在 INPUT 链中设置严格的过滤规则来实现。

    • 在企业内部网络中,可以通过 filter 表限制员工对某些非工作相关网站或应用程序的访问,提高工作效率和网络安全性。

四、默认规则

介绍什么是防火墙的时候,我们介绍过,我们要去访问隔壁小区的张三需要经过下面几个步骤:

1.我们自己小区的门卫要允许我出门,并且不限制我去那个小区,也不限制我去找谁(全放开或者部分放开)。

2.小区A门卫要允许外人进来,并且张三也允许其他人(可是只是我们小区,也可以是所有人)。

3.我去找张三玩了以后,小区A的门卫要允许我离开(可以理解可以进来就可以出去,因为都是原路 ),我们自己小区要允许我回来。(当然2个操作基本上默认都是默认开放的)。

其实延伸出来一个问题,是不是每个人要出去,或者要进来都要有规则,有没有一个默认规则呢,凡是保安的小本本没记录的都按照默认的规则来执行,是放行还是拒绝。

#默认没有任何规则,任何人都可以进出。
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

也就是这里默认都是允许的,如果说从安全的角度来说,这个肯定不安全的,所以正确的防火墙配置应该是默认都拒绝,然后开放你想开放的端口。​​​​​​​

#只允许张三被外面的访问,只允许22端口被外面访问
#其他住户都不允许访问
Chain INPUT (policy DROP)
target     prot opt source               destination         
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

 

这里假设的是一个小区里面的住户就是一个服务:比如张三就是22端口,李四就是80端口,王五就是3306端口。

目前这个规则就是只允许张三(22端口)允许所有人访问,其他住户李四和王五都不允许任何人来访问。

总结

1.这里的规则只是为了让你认识基本规则,真实环境还有些其他配置才可以正常正常使用。

2.防火墙是按照顺序执行,如果执行到某个规则是拒绝,则不会往后面执行,即便后面有放行规则,所以在插入的时候是使用插入到最前面(-I)还是追加到后面(-A)就会有很大的区别。

3.如果默认规则是允许,则前面放置的所有允许规都是没有意义的,只有拒绝才是有意义的。

4.如果默认是规则是拒绝,则必须允许规则,否则我们就无法进入。

运维小路

一个不会开发的运维!一个要学开发的运维!一个学不会开发的运维!欢迎大家骚扰的运维!

关注微信公众号《运维小路》获取更多内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值