成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux網絡防火墻的實現并不難!

安全 網站安全
我們今天主要描述正確實現Linux網絡防火墻,愿在你學習正確實現Linux網絡防火墻中以起到拋磚引玉的作用。以下就是正文的主要內容講述。

以下的文章描述的是正確實現Linux網絡防火墻,如果你對實現Linux網絡防火墻的技術,心存好奇的話,以下的文章將會給你更為詳細的介紹。大家都知道防火墻作為一種網絡或是系統之間強制實行訪問控制的一種機制,是確保網絡安全的重要手段。

針對不同的需求和應用環境,可以量身定制出不同的防火墻系統。

實現Linux網絡防火墻

 

防火墻作為一種網絡或系統之間強制實行訪問控制的機制,是確保網絡安全的重要手段。針對不同的需求和應用環境,可以量身定制出不同的防火墻系統。

 

防火墻大到可由若干路由器和堡壘主機構成,也可小到僅僅是網絡操作系統上一個防火墻軟件包所提供的包過濾功能。

在眾多網絡防火墻產品中,Linux操作系統上的防火墻軟件特點顯著。首先是Linux操作系統作為一個類Unix網絡操作系統,在系統的穩定性、健壯性及價格的低廉性方面都獨具優勢。更為重要的是,Linux不但本身的源代碼完全開放,而且系統包含了建立Internet網絡環境所需要的所有服務軟件包,如ApacheWeb服務器、DNS服務器、Mail服務器、Database服務器等。同樣,基于Linux的防火墻軟件不但具有強大的功能,而且大部分都是開放軟件。

隨著Internet的飛速發展,安全問題越來越重要。利用Linux構建企業網深受中小企業的青睞,而利用Linux構建企業網的防火墻系統也成為眾多中小企業的理想選擇。

Linux內核從1.1版本開始,就已經具備包過濾功能。在2.0內核中,開始采用Ipfwadm來操作內核的包過濾規則。到2.2版本時,Linux內核采用了Ipchains來控制內核的包過濾規則。發展到2.4.x時,Ipchains被一個全新的包過濾管理工具Iptables所替代。新發布的 2.6版內核也在安全方面進行了改進。因此,無論擁有哪個版本的Linux內核,無論選擇哪個版本的Linux來構建自己的企業網,都可以利用現有的系統構建出一個理想實用的防火墻。

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

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

IPFW防火墻

IPFW是比較老的Linux內核版本提供的防火墻軟件包。該軟件包的全稱是Ipfwadm。Ipfwadm程序包提供了建立規則的能力,根據這些規則來確定允許什么樣的包進出本網絡。簡單說來,防火墻就是一對開關,一個開關允許包通過,另一個開關禁止包通過。現代防火墻系統一般都會附加審計跟蹤、加密認證、地址偽裝和VPN等多種功能。作為一個安全開關,防火墻可定義的安全策略有兩個:

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

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

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

下面以Red Hat系統為例,說明Linux系統上IPFW防火墻的實現。

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

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

在安裝好Ipfwadm后,就可以交互方式指定Ipfwadm的包過濾規則。過濾規則對每一個進入系統的IP包進行檢查,從而決定哪些包允許通過防火墻,哪些包則禁止通過。Ipfwadm命令的一般格式為:

/sbin/ ipfwadm category commands parameters [options]

Ipchains(IP鏈)和IP偽裝

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

Linux 2.2內核中提供的Ipchains,通過四類防火墻規則列表來提供防火墻規則控制,這些列表稱為防火墻鏈。它們分別是IP input鏈(IP輸入鏈)、IP output鏈(IP輸出鏈)、IP forward鏈(IP轉發鏈)和user defined鏈(用戶定義鏈)。一個鏈實際上就是一個規則表。所謂規則,即當被檢測的包頭符合規則的定義時,就按預先的設定對該包進行某種處理。輸入鏈是指對內連接請求的過濾規則;輸出鏈是對外連接請求的過濾規則;轉發鏈是對內部與外部通信包轉發的過濾規則;用戶定義鏈是用戶自己定義的規則。

當一個數據包進入Linux防火墻系統時,Linux內核使用輸入鏈決定對這個包的操作;如果這個包不被丟棄,內核則使用轉發鏈來決定是否將這個包轉發到某個出口;當這個包到達一個出口被發出前,內核使用輸出鏈最后確定是丟棄該包還是轉發該包。在上面的過程中,如果輸入鏈已經決定處理這個包,則核心需要決定下一步包應該發到什么地方,即進行路由。假如此時該數據包是發到另一臺主機的,則核心就運用轉發鏈;如果沒找到匹配的設置,則這個包就需要進入目標值指定的下一條鏈,此時目標值有可能是一條用戶自定義鏈,也有可能是一個特定的值。例如:

ACCEPT 允許通過。

DENY 直接丟棄。

REJECT 丟棄并通過ICMP回復通知發送者包被丟棄。

MASQ 通知核心將該包偽裝,該值只對轉發鏈和用戶自定義鏈起作用。

REDIRECT 通知核心將包改送到一個本地端口,該值只對輸入鏈和用戶自定義鏈起作用,并且只有UDP和TCP協議才可以使用該值。 RETURE 通知內核將該包跳過所有的規則,直接到達所有鏈的鏈尾。

在Linux系統IP鏈的轉發鏈上可以配置IP偽裝。實際上,IP偽裝是一個比包過濾策略更安全的解決方案,它不僅能夠提供一種安全機制,還同時解決了 Internet中IP地址資源不足的問題。IP偽裝使一臺計算機在訪問Internet時,能夠將本臺機器的真正IP地址偽裝成其它地址。如果連接到 Internet上的一臺主機具有IP偽裝功能,則這臺機器不管是通過局域網,還是PPP撥號都可以與Internet連接。盡管在使用PPP時,這樣的主機根本沒有自己正式的IP地址。

這說明可以將一臺主機隱藏在一個網關后面來訪問Internet,使得這臺主機既實現了對Internet的訪問,又實現了其訪問對外界的不可見性(即隱藏性)。顯然,這種隱藏性使得系統非常安全,因為外界根本意識不到主機的存在,也就不可能對主機實施存取操作,更不能入侵和破解。通常情況下,使用IANA保留的私有地址來進行偽裝。

在防火墻轉發鏈配置IP偽裝后,內部網絡上的主機向Internet發送訪問IP包時,內核將源IP地址換成網關的IP地址,并記錄被偽裝的IP地址后再轉發該IP包。當這個包的Internet應答包從Internet進入網關時,內核執行去除IP偽裝的操作,即將目的地址替換成內部地址。

通過適當的設置,IP偽裝可以在某個網段、某臺主機、某個接口、某個協議甚至是某個協議的某些端口上實現,非常靈活。IP偽裝可以將內部網絡的細節對外部網絡屏蔽掉,因此,IP偽裝提供了很好的安全性。

一般來說,安裝相應版本的Linux系統時,系統會自動將Ipchains安裝上。如果系統沒有安裝IP鏈軟件包,可以通過光盤或從網上下載軟件包來安裝。

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

#rpm -ivh *.rpm

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

#tar xvfz *.tar.gz

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

#./configure

#make

#make install

這樣就將IP鏈Linux網絡防火墻成功安裝在系統中。成功安裝Ipchains后,接下來就是啟動并配置包過濾規則。啟用Ipchains需要完成如下操作:

手工修改/proc/sys/net/ipv4/ipforward文件,將其內容置為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也是基于配置策略進行包過濾的。使用的策略方式也是兩種:

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

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

Iptables

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

 

實現Linux網絡防火墻

圖 Netfilter的總體結構

相對于2.2內核提供的IP鏈來說,2.4內核提供了更好的靈活性和可擴展性。2.4內核中的防火墻并不是2.2內核的簡單增強,而是一次完全的重新實現,2.4內核提供的防火墻軟件包在結構上發生了非常大的變化。與IP鏈相比,2.4內核提供的Iptables的檢測點變成了5個,并在每個檢測點上登記需要處理的函數,登記通過nf-register-hook()函數保存在全局變量nf-hook中來實現。

當包到達此檢測點時,實現登記的函數按照事先定義好的優先級別來執行。相對于2.2內核提供的IP鏈來說,Iptables實現的不僅僅是包過濾功能,而是通過Netfilter實現一整套框架結構,在這個框架之上實現包過濾、NAT等模塊功能,從而提供更好的可擴展性和靈活性。

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

當一個數據包到達一個鏈時,系統就會從第一條規則開始檢查,看是否符合該規則所定義的條件。如果滿足,系統將根據該條規則所定義的方法處理該數據包;如果不滿足,則繼續檢查下一條規則。如果該數據包不符合該鏈中任一條規則,系統則會根據該鏈預先定義的策略(policy)來處理該數據包。

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

[*] Kernel/User netlink socket

[ ] Routing messages

<*>Netlink device emulation

[*] Network packet filtering (replaces ipchains)

在“IP: Netfilter Configuration ---->”選中如下選項:

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

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

編譯2.4.0新內核時還應該注意,要在“Processor type and features”中選擇與所用CPU相對應的、正確的CPU選項,否則新內核可能無法正常工作。

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

#modprobe iptable_tables

modprobe命令會自動載入指定模塊及其相關模塊。iptables_filter模塊會在運行時自動載入。

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

【編輯推薦】

  1. IPTV會否是分眾購對象
  2. 我國IPTV研究目全球領先
  3. 3G與IPTV是發展大方向
  4. 我國IPTV研究目全球領先
  5. 3G與IPTV是發展大方向

 

責任編輯:佚名 來源: ZDNET
相關推薦

2019-07-18 11:26:13

防火墻網絡安全軟件

2010-09-29 16:43:42

2009-12-16 15:29:06

2009-02-22 09:30:24

2020-04-07 13:20:52

Linux防火墻ufw

2011-03-15 16:35:27

2010-01-10 17:47:51

2009-09-28 10:06:09

Linux防火墻Linux規則

2011-03-17 16:00:57

2010-08-26 10:57:35

2010-09-14 13:08:52

2011-04-28 19:51:03

2010-10-08 11:17:12

2009-01-18 09:16:00

2010-01-07 14:12:11

Linux防火墻

2011-03-15 15:47:26

LinuxIptables防火墻

2010-03-05 09:36:04

linux系統防火墻

2009-12-23 17:37:09

Linux防火墻

2009-12-02 18:54:28

2010-03-08 09:09:48

點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区2区三区4区公司二百 | 久久高清免费视频 | 玖玖国产精品视频 | 偷拍亚洲色图 | 永久看片 | 国产一二三区精品视频 | 国产成人福利在线观看 | 亚洲精品国产精品国自产在线 | 一级做a爰片性色毛片16美国 | 中文字幕亚洲免费 | 国产精品久久久久久久午夜片 | av中文字幕在线播放 | 精品日韩一区 | 激情黄色在线观看 | 日韩av免费在线观看 | 九色视频网站 | 国产ts一区 | 国产三区四区 | 在线观看亚洲专区 | 国产激情视频在线观看 | 欧美激情精品久久久久久 | 亚洲网站在线观看 | 欧美综合一区 | 日韩中文视频 | 日韩成人专区 | 日本高清在线一区 | 一级毛片视频 | 日本网站免费观看 | 欧美最猛黑人 | h视频在线播放 | 国产精品一区二区免费 | 91精产国品一二三区 | 91在线精品视频 | 亚洲免费视频在线观看 | 国产探花在线精品一区二区 | 91精品国产乱码久久久久久久久 | 日韩久草| 亚洲欧美一区二区在线观看 | 国产精品视频在线播放 | 久久久久久国产 | 亚洲综合天堂 |