偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

FirewallD防火墻使用概述

運(yùn)維 系統(tǒng)運(yùn)維
FirewallD 是由紅帽發(fā)起的提供了支持網(wǎng)絡(luò)/防火墻區(qū)域zone定義網(wǎng)絡(luò)鏈接以及接口安全等級的動態(tài)防火墻管理工具。它支持 IPv4、IPv6 防火墻設(shè)置以及以太網(wǎng)橋接,并且擁有運(yùn)行時(shí)配置和永久配置選項(xiàng)。它也支持允許服務(wù)或者應(yīng)用程序直接添加防火墻規(guī)則的接口。

[[326151]]

FirewallD 是由紅帽發(fā)起的提供了支持網(wǎng)絡(luò)/防火墻區(qū)域zone定義網(wǎng)絡(luò)鏈接以及接口安全等級的動態(tài)防火墻管理工具。它支持 IPv4、IPv6 防火墻設(shè)置以及以太網(wǎng)橋接,并且擁有運(yùn)行時(shí)配置和永久配置選項(xiàng)。它也支持允許服務(wù)或者應(yīng)用程序直接添加防火墻規(guī)則的接口。

由于 FirewallD 項(xiàng)目本身的自由軟件特性,像 Debian Linux 社區(qū)發(fā)行版已經(jīng)默認(rèn)在軟件倉庫中收錄了該防火墻組件軟件包。隨著各個(gè)新 GNU/Linux 發(fā)行版中防火墻引擎逐步從 iptables 向 nftables 遷移,F(xiàn)irewallD 是目前唯一能夠支持該兩種防火墻后端引擎的前端服務(wù)組件,用戶掌握以后可以方便的進(jìn)行防火墻配置并很好的規(guī)避了從 iptables 向 nftables 遷移帶來的學(xué)習(xí)恐慌。

筆者通過查閱 RedHat 8 發(fā)行版網(wǎng)絡(luò)配置手冊,并結(jié)合自己在 Debian Linux 10 社區(qū)版上進(jìn)行 FirewallD 防火墻的實(shí)際配置使用,對該服務(wù)組件的功能和日常使用進(jìn)行整理。希望通過該文能幫助其他 Linux 用戶掌握該防火墻,并通過該防火墻提高主機(jī)測網(wǎng)絡(luò)安全防御能力,打造可信的網(wǎng)絡(luò)安全環(huán)境。

一、安裝

在 Debian Linux 10 社區(qū)版中使用如下命令:

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

就可以直接進(jìn)行 FirewallD 防火墻軟件組件包的安裝,其中:

  • firewall-applet 為 FirewallD 托盤小程序,
  • firewall-config 為 FirewallD 圖形化系統(tǒng)配置管理工具
  • firewalld 為 FirewallD 防火墻軟件組件的主組件包,其中包含 firewall-cmd、firewall-offline-cmd 等命令行系統(tǒng)配置管理工具。

在 RedHat 8 下該防火墻組件默認(rèn)已經(jīng)進(jìn)行了安裝,如果用戶進(jìn)行特殊定制安裝之后需要單獨(dú)安裝該軟件組件可以使用命令

  1. yum install firewall-config

直接進(jìn)行安裝即可。

筆者在兩個(gè)系統(tǒng)裝進(jìn)行過安裝對比,發(fā)現(xiàn)該軟件組件包在兩個(gè)系統(tǒng)上除了安裝命令稍有差異外,其它從配置文件到 systemd 服務(wù)配置并沒有任何區(qū)別。隨后的內(nèi)容將不再強(qiáng)調(diào)操作系統(tǒng)。

二、防火墻默認(rèn)區(qū)域

  • Block(阻塞)
    任何對該區(qū)域的連接請求都會被以 IPv4 的 icmp-host-prohibited 信息或 IPv6 的 icmp6-adm-prohibited 信息所拒絕。只能從系統(tǒng)內(nèi)部啟動網(wǎng)絡(luò)連接。
  • Dmz(隔離)
    用于你的隔離區(qū)內(nèi)的電腦,此區(qū)域內(nèi)可公開訪問,可以有限地進(jìn)入你的內(nèi)部網(wǎng)絡(luò),僅僅接收經(jīng)過選擇的連接。
  • Drop(丟棄)
    對進(jìn)入該區(qū)域的所有數(shù)據(jù)包丟棄,并且不進(jìn)行任何回包,區(qū)域內(nèi)主動發(fā)起連接的流入回程數(shù)據(jù)包允許通過,允許進(jìn)行出方向的網(wǎng)絡(luò)連接。
  • External(外部)
    用于在啟用偽裝的外部網(wǎng)絡(luò)上使用,尤其路由器、防火墻認(rèn)為在這個(gè)網(wǎng)絡(luò)上的其它主機(jī)不可信。僅僅接收經(jīng)過選擇的連接。
  • Home(家庭)
    默認(rèn)其他同區(qū)域內(nèi)主機(jī)可信,僅僅接收經(jīng)過選擇的連接。同時(shí)默認(rèn)放行 ssh、mdns、ipp-client、amba-client 與 dhcpv6-client 服務(wù)產(chǎn)生的連接。
  • Internal(內(nèi)部)
    從描述中可以等同于家庭區(qū)域。
  • Public(公開)
    公共區(qū)域,也是防火墻配置的默認(rèn)區(qū)域,防火墻認(rèn)為該區(qū)域主機(jī)不可信。僅僅接收經(jīng)過選擇的連接。同時(shí)默認(rèn)放行 ssh 與 dhcpv6-client 服務(wù)產(chǎn)生的連接。
  • Trusted(可信)
    可信區(qū)域,防火墻放行一切流量。等同于關(guān)閉防火墻功能。
  • Work(工作)
    工作區(qū)域,防火墻認(rèn)為在這個(gè)網(wǎng)絡(luò)上的其它主機(jī)不可信。僅僅接收經(jīng)過選擇的連接。同時(shí)默認(rèn)放行 ssh、ipp-client 與 dhcpv6-client 服務(wù)產(chǎn)生的連接。

這些區(qū)域的命名不言自明,用戶可以很快選擇一個(gè)合適的安全區(qū)域,從而簡化和避開很多安全問題。當(dāng)然用戶也可以根據(jù)自己的需要或者安全評估來根據(jù)自己的實(shí)際需求對相應(yīng)安全域進(jìn)行更個(gè)性化的配置,以適應(yīng)自己的安全管理規(guī)范。盡管有些安全域的安全規(guī)則是相同的,但之所以還要在名字上有所區(qū)別,主要是為了從習(xí)慣上讓用戶更好區(qū)分不同域的獨(dú)特使用場景,對用戶來說更好理解和便于區(qū)分。

三、防火墻日常管理

3.1、查看防火墻當(dāng)前狀態(tài)

查詢狀態(tài):

  1. firewall-cmd state

更多的防火墻系統(tǒng)服務(wù)狀態(tài)信息可以使用

  1. systemctl status firewalld

在你配置新的防火墻規(guī)則之前,你需要了解如何通過命令查看當(dāng)前防火墻配置。查看防火墻當(dāng)前配置可以通過圖形界面或者在終端模式下使用命令進(jìn)行。

在圖形界面下可以直接通過點(diǎn)擊應(yīng)用程序“firewall-config”圖標(biāo)或者在終端窗口中輸入 firewall-config 命令進(jìn)行防火墻配置。如果當(dāng)前用戶為非 root 用戶,系統(tǒng)將彈出管理員認(rèn)證窗口,用戶正確輸入管理員密碼后,防火墻配置窗口就會打開,用戶即可以按照窗口界面提供的功能進(jìn)行操作。

用戶也可以在命令行下使用 firewall-cmd工具進(jìn)行防火墻配置。命令行工具雖然學(xué)習(xí)起來需要一定的時(shí)間,不過該工具可以完全在系統(tǒng)處于終端模式下進(jìn)行各種復(fù)雜的防火墻全功能配置,用戶有必要進(jìn)行認(rèn)真的學(xué)習(xí)和掌握。

3.2、防火墻基礎(chǔ)命令

FirewallD 使用了區(qū)域進(jìn)行數(shù)據(jù)流的管理,當(dāng)用戶使用 firewall-cmd -list-all 命令時(shí),如果沒有使用 --zone 指定區(qū)域,那么系統(tǒng)將返回默認(rèn)區(qū)域的當(dāng)前配置狀態(tài)。

默認(rèn)區(qū)域由配置文件 /etc/firewalld/firewalld.conf 中的字段 DefaultZone 定義,初始狀態(tài)下,默認(rèn)區(qū)域被定義為 public(公共區(qū)域)。

用戶可以使用命令: 

  1. firewall-cmd get-zones

查看當(dāng)前系統(tǒng)防火墻設(shè)置的的區(qū)域名列表,也可以使用命令:

  1. firewall-cmd -get-default-zone

查看防火墻當(dāng)前的默認(rèn)區(qū)域;同時(shí),可使用命令:

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

或者通過直接編輯配置文件中 DefaultZone 字段的值進(jìn)行默認(rèn)區(qū)域的修改。

啟動防火墻:

 

  1. systemctl unmask firewalld
  2. systemctl start firewalld

讓防火墻隨系統(tǒng)啟動一起啟動:

  1. systemctl enable firewalld

停止防火墻:

  1. systemctl stop firewalld

停止隨系統(tǒng)啟動:

  1. systemctl disable firewalld

停止通過訪問 firewalld D-Bus 接口和其他服務(wù)需要 firewalld 依賴導(dǎo)致的 firewalld 自動啟動,更加干凈的關(guān)閉 firewalld 服務(wù):

  1. systemctl mask firewalld

按照 RedHat 的官方文檔定義,防火墻運(yùn)行之后被稱為運(yùn)行時(shí)狀態(tài),保存了啟動默認(rèn)參數(shù)之后的配置被稱為永久狀態(tài)。在當(dāng)前運(yùn)行狀態(tài)對防火墻進(jìn)行的所有配置修改,系統(tǒng)即時(shí)生效,但重啟后防火墻會恢復(fù)到它之前的永久狀態(tài),其實(shí)這一過程就是從保存之后的配置文件中加載相應(yīng)配置參數(shù)的過程。

用戶可以使用命令:

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

對當(dāng)前修改過的規(guī)則即時(shí)保存為永久配置,也可以使用命令 firewall-cmd –permanent 并在其后添加其它參數(shù)永久進(jìn)行修改。

重新啟動 firewalld 將關(guān)閉所有打開的端口并停止網(wǎng)絡(luò)通信,需要使用命令:

  1. firewall-cmd reload

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

FirewallD 提供了一種系統(tǒng)受到攻擊的緊急操作功能。假設(shè)攻擊者對系統(tǒng)進(jìn)行攻擊,用戶可以直接使用命令:

  1. firewall-cmd panic-on

關(guān)閉網(wǎng)絡(luò)通信并且切斷攻擊者,而不用像之前那樣通過物理拔除網(wǎng)線來進(jìn)行斷網(wǎng)操作,防止了系統(tǒng)在多網(wǎng)口環(huán)境中一次性插拔所有網(wǎng)線可能帶來的混亂以及由此引發(fā)的系統(tǒng)恢復(fù)后延續(xù)問題。

需要恢復(fù)網(wǎng)絡(luò)通信時(shí)用戶只要使用命令:

  1. firewall-cmd --panic-off

關(guān)閉恐慌模式即可,用戶也可以使用命令:

  1. firewall-cmd query-panic

查詢防火墻當(dāng)前恐慌模式的狀態(tài)。

3.2、防火墻服務(wù)管理命令

用戶可以通過命令行工具添加預(yù)定義的服務(wù)類型,防火墻會自動根據(jù)所需的端口并將其他設(shè)置修改為服務(wù)定義文件。

使用命令:

  1. firewall-cmd --list-services

可以查看當(dāng)前區(qū)域內(nèi)被允許的服務(wù)。使用命令:

  1. firewall-cmd --get-services

可以列出所有防火墻已經(jīng)給定的預(yù)定義服務(wù)名稱。使用命令:

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

可以添加具體服務(wù),服務(wù)名稱用戶可以根據(jù)自己的實(shí)際需求從預(yù)定義服務(wù)名稱中選取合適的服務(wù)名進(jìn)行添加。完成之后用戶可以使用命令:

  1. firewall-cmd runtime-to-permanent

將對運(yùn)行時(shí)的修改保存為永久。用戶可以通過命令 firewall-config、firewall-cmdfirewall-offline-cmd,或者通過直接將 /usr/lib/firewalld/services 目錄的默認(rèn)模板 XML 文件復(fù)制到 /etc/firewalld/services 目錄中進(jìn)行編輯來添加一個(gè)自定義服務(wù)類型。具體過程如下:

方法一:執(zhí)行 firewall-cmd –new-service=service-name,系統(tǒng)將直接在 /etc/firewalld/services 目錄下創(chuàng)建一個(gè)以 .xml 結(jié)尾的同名文件,自定義服務(wù)類型添加完成。

方法二:在相應(yīng)目錄使用編輯軟件直接編輯好 XML 文件并執(zhí)行 firewall-cmd --new-service-from-file=service-name.xml,系統(tǒng)將自動完成同名自定服務(wù)類型的添加。

端口作為特定系統(tǒng)服務(wù)的接收和區(qū)分網(wǎng)絡(luò)流量并將其轉(zhuǎn)發(fā)到系統(tǒng)服務(wù)的邏輯設(shè)備,系統(tǒng)守護(hù)進(jìn)程通常偵聽特定的服務(wù)端口。防火墻在默認(rèn)的服務(wù)類型配置中已經(jīng)定義了相應(yīng)服務(wù)需要放行的對應(yīng)的端口。當(dāng)用戶還需要在某個(gè)服務(wù)中放行特定的自定義端口或者端口段的時(shí)候可以通過 firewall-cmd 完成,格式如下:

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

這里需要說明的是 --zone、--service 為可選參數(shù),如果用戶不添加這兩個(gè)參數(shù)執(zhí)行命令時(shí)相當(dāng)與在默認(rèn)區(qū)域中直接添加了端口,當(dāng)只選取了 --zone 參數(shù)時(shí),命令執(zhí)行的結(jié)果是在指定區(qū)域直接添加端口,此時(shí)與服務(wù)狀態(tài)無關(guān)。只有在使用 --service 參數(shù)時(shí)才是在相應(yīng)的服務(wù)中添加端口。

當(dāng)用戶需要?jiǎng)h除一個(gè)端口時(shí)可以使用如下命令:

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

當(dāng)用戶需要向不同區(qū)域添加服務(wù)時(shí),用戶可以通過如下步逐進(jìn)行:

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

該命令將向區(qū)域 drop 中添加 ssh 服務(wù),其實(shí)質(zhì)就是放行 ssh 服務(wù)定義中的默認(rèn) 22 端口入站方向的流量及連接。

在多網(wǎng)絡(luò)接口主機(jī)中,可以使用如下方法將指定的網(wǎng)絡(luò)接口添加到需要的區(qū)域中,從而實(shí)現(xiàn)每個(gè)接口的安全連接區(qū)域要求,實(shí)現(xiàn)真正的區(qū)域化網(wǎng)絡(luò)安全管理。

使用命令:

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

查看當(dāng)前激活的安全區(qū)域和相應(yīng)的網(wǎng)絡(luò)接口配置。使用命令

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

則將網(wǎng)卡 ens3p0 加入到了 work 區(qū)域,之后所有通過該網(wǎng)卡的流量將受到區(qū)域安全規(guī)則的約束和限制,該配置是即時(shí)生效的并且會自動保存為永久配置。

用戶需要將某個(gè)網(wǎng)卡加入到特定安全區(qū)域也可以直接使用:

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

并在該文件下加入 ZONE=zone-name 行,該網(wǎng)卡即屬于特定的安全區(qū)域。

用戶可以對安全區(qū)域進(jìn)行默認(rèn)規(guī)則設(shè)置,默熱規(guī)則包括三個(gè)選項(xiàng) ACCEPT、REJECT、DROP,其中 ACCEPT 選項(xiàng)將放行所有流量,REJECT、DROP 選項(xiàng)將阻止所有進(jìn)入該安全區(qū)域的流量,與 REJECT 不同的是 DROP 選項(xiàng)直接丟棄進(jìn)入安全區(qū)域的數(shù)據(jù)包,并不會向該數(shù)據(jù)包的發(fā)起者回復(fù)任何信息。用戶可以使用命令:

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

進(jìn)行相應(yīng)安全區(qū)域的默認(rèn)規(guī)則設(shè)置。

3.3、使用區(qū)域根據(jù)來源來管理傳入流量

你可以使用區(qū)域根據(jù)來源管理流入流量,這使你可以對傳入流量進(jìn)行排序,并將其路由到不同區(qū)域,以允許或禁止該流量可以到達(dá)的服務(wù)。

如果將源添加到區(qū)域,則該區(qū)域?qū)⒆優(yōu)榛顒訝顟B(tài),并且來自該源的任何傳入流量將通過它。你可以為每個(gè)區(qū)域指定不同的設(shè)置,該設(shè)置將應(yīng)用于來自給定來源的流量。即使你只有一個(gè)網(wǎng)絡(luò)接口,也可以使用更多區(qū)域。

通過以下實(shí)例,我們可以將特定網(wǎng)段對 HTTP 的請求流量進(jìn)行更細(xì)致的管理,使用命令:

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

將該網(wǎng)段作為資源加入到 trusted 區(qū)中,通過命令:

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

將 Web 服務(wù)添加到相同區(qū)域中,隨后該目標(biāo)地址產(chǎn)生的訪問 Web 服務(wù)流量將可以順利通過。

3.4、放火墻鎖機(jī)制

為了防止本地程序比如 KVM 虛擬機(jī)組件對防火墻的修改,F(xiàn)irewallD 還提供了一種鎖閉機(jī)制來防止本地程序或者服務(wù)組件對防火墻配置的修改,并且該命令只有 root 用戶本身才可以執(zhí)行。

用戶可以使用命令:

  1. firewall-cmd --query-lockdown

查詢防火墻鎖閉狀態(tài),當(dāng)需要鎖閉時(shí)可以直接執(zhí)行命令:

  1. firewall-cmd --lockdown-on

恢復(fù)到非鎖閉狀態(tài)時(shí)可以執(zhí)行命令:

  1. firewall-cmd --lockdown-off

四、后記

FirewallD 防火墻組件作為 RedHat 對自由軟件社區(qū)的貢獻(xiàn)之一,具有很好的普適性,希望通過本文的講解使更多的用戶開始熟悉該防火墻軟件組件,并將其作為主機(jī)本地側(cè)防護(hù)很好的技術(shù)手段,不斷提高主機(jī)自身的 IPS 能力。在當(dāng)今網(wǎng)絡(luò)環(huán)境復(fù)雜的形勢下讓主機(jī)具有更好的安全性和可用性。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2011-01-05 09:19:59

防火墻firewalld

2025-05-13 08:30:00

Firewalld防火墻Linux

2022-04-28 18:24:36

CentOSLinux

2013-03-13 09:10:44

企業(yè)防火墻防火墻Gartner

2018-10-09 09:00:02

2010-08-03 09:39:45

路由器

2010-12-21 18:04:26

2011-03-15 09:10:43

iptables防火墻

2010-12-08 09:29:27

下一代防火墻

2010-09-14 13:08:52

2010-09-30 11:02:33

2010-05-24 17:49:56

2011-06-27 13:31:21

2021-06-25 18:31:37

云防火墻

2011-03-15 15:47:26

LinuxIptables防火墻

2011-03-16 10:17:06

2011-03-16 10:12:32

2013-07-04 10:16:24

2010-09-09 17:22:36

2009-09-24 13:53:53

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號