自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux網(wǎng)絡(luò)防火墻的實(shí)現(xiàn)并不難!

安全 網(wǎng)站安全
我們今天主要描述正確實(shí)現(xiàn)Linux網(wǎng)絡(luò)防火墻,愿在你學(xué)習(xí)正確實(shí)現(xiàn)Linux網(wǎng)絡(luò)防火墻中以起到拋磚引玉的作用。以下就是正文的主要內(nèi)容講述。

以下的文章描述的是正確實(shí)現(xiàn)Linux網(wǎng)絡(luò)防火墻,如果你對(duì)實(shí)現(xiàn)Linux網(wǎng)絡(luò)防火墻的技術(shù),心存好奇的話,以下的文章將會(huì)給你更為詳細(xì)的介紹。大家都知道防火墻作為一種網(wǎng)絡(luò)或是系統(tǒng)之間強(qiáng)制實(shí)行訪問(wèn)控制的一種機(jī)制,是確保網(wǎng)絡(luò)安全的重要手段。

針對(duì)不同的需求和應(yīng)用環(huán)境,可以量身定制出不同的防火墻系統(tǒng)。

實(shí)現(xiàn)Linux網(wǎng)絡(luò)防火墻

 

防火墻作為一種網(wǎng)絡(luò)或系統(tǒng)之間強(qiáng)制實(shí)行訪問(wèn)控制的機(jī)制,是確保網(wǎng)絡(luò)安全的重要手段。針對(duì)不同的需求和應(yīng)用環(huán)境,可以量身定制出不同的防火墻系統(tǒng)。

 

防火墻大到可由若干路由器和堡壘主機(jī)構(gòu)成,也可小到僅僅是網(wǎng)絡(luò)操作系統(tǒng)上一個(gè)防火墻軟件包所提供的包過(guò)濾功能。

在眾多網(wǎng)絡(luò)防火墻產(chǎn)品中,Linux操作系統(tǒng)上的防火墻軟件特點(diǎn)顯著。首先是Linux操作系統(tǒng)作為一個(gè)類Unix網(wǎng)絡(luò)操作系統(tǒng),在系統(tǒng)的穩(wěn)定性、健壯性及價(jià)格的低廉性方面都獨(dú)具優(yōu)勢(shì)。更為重要的是,Linux不但本身的源代碼完全開(kāi)放,而且系統(tǒng)包含了建立Internet網(wǎng)絡(luò)環(huán)境所需要的所有服務(wù)軟件包,如ApacheWeb服務(wù)器、DNS服務(wù)器、Mail服務(wù)器、Database服務(wù)器等。同樣,基于Linux的防火墻軟件不但具有強(qiáng)大的功能,而且大部分都是開(kāi)放軟件。

隨著Internet的飛速發(fā)展,安全問(wèn)題越來(lái)越重要。利用Linux構(gòu)建企業(yè)網(wǎng)深受中小企業(yè)的青睞,而利用Linux構(gòu)建企業(yè)網(wǎng)的防火墻系統(tǒng)也成為眾多中小企業(yè)的理想選擇。

Linux內(nèi)核從1.1版本開(kāi)始,就已經(jīng)具備包過(guò)濾功能。在2.0內(nèi)核中,開(kāi)始采用Ipfwadm來(lái)操作內(nèi)核的包過(guò)濾規(guī)則。到2.2版本時(shí),Linux內(nèi)核采用了Ipchains來(lái)控制內(nèi)核的包過(guò)濾規(guī)則。發(fā)展到2.4.x時(shí),Ipchains被一個(gè)全新的包過(guò)濾管理工具Iptables所替代。新發(fā)布的 2.6版內(nèi)核也在安全方面進(jìn)行了改進(jìn)。因此,無(wú)論擁有哪個(gè)版本的Linux內(nèi)核,無(wú)論選擇哪個(gè)版本的Linux來(lái)構(gòu)建自己的企業(yè)網(wǎng),都可以利用現(xiàn)有的系統(tǒng)構(gòu)建出一個(gè)理想實(shí)用的防火墻。

防火墻系統(tǒng)可分為包過(guò)濾型、應(yīng)用級(jí)網(wǎng)關(guān)(也叫代理服務(wù)器型防火墻)和電路級(jí)網(wǎng)關(guān)三種基本類型。Linux提供的防火墻軟件包內(nèi)置于Linux內(nèi)核中,是一種基于包過(guò)濾型的防火墻實(shí)現(xiàn)技術(shù)。其中心思想是根據(jù)網(wǎng)絡(luò)層IP包頭中的源地址、目的地址及包類型等信息來(lái)控制包的流向。更徹底的過(guò)濾則是檢查包中的源端口、目的端口以及連接狀態(tài)等信息。

本文主要介紹Linux提供的IPFW、Ipchains、Iptables這三種非常實(shí)用的防火墻和具體實(shí)現(xiàn)。

IPFW防火墻

IPFW是比較老的Linux內(nèi)核版本提供的防火墻軟件包。該軟件包的全稱是Ipfwadm。Ipfwadm程序包提供了建立規(guī)則的能力,根據(jù)這些規(guī)則來(lái)確定允許什么樣的包進(jìn)出本網(wǎng)絡(luò)。簡(jiǎn)單說(shuō)來(lái),防火墻就是一對(duì)開(kāi)關(guān),一個(gè)開(kāi)關(guān)允許包通過(guò),另一個(gè)開(kāi)關(guān)禁止包通過(guò)?,F(xiàn)代防火墻系統(tǒng)一般都會(huì)附加審計(jì)跟蹤、加密認(rèn)證、地址偽裝和VPN等多種功能。作為一個(gè)安全開(kāi)關(guān),防火墻可定義的安全策略有兩個(gè):

(1)一切未被允許的都被禁止;

(2)一切未被禁止的都被允許。

顯然,策略1的安全性明顯高于策略2,但它是以犧牲靈活性和可訪問(wèn)資源為代價(jià)來(lái)提高安全性的。Ipfwadm系統(tǒng)同樣提供IP封裝,它允許用戶使用Internet上的一個(gè)公共IP地址空間。

下面以Red Hat系統(tǒng)為例,說(shuō)明Linux系統(tǒng)上IPFW防火墻的實(shí)現(xiàn)。

在Red Hat系統(tǒng)上(在其它系統(tǒng)上一樣)安裝Ipfwadm防火墻,需要以root用戶登錄,然后執(zhí)行如下命令:

#rpm -ivh /mnt/cdrom/RedHat/RPMS/ Ipfwadm-2.3.0-5.i386.rpm

在安裝好Ipfwadm后,就可以交互方式指定Ipfwadm的包過(guò)濾規(guī)則。過(guò)濾規(guī)則對(duì)每一個(gè)進(jìn)入系統(tǒng)的IP包進(jìn)行檢查,從而決定哪些包允許通過(guò)防火墻,哪些包則禁止通過(guò)。Ipfwadm命令的一般格式為:

/sbin/ ipfwadm category commands parameters [options]

Ipchains(IP鏈)和IP偽裝

在更新版本的Linux內(nèi)核中,Ipchains替代Ipfwadm,提供了更為嚴(yán)格的包過(guò)濾控制機(jī)制。Ipchains提供完整的防火墻功能,包括包過(guò)濾、地址偽裝、透明代理。

Linux 2.2內(nèi)核中提供的Ipchains,通過(guò)四類防火墻規(guī)則列表來(lái)提供防火墻規(guī)則控制,這些列表稱為防火墻鏈。它們分別是IP input鏈(IP輸入鏈)、IP output鏈(IP輸出鏈)、IP forward鏈(IP轉(zhuǎn)發(fā)鏈)和user defined鏈(用戶定義鏈)。一個(gè)鏈實(shí)際上就是一個(gè)規(guī)則表。所謂規(guī)則,即當(dāng)被檢測(cè)的包頭符合規(guī)則的定義時(shí),就按預(yù)先的設(shè)定對(duì)該包進(jìn)行某種處理。輸入鏈?zhǔn)侵笇?duì)內(nèi)連接請(qǐng)求的過(guò)濾規(guī)則;輸出鏈?zhǔn)菍?duì)外連接請(qǐng)求的過(guò)濾規(guī)則;轉(zhuǎn)發(fā)鏈?zhǔn)菍?duì)內(nèi)部與外部通信包轉(zhuǎn)發(fā)的過(guò)濾規(guī)則;用戶定義鏈?zhǔn)怯脩糇约憾x的規(guī)則。

當(dāng)一個(gè)數(shù)據(jù)包進(jìn)入Linux防火墻系統(tǒng)時(shí),Linux內(nèi)核使用輸入鏈決定對(duì)這個(gè)包的操作;如果這個(gè)包不被丟棄,內(nèi)核則使用轉(zhuǎn)發(fā)鏈來(lái)決定是否將這個(gè)包轉(zhuǎn)發(fā)到某個(gè)出口;當(dāng)這個(gè)包到達(dá)一個(gè)出口被發(fā)出前,內(nèi)核使用輸出鏈最后確定是丟棄該包還是轉(zhuǎn)發(fā)該包。在上面的過(guò)程中,如果輸入鏈已經(jīng)決定處理這個(gè)包,則核心需要決定下一步包應(yīng)該發(fā)到什么地方,即進(jìn)行路由。假如此時(shí)該數(shù)據(jù)包是發(fā)到另一臺(tái)主機(jī)的,則核心就運(yùn)用轉(zhuǎn)發(fā)鏈;如果沒(méi)找到匹配的設(shè)置,則這個(gè)包就需要進(jìn)入目標(biāo)值指定的下一條鏈,此時(shí)目標(biāo)值有可能是一條用戶自定義鏈,也有可能是一個(gè)特定的值。例如:

ACCEPT 允許通過(guò)。

DENY 直接丟棄。

REJECT 丟棄并通過(guò)ICMP回復(fù)通知發(fā)送者包被丟棄。

MASQ 通知核心將該包偽裝,該值只對(duì)轉(zhuǎn)發(fā)鏈和用戶自定義鏈起作用。

REDIRECT 通知核心將包改送到一個(gè)本地端口,該值只對(duì)輸入鏈和用戶自定義鏈起作用,并且只有UDP和TCP協(xié)議才可以使用該值。 RETURE 通知內(nèi)核將該包跳過(guò)所有的規(guī)則,直接到達(dá)所有鏈的鏈尾。

在Linux系統(tǒng)IP鏈的轉(zhuǎn)發(fā)鏈上可以配置IP偽裝。實(shí)際上,IP偽裝是一個(gè)比包過(guò)濾策略更安全的解決方案,它不僅能夠提供一種安全機(jī)制,還同時(shí)解決了 Internet中IP地址資源不足的問(wèn)題。IP偽裝使一臺(tái)計(jì)算機(jī)在訪問(wèn)Internet時(shí),能夠?qū)⒈九_(tái)機(jī)器的真正IP地址偽裝成其它地址。如果連接到 Internet上的一臺(tái)主機(jī)具有IP偽裝功能,則這臺(tái)機(jī)器不管是通過(guò)局域網(wǎng),還是PPP撥號(hào)都可以與Internet連接。盡管在使用PPP時(shí),這樣的主機(jī)根本沒(méi)有自己正式的IP地址。

這說(shuō)明可以將一臺(tái)主機(jī)隱藏在一個(gè)網(wǎng)關(guān)后面來(lái)訪問(wèn)Internet,使得這臺(tái)主機(jī)既實(shí)現(xiàn)了對(duì)Internet的訪問(wèn),又實(shí)現(xiàn)了其訪問(wèn)對(duì)外界的不可見(jiàn)性(即隱藏性)。顯然,這種隱藏性使得系統(tǒng)非常安全,因?yàn)橥饨绺疽庾R(shí)不到主機(jī)的存在,也就不可能對(duì)主機(jī)實(shí)施存取操作,更不能入侵和破解。通常情況下,使用IANA保留的私有地址來(lái)進(jìn)行偽裝。

在防火墻轉(zhuǎn)發(fā)鏈配置IP偽裝后,內(nèi)部網(wǎng)絡(luò)上的主機(jī)向Internet發(fā)送訪問(wèn)IP包時(shí),內(nèi)核將源IP地址換成網(wǎng)關(guān)的IP地址,并記錄被偽裝的IP地址后再轉(zhuǎn)發(fā)該IP包。當(dāng)這個(gè)包的Internet應(yīng)答包從Internet進(jìn)入網(wǎng)關(guān)時(shí),內(nèi)核執(zhí)行去除IP偽裝的操作,即將目的地址替換成內(nèi)部地址。

通過(guò)適當(dāng)?shù)脑O(shè)置,IP偽裝可以在某個(gè)網(wǎng)段、某臺(tái)主機(jī)、某個(gè)接口、某個(gè)協(xié)議甚至是某個(gè)協(xié)議的某些端口上實(shí)現(xiàn),非常靈活。IP偽裝可以將內(nèi)部網(wǎng)絡(luò)的細(xì)節(jié)對(duì)外部網(wǎng)絡(luò)屏蔽掉,因此,IP偽裝提供了很好的安全性。

一般來(lái)說(shuō),安裝相應(yīng)版本的Linux系統(tǒng)時(shí),系統(tǒng)會(huì)自動(dòng)將Ipchains安裝上。如果系統(tǒng)沒(méi)有安裝IP鏈軟件包,可以通過(guò)光盤(pán)或從網(wǎng)上下載軟件包來(lái)安裝。

如果是rpm包,使用如下命令安裝:

#rpm -ivh *.rpm

如果是.tar.gz包,則先需要將壓縮包解壓:

#tar xvfz *.tar.gz

然后再到解壓后所在目錄執(zhí)行如下命令完成安裝:

#./configure

#make

#make install

這樣就將IP鏈Linux網(wǎng)絡(luò)防火墻成功安裝在系統(tǒng)中。成功安裝Ipchains后,接下來(lái)就是啟動(dòng)并配置包過(guò)濾規(guī)則。啟用Ipchains需要完成如下操作:

手工修改/proc/sys/net/ipv4/ipforward文件,將其內(nèi)容置為1。

在/etc/rc.d/目錄下用touch命令建立rc.ipfwadm文件。

在/etc/rc.d目錄下的rc.local文件中加上下面這段代碼:

if [-f /etc/rc.ipfwadm];then /etc/rc.d/rc.ipfwadm;fi;

這使得以后所有Ipchains的配置命令都將在rc.ipfwadm文件里修改。

和IPFW一樣,Ipchains也是基于配置策略進(jìn)行包過(guò)濾的。使用的策略方式也是兩種:

(1)首先允許所有的包都可通過(guò),然后禁止有危險(xiǎn)的包;

(2)首先禁止所有的包,然后再根據(jù)所需要的服務(wù)允許特定的包通過(guò)。#p#

Iptables

Iptables是一個(gè)管理內(nèi)核包過(guò)濾的工具,可以加入、插入或刪除核心包過(guò)濾表格中的規(guī)則。實(shí)際上真正來(lái)執(zhí)行這些過(guò)濾規(guī)則的是Netfilter 。Netfilter是Linux核心中一個(gè)通用架構(gòu),它提供一系列的表(tables),每個(gè)表由若干鏈(chains)組成,而每條鏈中可以由一條或數(shù)條規(guī)則(rule)組成。

 

實(shí)現(xiàn)Linux網(wǎng)絡(luò)防火墻

圖 Netfilter的總體結(jié)構(gòu)

相對(duì)于2.2內(nèi)核提供的IP鏈來(lái)說(shuō),2.4內(nèi)核提供了更好的靈活性和可擴(kuò)展性。2.4內(nèi)核中的防火墻并不是2.2內(nèi)核的簡(jiǎn)單增強(qiáng),而是一次完全的重新實(shí)現(xiàn),2.4內(nèi)核提供的防火墻軟件包在結(jié)構(gòu)上發(fā)生了非常大的變化。與IP鏈相比,2.4內(nèi)核提供的Iptables的檢測(cè)點(diǎn)變成了5個(gè),并在每個(gè)檢測(cè)點(diǎn)上登記需要處理的函數(shù),登記通過(guò)nf-register-hook()函數(shù)保存在全局變量nf-hook中來(lái)實(shí)現(xiàn)。

當(dāng)包到達(dá)此檢測(cè)點(diǎn)時(shí),實(shí)現(xiàn)登記的函數(shù)按照事先定義好的優(yōu)先級(jí)別來(lái)執(zhí)行。相對(duì)于2.2內(nèi)核提供的IP鏈來(lái)說(shuō),Iptables實(shí)現(xiàn)的不僅僅是包過(guò)濾功能,而是通過(guò)Netfilter實(shí)現(xiàn)一整套框架結(jié)構(gòu),在這個(gè)框架之上實(shí)現(xiàn)包過(guò)濾、NAT等模塊功能,從而提供更好的可擴(kuò)展性和靈活性。

系統(tǒng)缺省的表為filter,該表包含了INPUT鏈(輸入鏈)、FORWARD鏈(轉(zhuǎn)發(fā)鏈)和OUTPUT鏈(輸出鏈)。每一條鏈中可以定義一條或數(shù)條規(guī)則,每一條規(guī)則都以如下格式定義:條件/處理方式。

當(dāng)一個(gè)數(shù)據(jù)包到達(dá)一個(gè)鏈時(shí),系統(tǒng)就會(huì)從第一條規(guī)則開(kāi)始檢查,看是否符合該規(guī)則所定義的條件。如果滿足,系統(tǒng)將根據(jù)該條規(guī)則所定義的方法處理該數(shù)據(jù)包;如果不滿足,則繼續(xù)檢查下一條規(guī)則。如果該數(shù)據(jù)包不符合該鏈中任一條規(guī)則,系統(tǒng)則會(huì)根據(jù)該鏈預(yù)先定義的策略(policy)來(lái)處理該數(shù)據(jù)包。

和前面介紹的兩個(gè)軟件包一樣,Iptables及Netfilter也是內(nèi)置在Linux內(nèi)核中,可以將相應(yīng)的軟件包編譯到內(nèi)核中,從而完成 Iptables防火墻的安裝。Netfilter框架能夠在內(nèi)核2.3.5及以上版本實(shí)現(xiàn)。在將軟件包重新編譯進(jìn)內(nèi)核時(shí),要求選擇和Netfilter 相關(guān)的項(xiàng)目。這些項(xiàng)目通常都是位于“Networkingoptions”子項(xiàng)下。以2.4.0內(nèi)核為例,應(yīng)該選中的項(xiàng)目有:

[*] Kernel/User netlink socket

[ ] Routing messages

<*>Netlink device emulation

[*] Network packet filtering (replaces ipchains)

在“IP: Netfilter Configuration ---->”選中如下選項(xiàng):

Connection tracking (required for masq/NAT)

FTPprotocol support

IP tables support (required for filtering/masq/NAT)

limit match support

MAC address match support

Netfilter MARK match support

Multiple port match support

TOS match support

Connection state match support

Packet filtering

REJECT target support

Full NAT

MASQUERADE target support

REDIRECT target support

Packet mangling

TOS target support

MARK target support

LOG target support

ipchains (2.2-style) support

ipfwadm (2.0-style) support

上面最后兩個(gè)項(xiàng)目可以不選,如果將其選中,則可以在2.4內(nèi)核中使用Ipchains或Ipfwadm。需要注意的是,Iptables和 Ipchains/Ipfwadm是相對(duì)立的,在使用Iptables時(shí)就不能同時(shí)使用Ipchains/Ipfwadm。選擇完所需選項(xiàng)后,就可以執(zhí)行編譯操作了。編譯成功后,這些模塊文件都位于目錄/lib/modules/2.4.0/kernel/net/ipv4/netfilter中。

編譯2.4.0新內(nèi)核時(shí)還應(yīng)該注意,要在“Processor type and features”中選擇與所用CPU相對(duì)應(yīng)的、正確的CPU選項(xiàng),否則新內(nèi)核可能無(wú)法正常工作。

成功安裝Iptables后,不能直接使用Iptables,還必須載入相關(guān)模塊。使用以下命令載入相關(guān)模塊:

#modprobe iptable_tables

modprobe命令會(huì)自動(dòng)載入指定模塊及其相關(guān)模塊。iptables_filter模塊會(huì)在運(yùn)行時(shí)自動(dòng)載入。

Iptables實(shí)際上是一個(gè)操作過(guò)濾規(guī)則的工具。利用Iptables工具,可以對(duì)Netfilter中的鏈和規(guī)則進(jìn)行操作。Iptables使用與 IP鏈基本相同的語(yǔ)法和命令格式。除了對(duì)鏈和規(guī)則進(jìn)行操作外,Iptables還提供其它一些操作。如通過(guò)--source/--src/-s指定源地址;通過(guò)--destination/--dst/-s指定目的地址;通過(guò)--protocol/-p選項(xiàng)指定協(xié)議,比如-p tcp;使用--in-interface/-i或--out-interface/-o)指定網(wǎng)絡(luò)接口;指定IP碎片等。這里不一一介紹相關(guān)語(yǔ)法。讀者可以從HOWTO文檔獲得相關(guān)內(nèi)容。以上的相關(guān)內(nèi)容就是對(duì)實(shí)現(xiàn)Linux網(wǎng)絡(luò)防火墻的介紹,望你能有所收獲。

【編輯推薦】

  1. IPTV會(huì)否是分眾購(gòu)對(duì)象
  2. 我國(guó)IPTV研究目全球領(lǐng)先
  3. 3G與IPTV是發(fā)展大方向
  4. 我國(guó)IPTV研究目全球領(lǐng)先
  5. 3G與IPTV是發(fā)展大方向

 

責(zé)任編輯:佚名 來(lái)源: ZDNET
相關(guān)推薦

2019-07-18 11:26:13

防火墻網(wǎng)絡(luò)安全軟件

2010-09-29 16:43:42

2010-01-10 17:47:51

2009-12-16 15:29:06

2009-02-22 09:30:24

2011-03-15 16:35:27

2020-04-07 13:20:52

Linux防火墻ufw

2011-03-17 16:00:57

2009-09-28 10:06:09

Linux防火墻Linux規(guī)則

2010-08-26 10:57:35

2010-09-14 13:08:52

2010-01-07 14:12:11

Linux防火墻

2011-03-15 15:47:26

LinuxIptables防火墻

2010-03-05 09:36:04

linux系統(tǒng)防火墻

2010-10-08 11:17:12

2009-01-18 09:16:00

2011-04-28 19:51:03

2009-07-06 20:48:45

2009-12-23 17:37:09

Linux防火墻

2009-12-02 18:54:28

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)