Linux防火墙firewalld安全设置
微信公眾號:運維開發故事,作者:wanger
背景描述
防火墻是具有很好的保護作用。***者必須首先穿越防火墻的安全防線,才能接觸目標計算機。在公司里數據安全是最重要的,要求安全部門進行全公司進行服務器防火墻安全搭建,在原有的基礎上進行安全的防火墻設置,有效避免安全隱患等問題,建議大家還是花個十多分鐘好好看一下防火墻的理論,這樣便于后期問題排查,最后一小節有常用命令操作。
主要內容
- 1 詳細了解防火墻相關配置;
- 2 詳細解讀相關安全配置方法;
- 3 詳細解讀firewalld防火墻的基礎知識;
- 4 了解firewalld防火墻的配置;
- 5 了解firewalld防火墻相關命令的使用。
1.Linux防火墻概述
防火墻是指設置在不同網絡或網絡安全域之間的一系列部件的組合,它能增強機構內部網絡的安全性。它通過訪問控制機制,確定哪些內部服務允許外部訪問,以及允許哪些外部請求可以訪問內部服務。它可以根據網絡傳輸的類型決定IP包是否可以傳進或傳出內部網。
防火墻通過審查經過的每一個數據包,判斷它是否有相匹配的過濾規則,根據規則的先后順序進行一一比較,直到滿足其中的一條規則為止,然后依據控制機制做出相應的動作。如果都不滿足,則將數據包丟棄,從而保護網絡的安全。
Linux系統的防火墻功能是由內核實現的。在2.4 版及以后的內核中,包過濾機制是netfilter.CentOS 6管理工具是iptables,CentOS 7管理工具是firewalld ,firewalld 是Linux新一代的防火墻工具,它提供了支持網絡/防火墻區域 (zone) 定義網絡鏈接以及接口安全等級的動態防火墻管理。
Netfilter,位于Linux內核中的包過濾防火墻功能體系,稱為Linux防火墻“內核態”。firewall-cmd,位于/bin/firewall-cmd,是用來管理防火墻的命令工具,為防火墻體系提供過濾規則/策略,決定如何過濾或處理到達防火墻主機的數據包,稱為Linux防火墻的“用戶態”。習慣上,上述2種稱呼都可以代表Linux防火墻。
2.Linux防火墻框架
(1) netfilter框架
Linux內核包含了一個強大的網絡子系統,名為netfilter,它可以為iptables內核防火墻模塊提供有狀態或無狀態的包過濾服務,如NAT、IP偽裝等,也可以因高級路由或連接狀態管理的需要而修改IP頭信息。而firewalld可以動態管理防火墻,將netfilter的過濾功能集于一身,它也支持允許服務或者應用程序直接添加防火墻規則的接口,netfilter所處的位置如圖1所示:
雖然防火墻模塊構建在Linux內核,并且要對流經IP層的數據包進行處理,但它并沒有改變IP協議棧的代碼,而是通過netfilter模塊將防火墻的功能引入IP層,從而實現防火墻代碼和IP協議棧代碼的完全分離。netfilter模塊的結構。如圖2所示:
數據包從左邊進入IP協議棧,進行IP校驗以后,數據包被PREROUTING處理,然后就進入路由模塊,由其決定該數據包是轉發出去還是送給本機。若該數據包是送給本機的,則通過INPUT處理后傳遞給本機的上層協議;若該數據包應該被轉發,則它將FORWARD處理,然后還要經POSTROUTING處理后才能傳輸到網絡。本機進程產生的數據包要先經過OUTPUT處理后,再進行路由選擇處理,然后經過POSTROUTING處理后再發送到網絡。
iptables服務在/etc/sysconfig/iptables中儲存配置,而firewalld將配置儲存在 /usr/lib/firewalld/和/etc/firewalld/中的各種XML文件里,使用iptables的時候每一個單獨更改意味著清除所有舊有的規則和從/etc/sysconfig/iptables里讀取所有新的規則,使用firewalld 卻不會再創建任何新的規則,僅僅運行規則中的不同。因此firewalld可以在運行時改變設置而不丟失現行配置。
Firewalld動態管理防火墻,不需要重啟整個防火墻便可應用更改。因而也就沒有必要重載所有內核防火墻模塊。不過,要使用firewalld就要求防火墻的所有變更都要通過firewalld守護進程來實現,以確保守護進程中的狀態和內核里的防火墻是一致的。另外,firewalld無法解析由iptables和iptables命令行工具添加的防火墻規則。 Firewalld防火墻堆棧示意圖,如圖3所示。
2.Firewall防火墻管理
FirewallD 提供了支持網絡/防火墻區域(zone)定義網絡鏈接以及接口安全等級的動態防火墻管理工具。firewalld通過將網絡劃分成不同的區域(通常情況下稱為 zones),制定出不同區域之間的訪問控制策略來控制不同區域間傳送的數據流。它支持 IPv4, IPv6 防火墻設置以及以太網橋接,并且擁有運行時配置和永久配置選項。它也支持允許服務或者應用程序直接添加防火墻規則的接口。 以前的 system-config-firewall/lokkit 防火墻模型是靜態的,每次修改都要求防火墻完全重啟。這個過程包括內核 netfilter 防火墻模塊的卸載和新配置所需模塊的裝載等。而模塊的卸載將會破壞狀態防火墻和確立的連接。
相反,firewall daemon 動態管理防火墻,不需要重啟防火墻便可應用更改。因而也就沒有必要重載所有內核防火墻模塊了。不過,要使用 firewall daemon 就要求防火墻的所有變更都要通過該守護進程來實現,以確保守護進程中的狀態和內核里的防火墻是一致的。另外,firewall daemon 無法解析由 ip*tables 和 ebtables 命令行工具添加的防火墻規則。守護進程通過 D-BUS 提供當前激活的防火墻設置信息,也通過 D-BUS 接受使用 PolicyKit 認證方式做的更改。應用程序、守護進程和用戶可以通過D-BUS請求啟用一個防火墻特性。特性可以是預定義的防火墻功能,如:服務、端口和協議的組合、端口/數據報轉發、偽裝、ICMP 攔截或自定義規則等。該功能可以啟用確定的一段時間也可以再次停用。
3.firewalld區域管理
網絡區域定義了網絡連接的可信等級。這是一個一對多的關系,這意味著一次連接可以僅僅是一個區域的一部分,而一個區域可以用于很多連接。一個IP可以看作是一個區域、一個網段可以看作是一個區域,局域網、互聯網都可以看作是一個區域。例如:
- 預定義的服務:服務是端口和/或協議入口的組合。備選內容包括 netfilter 助手模塊以及 IPv4、Pv6地址。
- 端口和協議:定義了 tcp 或 udp 端口,端口可以是一個端口或者端口范圍。
- ICMP阻塞:可以選擇 Internet 控制報文協議的報文。這些報文可以是信息請求亦可是對信息請求或錯誤條件創建的響應。
- 偽裝:私有網絡地址可以被映射到公開的IP地址。這是一次正規的地址轉換。
- 端口轉發:端口可以映射到另一個端口以及/或者其它主機。
現網應用中,假設互聯網是不可信任的區域,而內部網絡是高度信任的區域。為避免安全策略中禁止的一些通信,它在信任度不同的區域有各自基本的控制任務。
典型的區域包括互聯網(一個沒有信任的區域)和一個內部網絡(一個高信任的區域)。最終目標是在不同信任力度的區域,通過安全政策的運行和連通性模型之間,根據最少特權原則提供連通性。例如:公共 WIFI 網絡連接應該不信任,而家庭有線網絡連接就應該完全信任。網絡安全模型可以在安裝、初次啟動和首次建立網絡連接時選擇初始化。該模型描述了主機所聯的整個網絡環境的可信級別,并定義了新連接的處理方式。在 /etc/firewalld/ 的區域設定中,定義了一系列可以被快速執行到網絡接口的預設定。firewalld 提供的區域按照從不信任到信任的順序排序。有以下幾種不同的初始化區域: - drop(丟棄):任何接收的網絡數據包都被丟棄,沒有任何回復。僅能有發送出去的網絡連接。
- block(限制):任何接收的網絡連接,都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒絕。
- public(公共):該區域是系統默認區域,在公共區域內使用,不能相信網絡內的其它計算機不會對您的計算機造成危害,只能接收經過選取的連接。
- external(外部):特別是為路由器啟用了偽裝功能的外部網。您不能信任來自網絡的其它計算,不能相信它們不會對您的計算機造成危害,只能接收經過選擇的連接。
- dmz(非軍事區):用于您的非軍事區內的電腦,此區域內可公開訪問,可以有限地進入您的內部網絡,僅僅接收經過選擇的連接。
- work(工作):用于工作區。您可以基本相信網絡內的其它電腦不會危害您的電腦。僅僅接收經過選擇的連接。
- home(家庭):用于家庭網絡。您可以基本信任網絡內的其它計算機不會危害您的計算機。僅僅接收經過選擇的連接。
- internal(內部):用于內部網絡。您可以基本上信任網絡內的其它計算機不會威協您的計算機。僅僅接受經過選擇的連接。
- trusted(信任):可接受所有的網絡連接。
配置或者增加區域:可以使用任何一種 firewalld 配置工具來配置或者增加區域,以及修改配置。工具有例如 firewall-config 這樣的圖形界面工具, firewall-cmd 這樣的命令行工具,以及D-BUS接口。或者也可以在配置文件目錄中創建或者拷貝區域文件。 @PREFIX@/lib/firewalld/zones 被用于默認和備用配置,/etc/firewalld/zones 被用于用戶創建和自定義配置文件。
修改區域:區域設置以 ZONE= 選項 存儲在網絡連接的ifcfg文件中。如果這個選項缺失或者為空,firewalld 將使用配置的默認區域。如果這個連接受到 NetworkManager 控制,也可以使用 nm-connection-editor 來修改區域。
由NetworkManager控制的網絡連接:防火墻不能夠通過 NetworkManager 顯示的名稱來配置網絡連接,只能配置網絡接口。因此在網絡連接之前 NetworkManager 將配置文件所述連接對應的網絡接口告訴 firewalld 。如果在配置文件中沒有配置區域,接口將配置到 firewalld 的默認區域。如果網絡連接使用了不止一個接口,所有的接口都會應用到 fiwewalld。接口名稱的改變也將由 NetworkManager 控制并應用到firewalld。為了簡化,網絡連接將被用作與區域的關系。如果一個接口斷開了,NetworkManager也將告訴firewalld從區域中刪除該接口。當firewalld由systemd或者init腳本啟動或者重啟后,firewalld將通知NetworkManager把網絡連接增加到區域。
4.Linux防火墻的基本配置與管理
CentOS 7中使用firewall-config圖形界面管理的防火墻策略。也可以使用firewall-cmd命令行工具進行管理, firewall-cmd 支持全部防火墻特性,對于狀態和查詢模式,命令只返回狀態,沒有其它輸出。另外還可以直接編輯/etc/firewalld/中的配置文件用來管理firewalld的策略。
- 使用firewalld可以通過圖形界面工具 firewall-config 或者命令行客戶端 firewall-cmd 啟用或者關閉防火墻特性。
- 使用firewall-cmd命令行工具 firewall-cmd 支持全部防火墻特性。對于狀態和查詢模式,命令只返回狀態,沒有其它輸出。
4.1 firewall-cmd命令行工具
firewall-cmd支持防火墻的所有特性,管理員可以用它來改變系統或用戶策略,通過 firewall-cmd用戶可以配置防火墻允許通過的服務、端口、偽裝、端口轉發、和ICMP過濾器和調整 zone(區域)設置等功能。
firewall-cmd工具支持兩種策略管理方式,運行時和永久設置,需要分別設置兩者:
- 處理運行時區域,運行時模式下對區域進行的修改不是永久有效的,但是即時生效,重新加載或者重啟系統后修改將失效。
- 處理永久區域,永久選項不直接影響運行時的狀態,這些選項僅在重載或者重啟系統時可用。
防火墻啟動與關閉 - 啟動防火墻:systemctl start firewalld
- 查詢防火墻狀態:systemctl status firewalld
- 開機啟動防火墻:systemctl enable firewalld
- 停止防火墻:systemctl stop firewalld
- 開機關閉防火墻:systemctl disable firewalld
防火墻管理命令格式:
firewall-cmd [Options…]
firewall-cmd支持上百參數,下表為常用Options說明,如表所示:
| –get-default-zone | 查詢當前默認區域 |
| –set-default-zone= | 設置默認區域,會更改運行時和永久配置 |
| –get-zones | 列出所有可用區域 |
| –get-active-zones | 列出正在使用的所有區域(具有關聯的接口或源)機器接口和源信息 |
| –add-source= [–zone=] | 將來自IP地址或網絡/子網掩碼的所有流量路由到指定區域。 |
| –remove-source= [–zone=] | 從指定區域中刪除用于路由來自IP地址或網絡/子網掩碼的所有流量的規則 |
| –add-interface=[–zone=] | 將來自的所有流量路由到指定區域 |
| –change-interface=[–zone=] | 將接口與而非其當前區域關聯 |
| –list-all [–zone=] | 列出的所有已配置接口、源、服務和端口 |
| –list-all-zones | 檢索所有區域的所有信息(接口、源、端口、服務等) |
| –add-service=[–zone=] | 允許到的流量 |
| –add-port=<PORT/PROTOCOL>[–zone=] | 允許到<PORT/PROTOCOL>端口的流量 |
| –remove-service=[–zone=] | 從區域允許列表中刪除 |
| –remove-port=<PORT/PROTOCOL>[–zone=] | 從區域允許列表中刪除<PORT/PROTOCOL>端口 |
| –reload | 丟棄運行時配置,并應用持久配置 |
4.2 firewall-config圖形工具
firewall-config支持防火墻的所有特性,管理員可以用它來改變系統或用戶策略,通過 firewall-config 用戶可以配置防火墻允許通過的服務、端口、偽裝、端口轉發、和ICMP過濾器和調整 zone(區域)設置等功能以使防火墻設置更加的自由、安全和強健。
firewall-config工作界面。如圖4所示。
firewall-config工作界面分成三個部分:上面是主菜單,中間是配置選項卡,包括區域、服務設置選項卡,底部是狀態欄,狀態欄從左到右以此是連接狀態、默認區域、鎖定狀態、應急模式。
在左下方角落尋找“已連接”字符,這標志著 firewall-config工具已經連接到用戶區后臺程序 firewalld。
firewall-config 主菜單
firewall-config 主菜單包括四個選項:文件,選項,查看,幫助。其中選項子菜單是最主要的,它包括幾個部分:
- 重載防火墻:重載防火墻規則。例如所有現在運行的配置規則如果沒有在永久配置中操作,那么系統重載后會丟失。
- 更改連接區域:更改網絡連接的默認區域。
- 改變默認區域:更改網絡連接的所屬區域和接口。
- 應急模式:應急模式意味著丟棄所有的數據包。
- 鎖定:鎖定可以對防火墻配置進行加鎖,只允許白名單上的應用程序進行改動。鎖定特性為 firewalld 增加了鎖定本地應用或者服務配置的簡單配置方式。它是一種輕量級的應用程序策略。
firewall-config配置選項卡
firewall-config 配置選項卡包括:運行時和永久。
- 運行時:運行時配置為當前使用的配置規則。運行時配置并非永久有效,在重新加載時可以被恢復,而系統或者服務重啟、停止時,這些選項將會丟失。
- 永久:永久配置規則在系統或者服務重啟的時候使用。永久配置存儲在配置文件種,每次機器重啟或者服務重啟、重新加載時將自動恢復。
firewall-config區域選項卡
區域選項卡是一個主要設置界面,firewalld 提供了10種預定義的區域,區域配置選項和通用配置信息可以在 firewall.zone(5) 的手冊里查到,
區域選項卡有八個子選項卡,分別是服務、端口、偽裝、端口轉發、ICMP過濾器、富規則、接口、來源,如圖3-1-5所示。
- 服務:定義區域中哪些服務是可信的。
- 端口:定義區域中允許訪問的主機或網絡訪問的附加端口或端口范圍。
- 偽裝:NAT偽裝,是否啟用IP轉發,是地址轉發的一種,僅支持IPv4。
- 端口轉發:NAT轉發,將指向單個端口的流量將轉發到相同計算機上的不同端口,或者轉發到不同計算機上的端口
- ICMP過濾器:設置可通過的ICMP數據包類型。
- 富規則:是一種表達性語言,可表達firewalld基本語法中未涵蓋的自定義防火墻規則,可用于表達基本的允許/拒絕規則,可用于配置記錄(面向syslog和auditd)及端口轉發、偽裝和速率限制
- 接口:增加入口到區域。
- 來源:綁定來源地址或范圍。
(4)firewall-config 服務選項卡
預定義了幾十種重要服務,可通過命令firewall-cmd --get-services查詢,服務是端口、協議、模塊和目標地址的集合,該選項卡配置只能在永久配置視圖中修改服務,不能在運行時配置中修改。
服務選項卡底下包含端口和協議、模塊、目標地址三種子選項卡,如圖所示。。
- 端口和協議:定義需要被所有主機或網絡訪問的額外端口或端口區間。
- 模塊:添加網絡過濾輔助模塊。
- 目標地址:如果指定了目的地址,服務項目將僅限于目的地址和類型。
5 當前的firewalld特性
- D-BUS接口:D-BUS 接口提供防火墻狀態的信息,使防火墻的啟用.停用或查詢設置成為可能。
- 區域:網絡或者防火墻區域定義了連接的可信程度。firewalld 提供了幾種預定義的區域。區域配置選項和通用配置信息可以在firewall.zone(5)的手冊里查到。
- 服務:服務可以是一系列本讀端口.目的以及附加信息,也可以是服務啟動時自動增加的防火墻助手模塊。預定義服務的使用使啟用和禁用對服務的訪問變得更加簡單。服務配置選項和通用文件信息在 firewalld.service(5) 手冊里有描述。
- ICMP類型:Internet控制報文協議 (ICMP) 被用以交換報文和互聯網協議 (IP) 的錯誤報文。在 firewalld 中可以使用 ICMP 類型來限制報文交換。 ICMP 類型配置選項和通用文件信息可以參閱 firewalld.icmptype(5) 手冊。
- 直接接口:直接接口主要用于服務或者應用程序增加特定的防火墻規則。這些規則并非永久有效,并且在收到 firewalld 通過 D-Bus 傳遞的啟動.重啟.重載信號后需要重新應用。
- 運行時配置:運行時配置并非永久有效,在重新加載時可以被恢復,而系統或者服務重啟.停止時,這些選項將會丟失。
- 永久配置:永久配置存儲在配置文件種,每次機器重啟或者服務重啟.重新加載時將自動恢復。
- 托盤小程序:托盤小程序 firewall-applet 為用戶顯示防火墻狀態和存在的問題。它也可以用來配置用戶允許修改的設置。
- 圖形化配置工具:firewall daemon 主要的配置工具是 firewall-config 。它支持防火墻的所有特性(除了由服務/應用程序增加規則使用的直接接口)。 管理員也可以用它來改變系統或用戶策略。
- 命令行客戶端:firewall-cmd是命令行下提供大部分圖形工具配置特性的工具。
- 對于ebtables的支持:要滿足libvirt daemon的全部需求,在內核 netfilter 級上防止 ip*tables 和 ebtables 間訪問問題,ebtables 支持是需要的。由于這些命令是訪問相同結構的,因而不能同時使用。
- /usr/lib/firewalld中的默認/備用配置:該目錄包含了由 firewalld 提供的默認以及備用的 ICMP 類型.服務.區域配置。由 firewalld 軟件包提供的這些文件不能被修改,即使修改也會隨著 firewalld 軟件包的更新被重置。 其它的 ICMP 類型.服務.區域配置可以通過軟件包或者創建文件的方式提供。
- /etc/firewalld中的系統配置設置:存儲在此的系統或者用戶配置文件可以是系統管理員通過配置接口定制的,也可以是手動定制的。這些文件將重載默認配置文件。為了手動修改預定義的 icmp 類型,區域或者服務,從默認配置目錄將配置拷貝到相應的系統配置目錄,然后根據需求進行修改。如果加載了有默認和備用配置的區域,在 /etc/firewalld下的對應文件將被重命名為 .old 然后啟用備用配置。
6.用戶策略支持
管理員可以規定哪些用戶可以使用用戶交互模式和限制防火墻可用特性。
端口元數據信息(由 Lennart Poettering 提議),擁有一個端口獨立的元數據信息是很好的。應用程序或服務的端口是動態的,因而端口本身并不能描述使用情況,所以對 /etc/services 的端口和協議靜態分配模型不是個好的解決方案,也沒有反映當前使用情況。。
元數據信息可以用來為防火墻制定簡單的規則。下面是一些例子:
- 允許外部訪問文件共享應用程序或服務;
- 允許外部訪問音樂共享應用程序或服務;
- 允許外部訪問全部共享應用程序或服務;
- 允許外部訪問 torrent 文件共享應用程序或服務;
- 允許外部訪問 http 網絡服務。
這里的元數據信息不只有特定應用程序,還可以是一組使用情況。例如:組“全部共享”或者組“文件共享”可以對應于全部共享或文件共享程序(如:torrent 文件共享)。這些只是例子,因而,可能并沒有實際用處。
這里是在防火墻中獲取元數據信息的兩種可能途徑:
- 第一種是添加到 netfilter (內核空間)。好處是每個人都可以使用它,但也有一定使用限制。還要考慮用戶或系統空間的具體信息,所有這些都需要在內核層面實現。
- 第二種是添加到 firewall daemon 中。這些抽象的規則可以和具體信息(如:網絡連接可信級。作為具體個人/主機要分享的用戶描述.管理員禁止完全共享的應歸則等)一起使用。
第二種解決方案的好處是不需要為有新的元數據組和納入改變(可信級.用戶偏好或管理員規則等等)重新編譯內核。這些抽象規則的添加使得 firewall daemon 更加自由。即使是新的安全級也不需要更新內核即可輕松添加。
7.sysctld的錯誤設置
實際應用中對sysctl 設置經常出現錯誤。
一個例子是,在 rc.sysinit 正運行時,而提供設置的模塊在啟動時沒有裝載或者重新裝載該模塊時會發生問題。
另一個例子是 net.ipv4.ip_forward ,防火墻設置.libvirt 和用戶/管理員更改都需要它。如果有兩個應用程序或守護進程只在需要時開啟 ip_forwarding ,之后可能其中一個在不知道的情況下關掉服務,而另一個正需要它,此時就不得不重啟它。
sysctl daemon 可以通過對設置使用內部計數來解決上面的問題。此時,當請求者不再需要時,它就會再次回到之前的設置狀態或者是直接關閉它。
8.iptables 的與firewalld區別
firewalld 和 iptables service 之間最本質區別是:
- iptables service 在 /etc/sysconfig/iptables 中儲存配置,而 firewalld 將配置儲存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各種 XML 文件里,。要注意,當 firewalld 在Linux上安裝失敗時, /etc/sysconfig/iptables 文件就不存在。
- 使用 iptables service,每一個單獨更改意味著清除所有舊有的規則和從 /etc/sysconfig/iptables里讀取所有新的規則,然而使用 firewalld 卻不會再創建任何新的規則;僅僅運行規則中的不同之處。因此,firewalld 可以在運行時間內,改變設置而不丟失現行連接。
9.常用命令
firewalld的基本使用
啟動: systemctl start firewalld
關閉: systemctl stop firewalld
查看狀態: systemctl status firewalld
開機禁用 : systemctl disable firewalld
開機啟用 : systemctl enable firewalld
(2) systemctl是CentOS7的服務管理工具中主要的工具,它融合之前service和chkconfig的功能于一體。
啟動一個服務:systemctl start firewalld.service
關閉一個服務:systemctl stop firewalld.service
重啟一個服務:systemctl restart firewalld.service
顯示一個服務的狀態:systemctl status firewalld.service
在開機時啟用一個服務:systemctl enable firewalld.service
在開機時禁用一個服務:systemctl disable firewalld.service
查看服務是否開機啟動:systemctl is-enabled firewalld.service
查看已啟動的服務列表:systemctl list-unit-files|grep enabled
查看啟動失敗的服務列表:systemctl --failed
(3) 配置firewalld-cmd
#《實例一》防火墻查詢 firewall-cmd --version //查看版本 firewall-cmd --help // 查看幫助 firewall-cmd --state // 顯示狀態 firewall-cmd --get-services //獲取支持服務列表(firewalld內置服務支持) firewall-cmd --zone=public --list-ports //查看所有打開的端口 firewall-cmd --list-forward-ports //查看轉發的端口 fierewall-cmd –reload //重新加載防火墻策略 firewall-cmd --get-active-zones //查看區域信息 firewall-cmd --list-all-zones //列出全部啟用的區域的特性 firewall-cmd --list-services //顯示防火墻當前服務 firewall-cmd --get-zone-of-interface=eth0 //查看指定接口所屬區域 firewall-cmd --panic-on //拒絕所有包 firewall-cmd --panic-offfir //取消拒絕狀態 firewall-cmd --query-panic //查看是否拒絕 *# 《實例二》 運行時區域策略設置示例(注:以下示例不加zone的為默認區域public) firewall-cmd --add-service=ssh //允許 ssh 服務通過 firewall-cmd --remove-service=ssh //禁止 ssh 服務通過 firewall-cmd --add-service=samba --timeout=600 //臨時允許 samba 服務通過 600 秒 firewall-cmd --add-service=http --zone=work //允許http服務通過work區域 firewall-cmd --zone=work --add-service=http //從work區域打開http服務 firewall-cmd --zone=internal --add-port=443/tcp //打開 443/tcp 端口在內部區域(internal) firewall-cmd --zone=internal --remove-port=443/tcp //關閉443/tcp 端口在內部區域(internal) firewall-cmd --add-interface=eth0 //打開網卡eth0 firewall-cmd --remove-interface=eth0 //關閉網卡eth0#《 實例三》 永久區域策略設置示例(注:以下示例不加zone的為默認區域public;永久設置均需重新加載防火墻策略或重啟系統) firewall-cmd --permanent --add-service=ftp //永久允許 ftp 服務通過 firewall-cmd --permanent --remove-service=ftp //永久禁止 ftp 服務通過 firewall-cmd --permanent --add-service=http --zone=external //永久允許http服務通過external區域 firewall-cmd --permanent --add-service=http --zone=external //永久允許http服務通過external區域 firewall-cmd --permanent --zone=internal --add-port=111/tcp //打開 111/tcp 端口在內部區域(internal) firewall-cmd --permanent --zone=internal --remove-port=111/tcp //關閉 111/tcp 端口在內部區域(internal) firewall-cmd --permanent --add-interface=eth0 //永久打開網卡eth0 firewall-cmd --permanent --remove-interface=eth0 //永久關閉網卡eth0 firewall-cmd --permanent --zone=public --add-port=8080-8083/tcp //添加多個端口 firewall-cmd --permanent --zone=public --remove-port=81/tcp //刪除某個端口 firewall-cmd --permanent --remove-rich-rule="rule family="ipv4" source address="192.168.1.51" accept" //刪除某個IP firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.0.0/16" accept" // firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="9200" accept" //針對某個ip段訪問 firewall-cmd --reload //添加操作后別忘了執行重載才會生效歡迎各位關注微信公號“運維開發故事”
總結
以上是生活随笔為你收集整理的Linux防火墙firewalld安全设置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: requests和xml的结合应用
- 下一篇: Oracle中Start With的用法