Linux-防火墻管理工具firewalld

防火墻作為網(wǎng)絡(luò)安全的防護(hù)工具乙各,在保障數(shù)據(jù)和服務(wù)安全方面發(fā)揮著重大作用。

提到防火墻幢竹,接觸Linux較早的朋友首先想到的是iptables(centos 6版本)耳峦,centos 7推薦使用的是firewalld。然而焕毫,不管是iptalbes還是firewalld蹲坷,其本身并不是防火墻,而是防火墻配置管理工具邑飒。

本文介紹的是firewalld工具的使用方法循签,對(duì)于具體的原理這里不作深究,iptables相關(guān)的內(nèi)容也不在討論范圍內(nèi)幸乒。

1.firewalld安裝

使用yum安裝

sudo yum install -y firewalld

使用systemctl啟動(dòng)firewalld

# 啟動(dòng)
sudo systemctl start firewalld
# 開(kāi)機(jī)啟動(dòng)
sudo systemctl enable firewalld

如果要停止或禁用firewalld

# 停止
sudo systemctl stop firewalld
# 禁用
sudo systemctl enable firewalld

2.firewalld基本概念

2.1 Zones

區(qū)域:定義了網(wǎng)絡(luò)連接的信任級(jí)別懦底,firewalld提供了幾種預(yù)先定義好的區(qū)域,我們可以根據(jù)需要選擇合適的區(qū)域罕扎。

區(qū)域 默認(rèn)規(guī)則策略
trusted 允許所有的數(shù)據(jù)包
home 拒絕流入的流量聚唐,除非與流出的流量相關(guān);而如果流量與ssh腔召、mdns杆查、ipp-client、amba-client與dhcpv6-client服務(wù)相關(guān)臀蛛,則允許流量
internal 等同于home區(qū)域
work 拒絕流入的流量亲桦,除非與流出的流量相關(guān);而如果流量與ssh浊仆、ipp-client與dhcpv6-client服務(wù)相關(guān)客峭,則允許流量
public 拒絕流入的流量,除非與流出的流量相關(guān)抡柿;而如果流量與ssh舔琅、dhcpv6-client服務(wù)相關(guān),則允許流量
external 拒絕流入的流量洲劣,除非與流出的流量相關(guān)备蚓;而如果流量與ssh服務(wù)相關(guān)课蔬,則允許流量
dmz 拒絕流入的流量,除非與流出的流量相關(guān)郊尝;而如果流量與ssh服務(wù)相關(guān)二跋,則允許流量
block 拒絕流入的流量,除非與流出的流量相關(guān)
drop 拒絕流入的流量流昏,除非與流出的流量相關(guān)
2.2 Services

Service可以是一個(gè)local ports扎即、protocols、destinations列表横缔,使用預(yù)定義的服務(wù)使用戶更容易啟用和禁用對(duì)服務(wù)的訪問(wèn)铺遂。

2.3 ICMP types

Internet Control Message Protocol在IP協(xié)議中交換信息。ICMP types可以用來(lái)在firewalld中限制交換信息茎刚。

# 顯示預(yù)定義的ICMP types
firewall-cmd --get-icmptypes
2.4 Runtime configuration

運(yùn)行時(shí)配置:此配置在系統(tǒng)或服務(wù)重啟后會(huì)失效襟锐。

2.5 Permanent configuration

永久配置 :此配置永久生效,使用firewall-cmd配置防火墻策略時(shí)需要添加--permanent選項(xiàng)才會(huì)將配置永久保存到配置文件中膛锭,另外使用firewall-cmd --reload可以將永久配置覆蓋到運(yùn)行配置并生效粮坞。

2.6 Direct interface

直接接口:此方式主要是為了適應(yīng)對(duì)iptables比較熟悉卻不適應(yīng)firewalld的用戶,使用--direct選項(xiàng)可以傳遞原始的iptables命令來(lái)配置防火墻策略初狰。

3.firewalld命令行工具

firewall-cmd是firewalld的CLI版本管理工具莫杈,用來(lái)通過(guò)命令行配置防火墻策略。
完整的firewall-cmd使用手冊(cè)可以使用man firewall-cmdfirewall-cmd -h查看奢入,這里介紹部分常用操作選項(xiàng)筝闹。

3.1 Status Options
# 檢查firewalld狀態(tài)
firewall-cmd --state
# 重新加載防火墻規(guī)則,保持狀態(tài)信息
firewall-cmd --reload
# 重新加載防火墻規(guī)則腥光,包括netfilter內(nèi)核模塊(僅當(dāng)出現(xiàn)嚴(yán)重的防火墻問(wèn)題時(shí)使用关顷,會(huì)中斷活動(dòng)的網(wǎng)絡(luò)連接)
firewall-cmd --complete-reload
# 將運(yùn)行時(shí)配置永久保存到配置文件
firewall-cmd --runtime-to-permanent
3.2 Zone Options
# 顯示預(yù)定義的zones
firewall-cmd --get-zones
# 查看默認(rèn)區(qū)域
firewall-cmd --get-default-zone
# 修改默認(rèn)區(qū)域
firewall-cmd --set-default-zone=<zone>
# 查看網(wǎng)絡(luò)接口使用的區(qū)域
firewall-cmd --get-active-zones
# 查看所有區(qū)域的所有配置
sudo firewall-cmd --list-all-zones
# 創(chuàng)建一個(gè)新的區(qū)域
sudo firewall-cmd --new-zone=<zone> --permanent
# 移除一個(gè)已存在的區(qū)域
sudo firewall-cmd --delete-zone=<zone>
# 指定區(qū)域(如果未指定則為默認(rèn)區(qū)域)使用其它選項(xiàng)(見(jiàn)本文3.4章節(jié))
firewall-cmd --zone=<zone>
# 查看指定區(qū)域的所有配置
sudo firewall-cmd --zone=<zone> --list-all
3.3 Service Options
# 顯示預(yù)定義的services
sudo firewall-cmd --get-services
# 顯示指定service允許的端口和協(xié)議
sudo firewall-cmd --service=<service> --get-ports --permanent
# 為指定的service添加允許的端口和協(xié)議
sudo firewall-cmd --service=<service> --add-port=<portid>[-<portid>]/<protocol>
# 從指定的service移除允許的端口和協(xié)議
sudo firewall-cmd --service=<service> --remove-port=<portid>[-<portid>]/<protocol>
# 檢查端口號(hào)和協(xié)議在指定的service是否允許
sudo firewall-cmd --service=<service> --query-port=<portid>[-<portid>]/<protocol>
3.4 Options to Adapt and Query Zones
# 顯示指定zone的所有策略
sudo firewall-cmd --zone=<zone> --list-all 
# 顯示指定zone的所有service
sudo firewall-cmd --zone=<zone> --list-services
# 向指定zone添加允許的service
sudo firewall-cmd --zone=<zone> --add-service=<service>
# 從指定zone移除允許的service
sudo firewall-cmd --zone=<zone> --remove-service=<service>
# 顯示指定zone的所有端口號(hào)和協(xié)議
sudo firewall-cmd --zone=<zone> --list-ports
# 向指定zone添加允許的端口和協(xié)議
sudo firewall-cmd --zone=<zone> --add-port=<portid>[-<portid>]/<protocol>
# 從指定zone移除允許的端口和協(xié)議
sudo firewall-cmd --zone=<zone> --remove-port=<portid>[-<portid>]/<protocol>
3.5 實(shí)例

3.5.1 放行8080-8100的所有入口流量

# 允許8080-8100端口的所有TCP流量,永久生效
sudo firewall-cmd --zone=public --add-port=8080-8100/tcp --permanent
# 立即生效
sudo firewall-cmd --reload
# 查看允許的端口號(hào)和協(xié)議
sudo firewall-cmd --zone=public --list-ports

3.5.2 放行8080-8081的所有http入口流量

# 從public區(qū)域上移除允許的8080-8100的TCP入口流量
# 如果沒(méi)有進(jìn)行3.5.1的操作武福,這一步可以忽略
sudo firewall-cmd --zone=public --remove-port=8080-8081/tcp --permanent
# 允許http服務(wù)上8080-8100端口的所有TCP流量议双,永久生效
sudo firewall-cmd --service=http --add-port=8080-8100/tcp --permanent
# 查看http服務(wù)上允許的端口號(hào)和協(xié)議
sudo firewall-cmd --service=http --get-ports --permanent
# 允許http服務(wù)的入口流量,永久生效
sudo firewall-cmd --zone=public --add-service=http --permanent
# 立即生效
sudo firewall-cmd --reload

3.5.3 僅允許本機(jī)通過(guò)TCP協(xié)議訪問(wèn)27017端口

sudo firewall-cmd --add-rich-rule="rule family="ipv4" source address="127.0.0.1" port protocol="tcp" port="27017" accept" --permanent

這里使用了--add-rich-rule來(lái)設(shè)置防火墻策略捉片,關(guān)于詳細(xì)的介紹可以使用man firewalld.richlanguage查看平痰。

4.firewalld圖形界面工具

firewall-config是firewalld的圖形界面管理工具,即使不熟悉Linux命令也可以妥善配置防火墻策略伍纫。不過(guò)宗雇,本文對(duì)圖形界面的操作就不一一贅述了,有需要的自行自行摸索或查閱相關(guān)資料莹规。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赔蒲,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嘹履,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件债热,死亡現(xiàn)場(chǎng)離奇詭異砾嫉,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)窒篱,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)焕刮,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人墙杯,你說(shuō)我怎么就攤上這事配并。” “怎么了高镐?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵溉旋,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我嫉髓,道長(zhǎng)观腊,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任算行,我火速辦了婚禮梧油,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘州邢。我一直安慰自己儡陨,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布量淌。 她就那樣靜靜地躺著骗村,像睡著了一般。 火紅的嫁衣襯著肌膚如雪类少。 梳的紋絲不亂的頭發(fā)上叙身,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天,我揣著相機(jī)與錄音硫狞,去河邊找鬼信轿。 笑死,一個(gè)胖子當(dāng)著我的面吹牛残吩,可吹牛的內(nèi)容都是我干的财忽。 我是一名探鬼主播,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼泣侮,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼即彪!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤隶校,失蹤者是張志新(化名)和其女友劉穎漏益,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體深胳,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡绰疤,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了舞终。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轻庆。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖敛劝,靈堂內(nèi)的尸體忽然破棺而出余爆,到底是詐尸還是另有隱情,我是刑警寧澤夸盟,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布蛾方,位于F島的核電站,受9級(jí)特大地震影響上陕,放射性物質(zhì)發(fā)生泄漏转捕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一唆垃、第九天 我趴在偏房一處隱蔽的房頂上張望五芝。 院中可真熱鬧,春花似錦辕万、人聲如沸枢步。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)醉途。三九已至,卻和暖如春砖茸,著一層夾襖步出監(jiān)牢的瞬間隘擎,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工凉夯, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留货葬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓劲够,卻偏偏與公主長(zhǎng)得像震桶,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子征绎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355