最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

CentOS 7系統(tǒng)使用firewalld防火墻創(chuàng)建包過(guò)濾規(guī)則

2020-06-14 14:05 作者:流星-華星安科  | 我要投稿




一、操作目的和應(yīng)用場(chǎng)景

最近做了一些CentOS 7系統(tǒng)的安全加固,涉及到firewalld防火墻的配置。以前對(duì)iptables比較熟悉,用firewalld比較少,所以特意學(xué)習(xí)了firewalld的用法,并在這里分享。

firewalld和iptables都是防火墻的前端配置工具,真正工作的是linux內(nèi)核的netfilter。firewalld借鑒了其它防火墻系統(tǒng)/設(shè)備的理念,例如區(qū)域(zone)的概念以及配置信息管理的當(dāng)前配置和持久配置(runtime和permanent),這使得防火墻規(guī)則的管理工作更加方便。

二、平臺(tái)及工具版本

host系統(tǒng):linux mint 19.3

虛擬機(jī)管理程序:virtualbox 6

虛擬機(jī):CentOS 7

軟件:firewalld

計(jì)算機(jī)硬件:小米筆記本電腦

三、操作步驟

(一)設(shè)置zone(區(qū)域)

1、zone的作用是什么?

firewalld與iptables相比,一個(gè)重要的特性就是使用了zone的概念。不同的zone對(duì)應(yīng)不同類(lèi)型的網(wǎng)絡(luò),不同的網(wǎng)絡(luò)也對(duì)應(yīng)著不同的包過(guò)濾規(guī)則集。這與windows 7防火墻的“網(wǎng)絡(luò)位置”的功能類(lèi)似。

例如windows 7防火墻有4個(gè)網(wǎng)絡(luò)位置,分別是家庭網(wǎng)絡(luò)、工作網(wǎng)絡(luò)、公共網(wǎng)絡(luò)和域,每個(gè)網(wǎng)絡(luò)位置由于受到的威脅不同而具有不同的包過(guò)濾規(guī)則集。就以“遠(yuǎn)程協(xié)助”功能為例,不同網(wǎng)絡(luò)位置允許“遠(yuǎn)程協(xié)助”進(jìn)行入站連接的規(guī)則是不同的:

“域”網(wǎng)絡(luò)位置關(guān)于“遠(yuǎn)程協(xié)助”的入站規(guī)則:

“專(zhuān)用”網(wǎng)絡(luò)位置(工作網(wǎng)絡(luò))關(guān)于“遠(yuǎn)程協(xié)助”的入站規(guī)則:

“公用”網(wǎng)絡(luò)位置(工作網(wǎng)絡(luò))關(guān)于“遠(yuǎn)程協(xié)助”的入站規(guī)則:

而firewalld有公共、外部、非軍事區(qū)等9個(gè)zone,另外也可以創(chuàng)建自定義的zone。每個(gè)zone也都擁有自己的包過(guò)濾規(guī)則集,用戶(hù)也可以對(duì)zone中的已有規(guī)則進(jìn)行增刪改。firewalld根據(jù)網(wǎng)絡(luò)接口當(dāng)前關(guān)聯(lián)的zone中的規(guī)則進(jìn)行包過(guò)濾操作。防火墻規(guī)則的創(chuàng)建、修改和刪除,實(shí)際上就是針對(duì)網(wǎng)絡(luò)接口當(dāng)前關(guān)聯(lián)的zone中的服務(wù)、端口以及富規(guī)則等所進(jìn)行的增刪改操作。也可以通過(guò)將網(wǎng)絡(luò)接口關(guān)聯(lián)到新的zone來(lái)應(yīng)用新的包過(guò)濾規(guī)則。

2、不同zone的含義

firewalld有9個(gè)內(nèi)置的zone:

firewall-cmd –get-zones? //查看防火墻全部的zone

drop(丟棄)? //任何接收到的連接都被丟棄,沒(méi)有任何回復(fù)。只允許出站的網(wǎng)絡(luò)連接。

block(阻塞)? //任何接收的網(wǎng)絡(luò)連接都被阻塞,并給出IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息作為回應(yīng)。

public(公共)? //用于連接公共區(qū)域。不能相信來(lái)自這個(gè)區(qū)域的連接不會(huì)危害你的計(jì)算機(jī),只接受經(jīng)過(guò)選擇的連接。

external(外部)? //如果Linux服務(wù)器作為路由器使用,可以將連接外部的接口的zone設(shè)置為external。不信任來(lái)自external網(wǎng)絡(luò)的連接,只接受經(jīng)過(guò)選擇的連接。

dmz(非軍事區(qū))? //用于非軍事區(qū)的計(jì)算機(jī)。非軍事區(qū)可以被公開(kāi)訪問(wèn),可以有限地進(jìn)入內(nèi)部網(wǎng)絡(luò),只接受經(jīng)過(guò)選擇的連接。

work(工作)? //連接工作的區(qū)域,可以基本相信來(lái)自這個(gè)區(qū)域的連接不會(huì)危害你的計(jì)算機(jī)。只接受經(jīng)過(guò)選擇的連接。

home(家中)? //用于家中的網(wǎng)絡(luò),可以基本相信來(lái)自home區(qū)域的計(jì)算機(jī)不會(huì)危害你的電腦。只接受經(jīng)過(guò)選擇的連接。

internal(內(nèi)部)? //用于內(nèi)部網(wǎng)絡(luò),可以基本相信來(lái)自internal區(qū)域的計(jì)算機(jī)不會(huì)危害你的電腦。只接受經(jīng)過(guò)選擇的連接。

trusted(信任)? //連接被信任的區(qū)域,接受所有連接。

3、修改firewalld的默認(rèn)zone

//查看默認(rèn)的zone

firewall-cmd –get-default-zone

默認(rèn)的zone是public

//將默認(rèn)的zone設(shè)置為work

firewall-cmd –set-default-zone=work??

默認(rèn)的zone已改成work

4、查看網(wǎng)卡的zone

//查看enp0s3網(wǎng)卡對(duì)應(yīng)的zone

firewall-cmd –get-zone-of-interface=enp0s3

enp0s3網(wǎng)卡的zone是work。同時(shí)也能看到,只有部分網(wǎng)卡被分配了zone。

5、將網(wǎng)卡添加到zone

//將virbr0接口加入到internal zone

firewall-cmd –zone=internal –add-interface=virbr0

添加成功,現(xiàn)在virbr0接口的zone是internal。

6、修改網(wǎng)卡的zone

firewall-cmd –zone=block –change-interface=enp0s3

enp0s3網(wǎng)絡(luò)接口的zone已改為block

7、刪除網(wǎng)卡的zone

firewall-cmd –zone=block –remove-interface=enp0s3

刪除zone之后,這個(gè)網(wǎng)卡就沒(méi)有zone了。有人說(shuō)刪除網(wǎng)卡的zone之后會(huì)改為默認(rèn)的zone,在這里不是這樣的。

//重新將enp0s3的zone設(shè)置為work

firewall-cmd –zone=work –change-interface=enp0s3

8、查看所有網(wǎng)卡所在的zone

firewall-cmd –get-active-zones

(二)設(shè)置service(服務(wù))

1、查看所有的服務(wù)

firewall-cmd –get-service

可以看到forewall的中已定義的全部服務(wù)。

2、查看默認(rèn)zone的服務(wù)

firewall-cmd –list-service

默認(rèn)的work區(qū)域有兩個(gè)服務(wù):dhcpv6-client和ssh

3、查看指定zone的服務(wù)

firewall-cmd –zone=區(qū)域名稱(chēng) –list-service? //查看drop區(qū)域的服務(wù)

可以看到,不同的zone中的服務(wù)是不同的。

4、將服務(wù)添加到zone

firewall-cmd –zone=public –add-service=http? //臨時(shí)向public區(qū)域添加http服務(wù)

firewall-cmd –zone=public –add-service=ftp –permanent? //持久化(寫(xiě)入配置文件)

從輸出中可以看出,使用–permanent選項(xiàng)將服務(wù)添加到zone,實(shí)際上是將服務(wù)寫(xiě)入了zone的配置文件中。這樣在重新讀取zone的配置后才能生效,當(dāng)前是不生效的。

可以將firewalld的配置文件理解成思科設(shè)備的startup-config。修改startup-config,對(duì)于running-configs是沒(méi)有影響的。firewalld重讀配置文件相當(dāng)于copt running-config startup-config,當(dāng)前生效的配置會(huì)被配置文件中的信息所覆蓋從而不再生效。

5、從zone中刪除服務(wù)

//從public區(qū)域刪除ssh服務(wù)

firewall-cmd –zone=public –remove-service=ssh? //刪除內(nèi)存中的策略

public區(qū)域的ssh服務(wù)被刪除。

firewall-cmd –zone=public –remove-service=ssh –permanent? //刪除配置文件中的策略

public區(qū)域的ssh服務(wù)從配置文件中被刪除。

(三)firewalld應(yīng)用實(shí)例

1、通過(guò)向區(qū)域添加服務(wù)來(lái)創(chuàng)建防火墻規(guī)則

(1)要求

臨時(shí)允許任意源地址訪問(wèn)enp0s3網(wǎng)卡監(jiān)聽(tīng)的ftp、ssh、http服務(wù)

(2)實(shí)施方法

1)將指定的服務(wù)添加到enp0s3網(wǎng)卡對(duì)應(yīng)的zone中

firewall-cmd –get-zone-of-interface=enp0s3? //查看網(wǎng)卡對(duì)應(yīng)的zone

firewall-cmd –zone=work –list-service? //查看work區(qū)域中的服務(wù)

已經(jīng)包含了ssh服務(wù),那么只要將ftp和http服務(wù)添加到work區(qū)域即可。

firewall-cmd –zone=work –add-service=http

firewall-cmd –zone=work –add-service=ftp

服務(wù)添加成功。

(3)驗(yàn)證防火墻阻斷效果

//服務(wù)器端運(yùn)行netcat(兩個(gè)窗口中運(yùn)行),模擬ftp服務(wù)和http服務(wù)監(jiān)聽(tīng)21和80端口。

nc -l -p 21

nc -l -p 80

//客戶(hù)端訪問(wèn)

客戶(hù)端連接成功。

//服務(wù)端netcat監(jiān)聽(tīng)2121端口

nc -l -p 2121

//客戶(hù)端訪問(wèn)

由于不存在允許訪問(wèn)2121端口的策略,客戶(hù)端連接失敗。

2、通過(guò)向區(qū)域添加端口范圍來(lái)創(chuàng)建防火墻規(guī)則

(1)要求

永久允許訪問(wèn)enp0s3網(wǎng)卡監(jiān)聽(tīng)的8080到8089端口

(2)實(shí)施方法

//查看網(wǎng)卡對(duì)應(yīng)的zone

firewall-cmd –get-zone-of-interface=enp0s3

//由于是自定義端口,現(xiàn)有的服務(wù)無(wú)法與之對(duì)應(yīng)。可直接向zone中添加端口范圍

firewall-cmd –zone=work –add-port=8080-8089/tcp –permanent

自定義的端口范圍已經(jīng)寫(xiě)入了配置文件。

(3)驗(yàn)證防火墻阻斷效果

//服務(wù)端使用netcat監(jiān)聽(tīng)8080端口

//客戶(hù)端訪問(wèn)

無(wú)法訪問(wèn),顯然是被防火墻阻斷了。這是因?yàn)楱Cpermanent只是將規(guī)則寫(xiě)入了配置文件,內(nèi)存中還沒(méi)有修改。需要將配置文件的內(nèi)容重新讀入內(nèi)存才能生效。

//重新讀取firewall防火墻配置

firewall-cmd –reload

//客戶(hù)端連接

連接成功。說(shuō)明新的規(guī)則生效了。但還是需要注意,重新裝載配置后,前面臨時(shí)設(shè)置的那些規(guī)則就都失效了。


3、通過(guò)向區(qū)域添加富規(guī)則(rich-rules)來(lái)創(chuàng)建防火墻規(guī)則

(1)要求

只允許192.168.1.3訪問(wèn)本地的23端口,拒絕其它IP對(duì)訪問(wèn)23端口。

(2)實(shí)施方法

//允許192.168.1.3訪問(wèn)23端口

firewall-cmd –zone=work –add-rich-rule=’rule family=”ipv4″ source address=”192.168.1.3″ port port=”23″ protocol=”tcp” accept’

//拒絕任意IP訪問(wèn)23端口

firewall-cmd –zone=work –add-rich-rule=’rule family=”ipv4″ source address=”0.0.0.0″ port port=”23″ protocol=”tcp” reject’

//查看富規(guī)則

firewall-cmd –zone=work –list-rich-rules

(3)驗(yàn)證防火墻阻斷效果

//服務(wù)器監(jiān)聽(tīng)23端口

nc -l -p 23

//客戶(hù)端直接訪問(wèn)

nping -tcp -p 23 -c 1 192.168.1.7

-p? //指定目標(biāo)端口

-c? //指定發(fā)送數(shù)據(jù)包的數(shù)量

//客戶(hù)端修改源地址后訪問(wèn)

nping -tcp -p 23 -c 1 -S 192.168.1.100 192.168.1.7

-S? //將任意IP指定為源地址

//服務(wù)器端針對(duì)23端口抓包

可以看到,當(dāng)使用防火墻允許的源地址訪問(wèn)時(shí),服務(wù)器的23端口給出回應(yīng)。但是當(dāng)使用其它的IP作為源地址訪問(wèn)時(shí),服務(wù)器不給出回應(yīng)。這說(shuō)明防火墻規(guī)則生效了。

四、其它

(一)圖形界面

上面介紹了通過(guò)命令行配置firewalld的基本方法,也可以運(yùn)行圖形界面程序進(jìn)行配置:

firewall-config

理解了原理之后配置方法就比較簡(jiǎn)單了,這里不再詳述。

(二)默認(rèn)zone

針對(duì)默認(rèn)zone,在使用firewall-cmd命令進(jìn)行操作時(shí)可不指定zone的名稱(chēng)

firewall-cmd –add-service=https? //向默認(rèn)zone中添加服務(wù)

firewall-cmd –list-service? //查看默認(rèn)zone中的服務(wù)

由于網(wǎng)絡(luò)接口enp0s3關(guān)聯(lián)到了默認(rèn)的work區(qū)域,那么允許訪問(wèn)本地的https服務(wù)這條規(guī)則自然就生效了。




HSnetwork----你的私人網(wǎng)絡(luò)安全通報(bào)中心!

資料來(lái)源網(wǎng)絡(luò),HSnetwork整理;希望對(duì)你有所幫助!


CentOS 7系統(tǒng)使用firewalld防火墻創(chuàng)建包過(guò)濾規(guī)則的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
旬阳县| 大宁县| 阜新| 如皋市| 社会| 湄潭县| 卢湾区| 云和县| 石泉县| 罗源县| 图木舒克市| 乐安县| 镇巴县| 镇原县| 辉南县| 临澧县| 武鸣县| 南雄市| 榆树市| 平定县| 大邑县| 泰州市| 黑龙江省| 马龙县| 开原市| 长宁区| 芷江| 澄江县| 油尖旺区| 丽江市| 沁水县| 镇远县| 买车| 鹤山市| 青河县| 巴塘县| 海门市| 赤壁市| 静乐县| 喀什市| 杨浦区|