溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux網(wǎng)絡服務之Linux防火墻

發(fā)布時間:2020-07-27 03:18:54 來源:網(wǎng)絡 閱讀:268 作者:wx5d8a17c45cb5b 欄目:系統(tǒng)運維

Linux網(wǎng)絡服務之Linux防火墻

本文核心:

  1. 熟悉Linux防火墻的表、鏈結(jié)構(gòu);
  2. 理解數(shù)據(jù)包匹配的基本流程;
  3. 掌握iptables概念和編寫其規(guī)則;

一、前言

? 在之前的各種服務配置過程中,我們在啟動服務之前,對于防火墻的設置一般都是直接在命令行輸入“systemctl stop firewalld”以及“setenforce 0” 兩條命令來關(guān)閉防火墻SELinux的功能。這樣簡單粗暴的操作對防護墻的認知顯然是粗淺而不夠完善的,那么本文就針對linux防火墻作具體的講解以及相關(guān)的配置。

二、相關(guān)概念概述

2.1 何為防火墻?

? 防火墻,(英文:firewall),是通過有機結(jié)合各類用于安全管理與篩選的軟件和硬件設備,幫助計算機網(wǎng)絡于其內(nèi)、外網(wǎng)之間構(gòu)建一道相對隔絕的保護屏障,以保護用戶資料與信息安全性的一種技術(shù)。

? 簡單舉例來說,防火墻就好比家家戶戶的家門外面的防盜門,主要是起一定的保護作用。雖然這樣理解防火墻的概念有失偏頗,不過個人認為比較方便理解一點。不過話說回來,在生產(chǎn)環(huán)境中,真正意義上的防火墻是硬件防火墻。那我們先來談談防火墻的分類。

? 從物理層面上說,一般分為硬件防火墻和軟件防火墻,其區(qū)別顧名思義,實際上的差別也很明顯:

  • 硬件防火墻:在硬件級別實現(xiàn)部分防火墻功能,另一部分功能基于軟件實現(xiàn),性能高,成本高。一般在數(shù)據(jù)中心大型企業(yè)公司中常用
  • 軟件防火墻:應用軟件處理邏輯運行與通用硬件平臺之上的防火墻,性能低,成本低。一般的筆記本電腦臺式機都有防火墻,想必稍微了解使用過計算機的都知道,在下就不再贅述了。

2.2為什么需要防火墻?

? 存在的就是合理的,既然存在防火墻,有防火墻的相關(guān)技術(shù),那么就一定有其存在的意義與價值。因此,我們需要了解其實際的功能,才能明白其真正的價值。

? 防火墻的主要功能如下:

  • 病毒侵入檢測

  • 網(wǎng)絡地址轉(zhuǎn)換

  • 網(wǎng)絡操作的審計監(jiān)控

  • 強化網(wǎng)絡安全服務

    ? 上述專業(yè)術(shù)語對于初學者而言可能實在是晦澀難懂,其實簡單來說,就是防止病毒、避免網(wǎng)絡被侵入、監(jiān)控網(wǎng)絡數(shù)據(jù)與信息、增強網(wǎng)絡安全。其重要性就在于其提供了記錄計算機網(wǎng)絡之中的數(shù)據(jù)信息、防止工作人員訪問存在安全隱患的網(wǎng)站與控制不安全服務的功能,從而避免自身網(wǎng)絡出現(xiàn)故障的問題。

    ? 那么對于防火墻也有其自身的發(fā)展,畢竟技術(shù)在不斷進步。防火墻就是一種在內(nèi)部與外部網(wǎng)絡的中間過程中發(fā)揮作用的防御系統(tǒng),具有安全防護的價值與作用,通過防火墻可以實現(xiàn)內(nèi)部與外部資源的有效流通,及時處理各種安全隱患問題,進而提升了信息數(shù)據(jù)資料的安全性。因此,因為技術(shù)的發(fā)展,防火墻也有其自身的類型。

2.3防火墻的主要類型

(1)過濾型防火墻

? 過濾型防火墻是在網(wǎng)絡層與傳輸層中,可以基于數(shù)據(jù)源頭的地址以及協(xié)議類型等標志特征進行分析,確定是否可以通過。在符合防火墻規(guī)定標準之下,滿足安全性能以及類型才可以進行信息的傳遞,而一些不安全的因素則會被防火墻過濾、阻擋。

(2)應用代理類型防火墻

應用代理防火墻主要的工作范圍就是在OSI的最高層,位于應用層之上。其主要的特征是可以完全隔離網(wǎng)絡通信流,通過特定的代理程序就可以實現(xiàn)對應用層的監(jiān)督與控制。這兩種防火墻是應用較為普遍的防火墻,其他一些防火墻應用效果也較為顯著,在實際應用中要綜合具體的需求以及狀況合理的選擇防火墻的類型,這樣才可以有效地避免防火墻的外部侵擾等問題的出現(xiàn)。

(3)復合型

目前應用較為廣泛的防火墻技術(shù)當屬復合型防火墻技術(shù),綜合了包過濾防火墻技術(shù)以及應用代理防火墻技術(shù)的優(yōu)點,譬如發(fā)過來的安全策略是包過濾策略,那么可以針對報文的報頭部分進行訪問控制;如果安全策略是代理策略,就可以針對報文的內(nèi)容數(shù)據(jù)進行訪問控制,因此復合型防火墻技術(shù)綜合了其組成部分的優(yōu)點,同時摒棄了兩種防火墻的原有缺點,大大提高了防火墻技術(shù)在應用實踐中的靈活性和安全性。

? 以上是對防火墻的概念概述,下面主要將針對其中的軟件防火墻進行具體介紹,即Linux防火墻。Linux系統(tǒng)的防火墻主要工作在網(wǎng)絡層,針對TCP/IP數(shù)據(jù)包實施過濾和限制,屬于典型的包過濾防火墻(或稱為網(wǎng)絡層防火墻)。Linux系統(tǒng)的防火墻體系基于內(nèi)核編碼實現(xiàn),具有非常穩(wěn)定的性能和極高的效率,也因此獲得廣泛的應用。

三、Linux防火墻之iptables及netfilter

3.1iptables與netfilter的聯(lián)系

? iptables其實不是真正的防火墻,我們可以把它理解成一個客戶端代理, 用戶通過iptables這個代理,將用戶的安全設定執(zhí)行到對應的“安全框架"中,這個"安全框架"才是真正的防火墻,這個框架的名字叫netfilter。
? netfilter才是防火墻真正的安全框架(framework) ,netfilter位于內(nèi)核空間。
? iptables其實是一個命令行工具, 位于用戶空間,我們用這個工具操作真正的框架。
? netfilter/iptables (之后簡稱為iptables) 組成Linux平臺下的包過濾防火墻,與大多數(shù)的Linux軟件一 樣, 這個包過濾防火墻是免費的,它可以代替昂貴的商業(yè)防火墻解決方案,完成封包過濾、封包重定向和網(wǎng)絡地址轉(zhuǎn)換(NAT) 等功能。
? Netfilter是Linux操作系統(tǒng)核心層內(nèi)部的一個數(shù)據(jù)包處理模塊,它具有如下功能:
? 網(wǎng)絡地址轉(zhuǎn)換(Network Address Translate)、數(shù)據(jù)包內(nèi)容修改以及數(shù)據(jù)包過濾的防火墻功能

? 所以說,雖然我們使用service iptables start啟動iptables"服務" ,但是其實準確的來說,iptables并沒有一 個守護進程, 所以并不能算是真正意義上的服務,而應該算是內(nèi)核提供的功能。

3.2iptables的表、鏈結(jié)構(gòu)(四表五鏈很關(guān)鍵)

首先來解釋一下什么是iptables的表,什么是iptables的鏈。

3.2.1表的概念

iptables管理者四個不同的表,其功能分別由獨立的內(nèi)核模塊實現(xiàn)。

filter表:負責過濾功能,防火墻;內(nèi)核魔抗:iptable_filter

nat表:network address translation, 網(wǎng)絡地址轉(zhuǎn)換;內(nèi)核模塊:iptable_nat

mangle表:拆解報文,做出修改,并且重新封裝的功能;iptable_mangle

raw表:關(guān)閉nat表上啟用的連接追蹤機制;iptable_raw

3.2.2鏈的概念

? 防火墻的作用在于對經(jīng)過的數(shù)據(jù)包報文匹配規(guī)則(之后會講述規(guī)則的相關(guān)概念),然后執(zhí)行對應的動作,當數(shù)據(jù)包報文經(jīng)過防火墻的各個關(guān)卡時,將匹配與之對應的規(guī)則,而其中的各個關(guān)卡上可能并非只有一條規(guī)則,那么這些規(guī)則串聯(lián)起來就形成了鏈,當數(shù)據(jù)包經(jīng)過時,就要將鏈上(就是上面的“關(guān)卡”)的所有的規(guī)則都匹配一次,符合則執(zhí)行對應操作。

? 其實,簡單舉個例子,這個鏈就好比古時候各個城池之間的關(guān)隘一般,每個關(guān)卡都會去對應匹配驗證來往人的身份或者是通關(guān)文牒(就好比是上述的規(guī)則),檢查其是否允許通過的過程。

? 當然,鏈的具體結(jié)構(gòu)如下所示:

? Linux網(wǎng)絡服務之Linux防火墻

下面對這五條鏈作簡要概念解釋:

  1. PREROUTING鏈:進來的數(shù)據(jù)包應用此規(guī)則鏈中的策略
  2. INPUT鏈:外出的數(shù)據(jù)包應用此規(guī)則鏈中的策略
  3. FORWARD鏈:轉(zhuǎn)發(fā)數(shù)據(jù)包時應用此規(guī)則鏈中的策略
  4. OUTPUT鏈:對數(shù)據(jù)包作路由選擇前應用此鏈中的規(guī)則(所有的數(shù)據(jù)包進來的時候都先由這個鏈處理)
  5. POSTROUTING鏈:對數(shù)據(jù)包作路由選擇后應用此鏈中的規(guī)則(所有的數(shù)據(jù)包出來的時侯都先由這個鏈處理)

其中,INPUT、OUTPUT鏈主要作用在主機型防火墻中,即主要針對服務器本機進行保護的防火墻,而其余的多用在“網(wǎng)網(wǎng)絡型防火墻”中,如使用Linux防火墻作為網(wǎng)關(guān)服務器,在公司內(nèi)網(wǎng)與Internet之間進行安全。

3.2.3iptables的表和鏈的關(guān)系

? 四表五鏈的關(guān)系如下圖所示:

Linux網(wǎng)絡服務之Linux防火墻

根據(jù)上圖,則可以理解為表中包含與之相對應的鏈,鏈中則應該對應著各種匹配規(guī)則。其實我們在實際的使用過程中,往往是通過“表”作為操作入口,對規(guī)則進行定義。

表——功能

鏈——鉤子

raw表中的規(guī)則可以被這些鏈使用: PREROUTING, OUTPUT
mangle表中的規(guī)則可以被這些鏈使用: PREROUTING, INPUT, FORWARD, OUTPUT, POSTROUTING
nat表中的規(guī)則可以被這些鏈使用: PREROUTING, OUTPUT, POSTROUTING (centos7中還有INPUT, centos6中沒有)
filter表中的規(guī)則可以被這些鏈使用: INPUT, FORWARD,OUTPUT

四、數(shù)據(jù)包過濾的匹配流程

我們從規(guī)則鏈之間的順序角度來理解數(shù)據(jù)包過濾的匹配流程:

Linux網(wǎng)絡服務之Linux防火墻

五、iptables的語法格式

iptables [-t 表名] 選項 [鏈名] [條件] [-j 控制類型]

常見參數(shù)

-P 設置默認策略:iptables

-P INPUT (DROP|ACCEPT)

-F 清空規(guī)則鏈

-L 查看規(guī)則鏈

-A 在規(guī)則鏈的末尾加入新規(guī)則

-I num 在規(guī)則鏈的頭部加入新規(guī)則

-D num 刪除某一條規(guī)則

-s 匹配來源地址IP/MASK,加嘆號"!"表示除這個IP外。

-d 匹配目標地址

-i 網(wǎng)卡名稱 匹配從這塊網(wǎng)卡流入的數(shù)據(jù)

-o 網(wǎng)卡名稱 匹配從這塊網(wǎng)卡流出的數(shù)據(jù)

-p 匹配協(xié)議,如tcp,udp,icmp

--dport num 匹配目標端口號

--sport num 匹配來源端口號

六、小結(jié)

? 本文主要介紹的是防火墻的相關(guān)知識,以及著重介紹Linux系統(tǒng)的防火墻理論知識,介紹什么是iptables及其與netfilter之間的關(guān)系。

? 其次闡述iptables的四表五鏈以及二者之間的關(guān)系,最后給出iptables的語法格式。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI