溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Firewalld安全技術(shù)是什么?

發(fā)布時(shí)間:2020-05-26 14:07:02 來源:億速云 閱讀:227 作者:鴿子 欄目:安全技術(shù)
  1. Firewalld入門簡(jiǎn)介
    從CentOS7開始,默認(rèn)是沒有iptables的,而使用了firewall防火墻,F(xiàn)irewallD 提供了支持網(wǎng)絡(luò)/防火墻區(qū)域(zone)定義網(wǎng)絡(luò)鏈接以及接口安全等級(jí)的動(dòng)態(tài)防火墻管理工具。
    什么是動(dòng)態(tài)防火墻?回憶一下iptables service 管理防火墻規(guī)則的模式:用戶將新的防火墻規(guī)則添加進(jìn)/etc/sysconfig/iptables 配置文件當(dāng)中,再執(zhí)行命令 service iptables reload 使變更的規(guī)則生效。
    這整個(gè)過程的背后,iptables service 首先對(duì)舊的防火墻規(guī)則進(jìn)行了清空,然后重新完整地加載所有新的防火墻規(guī)則,而如果配置了需要 reload 內(nèi)核模塊的話,過程背后還會(huì)包含卸載和重新加載內(nèi)核模塊的動(dòng)作,而不幸的是,這個(gè)動(dòng)作很可能對(duì)運(yùn)行中的系統(tǒng)產(chǎn)生額外的不良影響,特別是在網(wǎng)絡(luò)非常繁忙的系統(tǒng)中。
    哪怕只修改一條規(guī)則也要進(jìn)行所有規(guī)則的重新載入的模式稱為靜態(tài)防火墻的話,那么 firewalld 所提供的模式就可以叫做動(dòng)態(tài)防火墻,它的出現(xiàn)就是為了解決這一問題,任何規(guī)則的變更都不需要對(duì)整個(gè)防火墻規(guī)則列表進(jìn)行重新加載,只需要將變更部分保存并更新到運(yùn)行中的 iptables 即可。
    firewalld 和 iptables 之間的關(guān)系, firewalld 提供了一個(gè) daemon 和 service,還有命令行和圖形界面配置工具,它僅僅是替代了 iptables service 部分,其底層還是使用 iptables 作為防火墻規(guī)則管理入口。firewalld 使用 python 語言開發(fā),在新版本中已經(jīng)計(jì)劃使用 c++ 重寫 daemon 部分。

  2. 什么是區(qū)域(zone)?

Firewalld將網(wǎng)卡對(duì)應(yīng)到不同的區(qū)域(zone),zone 默認(rèn)共有9個(gè),block dmz drop external home internal public trusted work.
不同的區(qū)域之間的差異是其對(duì)待數(shù)據(jù)包的默認(rèn)行為不同,根據(jù)區(qū)域名字我們可以很直觀的知道該區(qū)域的特征,在CentOS7系統(tǒng)中,默認(rèn)區(qū)域被設(shè)置為public.
在最新版本的fedora(fedora21)當(dāng)中隨著 server 版和 workstation 版的分化則添加了兩個(gè)不同的自定義 zone FedoraServer 和 FedoraWorkstation 分別對(duì)應(yīng)兩個(gè)版本。
使用下面的命令分別列出所有支持的 zone
firewall-cmd --get-zones
block dmz drop external home internal public trusted work
查看當(dāng)前的默認(rèn) zone
firewall-cmd --get-default-zone
public
區(qū)域(zone)說明如下:
iptables service 在 /etc/sysconfig/iptables 中儲(chǔ)存配置
firewalld 將配置儲(chǔ)存在 /usr/lib/firewalld/ 和 /etc/firewalld/ 中的各種 XML 文件里
/etc/firewalld/的區(qū)域設(shè)定是一系列可以被快速執(zhí)行到網(wǎng)絡(luò)接口的預(yù)設(shè)定。列表并簡(jiǎn)要說明如下:
drop(丟棄)
任何接收的網(wǎng)絡(luò)數(shù)據(jù)包都被丟棄,沒有任何回復(fù)。僅能有發(fā)送出去的網(wǎng)絡(luò)連接。
block(限制)
任何接收的網(wǎng)絡(luò)連接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒絕。
public(公共)
在公共區(qū)域內(nèi)使用,不能相信網(wǎng)絡(luò)內(nèi)的其他計(jì)算機(jī)不會(huì)對(duì)您的計(jì)算機(jī)造成危害,只能接收經(jīng)過選取的連接。
external(外部)
特別是為路由器啟用了偽裝功能的外部網(wǎng)。您不能信任來自網(wǎng)絡(luò)的其他計(jì)算,不能相信它們不會(huì)對(duì)您的計(jì)算機(jī)造成危害,只能接收經(jīng)過選擇的連接。
dmz(非軍事區(qū))
用于您的非軍事區(qū)內(nèi)的電腦,此區(qū)域內(nèi)可公開訪問,可以有限地進(jìn)入您的內(nèi)部網(wǎng)絡(luò),僅僅接收經(jīng)過選擇的連接。
work(工作)
用于工作區(qū)。您可以基本相信網(wǎng)絡(luò)內(nèi)的其他電腦不會(huì)危害您的電腦。僅僅接收經(jīng)過選擇的連接。
home(家庭)
用于家庭網(wǎng)絡(luò)。您可以基本信任網(wǎng)絡(luò)內(nèi)的其他計(jì)算機(jī)不會(huì)危害您的計(jì)算機(jī)。僅僅接收經(jīng)過選擇的連接。
internal(內(nèi)部)
用于內(nèi)部網(wǎng)絡(luò)。您可以基本上信任網(wǎng)絡(luò)內(nèi)的其他計(jì)算機(jī)不會(huì)威脅您的計(jì)算機(jī)。僅僅接受經(jīng)過選擇的連接。
trusted(信任)
可接受所有的網(wǎng)絡(luò)連接。
指定其中一個(gè)區(qū)域?yàn)槟J(rèn)區(qū)域是可行的。當(dāng)接口連接加入了 NetworkManager,它們就被分配為默認(rèn)區(qū)域。安裝時(shí)firewalld 里的默認(rèn)區(qū)域被設(shè)定為公共區(qū)域。

  1. 什么是服務(wù)?
  2. 在 /usr/lib/firewalld/services/ 目錄中,還保存了另外一類配置文件,每個(gè)文件對(duì)應(yīng)一項(xiàng)具體的網(wǎng)絡(luò)服務(wù),如 ssh 服務(wù)等.
    與之對(duì)應(yīng)的配置文件中記錄了各項(xiàng)服務(wù)所使用的 tcp/udp 端口,在最新版本的 firewalld 中默認(rèn)已經(jīng)定義了 70+ 種服務(wù)供我們使用.
    當(dāng)默認(rèn)提供的服務(wù)不夠用或者需要自定義某項(xiàng)服務(wù)的端口時(shí),我們需要將 service 配置文件放置在 /etc/firewalld/services/ 目錄中.

service 配置的好處顯而易見:
第一,通過服務(wù)名字來管理規(guī)則更加人性化,
第二,通過服務(wù)來組織端口分組的模式更加高效,如果一個(gè)服務(wù)使用了若干個(gè)網(wǎng)絡(luò)端口,則服務(wù)的配置文件就相當(dāng)于提供了到這些端口的規(guī)則管理的批量操作快捷方式。
每加載一項(xiàng) service 配置就意味著開放了對(duì)應(yīng)的端口訪問,使用下面的命令分別列出所有支持的 service

firewall-cmd --get-services
RH-Satellite-6 amanda-client bacula bacula-client dhcp dhcpv6 dhcpv6-client dns ftp high-availability http https imaps ipp ipp-client ipsec kerberos kpasswd ldap ldaps libvirt libvirt-tls mdns mountd ms-wbt mysql nfs ntp open*** pmcd pmproxy pmwebapi pmwebapis pop3s postgresql proxy-dhcp radius rpc-bind samba samba-client smtp ssh telnet tftp tftp-client transmission-client vnc-server wbem-https
查看當(dāng)前 zone 種加載的 service
firewall-cmd --list-services
dhcpv6-client ssh

動(dòng)態(tài)添加一條防火墻規(guī)則如下:
假設(shè)自定義的 ssh 端口號(hào)為 12222,使用下面的命令來添加新端口的防火墻規(guī)則:
firewall-cmd --add-port=12222/tcp --permanent
如果需要使規(guī)則保存到 zone 配置文件,則需要加參數(shù) –permanent

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI