firewalld防火牆是centos7系統預設的防火牆管理工具,取代了之前的iptables防火牆,也是工作在網路層,屬於包過濾防火牆
firewalld和iptables都是用來管理防火牆的工具(屬於使用者態)來定義防火牆的各種規則功能,內部結構都指向netfilter網路過濾子系統(屬於核心態)來實現包過濾防火牆功能
firewalld提供了支援網路區域所定義的網路連線以及介面安全等級的動態防火牆管理工具
它支援ipv4、ipv6防火牆設定以及乙太網橋(在某些高階服務可能會用到,比如雲計算),並且擁有兩種配置模式:執行時配置與永久配置
iptables主要是基於介面,來設定規則,從而判斷網路的安全性;firewalld是基於區域,根據不同的區域來設定不同的規則,從而保證網路的安全。與硬體防火牆的設定相類似
iptables在/etc/ sysconfig/iptables中儲存配置;firewalld將配置儲存在/etc/firewalld/(優先載入)和/usr/lib/ firewalld/ (預設的配置檔案)中的各種xml檔案裡
使用iptables每乙個單獨更改意味著清除所有舊有的規則和從/etc/sysconfig/iptables裡讀取所有新的規則;使用firewalld卻不會再建立任何新的規則,僅僅執行規則中的不同之處。因此firewalld可以在執行時間內,改變設定而不丟失現行連線
iptables防火牆型別為靜態防火牆;firewalld防火牆型別為動態防火牆
firewalld防火牆為了簡化管理,將所有網路流量分為多個區(zone),然後根據資料報的源ip位址或傳入的網路介面等條件將流量傳入相應區域。每個區域都定義了自己開啟或者關閉的埠和服務列表
1.最終乙個區域的安全程度是取決於管理員在此區域中設定的規則
2.區域如同進入主機的安全門,每個區域都具有不同限制程度的規則,只會允許符合規則的流量傳入
3.可以根據網路規模,使用乙個或多個區域,但是任何乙個 活躍區域 至少需要關聯 源位址或介面
4.預設情況下,public區域是預設區域,包含所有介面(網絡卡)
trusted(信任區域)允許所有的傳入流量
public(公共區域)允許與ssh或dhcpv6-client預定義服務匹配的傳入流量,其餘均拒絕。是新新增網路介面的預設區域
external(外部區域)允許與 ssh 預定義服務匹配的傳入流量,其餘均拒絕。 預設將通過此區域**的ipv4傳出流量將進行位址偽裝,可用於為 路由器啟用了偽裝功能的外部網路
home(家庭區域)允許與ssh、ipp-client、mdns、samba-client或dhcpv6-client預定義服務匹配的傳入流量,其餘均拒絕
internal(內部區域)預設值時與home區域相同
work(工作區域)允許與 ssh、ipp-client、dhcpv6-client 預定義服務匹配的傳入流量,其餘均拒絕
dmz(隔離區域也稱為非軍事區域)允許與 ssh 預定義服務匹配的傳入流量,其餘均拒絕
block(限制區域)拒絕所有傳入流量
drop(丟棄區域)丟棄所有傳入流量,並且不產生包含icmp的錯誤響應
firewalld對於進入系統的資料報,會根據資料報的源ip位址或傳入的網路介面等條件,將資料流量轉入相應區域的防火牆規則。對於進入系統的資料報,首先檢查的就是其源位址
1.若源位址關聯到特定的區域(即源位址或介面繫結的區域有衝突),則執行該區域所制定的規則
2.若源位址未關聯到特定的區域(即源位址或介面繫結的區域沒有衝突),則使用傳入網路介面的區域並執行該區域所制定的規則
3.若網路介面也未關聯到特定的區域(即源位址或介面都沒有繫結特定的某個區域),則使用預設區域並執行該區域所制定的規則
常用的firewall-cmd命令選項
--get-default-zone :顯示當前預設區域
--set-default-zone= :設定預設區域
--get-active-zones :顯示當前正在使用的區域及其對應的網絡卡介面
--get-zones :顯示所有可用的區域
--get-zone-of-inte***ce= :顯示指定介面繫結的區域
--zone= --add-inte***ce= :為指定介面繫結區域
--zone= --change-inte***ce= :為指定的區域更改繫結的網路介面
--zone= --remove-inte***ce= :為指定的區域刪除繫結的網路介面
--get-zone-of-source=[/] :顯示指定源位址繫結的區域
--zone= --add-source=[/] :為指定源位址繫結區域
--zone= --change-source=[/] :為指定的區域更改繫結的源位址
--zone= --remove-source=[/] :為指定的區域刪除繫結的源位址
--list-all-zones :顯示所有區域及其規則
[--zone=] --list-all :顯示所有指定區域的所有規則,省略--zone=時表示僅對預設區域操作
[--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型別
firewall-cmd --get-icmptypes :顯示所有 icmp 型別
2.4、設定預設區域
2.--runtime-to-permanent:將當前的執行時配置寫入規則配置檔案中,使之成為永久性配置
firewall-cmd --zone=internal --add-port=443/tcp
firewall-cmd --list-all --zone=internal
firewall-cmd --zone=internal --remove-port=443/tcp
firewall-cmd --add-port=2048-2050/udp
firewall-cmd --list-all
防火牆 防火牆安全
作為計算機的第一道屏障,防火牆的重要性不言而喻,儘管防火牆在面臨網路攻擊時仍有很大的缺陷,不如無法阻止自內而外的攻擊,對複雜多變的網路攻擊攻擊無法預警和像ids所做的那樣。但防火牆依然是伺服器乃至個人機的一道不可或缺的屏障。木桶原理 本文將對防火牆做乙個初步的簡介,顯然像我們知道的那樣,防火牆是一款...
linux防火牆新增埠並開閉防火牆
安裝 yum install firewalld 啟動 systemctl start firewalld 檢視狀態 systemctl status firewalld 禁用,禁止開機啟動 systemctl disable firewalld 開機啟用 systemctl enable fire...
Linux防火牆配置
重啟後生效 開啟 chkconfig iptables on 關閉 chkconfig iptables off 2 即時生效,重啟後失效 開啟 service iptables start 關閉 service iptables stop 需要說明的是對於linux下的其它服務都可以用以上命令執行...