Firewalld防火墻安全防護(hù)
引言
Firewalld 服務(wù)是紅帽 RHEL7 系統(tǒng)中默認(rèn)的防火墻管理工具,特點(diǎn)是擁有運(yùn)行時(shí)配置與永久配置選項(xiàng)且能夠支持動(dòng)態(tài)更新以及 "zone" 的區(qū)域功能概念,使用圖形化工具 firewall-config 或文本管理工具 firewall-cmd,下面實(shí)驗(yàn)中會(huì)講到~
區(qū)域概念與作用
防火墻的網(wǎng)絡(luò)區(qū)域定義了網(wǎng)絡(luò)連接的可信等級(jí),我們可以根據(jù)不同場(chǎng)景來(lái)調(diào)用不同的 firewalld 區(qū)域,區(qū)域規(guī)則有:
區(qū)域 | 默認(rèn)規(guī)則策略 |
---|---|
trusted | 允許所有的數(shù)據(jù)包。 |
home | 拒絕流入的數(shù)據(jù)包,除非與輸出流量數(shù)據(jù)包相關(guān)或是 ssh,mdns,ipp-client,samba-client 與 dhcpv6-client 服務(wù)則允許。 |
internal | 等同于 home 區(qū)域 |
work | 拒絕流入的數(shù)據(jù)包,除非與輸出流量數(shù)據(jù)包相關(guān)或是 ssh,ipp-client 與 dhcpv6-client 服務(wù)則允許。 |
public | 拒絕流入的數(shù)據(jù)包,除非與輸出流量數(shù)據(jù)包相關(guān)或是 ssh,dhcpv6-client 服務(wù)則允許。 |
external | 拒絕流入的數(shù)據(jù)包,除非與輸出流量數(shù)據(jù)包相關(guān)或是 ssh 服務(wù)則允許。 |
dmz | 拒絕流入的數(shù)據(jù)包,除非與輸出流量數(shù)據(jù)包相關(guān)或是 ssh 服務(wù)則允許。 |
block | 拒絕流入的數(shù)據(jù)包,除非與輸出流量數(shù)據(jù)包相關(guān)。 |
drop | 拒絕流入的數(shù)據(jù)包,除非與輸出流量數(shù)據(jù)包相關(guān)。 |
簡(jiǎn)單來(lái)講就是為用戶預(yù)先準(zhǔn)備了幾套規(guī)則集合,我們可以根據(jù)場(chǎng)景的不同選擇合適的規(guī)矩集合,而默認(rèn)區(qū)域是 public。
字符管理工具
如果想要更高效的配置妥當(dāng)防火墻,那么就一定要學(xué)習(xí)字符管理工具 firewall-cmd 命令, 命令參數(shù)有:
參數(shù) | 作用 |
---|---|
--get-default-zone | 查詢默認(rèn)的區(qū)域名稱。 |
--set-default-zone=<區(qū)域名稱> | 設(shè)置默認(rèn)的區(qū)域,永久生效。 |
--get-zones | 顯示可用的區(qū)域。 |
--get-services | 顯示預(yù)先定義的服務(wù)。 |
--get-active-zones | 顯示當(dāng)前正在使用的區(qū)域與網(wǎng)卡名稱。 |
--add-source= | 將來(lái)源于此 IP 或子網(wǎng)的流量導(dǎo)向指定的區(qū)域。 |
--remove-source= | 不再將此 IP 或子網(wǎng)的流量導(dǎo)向某個(gè)指定區(qū)域。 |
--add-interface=<網(wǎng)卡名稱> | 將來(lái)自于該網(wǎng)卡的所有流量都導(dǎo)向某個(gè)指定區(qū)域。 |
--change-interface=<網(wǎng)卡名稱> | 將某個(gè)網(wǎng)卡與區(qū)域做關(guān)聯(lián)。 |
--list-all | 顯示當(dāng)前區(qū)域的網(wǎng)卡配置參數(shù),資源,端口以及服務(wù)等信息。 |
--list-all-zones | 顯示所有區(qū)域的網(wǎng)卡配置參數(shù),資源,端口以及服務(wù)等信息。 |
--add-service=<服務(wù)名> | 設(shè)置默認(rèn)區(qū)域允許該服務(wù)的流量。 |
--add-port=<端口號(hào)/協(xié)議> | 允許默認(rèn)區(qū)域允許該端口的流量。 |
--remove-service=<服務(wù)名> | 設(shè)置默認(rèn)區(qū)域不再允許該服務(wù)的流量。 |
--remove-port=<端口號(hào)/協(xié)議> | 允許默認(rèn)區(qū)域不再允許該端口的流量。 |
--reload | 讓 “永久生效” 的配置規(guī)則立即生效,覆蓋當(dāng)前的。 |
特別需要注意的是 firewalld 服務(wù)有兩份規(guī)則策略配置記錄,必需要能夠區(qū)分:
- RunTime: 當(dāng)前正在生效的。
- Permanent: 永久生效的。
當(dāng)下面實(shí)驗(yàn)修改的是永久生效的策略記錄時(shí),必須執(zhí)行 "--reload
" 參數(shù)后才能立即生效,否則要重啟后再生效。
查看當(dāng)前的區(qū)域:
$ firewall-cmd --get-default-zone public
查詢 eno16777728 網(wǎng)卡的區(qū)域:
$ firewall-cmd --get-zone-of-interface=eno16777728 public
在 public 中分別查詢 ssh 與 http 服務(wù)是否被允許:
$ firewall-cmd --zone=public --query-service=ssh yes $ firewall-cmd --zone=public --query-service=http no
設(shè)置默認(rèn)規(guī)則為 dmz:
$ firewall-cmd --set-default-zone=dmz
讓 “永久生效” 的配置文件立即生效:
$ firewall-cmd --reload success
啟動(dòng)/關(guān)閉應(yīng)急狀況模式,阻斷所有網(wǎng)絡(luò)連接:
應(yīng)急狀況模式啟動(dòng)后會(huì)禁止所有的網(wǎng)絡(luò)連接,一切服務(wù)的請(qǐng)求也都會(huì)被拒絕,當(dāng)心,請(qǐng)慎用。
$ firewall-cmd --panic-on success $ firewall-cmd --panic-off success
如果您已經(jīng)能夠完全理解上面練習(xí)中 firewall-cmd 命令的參數(shù)作用,不妨來(lái)嘗試完成下面的模擬訓(xùn)練吧:
模擬訓(xùn)練 1
允許 https 服務(wù)流量通過(guò) public 區(qū)域,要求立即生效且永久有效:
方法一: 分別設(shè)置當(dāng)前生效與永久有效的規(guī)則記錄:
$ firewall-cmd --zone=public --add-service=https $ firewall-cmd --permanent --zone=public --add-service=https
方法二: 設(shè)置永久生效的規(guī)則記錄后讀取記錄:
$ firewall-cmd --permanent --zone=public --add-service=https $ firewall-cmd --reload
模擬訓(xùn)練 2
不再允許 http 服務(wù)流量通過(guò) public 區(qū)域,要求立即生效且永久生效:
$ firewall-cmd --permanent --zone=public --remove-service=http success
使用參數(shù) "--reload" 讓永久生效的配置文件立即生效:
$ firewall-cmd --reload success
模擬訓(xùn)練 3
允許 8080 與 8081 端口流量通過(guò) public 區(qū)域,立即生效且永久生效:
$ firewall-cmd --permanent --zone=public --add-port=8080-8081/tcp $ firewall-cmd --reload
模擬訓(xùn)練 4
查看模擬實(shí)驗(yàn) C 中要求加入的端口操作是否成功:
$ firewall-cmd --zone=public --list-ports 8080-8081/tcp $ firewall-cmd --permanent --zone=public --list-ports 8080-8081/tcp
模擬實(shí)驗(yàn) 5
將 eno16777728 網(wǎng)卡的區(qū)域修改為 external,重啟后生效:
$ firewall-cmd --permanent --zone=external --change-interface=eno16777728 success $ firewall-cmd --get-zone-of-interface=eno16777728 public
端口轉(zhuǎn)發(fā)功能可以將原本到某端口的數(shù)據(jù)包轉(zhuǎn)發(fā)到其他端口:
firewall-cmd --permanent --zone=<區(qū)域> --add-forward-port=port=<源端口號(hào)>:proto=<協(xié)議>:toport=<目標(biāo)端口號(hào)>:toaddr=<目標(biāo) IP 地址>
將訪問(wèn) 192.168.10.10 主機(jī) 888 端口的請(qǐng)求轉(zhuǎn)發(fā)至 22 端口:
$ firewall-cmd --permanent --zone=public --add-forward-port=port=888:proto=tcp:toport=22:toaddr=192.168.10.10 success
使用客戶機(jī)的 ssh 命令訪問(wèn) 192.168.10.10 主機(jī)的 888 端口:
$ ssh -p 888 192.168.10.10 The authenticity of host '[192.168.10.10]:888 ([192.168.10.10]:888)' can't be established. ECDSA key fingerprint is b8:25:88:89:5c:05:b6:dd:ef:76:63:ff:1a:54:02:1a. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '[192.168.10.10]:888' (ECDSA) to the list of known hosts. root@192.168.10.10's password: Last login: Sun Jul 19 21:43:48 2015 from 192.168.10.10
再次提示: 注意立即生效與重啟后依然生效的差別,千萬(wàn)不要修改錯(cuò)了。
模擬實(shí)驗(yàn) 6
設(shè)置富規(guī)則,拒絕 192.168.10.0/24 網(wǎng)段的用戶訪問(wèn) ssh 服務(wù):
firewalld 服務(wù)的富規(guī)則用于對(duì)服務(wù)、端口、協(xié)議進(jìn)行更詳細(xì)的配置,規(guī)則的優(yōu)先級(jí)最高。
$ firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4"source address="192.168.10.0/24"service name="ssh"reject" success
以上就是Firewalld防火墻安全防護(hù)的詳細(xì)內(nèi)容,更多關(guān)于Firewalld防火墻的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Web網(wǎng)絡(luò)安全分析SQL注入繞過(guò)技術(shù)原理
這篇文章主要為大家介紹了Web網(wǎng)絡(luò)安全分析SQL注入繞過(guò)技術(shù)原理的詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2021-11-11防御SQL注入攻擊時(shí)需要注意的一個(gè)問(wèn)題
SQL注入算是一個(gè)極為普通的問(wèn)題了,解決方案也多如牛毛,但是新的注入方式仍然層出不窮。2009-02-02DDoS攻擊與CC攻擊網(wǎng)絡(luò)安全的兩大挑戰(zhàn)如何應(yīng)對(duì)防御
這篇文章主要為大家介紹了面對(duì)DDoS攻擊與CC攻擊網(wǎng)絡(luò)安全的兩大挑戰(zhàn)應(yīng)該如何應(yīng)對(duì),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2023-10-10Web網(wǎng)絡(luò)安全解析cookie注入攻擊原理
這篇文章主要為大家介紹了Web網(wǎng)絡(luò)安全分析cookie注入攻擊原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2021-11-11web網(wǎng)絡(luò)安全分析反射型XSS攻擊原理
這篇文章主要為大家介紹了web網(wǎng)絡(luò)安全分析反射型XSS攻擊原理詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-11-11Web網(wǎng)絡(luò)安全分析Base64注入攻擊原理詳解
這篇文章主要為大家介紹了Web網(wǎng)絡(luò)安全分析Base64注入攻擊原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2021-11-11防止利用系統(tǒng)漏洞輕輕松松繞過(guò)你的驗(yàn)證碼的方法
防止利用系統(tǒng)漏洞輕輕松松繞過(guò)你的驗(yàn)證碼的方法...2007-03-03