CentOS7防火墻設(shè)置

一、FirewallD簡介

FirewallD 提供了支持網(wǎng)絡(luò)/防火墻區(qū)域(zone)定義網(wǎng)絡(luò)鏈接以及接口安全等級的動態(tài)防火墻管理工具逼龟。它支持 IPv4, IPv6 防火墻設(shè)置以及以太網(wǎng)橋接评凝,并且擁有運(yùn)行時配置和永久配置選項。它也支持允許服務(wù)或者應(yīng)用程序直接添加防火墻規(guī)則的接口腺律。 以前的 system-config-firewall/lokkit 防火墻模型是靜態(tài)的奕短,每次修改都要求防火墻完全重啟。這個過程包括內(nèi)核 netfilter 防火墻模塊的卸載和新配置所需模塊的裝載等匀钧。而模塊的卸載將會破壞狀態(tài)防火墻和確立的連接翎碑。
相反,firewall daemon 動態(tài)管理防火墻之斯,不需要重啟整個防火墻便可應(yīng)用更改日杈。因而也就沒有必要重載所有內(nèi)核防火墻模塊了。不過吊圾,要使用 firewall daemon 就要求防火墻的所有變更都要通過該守護(hù)進(jìn)程來實(shí)現(xiàn)达椰,以確保守護(hù)進(jìn)程中的狀態(tài)和內(nèi)核里的防火墻是一致的。另外项乒,firewall daemon 無法解析由 ip*tables 和 ebtables 命令行工具添加的防火墻規(guī)則啰劲。
守護(hù)進(jìn)程通過 D-BUS 提供當(dāng)前激活的防火墻設(shè)置信息,也通過 D-BUS 接受使用 PolicyKit 認(rèn)證方式做的更改檀何。

二蝇裤、FirewallD特性

  • 守護(hù)進(jìn)程
    應(yīng)用程序括袒、守護(hù)進(jìn)程和用戶可以通過 D-BUS 請求啟用一個防火墻特性拣凹。特性可以是預(yù)定義的防火墻功能桃犬,如:服務(wù)隧土、端口和協(xié)議的組合、端口/數(shù)據(jù)報轉(zhuǎn)發(fā)藕甩、偽裝施敢、ICMP 攔截或自定義規(guī)則等。該功能可以啟用確定的一段時間也可以再次停用狭莱。
    通過所謂的直接接口僵娃,其他的服務(wù)(例如 libvirt )能夠通過 iptables 變元(arguments)和參數(shù)(parameters)增加自己的規(guī)則。
    amanda 腋妙、ftp 默怨、samba 和 tftp 服務(wù)的 netfilter 防火墻助手也被“守護(hù)進(jìn)程”解決了,只要它們還作為預(yù)定義服務(wù)的一部分。附加助手的裝載不作為當(dāng)前接口的一部分骤素。由于一些助手只有在由模塊控制的所有連接都關(guān)閉后才可裝載匙睹。因而,跟蹤連接信息很重要济竹,需要列入考慮范圍痕檬。

  • 靜態(tài)防火墻(system-config-firewall/lokkit)
    使用 system-config-firewall 和 lokkit 的靜態(tài)防火墻模型實(shí)際上仍然可用并將繼續(xù)提供,但卻不能與“守護(hù)進(jìn)程”同時使用规辱。用戶或者管理員可以決定使用哪一種方案谆棺。
    在軟件安裝栽燕,初次啟動或者是首次聯(lián)網(wǎng)時罕袋,將會出現(xiàn)一個選擇器。通過它你可以選擇要使用的防火墻方案碍岔。其他的解決方案將保持完整浴讯,可以通過更換模式啟用。
    firewall daemon 獨(dú)立于 system-config-firewall蔼啦,但二者不能同時使用榆纽。

  • 區(qū)域
    網(wǎng)絡(luò)區(qū)域定義了網(wǎng)絡(luò)連接的可信等級。這是一個一對多的關(guān)系捏肢,這意味著一次連接可以僅僅是一個區(qū)域的一部分奈籽,而一個區(qū)域可以用于很多連接。

  • 預(yù)定義服務(wù)
    服務(wù)是端口和/或協(xié)議入口的組合鸵赫。備選內(nèi)容包括 netfilter 助手模塊以及 IPv4衣屏、IPv6地址。

  • 端口和協(xié)議
    定義了 tcp 或 udp 端口辩棒,端口可以是一個端口或者端口范圍狼忱。

  • ICMP阻塞
    可以選擇 Internet 控制報文協(xié)議的報文膨疏。這些報文可以是信息請求亦可是對信息請求或錯誤條件創(chuàng)建的響應(yīng)。

  • 偽裝
    私有網(wǎng)絡(luò)地址可以被映射到公開的IP地址钻弄。這是一次正規(guī)的地址轉(zhuǎn)換佃却。

  • 端口轉(zhuǎn)發(fā)
    端口可以映射到另一個端口以及/或者其他主機(jī)。

  • 哪個區(qū)域可用?
    由firewalld 提供的區(qū)域按照從不信任到信任的順序排序窘俺。

  • 丟棄
    任何流入網(wǎng)絡(luò)的包都被丟棄饲帅,不作出任何響應(yīng)。只允許流出的網(wǎng)絡(luò)連接瘤泪。

  • 阻塞
    任何進(jìn)入的網(wǎng)絡(luò)連接都被拒絕洒闸,并返回 IPv4 的 icmp-host-prohibited 報文或者 IPv6 的 icmp6-adm-prohibited 報文。只允許由該系統(tǒng)初始化的網(wǎng)絡(luò)連接均芽。

  • 公開
    用以可以公開的部分丘逸。你認(rèn)為網(wǎng)絡(luò)中其他的計算機(jī)不可信并且可能傷害你的計算機(jī)。只允許選中的連接接入掀宋。

  • 外部
    用在路由器等啟用偽裝的外部網(wǎng)絡(luò)深纲。你認(rèn)為網(wǎng)絡(luò)中其他的計算機(jī)不可信并且可能傷害你的計算機(jī),只允許選中的連接接入劲妙。

  • 隔離區(qū)(dmz)
    用以允許隔離區(qū)(dmz)中的電腦有限地被外界網(wǎng)絡(luò)訪問湃鹊。只接受被選中的連接。

  • 工作
    用在工作網(wǎng)絡(luò)镣奋。你信任網(wǎng)絡(luò)中的大多數(shù)計算機(jī)不會影響你的計算機(jī)币呵。只接受被選中的連接。

  • 家庭
    用在家庭網(wǎng)絡(luò)侨颈。你信任網(wǎng)絡(luò)中的大多數(shù)計算機(jī)不會影響你的計算機(jī)余赢。只接受被選中的連接。

  • 內(nèi)部
    用在內(nèi)部網(wǎng)絡(luò)哈垢。你信任網(wǎng)絡(luò)中的大多數(shù)計算機(jī)不會影響你的計算機(jī)妻柒。只接受被選中的連接。

  • 受信任的
    允許所有網(wǎng)絡(luò)連接耘分。

  • 我應(yīng)該選用哪個區(qū)域?
    例如举塔,公共的 WIFI 連接應(yīng)該主要為不受信任的,家庭的有線網(wǎng)絡(luò)應(yīng)該是相當(dāng)可信任的求泰。根據(jù)與你使用的網(wǎng)絡(luò)最符合的區(qū)域進(jìn)行選擇央渣。

  • 由NetworkManager控制的網(wǎng)絡(luò)連接
    防火墻不能夠通過 NetworkManager 顯示的名稱來配置網(wǎng)絡(luò)連接,只能配置網(wǎng)絡(luò)接口渴频。因此在網(wǎng)絡(luò)連接之前 NetworkManager 將配置文件所述連接對應(yīng)的網(wǎng)絡(luò)接口告訴 firewalld 芽丹。如果在配置文件中沒有配置區(qū)域,接口將配置到 firewalld 的默認(rèn)區(qū)域枉氮。如果網(wǎng)絡(luò)連接使用了不止一個接口志衍,所有的接口都會應(yīng)用到 fiwewalld暖庄。接口名稱的改變也將由 NetworkManager 控制并應(yīng)用到firewalld。

  • 由腳本控制的網(wǎng)絡(luò)
    對于由網(wǎng)絡(luò)腳本控制的連接有一條限制:沒有守護(hù)進(jìn)程通知 firewalld 將連接增加到區(qū)域楼肪。這項工作僅在 ifcfg-post 腳本進(jìn)行培廓。因此,此后對網(wǎng)絡(luò)連接的重命名將不能被應(yīng)用到firewalld春叫。同樣肩钠,在連接活動時重啟 firewalld 將導(dǎo)致與其失去關(guān)聯(lián)。現(xiàn)在有意修復(fù)此情況暂殖。最簡單的是將全部未配置連接加入默認(rèn)區(qū)域价匠。

  • 使用firewalld
    圖形界面工具:firewall-config
    firewall-cmd命令行工具:firewall-cmd

三、FirewallD配置

  • Firewalld命令:
#進(jìn)程與狀態(tài)相關(guān)
systemctl start firewalld.service            #啟動防火墻  
systemctl stop firewalld.service             #停止防火墻  
firewall-cmd --state                         #查看防火墻狀態(tài)  
firewall-cmd --reload                        #更新防火墻規(guī)則  
firewall-cmd --state                         #查看防火墻狀態(tài)  
firewall-cmd --reload                        #重載防火墻規(guī)則  
firewall-cmd --list-ports                    #查看所有打開的端口  
firewall-cmd --list-services                 #查看所有允許的服務(wù)  
firewall-cmd --get-services                  #獲取所有支持的服務(wù)  

#區(qū)域相關(guān)
firewall-cmd --list-all-zones                    #查看所有區(qū)域信息  
firewall-cmd --get-active-zones                  #查看活動區(qū)域信息  
firewall-cmd --set-default-zone=public           #設(shè)置public為默認(rèn)區(qū)域  
firewall-cmd --get-default-zone                  #查看默認(rèn)區(qū)域信息  
firewall-cmd --zone=public --add-interface=eth0  #將接口eth0加入?yún)^(qū)域public

#接口相關(guān)
firewall-cmd --zone=public --remove-interface=eth0       #從區(qū)域public中刪除接口eth0  
firewall-cmd --zone=default --change-interface=eth0      #修改接口eth0所屬區(qū)域為default  
firewall-cmd --get-zone-of-interface=eth0                #查看接口eth0所屬區(qū)域  

#端口控制
firewall-cmd --add-port=80/tcp --permanent               #永久添加80端口例外(全局)
firewall-cmd --remove-port=80/tcp --permanent            #永久刪除80端口例外(全局)
firewall-cmd --add-port=65001-65010/tcp --permanent      #永久增加65001-65010例外(全局)  

firewall-cmd  --zone=public --add-port=80/tcp --permanent            #永久添加80端口例外(區(qū)域public)
firewall-cmd  --zone=public --remove-port=80/tcp --permanent         #永久刪除80端口例外(區(qū)域public)
firewall-cmd  --zone=public --add-port=65001-65010/tcp --permanent   #永久增加65001-65010例外(區(qū)域public) 

注:如果某個接口不屬于任何Zone呛每,那么這個接口的所有數(shù)據(jù)包使用默認(rèn)的Zone的規(guī)則踩窖。

  • 命令含義:
    --zone #作用域
    --add-port=80/tcp #添加端口,格式為:端口/通訊協(xié)議
    --permanent #永久生效晨横,沒有此參數(shù)重啟后失效

  • Systemctl命令:

systemctl start firewalld.service               #啟動服務(wù)
systemctl stop firewalld.service                #關(guān)閉服務(wù)
systemctl reloadt firewalld.service             #重載配置
systemctl restart firewalld.service             #重啟服務(wù)
systemctl status firewalld.service              #顯示服務(wù)的狀態(tài)
systemctl enable firewalld.service              #在開機(jī)時啟用服務(wù)
systemctl disable firewalld.service             #在開機(jī)時禁用服務(wù)
systemctl is-enabled firewalld.service          #查看服務(wù)是否開機(jī)啟動
systemctl list-unit-files|grep enabled          #查看已啟動的服務(wù)列表
systemctl --failed                              #查看啟動失敗的服務(wù)列表
  • 關(guān)閉CentOS7自帶Firewall啟用iptables:
yum install iptables-services           #安裝iptables  
systemctl stop firewalld.service        #停止firewalld  
systemctl mask firewalld.service        #禁止自動和手動啟動firewalld  
systemctl start iptables.service        #啟動iptables
systemctl start ip6tables.service       #啟動ip6tables  
systemctl enable iptables.service       #設(shè)置iptables自啟動  
systemctl enable ip6tables.service      #設(shè)置ip6tables自啟動  
注:靜態(tài)防火墻規(guī)則配置文件是 /etc/sysconfig/iptables 以及 /etc/sysconfig/ip6tables    
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末洋腮,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子手形,更是在濱河造成了極大的恐慌啥供,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件库糠,死亡現(xiàn)場離奇詭異伙狐,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)瞬欧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門贷屎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人黍判,你說我怎么就攤上這事豫尽。” “怎么了顷帖?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長渤滞。 經(jīng)常有香客問我贬墩,道長,這世上最難降的妖魔是什么妄呕? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任陶舞,我火速辦了婚禮,結(jié)果婚禮上绪励,老公的妹妹穿的比我還像新娘肿孵。我一直安慰自己唠粥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布停做。 她就那樣靜靜地躺著晤愧,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蛉腌。 梳的紋絲不亂的頭發(fā)上官份,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機(jī)與錄音烙丛,去河邊找鬼舅巷。 笑死,一個胖子當(dāng)著我的面吹牛河咽,可吹牛的內(nèi)容都是我干的钠右。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼忘蟹,長吁一口氣:“原來是場噩夢啊……” “哼爬舰!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起寒瓦,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤情屹,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后杂腰,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體垃你,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年喂很,在試婚紗的時候發(fā)現(xiàn)自己被綠了惜颇。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡少辣,死狀恐怖凌摄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情漓帅,我是刑警寧澤锨亏,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站忙干,受9級特大地震影響器予,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜捐迫,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一乾翔、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧施戴,春花似錦反浓、人聲如沸萌丈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽辆雾。三九已至,卻和暖如春巧婶,著一層夾襖步出監(jiān)牢的瞬間乾颁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工艺栈, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留英岭,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓湿右,卻偏偏與公主長得像诅妹,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子毅人,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,933評論 2 355

推薦閱讀更多精彩內(nèi)容