1.支持網絡區域所定義的網絡鏈接以及接口安全的動態防火牆管理工具。
2.支持IPv四、IPv6防火牆設置以及以太網橋接
3.支持服務或應運程序直接添加防火牆規則口
4.擁有兩種配置模式
運行時配置
永久配置linux
1.位於linux內核中的包過濾功能體系
2.稱爲Linux防火牆的「內核態」安全
1.Centos7默認的管理防火牆規則的工具(Firewalld)
2.稱爲linux防火牆的「用戶態」
3.Firewalld是iptables的升級
4.iptables(command)爲用戶態
5.kernel(netfilter)爲內核態網絡
Firewalld | iptables | |
---|---|---|
配置文件 | /usr/lib/firewalld/ /etc/firewalld/ | /etc/sysconfig/iptables |
對規則的修改 | 不須要所有刷新策略,不丟失現行鏈接 | 須要所有刷新策略,丟失鏈接 |
防火牆類型 | 動態防火牆 | 靜態防火牆 |
1.區域如同進入主機的安全門,每一個區域都具備不一樣限制程度的規則
2.能夠使用一我的或多個區域,可是任何一個活躍區域至少須要關聯源地址或接口
3.默認狀況下,public區域是默認區域,包含全部接口(網卡)ssh
區域 | 描述 |
---|---|
drop(丟棄) | 任何接收的網絡數據包都被丟棄,沒有任何回覆。僅能有發送出去的網絡鏈接 |
block(限制) | 任何接收的網絡鏈接都被IPv4的icmp-hot-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒絕 |
public(公共) | 在公共區域內使用,不能相信網絡內的其餘計算機不會對您的計算機形成危害,只能接收通過選取的鏈接 |
external(外部) | 特別是爲路由器啓用了假裝功能的外部網。您不能信任來自網絡的其餘計算,不能相信他們不會對您的計算機形成危害,只能接收通過選擇的鏈接 |
dmz(非軍事區) | 用於您的非軍事區內的電腦,此區域內可公開訪問,能夠有限的進入您的內部網絡,僅僅接收通過選擇的鏈接 |
work(工做) | 用於工做區域。您能夠基本相信網絡內的其餘電腦不會危害您的電腦。僅僅接收通過選擇的鏈接 |
home(家庭) | 用於家庭網絡。您能夠基本相信網絡內的其餘計算機不會危害您的計算機。僅僅接收通過選擇的鏈接 |
internal(內部) | 用於內部網絡。您能夠基本上信任網絡內的其餘計算機不會威脅您的計算機。僅僅接受通過選擇的鏈接 |
trusted(信任) | 可接受全部的網絡鏈接 |
檢查數據來源的源地址
1.若源地址關聯到特定的區域,則執行該區域所指定的規則
2.若源地址未關聯到特定的區域,則使用傳入網絡接口的區域並執行該區域所指定的規則
3.若網絡接口未關聯到特定的區域,則使用默認區域並執行該區域所指定的規則tcp
1.實時生效,並持續至Firewalld從新啓動或從新加載配置
2.不中斷現有鏈接
3.不能修改服務配置ide
1.不當即生效,除非Firewalld從新啓動或從新加載配置
2.終端現有鏈接
3.能夠修改服務配置工具
1.Firewalld會優先使用/etc/firewalld/中的配置,若是不存在配置文件時可經過從/usr/lib/firewalld/中拷貝測試
2./usrlib/firwalld/:默認配置文件,不建議修改,若恢復至默認配置,可直接刪除/etc/firewalld/中的配置命令行
[root@localhost ~]# firewall-config //打開圖形工具
運行時配置/永久配置
從新加載防火牆
更該永久配置
關聯網卡到指定區域
修改默認區域
鏈接狀態3d
區域選項卡內容
1.「服務」 子選項卡
2.「端口」子選項卡
3.「協議」子選項卡
4.「源端口」子選項卡
5.「假裝」子選項卡
6.「端口轉發」子選項卡
7.「ICMP過濾器」子選項卡
服務選項卡
1.「模塊」子選項卡
2.「目標地址」子選項卡
systemctl start firewalld //啓動 firewalld systemctl enable firewalld //設置 firewalld 爲開機自啓動 systemctl status firewalld //查看firewalld狀態 firewall-cmd --state //查看firewalld狀態 systemctl stop firewalld //中止 firewalld服務 systemctl disable firewalld //設置 firewalld 開機不自啓動
firewall-cmd 預約義信息主要包括三種:可用的區域、可用的服務以及可用的 ICMP 阻塞
firewall-cmd --get-zones //顯示預約義的區域 firewall-cmd --get-service //顯示預約義的服務 firewall-cmd --get-icmptypes //顯示預約義的 ICMP 類型
各類阻塞類型的含義
destination-unreachable:目的地址不可達 echo-reply:應答迴應(pong) parameter-problem:參數問題 redirect:從新定向 router-advertisement:路由器通告 router-solicitation:路由器徵尋 source-quench:源端抑制 time-exceeded:超時 timestamp-reply:時間戳應答迴應 timestamp-request:時間戳請求
使用 firewall-cmd 命令能夠實現獲取和管理區域,爲指定區域綁定網絡接口等功能
區域管理選項
- -get-default-zone //顯示網絡鏈接或接口的默認區域 - -set-default-zone=<zone> //設置網絡鏈接或接口的默認區域 - -get-active-zones //顯示已激活的全部區域 - -get-zone-of-interface=<interface> //顯示指定接口綁定的區域 - -zone=<zone> - -add-interface=<interface> //爲指定接口綁定區域 - -zone=<zone> - -change-interface=<interface> //爲指定的區域更改綁定的網絡接口 - -zone=<zone> - -remove-interface=<interface> //爲指定的區域刪除綁定的網絡接口 - -list-all-zones //顯示全部區域及其規則 [- -zone=<zone>] - -list-all //顯示全部指定區域的全部規則,省略- -zone=<zone>時表示表示對默認區域操做
firewalld 預 先 定 義 了 很 多 服 務 , 存 放 在 /usr/lib/firewalld/services/ 目錄中,服務經過單個的 XML 配置文件來指定。這些配置文件則按如下格式命名:service-name.xml,每一個文件對應一項具體的網絡服務,ssh 務等。與之對應的配置文件中記錄了各項服務所使用的 tcp/udp 端口。在最新版本的 firewalld 中默認已經定義了 ,對於每一個網絡區域許訪問的服務。當默認提供的服務不適用或者須要自定義某項服務的端口時,咱們須要將 service 配置文件放置在 /etc/firewalld/services/ 目錄中。ervice 配置具備如下優勢: 經過服務名字來管理規則更加人性化; 經過服務來組織端口分組的模式更加高效,若是一個服務使用了若干個網絡端口,則服務的配置文件就至關於提供了到這些端口的規則管理的批量操做快捷方式。
服務管理選項
[- -zone=<zone>] - -list-services //顯示指定區域內容許訪問的全部服務 [- -zone=<zone>] - -add-service=<service> //爲指定區域設置容許訪問的某項服務 [- -zone=<zone>] - -remove-service=<service> //刪除指定區域已設置的容許訪問的某項服務 [- -zone=<zone>] - -list-ports //顯示指定區域內容許訪問的全部端口號 [- -zone=<zone>] - -add-port=<portid>[-<portid>]/<protocol> //爲指定區域設置容許訪問的某個/某段端口號 (包括協議名) [- -zone=<zone>] - -remove-port=<portid>[-<portid>]/<protocol> //刪除指定區域已設置的容許訪問的端口號(包括協議名) [- -zone=<zone>] - -list-icmp-blocks //顯示指定區域內拒絕訪問的全部ICMP類型 [- -zone=<zone>] - -add-icmp-block=<icmptype> //爲指定區域設置拒絕訪問的某項ICMP類型 [- -zone=<zone>] - -remove-icmp-block=<icmptype> //刪除指定區域已設置的拒絕訪問的某項ICMP類型,省略- -zone=<zone>時表示對默認區域操做 [- -zone=<zone>] - -remove-icmp-block=<icmptype> //查詢指定區域的ICMP阻塞功能
在進行服務配置時,預約義的網絡服務能夠使用服務名配置,服務所涉及的端口就會自動打開。可是對於非預約義的服務只能手動爲指定的區域添加端口
端口管理命令
firewall-cmd - -zone=internal - -add-ports //顯示internal區域內容許訪問的使用端口號 firewall-cmd - -zone=internal - -remove-port=22/tcp - -timeout=5m //啓用internal 區域22端口的TCP協議訪問,- -timeout=5m表示5分鐘後刪除除該端口(多用於測試) firewall-cmd - -zone=internal - -remove-port=443/tcp //禁止internal 區域443端口的TCP協議訪問 firewall-cmd - -zone=internal - -query-port=22/tcp //查詢internal 區域中是否啓用22端口和TCP協議
運行時模式: 表示當前內存中運行的防火牆配置,在系統或 firewalld 服務重啓、中止時配置將失效 永久模式: 表示重啓防火牆或從新加載防火牆時的規則配置,是永久存儲在配置文件中的
配置模式選項
- -reload:從新加載防火牆規則並保持狀態信息,即將永久配置應用爲運行時配置。 - -permanent:帶有此選項的命令用於設置永久性規則,這些規則只有在從新啓動 firewalld 或從新加載防火牆規則時纔會生效;若不帶有此選項,表示用於設置運行時 規則。 - -runtime-to-permanent:將當前的運行時配置寫入規則配置文件中,使之成爲永久性的配置