• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Linux (CentOS7) 防火墙配置


Recommended Posts

[title-plane title=”说明”]本文防火墙配置是基于CentOS7进行叙述,其他linux版本仅供参考[/title-plane]

防火墙概述

  • 在 Centos7里有几种防火墙共存: firewalld、 iptables、 ebtables(基本不用)。
  • 默认是使用 firewalld来管理 netfilter 子系统,不过底层调用的命令仍然是 iptables等。

https://z3.ax1x.com/2021/07/05/R5JtL6.png

firewalld 和 iptables 区别

https://z3.ax1x.com/2021/07/05/R5JARs.png

firewalld 防火墙

firewalld的重要概念 – 区域管理
firewalld将网卡对应到不同的区域(zone),zone默认有9个

https://z3.ax1x.com/2021/07/05/R5YQnP.png https://z3.ax1x.com/2021/07/05/R5Yfnx.png

[c-alert type=”success”]注意: Firewalld的默认区域是 public[/c-alert]

[start-plane type=”2″] 区域

  • 区域就像进入主机之前的安全检査的关口,毎个区域都具有不同程度的限制规则。
  • 可以同时使用多个区域,但是每个区域都必须关联ip和接口。
  • 默认情况下,public区域是默认区域,包含所有网卡。[/start-plane]

Firewalld默认提供的9个zone配置文件。配置文件分别为:

block. xml、 dmz.xml、drop.xml、 external xml、 home. xml、 internal xml、 public. xml、trusted. xml、 work. xml

存放路径: /usr/ib/ firewall/ zones/ 目录下

https://z3.ax1x.com/2021/07/05/R5NDW4.png

firewalld 配置方法

Firewalld的配置方法主要有三种: firewall-configfirewall-cmd 和 直接编辑xml文件
1. firewall-config:图形化工具

https://z3.ax1x.com/2021/07/05/R5UrAf.png

2. firewall-cmd:命令行工具

https://z3.ax1x.com/2021/07/05/R5Uy4S.pnghttps://z3.ax1x.com/2021/07/05/R5Ufun.png

[c-alert type=”success”]允许或者拒绝任意端口/协议           举例:允许或禁用1234端口的TCP流量[/c-alert]

Copy
 
firewall-cmd --zone=public --add-port=1234/tcp --permanent #允许1234端口的TCP流量
 
firewall-cmd --zone=public --remove-port=1234/tcp --permanent #禁止1234端口的TCP流量
 
  • firewal|-cmd:firewalld命令行工具
  • –ad-port:标识添加的端口
  • –permanent:表示设置为永久
  • –zone:指定到具体的zone配置文件

https://z3.ax1x.com/2021/07/05/R5dTl4.png

[c-alert type=”success”]批量开放或限制端口                        举例:批量开放端口,如从100-500之间的端口都开放[/c-alert]

Copyfirewall-cmd --zone=public --add-port=100-500/tcp --permanent

https://z3.ax1x.com/2021/07/05/R5wqgg.png

[c-alert type=”success”]启用或禁用服务                                举例:启用或禁用HTTP服务[/c-alert]

Copy
 
firewall-cmd --zone=public --add-service=http --permanent #永久允许http服务的流量
 
firewall-cmd --zone=public --remove-service=http --permanent #永久禁用http服务流量
 

https://z3.ax1x.com/2021/07/05/R50lxe.png3. 直接编辑 xml 文件
可以直接修改ⅹm|文件
用户配置目录有:
/etc/firewalld/
/etc/firewalld/services
/etc/firewalld/zones
[c-alert type=”warning”]注意:更改完xml文件后,要使用 firewall-cmd –reload 命令重新进行加载[/c-alert]

iptables 防火墙

iptables 和 firewalld 一样不是真正的防火墙,我们可以将它理解成一个客户端代理,通过这个代理,我们将安全的设定执行到对应的“安全框架”中,这个“安全框架”才是真正的防火墙,即 netfilter。
iptables是按照规则,即网络管理员与定义的条件和方法来处理数据包,如:通过(accept)、丢弃(drop)等。
iptables的结构:iptables→ Tables→ Chains→ Rules,即 tables由 chains组成,而 chains又由rules组成。

https://z3.ax1x.com/2021/07/05/R5rSUI.png

iptables 四表五链

https://z3.ax1x.com/2021/07/05/R5rNI1.pnghttps://z3.ax1x.com/2021/07/05/R5rcdA.png

 

Linux防火墙过滤框架

如图为 Linux防火墙的过滤框架,从图中可以看出,

  • 如果是 外部主机 发送数据包给 防火墙本机,数据将会经过 PREROUTING链 与 INPUT链;
  • 如果是 防火墙本机 发送数据包到 外部主机,数据会经过 OUTPUT链与 POSTROUTING链;
  • 如果防火墙作为路由负责转发数据,则数据将经过 PREROUTING链、 FORWARD链以及POSTROUTING链。

https://z3.ax1x.com/2021/07/05/R5r7Zj.png

iptables 语法构成

Copy
 
iptables [-t 表名] 选项 [链名] [条件] [控制类型]
 
[[email protected] Desktop]# iptables -t filter -I INPUT -p icmp -j REJECT #阻止ping
 
 
 
-j:数据包的常见控制类型
 
ACCEPT:允许通过
 
REJECT:拒绝通过,必要时会给出提示
 
DROP:直接丢弃,不给出任何回应
 
LOG:记录日志信息,然后传给下一条规则继续匹配
 
 
 
-p:指定协议类型:tcp、udp、icmp
 
-m:表示启用扩展功能,一般和-p配合使用
 

[c-alert type=”warning”]注意
1.不指定表名时,默认指 filter表
2.不指定链名时,默认指表内的所有链
3.除非设置链的默认策略,否则必须指定匹配条件
4.选项、链名、控制类型使用大写字母,其余均为小写字母[/c-alert]

iptables 命令详解

[c-alert type=”success”]iptables 添加新的规则[/c-alert]

Copy
 
示例:
 
[[email protected] Desktop]# iptables -t filter -A INPUT -p tcp -j ACCEPT
 
[[email protected] Desktop]# iptables -I INPUT -p udp -j ACCEPT
 
[[email protected] Desktop]# iptables -I INPUT 2 -p icmp -j ACCEPT
 
 
 
参数:
 
-A:在链的末尾追加条规则
 
-I:在链的开头,或指定序号,插入一条规则
 
-d:指定IP地址
 
--dport:知道目的端口
 

[c-alert type=”success”]iptables 规则查看[/c-alert]

Copy
 
示例:
 
[root @icq Desktop]# iptables -n -L INPUT
 
 
 
参数:
 
-L:列出所有的规则条目
 
-n:以数字形式显示地址、端口等信息
 
-I:以更详细的方式显示规则信息
 

https://z3.ax1x.com/2021/07/05/R5omCD.png

[c-alert type=”success”]iptables 删除、清空规则[/c-alert]

Copy
 
示例:
 
[[email protected] Desktop]# iptables -D INPUT 1
 
[[email protected] Desktop]# iptables -F
 
[[email protected] Desktop]# iptables -t 指定表 -F
 
 
 
参数:
 
-D:删除链内指定序号(或内容)的一条规则
 
-F:清空所有的规则
 

https://z3.ax1x.com/2021/07/05/R5TwWD.png

Link to comment
Share on other sites