返回顶部
首页 > 资讯 > 精选 >如何进行FirewallD 防火墙的使用
  • 843
分享到

如何进行FirewallD 防火墙的使用

2023-06-28 16:06:34 843人浏览 泡泡鱼
摘要

这篇文章主要为大家分析了如何进行FirewallD 防火墙的使用的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何进行FirewallD 防火墙的使用”的知

这篇文章主要为大家分析了如何进行FirewallD 防火墙的使用的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何进行FirewallD 防火墙的使用”的知识吧。

在RHEL7中FirewallD取代了原有的ptables防火墙,较于iptables防火墙而言用户可以根据生产场景的不同而选择合适的策略集合,从而实现防火墙策略之间的快速切换。

一、安装

在 Debian linux 10 社区版中使用如下命令:

  1. apt-get install firewall-applet firewall-config firewalld

就可以直接进行 FirewallD 防火墙软件组件包的安装,其中:

  • firewall-applet 为 FirewallD 托盘小程序

  • firewall-config 为 FirewallD 图形化系统配置管理工具

  • firewalld 为 FirewallD 防火墙软件组件的主组件包,其中包含 firewall-cmd、firewall-offline-cmd 等命令行系统配置管理工具。

在 RedHat 8 下该防火墙组件默认已经进行了安装,如果用户进行特殊定制安装之后需要单独安装该软件组件可以使用命令

  1. yum install firewall-config

直接进行安装即可。

笔者在两个系统装进行过安装对比,发现该软件组件包在两个系统上除了安装命令稍有差异外,其它从配置文件到 systemd 服务配置并没有任何区别。随后的内容将不再强调操作系统

二、防火墙默认区域

  • Block(阻塞)
    任何对该区域的连接请求都会被以 IPv4 的 icmp-host-prohibited 信息或 IPv6 的 icmp6-adm-prohibited 信息所拒绝。只能从系统内部启动网络连接。

  • Dmz(隔离)
    用于你的隔离区内的电脑,此区域内可公开访问,可以有限地进入你的内部网络,仅仅接收经过选择的连接。

  • Drop(丢弃)
    对进入该区域的所有数据包丢弃,并且不进行任何回包,区域内主动发起连接的流入回程数据包允许通过,允许进行出方向的网络连接。

  • External(外部)
    用于在启用伪装的外部网络上使用,尤其路由器、防火墙认为在这个网络上的其它主机不可信。仅仅接收经过选择的连接。

  • Home(家庭)
    默认其他同区域内主机可信,仅仅接收经过选择的连接。同时默认放行 ssh、mdns、ipp-client、amba-client 与 dhcpv6-client 服务产生的连接。

  • Internal(内部)
    从描述中可以等同于家庭区域。

  • Public(公开)
    公共区域,也是防火墙配置的默认区域,防火墙认为该区域主机不可信。仅仅接收经过选择的连接。同时默认放行 ssh 与 dhcpv6-client 服务产生的连接。

  • Trusted(可信)
    可信区域,防火墙放行一切流量。等同于关闭防火墙功能。

  • Work(工作)
    工作区域,防火墙认为在这个网络上的其它主机不可信。仅仅接收经过选择的连接。同时默认放行 ssh、ipp-client 与 dhcpv6-client 服务产生的连接。

这些区域的命名不言自明,用户可以很快选择一个合适的安全区域,从而简化和避开很多安全问题。当然用户也可以根据自己的需要或者安全评估来根据自己的实际需求对相应安全域进行更个性化的配置,以适应自己的安全管理规范。尽管有些安全域的安全规则是相同的,但之所以还要在名字上有所区别,主要是为了从习惯上让用户更好区分不同域的独特使用场景,对用户来说更好理解和便于区分。

三、防火墙日常管理

3.1、查看防火墙当前状态

查询状态:

  1. firewall-cmd --state

更多的防火墙系统服务状态信息可以使用

  1. systemctl status firewalld

在你配置新的防火墙规则之前,你需要了解如何通过命令查看当前防火墙配置。查看防火墙当前配置可以通过图形界面或者在终端模式下使用命令进行。

在图形界面下可以直接通过点击应用程序“firewall-config”图标或者在终端窗口中输入 firewall-config 命令进行防火墙配置。如果当前用户为非 root 用户,系统将弹出管理员认证窗口,用户正确输入管理员密码后,防火墙配置窗口就会打开,用户即可以按照窗口界面提供的功能进行操作。

用户也可以在命令行下使用 firewall-cmd工具进行防火墙配置。命令行工具虽然学习起来需要一定的时间,不过该工具可以完全在系统处于终端模式下进行各种复杂的防火墙全功能配置,用户有必要进行认真的学习和掌握。

3.2、防火墙基础命令

FirewallD 使用了区域进行数据流的管理,当用户使用 firewall-cmd --list-all 命令时,如果没有使用 --zone 指定区域,那么系统将返回默认区域的当前配置状态。

默认区域由配置文件 /etc/firewalld/firewalld.conf 中的字段 DefaultZone 定义,初始状态下,默认区域被定义为 public(公共区域)。

用户可以使用命令:

  1. firewall-cmd --get-zones

查看当前系统防火墙设置的的区域名列表,也可以使用命令:

  1. firewall-cmd --get-default-zone

查看防火墙当前的默认区域;同时,可使用命令:

  1. firewall-cmd --set-default-zone=[zonename]

或者通过直接编辑配置文件中 DefaultZone 字段的值进行默认区域的修改。

启动防火墙:

  1. systemctl unmask firewalld

  2. systemctl start firewalld

让防火墙随系统启动一起启动:

  1. systemctl enable firewalld

停止防火墙:

  1. systemctl stop firewalld

停止随系统启动:

  1. systemctl disable firewalld

停止通过访问 firewalld D-Bus 接口和其他服务需要 firewalld 依赖导致的 firewalld 自动启动,更加干净的关闭 firewalld 服务:

  1. systemctl mask firewalld

按照 RedHat 的官方文档定义,防火墙运行之后被称为运行时状态,保存了启动默认参数之后的配置被称为永久状态。在当前运行状态对防火墙进行的所有配置修改,系统即时生效,但重启后防火墙会恢复到它之前的永久状态,其实这一过程就是从保存之后的配置文件中加载相应配置参数的过程。

用户可以使用命令:

  1. fiewall-cmd --runtime-to-permanent

对当前修改过的规则即时保存为永久配置,也可以使用命令 firewall-cmd --permanent 并在其后添加其它参数永久进行修改。

重新启动 firewalld 将关闭所有打开的端口并停止网络通信,需要使用命令:

  1. firewall-cmd --reload

重新加载永久配置使之生效。

FirewallD 提供了一种系统受到攻击的紧急操作功能。假设攻击者对系统进行攻击,用户可以直接使用命令:

  1. firewall-cmd --panic-on

关闭网络通信并且切断攻击者,而不用像之前那样通过物理拔除网线来进行断网操作,防止了系统在多网口环境中一次性插拔所有网线可能带来的混乱以及由此引发的系统恢复后延续问题。

需要恢复网络通信时用户只要使用命令:

  1. firewall-cmd --panic-off

关闭恐慌模式即可,用户也可以使用命令:

  1. firewall-cmd --query-panic

查询防火墙当前恐慌模式的状态。

3.2、防火墙服务管理命令

用户可以通过命令行工具添加预定义的服务类型,防火墙会自动根据所需的端口并将其他设置修改为服务定义文件。

使用命令:

  1. firewall-cmd --list-services

可以查看当前区域内被允许的服务。使用命令:

  1. firewall-cmd --get-services

可以列出所有防火墙已经给定的预定义服务名称。使用命令:

  1. firewall-cmd --add-service=service-name>

可以添加具体服务,服务名称用户可以根据自己的实际需求从预定义服务名称中选取合适的服务名进行添加。完成之后用户可以使用命令:

  1. firewall-cmd --runtime-to-permanent

将对运行时的修改保存为永久。用户可以通过命令 firewall-config、firewall-cmd 和 firewall-offline-cmd,或者通过直接将 /usr/lib/firewalld/services 目录的默认模板 XML 文件复制到 /etc/firewalld/services 目录中进行编辑来添加一个自定义服务类型。具体过程如下:

方法一:执行 firewall-cmd –new-service=service-name,系统将直接在 /etc/firewalld/services 目录下创建一个以 .xml 结尾的同名文件,自定义服务类型添加完成。

方法二:在相应目录使用编辑软件直接编辑好 XML 文件并执行 firewall-cmd --new-service-from-file=service-name.xml,系统将自动完成同名自定服务类型的添加。

端口作为特定系统服务的接收和区分网络流量并将其转发到系统服务的逻辑设备,系统守护进程通常侦听特定的服务端口。防火墙在默认的服务类型配置中已经定义了相应服务需要放行的对应的端口。当用户还需要在某个服务中放行特定的自定义端口或者端口段的时候可以通过 firewall-cmd 完成,格式如下:

  1. firewall-cmd [--zone=zone_name] [--service=service_name] --add-port=port-number/port-type

这里需要说明的是 --zone、--service 为可选参数,如果用户不添加这两个参数执行命令时相当与在默认区域中直接添加了端口,当只选取了 --zone 参数时,命令执行的结果是在指定区域直接添加端口,此时与服务状态无关。只有在使用 --service 参数时才是在相应的服务中添加端口。

当用户需要删除一个端口时可以使用如下命令:

  1. # firewall-cmd [--zone=zone_name] [--service=service_name] --remove-port=port-number/port-type

当用户需要向不同区域添加服务时,用户可以通过如下步逐进行:

  1. # firewall-cmd --add-service=ssh --zone=drop

该命令将向区域 drop 中添加 ssh 服务,其实质就是放行 ssh 服务定义中的默认 22 端口入站方向的流量及连接。

在多网络接口主机中,可以使用如下方法将指定的网络接口添加到需要的区域中,从而实现每个接口的安全连接区域要求,实现真正的区域化网络安全管理。

使用命令:

  1. firewall-cmd --get-active-zones

查看当前激活的安全区域和相应的网络接口配置。使用命令

  1. firewall-cmd --zone=work --change-interface=ens3p0

则将网卡 ens3p0 加入到了 work 区域,之后所有通过该网卡的流量将受到区域安全规则的约束和限制,该配置是即时生效的并且会自动保存为永久配置。

用户需要将某个网卡加入到特定安全区域也可以直接使用:

  1. vi /etc/sysconfig/network-scripts/ifcfg-connection-name

并在该文件下加入 ZONE=zone-name 行,该网卡即属于特定的安全区域。

用户可以对安全区域进行默认规则设置,默热规则包括三个选项 ACCEPT、REJECT、DROP,其中 ACCEPT 选项将放行所有流量,REJECT、DROP 选项将阻止所有进入该安全区域的流量,与 REJECT 不同的是 DROP 选项直接丢弃进入安全区域的数据包,并不会向该数据包的发起者回复任何信息。用户可以使用命令:

  1. firewall-cmd --zone=zone-name --set-target=default|ACCEPT|REJECT|DROP>

进行相应安全区域的默认规则设置。

3.3、使用区域根据来源来管理传入流量

你可以使用区域根据来源管理流入流量,这使你可以对传入流量进行排序,并将其路由到不同区域,以允许或禁止该流量可以到达的服务。

如果将源添加到区域,则该区域将变为活动状态,并且来自该源的任何传入流量将通过它。你可以为每个区域指定不同的设置,该设置将应用于来自给定来源的流量。即使你只有一个网络接口,也可以使用更多区域。

通过以下实例,我们可以将特定网段对 Http 的请求流量进行更细致的管理,使用命令:

  1. firewall-cmd --zone=trusted --add-source=192.168.1.0/24

将该网段作为资源加入到 trusted 区中,通过命令:

  1. firewall-cmd --zone=trusted --add-service=http

WEB 服务添加到相同区域中,随后该目标地址产生的访问 Web 服务流量将可以顺利通过。

3.4、防火墙机制

为了防止本地程序比如 KVM 虚拟机组件对防火墙的修改,FirewallD 还提供了一种锁闭机制来防止本地程序或者服务组件对防火墙配置的修改,并且该命令只有 root 用户本身才可以执行。

用户可以使用命令:

  1. firewall-cmd --query-lockdown

查询防火墙锁闭状态,当需要锁闭时可以直接执行命令:

  1. firewall-cmd --lockdown-on

恢复到非锁闭状态时可以执行命令:

  1. firewall-cmd --lockdown-off

关于“如何进行FirewallD 防火墙的使用”就介绍到这了,更多相关内容可以搜索编程网以前的文章,希望能够帮助大家答疑解惑,请多多支持编程网网站!

--结束END--

本文标题: 如何进行FirewallD 防火墙的使用

本文链接: https://lsjlt.com/news/320532.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何进行FirewallD 防火墙的使用
    这篇文章主要为大家分析了如何进行FirewallD 防火墙的使用的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“如何进行FirewallD 防火墙的使用”的知...
    99+
    2023-06-28
  • centos7云服务器如何使用firewalld防火墙
    centos7云服务器使用firewalld防火墙的方法:1、打开centos7云服务器终端控制台;2、输入“systemctl status firewalld”命令查看firewalld状态来检查firewalld是否已成功安装;3、f...
    99+
    2024-04-02
  • 如何使用iptables和firewalld来管理防火墙
    这篇文章主要介绍“如何使用iptables和firewalld来管理防火墙”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何使用iptables和firewalld来管理防火墙”文章能帮助大家解决问...
    99+
    2023-06-27
  • 怎么用FirewallD配置防火墙
    本篇内容介绍了“怎么用FirewallD配置防火墙”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!firewalld是centos7系统默认的...
    99+
    2023-06-27
  • Centos7的Firewalld防火墙基础命令详解
    一、linux防火墙的基础 Linux的防火墙体系主要工作在网络层,针对TCP/IP数据包实时过滤和限制,属于典型的包过滤防火墙(或称为网络层防火墙)。Linux系统的防火墙体系基于内核共存:firewalld、ipt...
    99+
    2022-06-04
    Centos7 Firewalld防火墙 Centos7 Firewalld
  • ufw防火墙如何使用
    这篇文章主要介绍“ufw防火墙如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ufw防火墙如何使用”文章能帮助大家解决问题。ufw(简单防火墙Uncomplicated FireWall)真正...
    99+
    2023-06-27
  • 如何进行CentOS防火墙80端的配置
    如何进行CentOS防火墙80端的配置 ,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。经常使用CentOS的朋友,可能会遇到和我一样的问题。最近在Linux CentOS防火墙...
    99+
    2023-06-16
  • 如何进行centOS 7.x防火墙的关闭
    今天就跟大家聊聊有关如何进行centOS 7.x防火墙的关闭,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。    在生产库中一般不用Linux自带的防火墙,因此最...
    99+
    2023-06-06
  • 如何进行Ubuntu系统中防火墙UFW设置
    这期内容当中小编将会给大家带来有关如何进行Ubuntu系统中防火墙UFW设置,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。自打2.4版本以后的Linux内核中, 提供了一个非常优秀的防火墙工具。这个工具可...
    99+
    2023-06-13
  • CentOS 7中怎么利用firewalld设置防火墙端口
    这篇文章将为大家详细讲解有关CentOS 7中怎么利用firewalld设置防火墙端口,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。firewalld基本使用方法启动: systemctl ...
    99+
    2023-06-05
  • 使用iptable和Firewalld工具来管理Linux防火墙连接规则
    防火墙 防火墙是一套规则。当数据包进入或离开受保护的网络空间时,将根据防火墙规则测试数据包的内容(特别是有关其来源、目标和计划使用的协议的信息),以确定是否应该允许数据包通过。下面是一个简单的例子: 防火墙可以根据协...
    99+
    2022-06-04
    linux 防火墙 linux 防火墙iptable和Firewalld linux 防火墙连接规则
  • centos、Red Hat和Ubuntu如何关闭和开启iptables和firewalld防火墙
    这期内容当中小编将会给大家带来有关centos、Red Hat和Ubuntu如何关闭和开启iptables和firewalld防火墙,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。Linux系统存在不同的发...
    99+
    2023-06-28
  • ubuntu如何禁用防火墙
    ubuntu禁用防火墙的方法:可以使用alt+t快捷键打开终端。在命令行中输入以下命令关闭并禁用防火墙:sudo ufw disable再输入以下命令查看是否关闭成功:sudo ufw status若查看开启防火墙后的状态为inactive...
    99+
    2024-04-02
  • 如何进行软件防火墙故障的发现与排除
    如何进行软件防火墙故障的发现与排除,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。以下的文章主要向大家讲述的是软件防火墙故障发现和排除的实际操作方案,Windows XP SP2...
    99+
    2023-06-17
  • 如何进行基于代理的防火墙安全性分析
    本篇文章为大家展示了如何进行基于代理的防火墙安全性分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。其实一直以来,基于代理的防火墙或Web代理都被认为是一种非常重要的安全组件。但问题就在于,这种类型...
    99+
    2023-06-17
  • vps如何关防火墙
    要关闭VPS上的防火墙,可以按照以下步骤进行操作:1. 使用SSH登录到VPS。2. 检查当前防火墙的状态,可以使用以下命令:```sudo ufw status```如果防火墙已经启用,将会显示防火墙的状态信息。3. 如果防火墙处于启...
    99+
    2023-08-11
    vps
  • FreeBSD中如何配置并使用防火墙
    FreeBSD使用ipfw和pf作为防火墙工具。以下是如何配置和使用这两种防火墙的简单步骤: 配置ipfw防火墙: 编辑/etc/...
    99+
    2024-04-02
  • 如何修改redis的防火墙
    修改redis防火墙的示例:CentOS 7.0默认使用的是firewall作为防火墙,将其改成iptables防火墙示例:redis的端口放到了防火墙计划中,例如:/sbin/iptables -I INPUT -p tcp --dpor...
    99+
    2024-04-02
  • 如何查询redis的防火墙
    查询redis防火墙的示例:[root@localhost demo]# systemctl status firewalld● firewalld.service - firewalld - dynamic firewall daemon...
    99+
    2024-04-02
  • 如何进行CentOS操作系统防火墙配置及关闭
    这篇文章给大家介绍如何进行CentOS操作系统防火墙配置及关闭,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。我们在使用CentOS操作系统的时候,我们的防火墙配置很重要,他关系到我们的电脑的安危。有一次在CentOS操...
    99+
    2023-06-16
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作