新聞中心
防火墻是一種位于內部網(wǎng)絡與外部網(wǎng)絡之間的網(wǎng)絡安全系統(tǒng)。一項信息安全的防護系統(tǒng),依照特定的規(guī)則,允許或是限制傳輸?shù)臄?shù)據(jù)通過。防火墻通常工作在網(wǎng)絡層,也即IPv4或IPv6的IP包上。

華陰ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書合作)期待與您的合作!
是否允許包通過防火墻,取決于防火墻配置的規(guī)則。這些規(guī)則既可以是內建的,也可以是用戶自定義的。每一個包要進出防火墻,均需要滿足防火墻配置的規(guī)則。
每一條規(guī)則均有一個目標動作,具有相同動作的規(guī)則可以分組在一起。對于linux系統(tǒng),最常用的防火墻有:FirewallD或iptables。Linux的發(fā)行版種類極多,但是公認的仍然是這兩種。
1、什么是FirewallD
FirewallD即Dynamic Firewall Manager of Linux systems,Linux系統(tǒng)的動態(tài)防火墻管理器。FirewallD是一個服務,用于配置網(wǎng)絡連接,從而哪些內外部網(wǎng)絡的數(shù)據(jù)包可以允許穿過網(wǎng)絡或阻止穿過網(wǎng)絡。
FirewallD允許兩種類型的配置:永久類型和運行時類型。運行時類型的配置在防火墻被重啟后會丟失相應的規(guī)則配置;而永久類型的配置即使遇到系統(tǒng)重啟,也會保留生效。
對應于上面兩種類型的配置,F(xiàn)irewallD相應的有兩個目錄:針對運行時類型配置的目錄/usr/lib/firewall;以及針對永久類型配置的目錄/etc/firewall.在RHEL/CentOS 7或Fedora 18的默認服務可以看到。
2、什么是iptables
iptables是另一種服務,它可以決定是否允許、刪除或返回IP數(shù)據(jù)包。iptables服務管理IPv4數(shù)據(jù)包,而ip6tables則管理IPv6數(shù)據(jù)包。此服務管理了一堆規(guī)則表,其中每個表分別用于維護不同的目的,比如過濾表(filter table)為防火墻規(guī)則,NAT表供新連接查詢使用,mangle表用于數(shù)據(jù)包的轉換等。
更進一步,每個表還具有規(guī)則鏈,規(guī)則鏈可以是內建的或是用戶自定義的,它表示適用于一個數(shù)據(jù)包的規(guī)則集合,從而決定數(shù)據(jù)包應該執(zhí)行哪些目標動作,比如允許ALLOWED、阻塞BLOCKED或返回RETURNED。iptables服務在RHEL/CentOS 6/5、Fedora、ArchLinux、Ubuntu等Linux發(fā)行版中是系統(tǒng)默認的服務。
3、FirewallD服務的基本操作
對于CentOS/RHEL 7或Fedora 18以上版本的系統(tǒng),要管理FirewallD服務,使用如下命令。
啟動FirewallD服務
# systemctl firewalld start
停止FirewallD服務
# systemctl firewalld stop
檢查FirewallD服務的狀態(tài)
# systemctl status firewalld
檢查FirewallD服務的狀態(tài)
# firewall-cmd --state
可能會返回running,表示正在運行。
還可以禁用FirewallD服務,關閉那些規(guī)則。
禁用FirewallD服務
# systemctl disable firewalld
啟用FirewallD服務
# systemctl enable firewalld
屏蔽FirewallD服務
# systemctl mask firewalld
還可以通過創(chuàng)建一個firewall.service到/dev/null的符號連接來屏蔽防火墻服務。
反屏蔽FirewallD服務
# systemctl unmask firewalld
這是反屏蔽FirewallD服務,它會移除屏蔽FirewallD服務時創(chuàng)建的符號鏈接,故能重新啟用服務。
檢查是否已安裝防火墻
# yum install firewalld firewall-config
4、iptables服務的基本操作
在RHEL/CentOS 6/5/4系統(tǒng)和Fedora 12-18系統(tǒng)中,iptables是默認的防火墻,如果服務不存在,可以這樣安裝:
# yum install iptables-services
然后就可以對iptables服務進行啟動、停止、重啟等操作了。
啟動iptables服務
# systemctl start iptables
或
# service iptables start
停止iptables服務
# systemctl stop iptables
或
# service iptables stop
禁用iptables服務
# systemctl disable iptables
或
# service iptables save
# service iptables stop
啟用iptables服務
# systemctl enable iptables
或
# service iptables start
檢查iptables服務的狀態(tài)
# systemctl status iptables
或
# service iptables status
在Ubuntu及其它Linux發(fā)行版中,ufw是用于管理iptables防火墻服務的工具。ufw提供了一個簡易的界面讓用戶可以很方便的處理iptables防火墻服務。
啟用ufw iptables防火墻服務
$ sudo ufw enable
禁用ufw iptables防火墻服務
$ sudo ufw disable
檢查ufw iptables防火墻服務的狀態(tài)
$ sudo ufw status
但是,如果想列出iptables包含的所有規(guī)則鏈列表,應使用如下命令:
$ iptables -L -n -v
5、理解網(wǎng)絡區(qū)
在CentOS/RHEL 7系統(tǒng)中,基于用戶對網(wǎng)絡中設備和通信所給與的信任程度,防火墻可用于將網(wǎng)絡劃分成不同的區(qū)域,區(qū)域類型如下:
- drop(丟棄)
任何接收的網(wǎng)絡數(shù)據(jù)包都被丟棄,沒有任何回復。僅能有發(fā)送出去的網(wǎng)絡連接。 - block(限制)
任何接收的網(wǎng)絡連接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒絕。 - public(公共)
在公共區(qū)域內使用,不能相信網(wǎng)絡內的其他計算機不會對您的計算機造成危害,只能接收經(jīng)過選取的連接。 - external(外部)
特別是為路由器啟用了偽裝功能的外部網(wǎng)。您不能信任來自網(wǎng)絡的其他計算機,不能相信它們不會對您的計算機造成危害,只能接收經(jīng)過選擇的連接。 - dmz(非軍事區(qū))
用于您的非軍事區(qū)內的電腦,此區(qū)域內可公開訪問,可以有限地進入您的內部網(wǎng)絡,僅僅接收經(jīng)過選擇的連接。 - work(工作)
用于工作區(qū)。您可以基本相信網(wǎng)絡內的其他電腦不會危害您的電腦。僅僅接收經(jīng)過選擇的連接。 - home(家庭)
用于家庭網(wǎng)絡。您可以基本信任網(wǎng)絡內的其他計算機不會危害您的計算機。僅僅接收經(jīng)過選擇的連接。 - internal(內部)
用于內部網(wǎng)絡。您可以基本上信任網(wǎng)絡內的其他計算機不會威脅您的計算機。僅僅接受經(jīng)過選擇的連接。 - trusted(信任)
可接受所有的網(wǎng)絡連接。
對于區(qū)域的修改,可使用網(wǎng)絡管理器NetworkManager搞定。
5、理解直接接口
FirewallD包含了一個名為直接接口(direct interface)的概念,意思是可以直接通過iptables、ip6tables和ebtables的規(guī)則。直接接口適用于應用程序,不適用于用戶。如果不熟悉iptables,那么使用直接接口是很危險的,因為可能會導致防火墻被入侵。
FirewallD保持對所增加規(guī)則項的追蹤,所以能質詢FirewallD,發(fā)現(xiàn)由使用直接端口模式的程序造成的更改。要使用直接端口,增加–direct選項到firewall-cmd命令來使用。
6、改用iptables服務
在CentOS/RHEL 7系統(tǒng)中,要用iptables和ip6tables服務代替FirewallD服務,需要以root身份運行以下命令,先禁用FirewallD:
# systemctl disable firewalld
# systemctl stop firewalld
然后安裝iptables-services程序包,以root身份輸入以下命令:
# yum install iptables-services
iptables-services程序包包含了iptables和ip6tables服務。然后,以root身份運行iptables和ip6tables命令:
# systemctl start iptables
# systemctl start ip6tables
# systemctl enable iptables
# systemctl enable ip6tables
7、啟動圖形化防火墻設置工具
用命令行啟動圖形化防火墻配置工具,則以root用戶身份輸入以下命令:
# firewall-config
網(wǎng)站題目:CentOS7防火墻服務FirewallD指南
分享地址:http://m.jiaoqi3.com/article/dppdcjp.html


咨詢
建站咨詢
