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

深入淺出Netfilter/iptables防火墻框架(基礎(chǔ)篇)

原創(chuàng)
系統(tǒng) Linux
Netfilter/iptables可以對流入和流出的信息進(jìn)行細(xì)化控制,且可以在一臺低配置機(jī)器上很好地運(yùn)行,被認(rèn)為是Linux中實(shí)現(xiàn)包過濾功能的第四代應(yīng)用程序。在接下來的這個《深入淺出Netfilter/iptables防火墻框架》系列中,51CTO安全/Linux專家李洋將對Netfilter/iptables進(jìn)行詳盡的、條理的介紹。本文是基礎(chǔ)篇,先介紹Netfilter/iptables框架的原理。

【51CTO獨(dú)家特稿】Linux系統(tǒng)管理員們都接觸過Netfilter/iptables,這是Linux系統(tǒng)自帶的免費(fèi)防火墻,功能十分強(qiáng)大。在接下來的這個《深入淺出Netfilter/iptables防火墻框架》系列中,51CTO安全/Linux專家李洋將對Netfilter/iptables進(jìn)行詳盡的、條理的介紹。本文是基礎(chǔ)篇,先介紹Netfilter/iptables框架的原理。

1、Netfilter/iptables框架簡介

Netfilter/iptables可以對流入和流出的信息進(jìn)行細(xì)化控制,且可以在一臺低配置機(jī)器上很好地運(yùn)行,被認(rèn)為是Linux中實(shí)現(xiàn)包過濾功能的第四代應(yīng)用程序。Netfilter/iptables包含在Linux 2.4以后的內(nèi)核中,可以實(shí)現(xiàn)防火墻、NAT(網(wǎng)絡(luò)地址翻譯)和數(shù)據(jù)包的分割等功能。netfilter工作在內(nèi)核內(nèi)部,而iptables則是讓用戶定義規(guī)則集的表結(jié)構(gòu)。Netfilter/iptables從ipchains和ipwadfm(IP防火墻管理)演化而來,功能更加強(qiáng)大。

這里所說的iptables是ipchains的后繼工具,但具有更強(qiáng)的可擴(kuò)展性。內(nèi)核模塊可以注冊一個新的規(guī)則表(table),并要求數(shù)據(jù)包流經(jīng)指定的規(guī)則表。這種數(shù)據(jù)包選擇用于實(shí)現(xiàn)數(shù)據(jù)報過濾(filter表),網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT表)及數(shù)據(jù)報處理(mangle表)。Linux 2.4內(nèi)核及其以上版本提供的這三種數(shù)據(jù)報處理功能都基于netfilter的鉤子函數(shù)和IP表,都是相互間獨(dú)立的模塊,完美地集成到了由netfilter提供的框架中,如圖1所示。netfilter主要提供了如下三項(xiàng)功能:

  1. 包過濾:filter表格不會對數(shù)據(jù)報進(jìn)行修改,而只對數(shù)據(jù)報進(jìn)行過濾。iptables優(yōu)于ipchains的一個方面就是它更為小巧和快速。它是通過鉤子函數(shù)NF_IP_LOCAL_IN、NF_IP_FORWARD及NF_IP_LOCAL_OUT接入netfilter框架的。
  2. NAT:NAT表格監(jiān)聽三個netfilter鉤子函數(shù):NF_IP_PRE_ROUTING、NF_IP_POST_ROUTING及NF_IP_LOCAL_OUT。NF_IP_PRE_ROUTING實(shí)現(xiàn)對需要轉(zhuǎn)發(fā)數(shù)據(jù)報的源地址進(jìn)行地址轉(zhuǎn)換,而NF_IP_POST_ROUTING則對需要轉(zhuǎn)發(fā)的數(shù)據(jù)報目的地址進(jìn)行地址轉(zhuǎn)換。對于本地數(shù)據(jù)報目的地址的轉(zhuǎn)換,則由NF_IP_LOCAL_OUT來實(shí)現(xiàn)。
  3. 數(shù)據(jù)報處理:mangle表格在NF_IP_PRE_ROUTING和NF_IP_LOCAL_OUT鉤子中進(jìn)行注冊。使用mangle表,可以實(shí)現(xiàn)對數(shù)據(jù)報的修改或給數(shù)據(jù)報附上一些外帶數(shù)據(jù)。當(dāng)前mangle表支持修改TOS位及設(shè)置skb的nfmard字段。

Netfilter/Iptables框架結(jié)構(gòu)示意圖
圖1 Netfilter/Iptables框架結(jié)構(gòu)示意圖

根據(jù)實(shí)際情況,靈活運(yùn)用Netfilter/iptables框架,生成相應(yīng)的防火墻規(guī)則可以方便、高效地阻斷部分網(wǎng)絡(luò)攻擊以及非法數(shù)據(jù)報(參見圖2所示的工作原理)。然而,由于配置了防火墻,可能引起諸如FTP、QQ、MSN等協(xié)議和軟件無法使用或者某些功能無法正常使用,也有可能引起RPC(遠(yuǎn)程過程調(diào)用)無法執(zhí)行,這需要用戶根據(jù)實(shí)際情況來配置相應(yīng)的服務(wù)代理程序來開啟這些服務(wù)。需要特別提醒注意的是,防火墻也可能被內(nèi)部攻擊,其并不是萬能的,還需要綜合使用其他防護(hù)手段。內(nèi)部人員由于無法通過Telnet瀏覽郵件或使用FTP向外發(fā)送信息,個別人會對防火墻不滿進(jìn)而可能對其進(jìn)行攻擊和破壞。而且,攻擊的目標(biāo)常常是防火墻或防火墻運(yùn)行的操作系統(tǒng),這極大地危害了防火墻系統(tǒng)甚至是關(guān)鍵信息系統(tǒng)的安全。

Netfilter/Iptables框架工作原理示意
圖2 Netfilter/Iptables框架工作原理示意

#p#

2、iptables基本原理

通過向防火墻提供有關(guān)對來自某個源、到某個目的地或具有特定協(xié)議類型的信息包要做些什么的指令,規(guī)則控制信息包的過濾。通過使用Netfilter/iptables系統(tǒng)提供的特殊命令iptables,建立這些規(guī)則,并將其添加到內(nèi)核空間的特定信息包過濾表內(nèi)的鏈中。關(guān)于添加/除去/編輯規(guī)則的命令的一般語法如下:

iptables [-t table] command [match] [target]

不難看出,一條iptables規(guī)則包含如下4個基本元素:

  1. 命令
  2. 匹配
  3. 目標(biāo)

1) 表(table)

[-t table]選項(xiàng)允許使用標(biāo)準(zhǔn)表之外的任何表。表是包含僅處理特定類型信息包的規(guī)則和鏈的信息包過濾表。有三種可用的表選項(xiàng):filter、nat和mangle。該選項(xiàng)不是必需的,如果未指定,則filter用作默認(rèn)表。filter表用于一般的信息包過濾,包含INPUT、OUTPUT和FORWAR鏈。nat表用于要轉(zhuǎn)發(fā)的信息包,它包含PREROUTING、OUTPUT和POSTROUTING鏈。如果信息包及其頭內(nèi)進(jìn)行了任何更改,則使用mangle表。該表包含一些規(guī)則來標(biāo)記用于高級路由的信息包以及PREROUTING和OUTPUT鏈。

2) 命令(command)

command部分是iptables命令的最重要部分,它告訴iptables命令要做什么,例如,插入規(guī)則、將規(guī)則添加到鏈的末尾或刪除規(guī)則。主要有如表1所示的命令。

表1 iptables常用命令

命    令 說    明
-A或--append 該命令將一條規(guī)則附加到鏈的末尾
-D或--delete 通過用-D指定要匹配的規(guī)則或者指定規(guī)則在鏈中的位置編號,該命令從鏈中刪除該規(guī)則
-P或--policy 該命令設(shè)置鏈的默認(rèn)目標(biāo),即策略。所有與鏈中任何規(guī)則都不匹配的信息包都將被強(qiáng)制使用此鏈的策略
-N或--new-chain 用命令中所指定的名稱創(chuàng)建一個新鏈
-F或--flush 如果指定鏈名,該命令刪除鏈中的所有規(guī)則,如果未指定鏈名,該命令刪除所有鏈中的所有規(guī)則。此參數(shù)用于快速清除
-L或--list 列出指定鏈中的所有規(guī)則
-R或--replace 替換指定鏈中一條匹配的規(guī)則
-X或--delete-chain 刪除指定用戶的的定義鏈,若沒有指定鏈,則刪除所有的用戶鏈
-C或--check 檢查數(shù)據(jù)包是否與指定鏈的規(guī)則相匹配
-Z或--zero 將指定鏈中所有規(guī)則的byte計數(shù)器清零

3) 匹配(match)

iptables命令的可選match部分指定信息包與規(guī)則匹配所應(yīng)具有的特征(如源和目的地地址、協(xié)議等)。匹配分為兩大類:通用匹配和特定于協(xié)議的匹配。這里,將研究可用于采用任何協(xié)議的信息包的通用匹配。下面是一些重要的且常用的通用匹配及其說明,如表2所示。

表2 通用匹配說明

通用匹配 說    明
-p或--protocol 該通用協(xié)議匹配用于檢查某些特定協(xié)議。協(xié)議示例有TCP、UDP、ICMP、用逗號分隔的任何這三種協(xié)議的組合列表以及ALL(用于所有協(xié)議)。ALL是默認(rèn)匹配??梢允褂?符號表示不與該項(xiàng)匹配
-s 或 --source 該源匹配用于根據(jù)信息包的源IP地址來與它們匹配。該匹配還允許對某一范圍內(nèi)的IP地址進(jìn)行匹配,可以使用!符號,表示不與該項(xiàng)匹配。默認(rèn)源匹配與所有IP地址匹配
-d 或 --destination 該目的地匹配用于根據(jù)信息包的目的地IP地址來與它們匹配。該匹配還允許對某一范圍內(nèi)IP地址進(jìn)行匹配,可以使用!符號表示不與該項(xiàng)匹配
--sport 指定匹配規(guī)則的源端口或端口范圍
--dport 指定匹配規(guī)則的目的端口或端口范圍
-i 匹配單獨(dú)的網(wǎng)絡(luò)接口或某種類型的接口設(shè)置過濾規(guī)則

4) 目標(biāo)(target)

前面已經(jīng)講過,目標(biāo)是由規(guī)則指定的操作,對與那些規(guī)則匹配的信息包執(zhí)行這些操作。除了允許用戶定義的目標(biāo)之外,還有許多可用的目標(biāo)選項(xiàng)。下面是常用的一些目標(biāo)及其示例和說明,如表3所示。

表3 目標(biāo)項(xiàng)說明

目 標(biāo) 項(xiàng) 說    明
ACCEPT 當(dāng)信息包與具有ACCEPT目標(biāo)的規(guī)則完全匹配時,會被接受(允許它前往目的地)
DROP 當(dāng)信息包與具有DROP目標(biāo)的規(guī)則完全匹配時,會阻塞該信息包,并且不對它做進(jìn)一步處理。該目標(biāo)被指定為-j DROP
REJECT 該目標(biāo)的工作方式與DROP目標(biāo)相同,但它比DROP好。和DROP不同,REJECT不會在服務(wù)器和客戶機(jī)上留下死套接字。另外,REJECT將錯誤消息發(fā)回給信息包的發(fā)送方。該目標(biāo)被指定為-j REJECT
RETURN 在規(guī)則中設(shè)置的RETURN目標(biāo)讓與該規(guī)則匹配的信息包停止遍歷包含該規(guī)則的鏈。如果鏈?zhǔn)侨鏘NPUT之類的主鏈,則使用該鏈的默認(rèn)策略處理信息包。它被指定為-jump RETURN
LOG 表示將包的有關(guān)信息記錄入日志
TOS 表示改寫數(shù)據(jù)包的TOS值

下一篇:深入淺出Netfilter/iptables防火墻框架(入門篇)

【編輯推薦】

  1. Linux系統(tǒng)下iptables基本配置方法
  2. iptables的基礎(chǔ)知識-iptables包的轉(zhuǎn)發(fā)過程
  3. Nginx+iptables 防DDOS,惡意訪問,采集器
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2011-07-13 10:30:09

2011-03-15 09:10:43

iptables防火墻

2011-03-15 10:48:47

2022-02-25 08:54:50

setState異步React

2021-03-16 08:54:35

AQSAbstractQueJava

2011-07-04 10:39:57

Web

2009-06-22 15:34:00

Javascript

2009-06-18 10:23:03

Javascript 基本框架

2019-01-07 15:29:07

HadoopYarn架構(gòu)調(diào)度器

2017-07-02 18:04:53

塊加密算法AES算法

2012-05-21 10:06:26

FrameworkCocoa

2021-07-20 15:20:02

FlatBuffers阿里云Java

2022-09-26 09:01:15

語言數(shù)據(jù)JavaScript

2012-05-30 11:11:42

HTML5

2012-05-30 13:17:46

HTML5

2012-05-30 13:26:12

HTML5

2012-05-30 13:49:52

HTML5

2012-05-30 14:51:09

HTML5

2012-05-31 09:19:22

HTML5

2012-05-31 09:54:13

HTML5
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 不卡一区二区三区四区 | 久久免费精品视频 | 亚洲男人的天堂网站 | 国产精品黄色 | 狠狠干天天干 | 国内精品久久久久久影视8 最新黄色在线观看 | 日韩一区二区在线视频 | 无毛av | 人人人人人爽 | 日韩av在线中文字幕 | 亚洲欧美中文日韩在线v日本 | 久热免费 | 国产精品www | 日日精品| 精品视频一区二区 | 日韩在线观看一区 | 久久久一区二区三区四区 | 色综网| 成人免费大片黄在线播放 | 在线色网| a精品视频| 91精品国产91久久久久久 | 欧美日韩视频在线播放 | 国产91丝袜在线播放 | 91精品国产综合久久福利软件 | 国产精品亚洲一区二区三区在线 | 欧美成人免费在线 | 亚洲乱码国产乱码精品精的特点 | 日韩一区二区三区精品 | 中文在线亚洲 | 国产成人精品999在线观看 | 欧美成人a∨高清免费观看 91伊人 | 日韩精品人成在线播放 | 精品产国自在拍 | 国产激情片在线观看 | 国产一区二区小视频 | 四虎影院免费在线 | 国产成人精品久久二区二区 | 国产精品资源在线 | 亚洲精选一区 | 日韩成人|