18.防火墙

防火墙

1. 防火墙介绍

防火墙是一种获取安全的方法,有助于实施一个比较广泛的安全性政策,用以确定系统中允许提供的服务和访问。它的使用在一定的程度上减少了系统被网络攻击成功的概率,加固了系统的安全。同时SELinux端口标签可以用来控制网络服务所使用的网络端口。

1.1 firewalld简介

Linux内核中包含netfilter,它是网络流量操作(如数据包过滤、网络地址转换和端口转换)的框架。Netfilter是红帽企业Linux 8防火墙的主要组件。Linux内核中还包括nftables,这是一个新的过滤器和数据包分类子系统,其增强了netfilter的部分代码,但仍保留了netfilter的架构。

Firewalld是一个动态防火墙管理器,它是nftables框架的前端。firewalld曾使用iptables命令来直接配置netfilter,在nftables推出之前,firewalld作为一种改进iptables服务的替代方案。在RHEL 8中,firewalld仍然是推荐的前端,使用它来管理防火墙规则集。firewalld通过firewalld.service服务来控制。

1.2 firewalld预定义区域

Firewalld上有一些预定义区域,每个区域都有着自己特定的用途,可分别进行自定义。默认情况下,如果传入的流量属于系统启动通信的一部分,则所有区域都允许这些传入流量和所有传出流量。

区域默认配置功能
block拒绝所有传入的流量,但会有返回拒绝提示
dmz允许预定义服务(如ssh等)流量传入,拒绝其他传入的流量
drop丢弃所有传入流
external允许预定义服务(如ssh等)流量传入,拒绝其他传入的流量。通过此区域转发的IPv4传出流量将进行伪装
home允许预定义服务(如ssh、dhcpv6-client、mdns、samba-client)等流量传入,拒绝其他传入的流量
internal允许预定义服务(如ssh、dhcpv6-client、mdns、samba-client)等流量传入,拒绝其他传入的流量
public默认区域,允许预定义服务(如ssh、dhcpv6-client等)流量传入,拒绝其他传入的流量
trusted允许所有传入流量
work允许与预定义的服务匹配的流量,拒绝其他传入的流量

2. firewalld管理

firewalld支持运行时配置和永久配置这两种配置模式。

  • 运行时配置模式下进行的firewalld配置更改,会立即生效,但是当系统重新启动后,所做的更改将失效。
  • 永久配置模式下进行的firewalld配置更改,则会永久生效(系统重新启动后生效),但需要运行firewall-cmd --reload命令重载防火墙激活运行时配置模式下的配置。运行时配置的更改,适用于管理员在防火墙上测试新的或不确定的规则,这些规则可能会对主机造成一些危险。

2.1 命令行管理工具firewall-cmd

通过命令行工具firewall-cmd管理firewalld时,若没有提供"–permanent"选项,则所有配置都作用于运行时配置。更改运行时配置时,可以在firewall-cmd命令行的结尾添加"–timeout=“选项,当该运行时配置更改没有合理运行时,该更改会在超时时间超时时被删除。当提供”–permanent"选项时,则所有的配置都作用于永久配置,然后需要"firewall-cmd --reload"命令激活这些更改。
使用firewall-cmd工具设置firewalld时,若未提供"–zone="选项,则该设置作用于默认区域。

2.2 管理firewalld中的域

列出当前所有可用区域

firewall-cmd --get-zones

查看当前默认区域

firewall-cmd --get-default-zone

列出public区域所有的配置

firewall-cmd --list-all --zone=public

将home区域设置为默认区域

firewall-cmd --set-default-zone=home

2.3 管理firewalld中的规则

更改运行时配置:添加服务http,设置超时时间为30s,并查看该设置

firewall-cmd --add-service=http --timeout=30
firewall-cmd --list-all

更改永久配置:在防火墙添加端口3306,协议是tcp,并激活配置

firewall-cmd --add-port=3306/tcp --permanent
firewall-cmd --reload

更改永久配置:在防火墙上添加一组连续的端口,如500-600,协议是tcp,并激活配置

firewall-cmd --add-port=500-600/tcp --permanent
firewall-cmd --reload

更改永久配置:在防火墙上移除端口3306,协议是tcp,并激活配置

firewall-cmd --remove-port=3306/tcp --permanent
firewall-cmd --reload

2.4 管理富规则

Firewalld富规则为管理员提供了一种丰富的表达性语言,通过这种语言可表达firewalld的基本语法中未涵盖的自定义防火墙规则。富规则可用于表达基本的允许和拒绝的规则,同时也可以用于配置伪装、端口转发及记录和速率限制。

富规则的语法格式如下:

rule
        [family]
        [source]
        [destination]
        service | port | protocol | icmp-block | masquerade | forward-port 
        [log]
        [audit]
        [accept | reject | drop]

富规则的重要选项主要有4个

选项描述
–add-rich-rule=‘’ [–zone=]向区域中添加富规则,若未提供–zone=选项,则使用默认区域
–remove-rich-rule=‘’ [–zone=]从区域中删除富规则,若未提供–zone=选项,则使用默认区域
–query-rich-rule=‘’ [–zone=]从区域中查询富规则是否已经添加到该区域, 如果已经添加则返回yes,否则返回no。 若未提供–zone=选项,则使用默认区域
–list-rich-rules [–zone=]从区域中查询富规则。

富规则使用示例
接受来自10.10.10.0/24网络内主机访问http服务,更改永久配置并激活(动作accept)

firewall-cmd --add-rich-rule='rule family=ipv4 source address=10.10.10.0/24 service name=http accept’ --permanent
firewall-cmd --reload
-cmd --add-rich-rule='rule family=ipv4 source address=10.10.10.0/24 service name=http accept’ --permanent
firewall-cmd --reload
  • 17
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

疑犯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值