一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

安卓網(wǎng)絡(luò)防火墻原理詳解

 昵稱26661665 2015-07-16

1、簡介

Droidwall是一個關(guān)于網(wǎng)絡(luò)防火墻的開源項(xiàng)目,其最大的功能在于控制應(yīng)用進(jìn)程的上網(wǎng)權(quán)限,核心功能實(shí)現(xiàn)是通過調(diào)用linux iptables命令。

2、功能

現(xiàn)Droidwall開源項(xiàng)目提供的功能:

1)分為兩種模式,blacklist和whitelist,blacklist中文釋義“黑名單”,禁用的進(jìn)程;whitelist也即是允許能上網(wǎng)的進(jìn)程。

2)管理有使用網(wǎng)絡(luò)權(quán)限的進(jìn)程,最核心的功能,當(dāng)我們選擇好所有的進(jìn)程后點(diǎn)擊menu中的應(yīng)用規(guī)則,iptables就會對相應(yīng)的進(jìn)程進(jìn)行管理。

3)log管理

4)顯示規(guī)則

5)自定義用戶腳本

3、實(shí)現(xiàn)原理3.1 iptables 簡介

防火墻分為硬件和軟件,硬件cisco netscreen 聯(lián)想 天融信 ,軟件Iptables 包過濾防火墻。

3.1.1 iptables功能

它最核心功能就是根據(jù)預(yù)設(shè)的規(guī)則對包進(jìn)行過濾,達(dá)到保護(hù)網(wǎng)絡(luò)安全的目的,以下是過濾包的簡單示意圖。


當(dāng)一個網(wǎng)絡(luò)封包要進(jìn)入到主機(jī)之前,會先經(jīng)由Filter表進(jìn)行檢查, 檢查通過則接受 (ACCEPT) 進(jìn)入本機(jī)取得資源,如果檢查不通過,則可能予以丟棄 (DROP) 。

3.1.2 版本發(fā)展

根據(jù)linux內(nèi)核的發(fā)展,不同核心版本使用不同的防火墻軟體

Version 2.0:使用 ipfwadm 這個防火墻機(jī)制;

Version 2.2:使用的是 ipchains 這個防火墻機(jī)制;

Version 2.4 與 2.6 :主要是使用 iptables 這個防火墻機(jī)制,不過在某些早期的 Version 2.4 版本亦同時支持 ipchains,好讓用戶仍然可以使用來自 2.2 版的 ipchains 的防火墻規(guī)則,現(xiàn)在基本上都是用iptables。

3.1.3相關(guān)命令

1)iptables表

首先從iptables 的名稱說起,為什么稱為ip"tables" 呢?因?yàn)檫@個防火墻軟件里面有多個表格(table) ,每個表格都定義出自己的默認(rèn)政策與規(guī)則。表格是怎么組織的?每個表格的組成單位就是“chain”規(guī)則鏈,類似于表格中一行數(shù)據(jù),每個規(guī)則鏈中定義了一些基本的規(guī)則類似于單元格,我們可以自定義規(guī)則鏈。Linux 的iptables 至少有三個表格,管理本機(jī)進(jìn)出的filter 、管理后端主機(jī) 的nat 、管理特殊旗標(biāo)使用的mangle (較少使用) 。

1.1)filter:主要跟Linux 本機(jī)有關(guān),這個是預(yù)設(shè)的過濾表,以下是其包含的規(guī)則鏈

INPUT:主要與封包想要進(jìn)入我們Linux 本機(jī)有關(guān);

OUTPUT:主要與我們Linux 本機(jī)所要送出的封包有關(guān);

FORWARD:這個與Linux 本機(jī)比較沒有關(guān)系,他可以封包『轉(zhuǎn)遞』到后端的計算機(jī)中,與nat 這個table 相關(guān)性很高。

1.2)nat:這個表格主要在用作來源與目的之IP 或port 的轉(zhuǎn)換,與Linux 本機(jī)較無關(guān),主要與Linux 主機(jī)后的局域網(wǎng)絡(luò)內(nèi)的計算機(jī)較有相關(guān)。以下是其包含的規(guī)則鏈

PREROUTING:在進(jìn)行路由判斷之前所要進(jìn)行的規(guī)則(DNAT/REDIRECT)

POSTROUTING:在進(jìn)行路由判斷之后所要進(jìn)行的規(guī)則(SNAT/MASQUERADE)

OUTPUT:與發(fā)送出去的封包有關(guān)

1.3)mangle:這個表格主要是與特殊的封包的路由旗標(biāo)有關(guān),早期僅有PREROUTING 及OUTPUT 鏈,不過從kernel 2.4.18 之后加入了INPUT 及FORWARD 鏈。由于這個表格與特殊旗標(biāo)相關(guān)性較高,所以像較少使用mangle 這個表格。



表圖

2)命令

這里簡單介紹一些比較重要的命令,想知道所有的功能可以使用man查看該命令。

ü 對于規(guī)則鏈的操作

-F 清楚所有規(guī)則

iptables -t filter -F INPUT

-X 清除所有自定義規(guī)則

-L 列出當(dāng)前所有規(guī)則

iptables -L INPUT -n --line-number -vvv

-A 在所選鏈的尾加一條規(guī)則

-N定義子鏈

不能與已有的鏈同名,自定義時,最好先清空所有規(guī)則

ü 定義規(guī)則的操作

-j 指定規(guī)則所做動作

ACCEPT 接受

DROP 丟棄別人可以判斷你的系統(tǒng)使用防火墻

REJECT 彈回貌似根本沒有打開這個端口

LOG 進(jìn)行日志,/var/log/message

使用!號的時候 需要在兩端加空格表示取反

-p 進(jìn)行協(xié)議進(jìn)行匹配

[?。輙cp|udp|icmp 協(xié)議列表以英文逗號為分隔符如tcp,udp 協(xié)議前加!號表示取反如-p !tcp

根據(jù)端口進(jìn)行匹配,必須指定協(xié)議必須是tcp|udp

--sport [!] port 包的源端口

--dport [!] port 包的目的端口

port 可以用/etc/services 中的協(xié)議名來代替 不指定此項(xiàng),則暗示所用端口, 連續(xù)的端口 20:80表示從20到80所用端口包括20和80 :20 0到20 80:從80到65535 !20 非20端口

多端口匹配 -m multiport 如 iptables -A INPUT -p tcp -m multiport --sport 20,21,22,23,80 最多可以指定15的端口,以英文逗號分隔,沒有空格,使用是必須指定協(xié)議

-i 以包進(jìn)入本地所使用的網(wǎng)絡(luò)接口來匹配

-i 參數(shù)指定網(wǎng)卡,適用于INPUT 和PREROUGING

-o 參數(shù)指定網(wǎng)卡,適用于OUTPUT 和POSTROUGING

-o 以包離開本地所使用的網(wǎng)絡(luò)接口來匹配

另外重點(diǎn)介紹--m參數(shù)

1) 基于狀態(tài)的匹配 -m state

NEW 初始包或源自于您的機(jī)器并要發(fā)送到目的IP的包都處于 NEW狀態(tài) 分為OUTPUT和INPUT NEW包

ESTABLISHED 一旦連接看到兩個方向上都有通信流,與此附加相關(guān)的其它包都被看作處于ESTABLISHED 狀態(tài) NEW和ESTABLISHED 之間的區(qū)別很重要

RELATED 是那些啟動新連接,但有與當(dāng)前現(xiàn)有連接相關(guān)的包。RELATED狀態(tài)可以用于調(diào)整組成多重連接協(xié)議(如ftp)的連接,以及與現(xiàn)有連接相關(guān)的錯誤包(如與現(xiàn)有連接相關(guān)的 ICMP 錯誤包)

INVALID 這種包不會被自動廢棄;因此您需要插入適當(dāng)?shù)囊?guī)則,并設(shè)置鏈策略,以便可以正確處理這些包。

允許主動發(fā)出的包iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

2) 基于MAC地址的匹配-m mac 僅對于PREROUTING和INPUT鏈起作用

如: iptables -A INPUT -p tcp --dport 23 -m mac --mac-source00:0C:29:BC:BBB -j REJECT

3) 基于封包數(shù)量的匹配 -m limit

允許每秒通過一個icmp包,默認(rèn)觸發(fā)條件是5個

iptables -A INPUT -p icmp -m limit --limit 1/s -j ACCEPT

超過部分全部拒絕

iptables -A INPUT -p icmp -j DROP

4) 基于UID,GID的限制-m owner

iptables -A OUTPUT -p tcp --dport 23-m owner --uid-owner 500 -j REJECT

iptables -A OUTPUT -p tcp --dport 23 -m owner –gid-owner 500 -jREJECT

注意:-m owner 僅僅輸出的封包有用,這個在droidwall開源項(xiàng)目中有使用到。

3.2 android iptables rules設(shè)計

droidwall根據(jù)上面的規(guī)則和命令,在filter表中自定義了4個規(guī)則鏈droidwall、droidwall-3g、droidwall-wifi、droidwall-reject。

3.2.1 droidwall

該規(guī)則鏈非常重要,它定義了不同的網(wǎng)口執(zhí)行不同的規(guī)則鏈

1)規(guī)定與數(shù)據(jù)流量相關(guān)的網(wǎng)口的包執(zhí)行droidwall-3g規(guī)則鏈

iptables -A droidwall -o rmnet+ -j droidwall-3g

iptables -A droidwall -o pdp+ -j droidwall-3g

iptables -A droidwall -o ppp+ -j droidwall-3g

iptables -A droidwall -o uwbr+ -j droidwall-3g

iptables -A droidwall -o wimax+ -j droidwall-3g

iptables -A droidwall -o vsnet+ -j droidwall-3g

iptables -A droidwall -o ccmni+ -j droidwall-3g

iptables -A droidwall -o usb+ -j droidwall-3g

2)規(guī)定與wifi相關(guān)網(wǎng)口的包執(zhí)行droidwall-wifi規(guī)則鏈

iptables -A droidwall -o tiwlan+ -j droidwall-wifi

iptables -A droidwall -o wlan+ -j droidwall-wifi

iptables -A droidwall -o eth+ -j droidwall-wifi

iptables -A droidwall -o ra+ -j droidwall


=================



藍(lán)翼博客提供安卓技術(shù)黑客技術(shù)教程 ,轉(zhuǎn)載必須注明文章出處地址: http:///diannaojishu/82.html


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    夜夜嗨激情五月天精品| 国产韩国日本精品视频| 办公室丝袜高跟秘书国产| 国产精品蜜桃久久一区二区| 亚洲第一香蕉视频在线| 污污黄黄的成年亚洲毛片| 欧美日韩成人在线一区| 经典欧美熟女激情综合网| 美女被啪的视频在线观看| 成人午夜在线视频观看| 人妻少妇av中文字幕乱码高清| 欧美日韩精品一区二区三区不卡| 国产一级内射麻豆91| 欧美一区日韩一区日韩一区| 久久精品伊人一区二区| 免费福利午夜在线观看| 久久99精品国产麻豆婷婷洗澡| 日本熟妇熟女久久综合| 久久99亚洲小姐精品综合| 日本黄色录像韩国黄色录像| 欧美熟妇一区二区在线| 香蕉网尹人综合在线观看| 有坂深雪中文字幕亚洲中文| 国产级别精品一区二区视频 | 91一区国产中文字幕| 国产不卡一区二区四区| 国产精品涩涩成人一区二区三区| 美女被啪的视频在线观看| 亚洲国产成人爱av在线播放下载| 日韩一区二区免费在线观看| 99久久精品免费看国产高清| 日本不卡一区视频欧美| 黄片免费在线观看日韩| 日韩少妇人妻中文字幕| 久久国内午夜福利直播| 国产精品午夜视频免费观看| 国产一区二区三区草莓av| 中文字幕日韩一区二区不卡| 九九蜜桃视频香蕉视频| 久久精品久久久精品久久| 午夜国产成人福利视频|