linux防火牆解析

linux防火牆解析

Firewalld概述

(1)支持網絡區域所定義的網絡鏈接以及接口安全的動態防火牆管理工具。
(2)支持IPv四、IPv6防火牆設置以及以太網橋接
(3)支持服務或應運程序直接添加防火牆規則口
(4)擁有兩種配置模式
運行時配置
永久配置mysql

Firewalld和iptables的關係

linux防火牆解析

netfilter

(1)位於linux內核中的包過濾功能體系
(2)稱爲Linux防火牆的「內核態」linux

Firewalld/iptables

(1)Centos7默認的管理防火牆規則的工具(Firewalld)
(2)稱爲linux防火牆的「用戶態」sql

Firewalld和iptables的區別

linux防火牆解析

Firewalld網絡區域

區域介紹

linux防火牆解析

Firewalld網絡區域

區域介紹

(1)區域如同進入主機的安全門,每一個區域都具備不一樣限制程度的規則
(2)可使用一我的或多個區域,可是任何一個活躍區域至少須要關聯源地址或接口
(3)默認狀況下,public區域是默認區域,包含全部接口(網卡)安全

Firewalld數據處理流程

檢查數據來源的源地址
(1)若源地址關聯到特定的區域,則執行該區域所指定的規則
(2)若源地址未關聯到特定的區域,則使用傳入網絡接口的區域並執行該區域所指定的規則。
(3)若網絡接口未關聯到特定的區域,則使用默認區域並執行該區域所指定的規則網絡

Firewalld防火牆的配置方法

運行時配置

(1)實時生效,並持續至Firewalld從新啓動或從新加載配置
(2)不中斷現有鏈接
(3)不能修改服務配置ssh

永久配置

(1)不當即生效。除非Firewalld從新啓動或從新加載配置
(2)中斷現有鏈接
(3)能夠修改服務配置tcp

Firewalld-config圖形工具

運行時配置/永久配置

linux防火牆解析

從新加載防火牆

更改永久配置並生效

linux防火牆解析

關聯網卡到指定區域ide

「區域」選項卡

(1)「服務」 子選項卡
(2)「端口」子選項卡
(3)「協議」子選項卡
(4)「源端口」子選項卡
(5)「假裝」子選項卡
(6)「端口轉發」子選項卡
(7)「ICMP過濾器」子選項卡工具

linux防火牆解析

「服務」選項卡

(1)「模塊」子選項卡
(2)「目標地址」子選項卡
修改默認區域
鏈接狀態
Firewalld-cmd命令行工具命令行

1)啓動、中止、查看 firewalld 服務

啓動 firewalld

[root@localhost ~]# systemctl start firewalld
1

設置 firewalld 爲開機自啓動

[root@localhost ~]# systemctl enable firewalld
1
若是 firewalld 正在運行,經過 systemctl status firewalld 或 firewall-cmd 命令 能夠查看其運行狀態

[root@localhost ~]# systemctl status firewalld

linux防火牆解析

2)獲取預約義信息

firewall-cmd 預約義信息主要包括三種:可用的區域、可用的服務以及可用的 ICMP 阻
塞類型

顯示預約義的區域

[root@localhost ~]# firewall-cmd --get-zones

linux防火牆解析

顯示預約義的服務

[root@localhost ~]# firewall-cmd --get-services

linux防火牆解析

顯示預約義的 ICMP 類型

[root@localhost ~]# firewall-cmd --get-icmptypes

linux防火牆解析

firewall-cmd --get-icmptypes 命令的執行結果中各類阻塞類型的含義分別以下所示。

(1) destination-unreachable:目的地址不可達。
(2)echo-reply:應答迴應(pong)。
(3) parameter-problem:參數問題。
(4) redirect:從新定向。
(5) router-advertisement:路由器通告。
(6) router-solicitation:路由器徵尋。
(7)source-quench:源端抑制。
(8) time-exceeded:超時。
(9) timestamp-reply:時間戳應答迴應。
(10) timestamp-request:時間戳請求。

3)區域管理

使用 firewall-cmd 命令能夠實現獲取和管理區域,爲指定區域綁定網絡接口等功能

(1)–get-default-zone 顯示網絡鏈接或接口的默認區域
(2)–set-default-zone= 設置網絡鏈接或接口的默認區域
(3)–get-active-zones 顯示已激活的全部區域
(4)–get-zone-of-interface= 顯示指定接口綁定的區域
(5)–zone= --add-interface= 爲指定接口綁定區域
(6)–zone= --change-interface= 爲指定的區域更改綁定的網絡接口
(7)–zone= --remove-interface= 爲指定的區域刪除綁定的網絡接口
(8)–list-all-zones 顯示全部區域及其規則
(9)[–zone=] --list-all 顯示全部指定區域的全部規則,省略–zone=時表示僅 對默認區域操做

1)顯示當前系統中的默認區域。

[root@localhost ~]# firewall-cmd --get-default-zone

linux防火牆解析

2)顯示默認區域的全部規則

[root@localhost ~]# firewall-cmd --list-all

linux防火牆解析

3)顯示網絡接口 ens33 對應區域

[root@localhost ~]# firewall-cmd --get-zone-of-interface=ens33

linux防火牆解析

4)將網絡接口 ens33 對應區域更改成 internal 區域。

[root@localhost ~]# firewall-cmd --zone=internal --change-interface=ens33

linux防火牆解析

5)顯示全部激活區域。

[root@localhost ~]# firewall-cmd --get-active-zones

linux防火牆解析

4)服務管理

爲 了 方 便 管 理 , firewalld 預 先 定 義 了 很 多 服 務 , 存 放 在 /usr/lib/firewalld/services/ 目錄中,服務經過單個的 XML 配置文件來指定。這些配置文件則按如下格式命名:service-name.xml,每一個文件對應一項具體的網絡服務,如 ssh 服
務等。與之對應的配置文件中記錄了各項服務所使用的 tcp/udp 端口。在最新版本的 firewalld 中默認已經定義了 70 多種服務供咱們使用,對於每一個網絡區域,都可以配置允 許訪問的服務。當默認提供的服務不適用或者須要自定義某項服務的端口時,咱們須要將 service 配置文件放置在 /etc/firewalld/services/ 目錄中。service 配置具備如下優勢。
(1) 經過服務名字來管理規則更加人性化。
(2) 經過服務來組織端口分組的模式更加高效,若是一個服務使用了若干個網絡端口,則服 務的配置文件就至關於提供了到這些端口的規則管理的批量操做快捷方式。
一、[–zone=] --list-services 顯示指定區域內容許訪問的全部服務
二、[–zone=] --add-service= 爲指定區域設置容許訪問的某項服務
三、[–zone=] --remove-service= 刪除指定區域已設置的容許訪問的某項服務
四、[–zone=] --list-ports 顯示指定區域內容許訪問的全部端口號
五、[–zone=] --add-port=[-]/
爲指定區域設置容許訪問的某個/某段端口號 (包括協議名)
六、[–zone=] --remove-port=[-]/
刪除指定區域已設置的容許訪問的端口號(包括 協議名)
七、[–zone=] --list-icmp-blocks 顯示指定區域內拒絕訪問的全部 ICMP 類型
八、[–zone=] --add-icmp-block= 爲指定區域設置拒絕訪問的某項 ICMP 類型
九、[–zone=] --remove-icmp-block= 刪除指定區域已設置的拒絕訪問的某項 ICMP 類 型,省略–zone=時表示對默認區域操做

(1)爲默認區域設置容許訪問的服務。

顯示默認區域內容許訪問的全部服務:

[root@localhost ~]# firewall-cmd --list-services

linux防火牆解析

設置默認區域容許訪問 http 服務success

[root@localhost ~]# firewall-cmd --add-service=http

linux防火牆解析

設置默認區域容許訪問 https 服務
[root@localhost ~]#firewall-cmd --add-service=https
linux防火牆解析

(2)爲 internal 區域設置容許訪問的服務。

設置 internal 區域容許訪問 mysql 服務

[root@localhost ~]# firewall-cmd --zone=internal --add-service=mysql

linux防火牆解析

設置 internal 區域不容許訪問 samba-client 服務

[root@localhost~]#firewall-cmd --zone=internal --remove-service=samba-client

linux防火牆解析

顯示 internal 區域內容許訪問的全部服務

linux防火牆解析

5)端口管理

在進行服務配置時,預約義的網絡服務可使用服務名配置,服務所涉及的端口就會自
動打開。可是,對於非預約義的服務只能手動爲指定的區域添加端口。例如,執行如下操做
便可實如今 internal 區域打開 443/TCP 端口。

[root@localhost ~]# firewall-cmd --zone=internal --add-port=443/tcp

linux防火牆解析

若想實如今 internal 區域禁止 443/TCP 端口訪問,可執行如下命令。

[root@localhost ~]#firewall-cmd --zone=internal --remove-port=443/tcp

linux防火牆解析

6)兩種配置模式

前面提到 firewall-cmd 命令工具備兩種配置模式:運行時模式(Runtime mode)表示 當前內存中運行的防火牆配置,在系統或 firewalld 服務重啓、中止時配置將失效;永久模 式(Permanent mode)表示重啓防火牆或從新加載防火牆時的規則配置,是永久存儲在配置 文件中的。
firewall-cmd 命令工具與配置模式相關的選項有三個。
(1) --reload:從新加載防火牆規則並保持狀態信息,即將永久配置應用爲運行時配置。
(2) --permanent:帶有此選項的命令用於設置永久性規則,這些規則只有在從新啓動 firewalld 或從新加載防火牆規則時纔會生效;若不帶有此選項,表示用於設置運行時 規則。
(3)–runtime-to-permanent:將當前的運行時配置寫入規則配置文件中,使之成爲永久性
/etc/firewalld/中的配置文件
(1)Firewalld會優先使用/etc/fireewalld/中的配置,若是不存在配置作文件,則使用/usr/bin/firewalld/中的配置
(2)/etc/firewalld/:用戶自定義配置文件,須要時可經過從/usr/bin/firewalld/中拷貝
(3)/usr/bin/firewalld/:默認配置文件,不建議修改,若恢復至默認配置,可直接刪除/etc/firewalld/中的配置。

謝謝收看

相關文章
相關標籤/搜索