基于python的網(wǎng)絡爬蟲設計【實用文檔】doc_第1頁
基于python的網(wǎng)絡爬蟲設計【實用文檔】doc_第2頁
基于python的網(wǎng)絡爬蟲設計【實用文檔】doc_第3頁
基于python的網(wǎng)絡爬蟲設計【實用文檔】doc_第4頁
基于python的網(wǎng)絡爬蟲設計【實用文檔】doc_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于python的網(wǎng)絡爬蟲設計【實用文檔】doc文檔可直接使用可編輯,歡迎下載

基于python的網(wǎng)絡爬蟲設計基于python的網(wǎng)絡爬蟲設計【實用文檔】doc文檔可直接使用可編輯,歡迎下載【摘要】近年來,隨著網(wǎng)絡應用的逐漸擴展和深入,如何高效的獲取網(wǎng)上數(shù)據(jù)成為了無數(shù)公司和個人的追求,在大數(shù)據(jù)時代,誰掌握了更多的數(shù)據(jù),誰就可以獲得更高的利益,而網(wǎng)絡爬蟲是其中最為常用的一種從網(wǎng)上爬取數(shù)據(jù)的手段。網(wǎng)絡爬蟲,即WebSpider,是一個很形象的名字。如果把互聯(lián)網(wǎng)比喻成一個蜘蛛網(wǎng),那么Spider就是在網(wǎng)上爬來爬去的蜘蛛。網(wǎng)絡蜘蛛是通過網(wǎng)頁的鏈接地址來尋找網(wǎng)頁的。從網(wǎng)站某一個頁面(通常是首頁)開始,讀取網(wǎng)頁的內容,找到在網(wǎng)頁中的其它鏈接地址,然后通過這些鏈接地址尋找下一個網(wǎng)頁,這樣一直循環(huán)下去,直到把這個網(wǎng)站所有的網(wǎng)頁都抓取完為止.如果把整個互聯(lián)網(wǎng)當成一個網(wǎng)站,那么網(wǎng)絡蜘蛛就可以用這個原理把互聯(lián)網(wǎng)上所有的網(wǎng)頁都抓取下來.那么,既然網(wǎng)絡爬蟲有著如此先進快捷的特點,我們該如何實現(xiàn)它呢?在眾多面向對象的語言中,首選python,因為python是一種“解釋型的、面向對象的、帶有動態(tài)語義的”高級程序,可以使人在編程時保持自己的風格,并且編寫的程序清晰易懂,有著很廣闊的應用前景.關鍵詞python爬蟲數(shù)據(jù)1前言1.1本編程設計的目的和意義隨著網(wǎng)絡的迅速發(fā)展,萬維網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大的挑戰(zhàn)。搜索引擎(例如傳統(tǒng)的通用搜索引擎AltaVista,Yahoo!和Google等)作為一個輔助人們檢索信息的工具成為用戶訪問萬維網(wǎng)的入口和指南。但是,這些通用性搜索引擎也存在著一定的局限性,如:(1)不同領域、不同背景的用戶往往具有不同的檢索目的和需求,通用搜索引擎所返回的結果包含大量用戶不關心的網(wǎng)頁。(2)通用搜索引擎的目標是盡可能大的網(wǎng)絡覆蓋率,有限的搜索引擎服務器資源與無限的網(wǎng)絡數(shù)據(jù)資源之間的矛盾將進一步加深。(3)萬維網(wǎng)數(shù)據(jù)形式的豐富和網(wǎng)絡技術的不斷發(fā)展,圖片、數(shù)據(jù)庫、音頻/視頻多媒體等不同數(shù)據(jù)大量出現(xiàn),通用搜索引擎往往對這些信息含量密集且具有一定結構的數(shù)據(jù)無能為力,不能很好地發(fā)現(xiàn)和獲取。(4)通用搜索引擎大多提供基于關鍵字的檢索,難以支持根據(jù)語義信息提出的查詢。為了解決上述問題,定向抓取相關網(wǎng)頁資源的聚焦爬蟲應運而生。聚焦爬蟲是一個自動下載網(wǎng)頁的程序,它根據(jù)既定的抓取目標,有選擇的訪問萬維網(wǎng)上的網(wǎng)頁與相關的鏈接,獲取所需要的信息。與通用爬蟲(generalpurposewebcrawler)不同,聚焦爬蟲并不追求大的覆蓋,而將目標定為抓取與某一特定主題內容相關的網(wǎng)頁,為面向主題的用戶查詢準備數(shù)據(jù)資源。1。2編程設計目及思路1。2。1編程設計目的學習了解并熟練掌握python的語法規(guī)則和基本使用,對網(wǎng)絡爬蟲的基礎知識進行了一定程度的理解,提高對網(wǎng)頁源代碼的認知水平,學習用正則表達式來完成匹配查找的工作,了解數(shù)據(jù)庫的用途,學習mongodb數(shù)據(jù)庫的安裝和使用,及配合python的工作。1。2。2設計思路以世紀佳緣網(wǎng)為例,思考自己所需要的數(shù)據(jù)資源,并以此為基礎設計自己的爬蟲程序。應用python偽裝成瀏覽器自動登陸世紀佳緣網(wǎng),加入變量打開多個網(wǎng)頁.通過python的urllib2函數(shù)進行世紀佳緣網(wǎng)源代碼的獲取。用正則表達式分析源代碼,找到所需信息導入excel。連接數(shù)據(jù)庫,將爬下的數(shù)據(jù)存儲在數(shù)據(jù)庫中。1.3本編程設計應達到的要求1、對特定的網(wǎng)站爬取特定的數(shù)據(jù);2、實現(xiàn)代碼和得到結果;3、能夠和數(shù)據(jù)庫進行連接,將爬下的數(shù)據(jù)存儲在數(shù)據(jù)庫中。4、將爬下的數(shù)據(jù)儲存在excel中方便編輯.2編程設計方案2.1爬取方案2.1.1所需爬取的數(shù)據(jù)以世紀佳緣網(wǎng)為例,所需要爬取的數(shù)據(jù)為注冊世紀佳緣網(wǎng)的人的用戶名、真實姓名、性別、年齡、學歷、月收入這些直觀信息。2.1。2用python獲取世紀佳緣網(wǎng)的源代碼爬蟲最主要的處理對象就是URL,它根據(jù)URL地址取得所需要的文件內容,然后對它進行進一步的處理.因此,準確地理解URL對理解網(wǎng)絡爬蟲至關重要。URL是URI的一個子集。它是UniformResourceLocator的縮寫,譯為“統(tǒng)一資源定位符".通俗地說,URL是Internet上描述信息資源的字符串,主要用在各種WWW客戶程序和服務器程序上。采用URL可以用一種統(tǒng)一的格式來描述各種信息資源,包括文件、服務器的地址和目錄等。URL的格式由三部分組成:

①第一部分是協(xié)議(或稱為服務方式).②第二部分是存有該資源的主機IP地址(有時也包括端口號)。③第三部分是主機資源的具體地址,如目錄和文件名等。第一部分和第二部分用“://”符號隔開,第二部分和第三部分用“/”符號隔開。第一部分和第二部分是不可缺少的,第三部分有時可以省略。例如:http://www.rol。cn.net/talk/talk1。htm

其計算機域名為www。rol.c;超級文本文件(文件類型為.html)是在目錄/talk下的talk1.htm.這是瑞得聊天室的地址,可由此進入瑞得聊天室的第1室。Python獲取網(wǎng)頁源代碼可用urllib或urllib2函數(shù)進行,極其方便快捷,代碼如下:import

urllib2

response

=

urllib2。urlopen('http://www.baidu.com/')

html

response.read()

print

html

2.1.3應用python偽裝成瀏覽器自動登陸世紀佳緣網(wǎng),加入變量打開多個網(wǎng)頁.有了源代碼就可以進行數(shù)據(jù)的爬取了,但是因為世紀佳緣網(wǎng)近日進行了改版,簡單的爬蟲程序已經(jīng)無法在對其進行全網(wǎng)頁的爬取工作了,所以,在獲取數(shù)據(jù)之前,需要對爬蟲進行一下偽裝,使其成為一個瀏覽器,以實現(xiàn)全網(wǎng)頁的爬取工作。應用opener和header的基礎知識即可實現(xiàn)偽裝成瀏覽器這一步驟.在偽裝的同時,需要加入變量來打開多個網(wǎng)頁,是的爬取工作可以順利進行.代碼如下:r=0w=3013while3012〈w<9999:w=w+1k=str(w)login_page="http://login.jiayuan.com/dologin.php?pre_url=http://usercp.jiayuan.com/”cj=cookielib。CookieJar()opener=urllib2。build_opener(urllib2.HTTPCookieProcessor(cj))opener.addheaders=[('User-agent’,'Mozilla/4。0(compatible;MSIE6.0;WindowsNT5.1)')]dat(yī)a=urllib.urlencode({”name”:"834054996@qq。com",”password":"benben12"})opener。open(login_page,data)op=opener。open("http://www.jiayuan.com/10796”+k)html=op.read()2.14用正則表達式分析網(wǎng)頁源代碼正則表達式是用于處理字符串的強大工具,它并不是Python的一部分。其他編程語言中也有正則表達式的概念,區(qū)別只在于不同的編程語言實現(xiàn)支持的語法數(shù)量不同。它擁有自己獨特的語法以及一個獨立的處理引擎,在提供了正則表達式的語言里,正則表達式的語法都是一樣的。下圖為使用正則表達式進行匹配的流程:正則表達式的大致匹配過程是:1。依次拿出表達式和文本中的字符比較,2。如果每一個字符都能匹配,則匹配成功;一旦有匹配不成功的字符則匹配失敗。3。如果表達式中有量詞或邊界,這個過程會稍微有一些不同。Python是通過re模塊實現(xiàn)對正則表達式的調用的。程序代碼如下:find_re=re。compile(r"absolute.+?span>(.*?)</。+?&gt;&gt;〈/a>(。*?)</h2>.+?〈/b>(.*?)〈/s。+?</b>(。*?)〈/s。+?〈/b>(.*?)</sp.+?</b>(.*?)〈/sp.+?</b〉”,re.DOTALL)2.2存儲方案2.2。1儲存在excel表格中Excel表格具有方便篩選、查找和編輯的特點,所以將網(wǎng)絡爬蟲爬取的數(shù)據(jù)儲存在excel表格中是首選。使用python建立excel表格是十分容易,代碼如下:filename=xlwt。Workbook()sheet=filename。add_sheet(’name')建立完成后可將數(shù)據(jù)寫入excel表格:forainx:sheet.write(r,0,a[0].decode("utf-8"))sheet.write(r,1,a[1].decode("utf-8”))sheet。write(r,2,a[2]。decode("utf-8"))sheet.write(r,3,a[3].decode(”utf—8"))sheet.write(r,4,a[4].decode("utf-8"))sheet。write(r,5,a[5].decode("utf-8"))r=r+1printr+3012filename.save(’test3.xls’)2.2.2儲存在數(shù)據(jù)庫中數(shù)據(jù)庫指的是以一定方式儲存在一起、能為多個用戶共享、具有盡可能小的冗余度、與應用程序彼此獨立的數(shù)據(jù)集合.將數(shù)據(jù)儲存在數(shù)據(jù)庫中也具有直觀簡潔的特點。Python調用數(shù)據(jù)庫是用pymongo模塊,創(chuàng)建與導入代碼如下:db=pymongo。Connection()。testforainx:values=dict(img=a[0].decode("utf-8"),infor=a[1]。decode("utf—8"),age=a[2].decode(”utf—8"),adress=a[3].decode("utf-8"),marry=a[4]。decode(”utf—8”))db。user.insert({'values’:values})content=db.user.find()forainx:print’img:'+a[0]。decode(”utf—8")print'infor:'+a[1].decode("utf—8”)print'age:'+a[2].decode(”utf—8”)print'adress:’+a[3]。decode("utf-8")print'marry:’+a[4].decode("utf—8")總結本程序利用了python語言編寫網(wǎng)絡爬蟲程序,實現(xiàn)了從世紀佳緣網(wǎng)上爬取用戶數(shù)據(jù)資料,使用urllib函數(shù)以及re模塊、pymongo模塊進行源代碼的獲取、編輯和數(shù)據(jù)的導出,并針對網(wǎng)頁代碼中無性別顯示的問題,采取爬取注冊用戶信息同時爬取注冊用戶照片地址的方式解決,瀏覽所爬取信息時,只需將照片地址輸入瀏覽器地址欄,即可得到所查看用戶上傳的自拍照,得到形象信息??偟膩碚f程序設計簡便、實用性強、便于讀取和再利用.4、附錄4.1將爬取數(shù)據(jù)儲存在excel表格4.1.1源代碼#coding=gbkimportreimportxlwtimportcookielibimporturllib,urllib2#filename=xlwt。Workbook()sheet=filename.a(chǎn)dd_sheet('name')find_re=re。compile(r”absolute。+?span>(.*?)</.+?&gt;>;</a〉(.*?)〈/h2>.+?〈/b>(.*?)</s.+?〈/b>(.*?)〈/s。+?</b>(。*?)〈/sp。+?〈/b>(。*?)</sp。+?</b>”,re.DOTALL)r=0w=3013while3012<w〈9999:w=w+1k=str(w)login_page=”http://login.jiayua/dologin。php?pre_url=http://usercp。jiayuan。com/”cj=cookielib。CookieJar()opener=urllib2。build_opener(urllib2。HTTPCookieProcessor(cj))opener.addheaders=[(’User-agent','Mozilla/4.0(compat(yī)ible;MSIE6.0;WindowsNT5。1)')]data=urllib。urlencode({"name":"834054996@",”password”:”benben12"})opener.open(login_page,data)op=opener.open(”http://www。jiayuan。com/10796”+k)html=op.read()x=find_re.findall(html)forainx:sheet.write(r,0,a[0].decode("utf-8"))sheet。write(r,1,a[1].decode("utf-8"))sheet。write(r,2,a[2]。decode("utf-8”))sheet。write(r,3,a[3]。decode("utf—8”))sheet.write(r,4,a[4].decode("utf-8”))sheet.write(r,5,a[5].decode(”utf-8”))r=r+1printr+3012filename.save('test3.xls')4。1。2爬取數(shù)據(jù)匯總截圖4.2將爬取數(shù)據(jù)寫入數(shù)據(jù)庫4。2.1源代碼#coding=gbkimporturllibimportreimportpymongodb=pymongo。Connection().testfind_re=pile(r"absolute.+?span〉(.*?)</。+?&gt;&gt;〈/a>(.*?)〈/h2>.+?〈/b〉(。*?)〈/s.+?</b〉(。*?)</s.+?</b〉(.*?)</sp.+?〈/b>”,re。DOTALL)w=11while10<w<20:w=w+1k=str(w)page=urllib.urlopen(”http://www。jiayua/1079608”+k+"?fxly=search_v2_index")html=page。read()x=find_re。findall(html)forainx:values=dict(img=a[0].decode(”utf-8"),infor=a[1].decode("utf-8”),age=a[2].decode(”utf-8"),adress=a[3].decode(”utf-8”),marry=a[4].decode(”utf—8"))db.user.insert({’values’:values})content=db.user。find()forainx:print'img:'+a[0].decode("utf—8")print’infor:'+a[1]。decode("utf—8")print’age:’+a[2].decode(”utf-8”)print'adress:'+a[3].decode("utf-8")print'marry:’+a[4].decode(”utf-8")4.2。2爬取數(shù)據(jù)匯總截圖參考文獻Guidovanrossum《Python手冊》MagnusLieHetlar《python基礎教程》羅剛,王振東《自己動手寫網(wǎng)絡爬蟲》安徽中澳科技職業(yè)學院畢業(yè)設計(論文)基于IPSecVPN網(wǎng)絡的規(guī)劃與設計學生姓名:系部:信息技術與藝術傳媒系專業(yè):12級計算機網(wǎng)絡技術指導教師:日期:2014年6月摘要目前,TCP/IP幾乎是所有網(wǎng)絡通信的基礎,而IP本身是沒有提供“安全”的,在傳輸過程中,IP包可以被偽造、篡改或者窺視。針對這些問題,IPSec可有效地保護IP數(shù)據(jù)報的安全,它提供了一種標準的、健壯的以及包容廣泛的機制,可用它為IP及上層協(xié)議(如UDP和TCP)提供安全保證。

目前許多電信運營商采用IPSec隧道加密技術,在寬帶業(yè)務的基礎上推出主要針對商用客戶的VPN新業(yè)務,為商用客戶既提供了高帶寬低資費的企業(yè)網(wǎng)絡聯(lián)網(wǎng)服務,又提供了在公用網(wǎng)絡上擁有私有VPN網(wǎng)絡的數(shù)據(jù)傳輸安全保障服務,贏得了廣大商用客戶的青睞。本文將研究IPSec體系結構、技術原理和VPN基本技術,分析了IPSec

VPN的主要實現(xiàn)方式.關鍵詞:IPSec

vpn

,加密,

隧道,

安全。AbstractCurrently,

TCP

/

IP

network

traffic

is

almost

all

of

the

foundation,

and

IP

itself

does

not

provide

”security",

in

the

transmission

process,

IP

packets

can

be

forged,

altered,

or

prying

eyes。

To

solve

these

problems,

IPSec

can

effectively

protect

the

security

of

IP

datagrams,

which

provides

a

standard,

robust

and

inclusive

mechanisms,

can

use

it

for

the

IP

and

upper

layer

protocol

(such

as

UDP

and

TCP)

to

provide

security

guarantees.

Many

telecom

operators

using

IPSec

tunnel

encryption

technology,

on

the

basis

of

the

introduction

of

broadband

services

for

business

customers

VPN

major

new

business,

both

for

commercial

customers

to

provide

a

high-bandwidth

network

with

low

rates

of

enterprise

network

services,

also

provided

in

the

public

network

has

a

private

VPN

network

data

security

services,

won

the

majority

of

commercial

customers.

This

paper

will

study

the

architecture

of

IPSec,

VPN

technology

principles

and

basic

technology,

analyzes

the

main

way

to

achieve

IPSec

VPNKeyword:IPSec

vpn,Encryption

,Tunnel

,Security。目錄TOC\o”1-3"\h\z\uHYPERLINK\l”_Toc391313905”引言1第1章

VPN的概述1HYPERLINK\l”_Toc391313907”1。1

VPN的基本概念1HYPERLINK\l”_Toc391313908"1。2

VPN的類型2HYPERLINK\l”_Toc391313909”1。2。1RemoteAccessVPN(遠程訪問虛擬專用網(wǎng))2HYPERLINK\l”_Toc391313910"1。2。2

IntranetVPN(企業(yè)內部虛擬專用網(wǎng))21.2.3

ExtranetVPN(外連虛擬專用網(wǎng))2HYPERLINK\l”_Toc391313912”1。3VPN的相關技術21。3。1

典型的隧道技術協(xié)議31。3.2隧道協(xié)議的比較分析3_Toc391313916"1。4。1安全保障41.4.2服務質量保證(QoS)5_Toc391313919”2。1

IPSec簡介52。2。1

IPSec

AH(認證頭協(xié)議)6HYPERLINK\l”_Toc391313922”2。2.2

IPSec

ESP:封裝安全負載6HYPERLINK\l”_Toc391313923"2.2。3IPSec

IKE(密鑰交換協(xié)議)7HYPERLINK\l”_Toc391313924"2.2.4IPSecISAKMP(安全連接和密鑰管理協(xié)議)7HYPERLINK\l”_Toc391313925”2.3

IPSec的運行模式8HYPERLINK\l”_Toc391313926”2。3.1隧道模式8HYPERLINK\l”_Toc391313927"傳送模式9_Toc391313931”3。2需求分析103。3仿真實驗設備選型103.5IP地址規(guī)劃10_Toc391313936”4.1路由器的基本配置11HYPERLINK\l”_Toc391313937”4。2VPN基本配置12第5章VPN測試14HYPERLINK\l”_Toc391313940"結束語15致謝16參考文獻17引言隨著計算機網(wǎng)絡的迅猛發(fā)展,網(wǎng)絡在為人們提供便利和帶來效益的同時,也使人們面臨著信息安全的巨大挑戰(zhàn)。網(wǎng)絡安全問題已成為計算機網(wǎng)絡研究的熱點問題之一,現(xiàn)在網(wǎng)絡發(fā)展的趨勢是所有的網(wǎng)絡,無論是ATM、衛(wèi)星網(wǎng)、無線網(wǎng)等的構建都向基于TCP/IP協(xié)議的網(wǎng)絡發(fā)展,TCP/IP協(xié)議幾乎成為Internet的統(tǒng)一實現(xiàn)標準,

因此網(wǎng)絡協(xié)議層次的安全性分析集中在TCP/IP協(xié)議簇上,

由于TCP/IP的安全和控制機

制是依賴于IP地址的認證,然而一個數(shù)據(jù)包的源IP地址是很容易被偽造和篡改的。更糟的是網(wǎng)絡控制

特別是路由協(xié)議根本就沒有認證機制。另一個主要

缺點是

TCP/IP協(xié)議沒有能力保護網(wǎng)上數(shù)據(jù)的隱私性,協(xié)議數(shù)據(jù)是明文傳輸?shù)?,乏保密機制。這樣,TCP/IP就不能保證網(wǎng)上傳輸信息的機密性、完整性、與真實性。

VPN技術是近年來用于解決網(wǎng)絡安全問題的新技術之一。它將專用網(wǎng)建立在公用網(wǎng)基礎上,通過相關的安全技術實現(xiàn)移動用戶與企業(yè)網(wǎng),各分支機構與總部及企業(yè)與合作伙伴之間的安全通信VPN就是針對通信安全尤其是企業(yè)分散子網(wǎng)間

通信安全問題的一種解決辦法。它通過采用在公用網(wǎng)上建立加密的隧道的方式,虛擬不同的專線來連接分布在各地的企業(yè)子網(wǎng),甚至移動用戶。隧道是一種

虛擬的點到點的連接,

這個連接可以為隧道的兩個端點提供了認證、加密和訪問控制??梢栽诓煌膮f(xié)議

層上來實現(xiàn)隧道技術。在每個協(xié)議層上的實現(xiàn)具有不同的實現(xiàn)難度,也提供了不同強度的安全保護。

IPSec即“Internet

協(xié)議安全性"是一種開放標準的框架協(xié)議,通過使用加密的安全服務以確保在Internet協(xié)議(IP)網(wǎng)絡(Internet就是全球最大的IP網(wǎng)絡)上進行保密而安全的通訊.IPSec

協(xié)議本不是一個單獨的協(xié)議,它給出了應用于IP層上網(wǎng)絡數(shù)據(jù)安全的一整套體系結構,包括網(wǎng)絡認證協(xié)議Authentication

Header(AH)、封裝安全載荷協(xié)議Encapsulating

Security

Payload(ESP)、密鑰管理協(xié)議Internet

Key

Exchange(IKE)和用于網(wǎng)絡認證及加密的一些算法等。IPSec規(guī)定了如何在對等層之間選擇安全協(xié)議、確定安全算法和密鑰交換,向上提供了訪問控制、數(shù)據(jù)源認證、數(shù)據(jù)加密等網(wǎng)絡安全服務。第1章

VPN的概述1。1

VPN的基本概念

VPN(Virtual

Private

Network):虛擬專用網(wǎng)絡,是一門網(wǎng)絡新技術,為我們提供了一種通過公用網(wǎng)絡安全地對企業(yè)內部專用網(wǎng)絡進行遠程訪問的連接方式。我們知道一個網(wǎng)絡連接通常由三個部分組成:客戶機、傳輸介質和服務器.VPN同樣也由這三部分組成,不同的是VPN連接使用隧道作為傳輸通道,這個隧道是建立在公共網(wǎng)絡或專用網(wǎng)絡基礎之上的,如:Internet或Intranet.

要實現(xiàn)VPN連接,企業(yè)內部網(wǎng)絡中必須配置有一臺基于Windows

NT或Windows2000

Server的VPN服務器,VPN服務器一方面連接企業(yè)內部專用網(wǎng)絡,另一方面要連接到Internet,也就是說VPN服務器必須擁有一個公用的IP地址。當客戶機通過VPN連接與專用網(wǎng)絡中的計算機進行通信時,先由ISP(Internet服務提供商)將所有的數(shù)據(jù)傳送到VPN服務器,然后再由VPN服務器負責將所有的數(shù)據(jù)傳送到目標計算機。VPN使用三個方面的技術保證了通信的安全性:隧道協(xié)議、身份驗證和數(shù)據(jù)加密。客戶機向VPN服務器發(fā)出請求,VPN服務器響應請求并向客戶機發(fā)出身份質詢,客戶機將加密的響應信息發(fā)送到VPN服務器,VPN服務器根據(jù)用戶數(shù)據(jù)庫檢查該響應,如果賬戶有效,VPN服務器將檢查該用戶是否具有遠程訪問權限,如果該用戶擁有遠程訪問的權限,VPN服務器接受此連接.在身份驗證過程中產(chǎn)生的客戶機和服務器公有密鑰將用來對數(shù)據(jù)進行加密。VPN連接的示意圖如1—1所示。

圖1—1VPN連接示意圖1。2

VPN的類型

1。2.1RemoteAccessVPN(遠程訪問虛擬專用網(wǎng))

Access

VPN是通過一個擁有與專用網(wǎng)絡相同策略的共享基礎設施,提供對企業(yè)內部網(wǎng)或外部網(wǎng)的遠程訪問,使用戶隨時、隨地以其所需的方式訪問企業(yè)資源.它包括模擬、撥號、ISDN、數(shù)字用戶線路(XDSL)、移動IP和電纜技術,可以安全地連接移動用戶、遠程工作者或分支機構.它適合于內部有人員移動或遠程辦公需要的企業(yè)。1.2。2

IntranetVPN(企業(yè)內部虛擬專用網(wǎng))

如果要進行企業(yè)內部各分支機構的互聯(lián),使用IntranetVPN是很好的方式。越來越多的企業(yè)需要在全國乃至世界范圍內建立各種辦事機構、分公司、研究所等,各個分公司之間傳統(tǒng)的網(wǎng)絡連接方式一般是租用專線.顯然,在分公司增多、業(yè)務開展越來越廣泛時,網(wǎng)絡結構趨于復雜,費用昂貴。利用VPN特性可以在Internet上組建世界范圍內的IntranetVPN。利用Internet的線路保證網(wǎng)絡的互聯(lián)性,而利用隧道、加密等VPN特性可以保證信息在整個IntranetVPN上安全傳輸。IntranetVPN通過一個使用專用連接的共享基礎設施,連接企業(yè)總部、遠程辦事處和分支機構.企業(yè)擁有與專用網(wǎng)絡的相同政策,包括安全、服務質量(QoS)、可管理性和可靠性。1.2.3

ExtranetVPN(外連虛擬專用網(wǎng))

如果是提供B2B之間的安全訪問服務,則可以考慮ExtranetVPN。隨著信息時代的到來,各個企業(yè)越來越重視各種信息的處理。希望可以提供給客戶最快捷方便的信息服務,通過各種方式了解客戶的需要,同時各個企業(yè)之間的合作關系也越來越多,信息交換日益頻繁。Internet為這樣的一種發(fā)展趨勢提供了良好的基礎,而如何利用Internet進行有效的信息管理,是企業(yè)發(fā)展中不可避免的一個關鍵問題。利用VPN技術可以組建安全的Extranet,既可以向客戶、合作伙伴提供有效的信息服務,又可以保證自身的內部網(wǎng)絡的安全。ExtranetVPN通過一個使用專用連接的共享基礎設施,將客戶、供應商、合作伙伴或興趣群體連接到企業(yè)內部網(wǎng)。企業(yè)擁有與專用網(wǎng)絡的相同政策,包括安全、服務質量(QoS)、可管理性和可靠性。1.3VPN的相關技術當前,有四項技術來保證VPN的安全,分別是隧道技術(Tunneling)、加解密技術(Encryption

Decryption)、密鑰管理技術(Key

Management)、使用者與設備身份認證技術(Authentication)。(1)隧道技術。隧道技術簡單的說就是:原始報文在A地進行封裝,到達B地后把封裝去掉還原成原始報文,這樣就形成了一條由A到B的通信隧道.

使用隧道傳遞的數(shù)據(jù)(或負載)可以是不同協(xié)議的數(shù)據(jù)幀或包。隧道協(xié)議將這些其他協(xié)議的幀或包重新封裝在新的包頭中發(fā)送。新的包頭提供了路由信息,從而使封裝的負載數(shù)據(jù)能夠通過互聯(lián)網(wǎng)絡傳遞.被封裝的數(shù)據(jù)包在隧道的兩個端點之間通過公共互聯(lián)網(wǎng)絡進行路由傳送.被封裝的數(shù)據(jù)包在公共互聯(lián)網(wǎng)絡上傳遞時所經(jīng)過的邏輯路徑稱為隧道.一旦到達網(wǎng)絡終點,數(shù)據(jù)將被解包并轉發(fā)到最終目的地。隧道技術是指包括數(shù)據(jù)封裝、傳輸和解包在內的全過程。

(2)加解密技術。對通過公共互聯(lián)網(wǎng)絡傳遞的數(shù)據(jù)必須經(jīng)過加密,確保其他未授權的用戶無法讀取該信息。加解密技術是數(shù)據(jù)通信中一項較成熟的技術,VPN可直接利用現(xiàn)有技術。

(3)密鑰管理技術.密鑰管理技術的主要任務是如何在公用數(shù)據(jù)網(wǎng)上安全地傳遞密鑰而不被竊取.現(xiàn)行密鑰管理技術又分為SKIP與ISAKMP/OAKLEY兩種。SKIP主要是利用Diffie—Hellman的演算法則,在網(wǎng)絡上傳輸密鑰;在ISAKMP中,雙方都有兩把密鑰,分別用于公用、私用.

(4)使用者與設備身份認證技術。VPN方案必須能夠驗證用戶身份并嚴格控制只有授權用戶才能訪問VPN。另外,方案還必須能夠提供審查和計費功能,顯示何人在何時訪問了何種信息。使用者與設備身份認證技術最常用的是使用者名稱與密碼或卡片式認證等方式.1。3。1

典型的隧道技術協(xié)議

VPN區(qū)別于一般網(wǎng)絡互聯(lián)的關鍵于隧道的建立,然后數(shù)據(jù)包經(jīng)過加密后,按隧道協(xié)議進行封裝、傳送以保安全性。一般,在數(shù)據(jù)鏈路層實現(xiàn)數(shù)據(jù)封裝的協(xié)議叫第二層隧道協(xié)議,常用的有PPTP;在網(wǎng)絡層實現(xiàn)數(shù)據(jù)封裝的協(xié)議叫第三層隧道協(xié)議,如IPSec;還有第4層隧道協(xié)議,如SSL

VPN。下面主要介紹幾種典型的VPN隧道協(xié)議。VPN在隧道的建立上不同于普通的網(wǎng)絡互聯(lián),隧道協(xié)議有很多種,一般情況下,需要按照具體協(xié)議來封裝數(shù)據(jù)包,從而能夠安全的傳送數(shù)據(jù)。(1)PPTP-Point

to

Point

Tunnel

Protocol(點對點隧道協(xié)議)

PPTP是在數(shù)據(jù)鏈路層對數(shù)據(jù)進行封裝,屬于第二層隧道協(xié)議。公司可以在公共網(wǎng)絡上建立自己的“隧道”,PPTP可以在數(shù)據(jù)傳送之前對數(shù)據(jù)進行加密封裝,客戶機和服務器之間可以通過此“隧道”進行通信,安全度得到提高,同時,公司的網(wǎng)絡可以得到擴張。

(2)IPSec-Internet

Protocol

Security(網(wǎng)際協(xié)議安全)IPSec在網(wǎng)絡層對數(shù)據(jù)進行封裝,應用范圍廣泛,通信安全透明,屬于第三層隧道協(xié)議。該協(xié)議最大的特點是應用了密碼技術,可以通過認證來分辨主機與端點的身份,可以通過檢查數(shù)據(jù)包的完整性保證通信質量,可以對IP地址和數(shù)據(jù)加密從而保證通信安全。除此之外,IPSec也可以同其他層的協(xié)議進行連接,可以保障最大限度的安全傳輸信息。

(3)SSL

—Secure

Socket

Layer(安全套接層協(xié)議層)

SSL為Netscape所研發(fā),在傳輸層對網(wǎng)絡連接進行加密,用以保障在數(shù)據(jù)在Internet上傳輸?shù)陌踩?,利用?shù)據(jù)加密(Encryption)技術,可確保數(shù)據(jù)在網(wǎng)絡上之傳輸過程中不會被截取及竊聽。SSL協(xié)議可以認證用戶和服務器,保證數(shù)據(jù)發(fā)送到正確的位置;可對數(shù)據(jù)進行加密以防止傳輸過程中數(shù)據(jù)被第三者竊取;可以維護數(shù)據(jù)的在傳輸過程中不被篡改,保障數(shù)據(jù)完整性。需要說明的是,只有3.0版本以上的IE瀏覽器或Netscape瀏覽器可支持SSL。

同時,SSL有利于在消費者方面對商家的信息進行保密,因此隨著更多的小型公司參與到電子上午當中,協(xié)議對商家的袒護便暴露出來,造成其并不能有效的協(xié)調交易各方之間的信任關系,因此,Netscape公司提供了一種新功能,它可以對消費者購買商品的表單上進行數(shù)字簽名,從而保證交易信息的確鑿。

1。3.2隧道協(xié)議的比較分析本節(jié)主要就幾種常用的隧道協(xié)議進行比較分析,便于企業(yè)選擇VPN產(chǎn)品時參考。每種隧道協(xié)議都有其獨特的優(yōu)缺點及適用范圍。

PPTP最適合用于遠程訪問虛擬專用網(wǎng),其對使用微軟操作系統(tǒng)的用戶來說很方便,因為微軟已把它作為路由軟件的一部分.PPTP支持其他網(wǎng)絡協(xié)議和流量控制,它通過減少丟棄包來改善網(wǎng)絡性能,這樣可減少重傳。然而PPTP并未對兩節(jié)點間的信息傳輸進行監(jiān)視或控制.并且其對最多連接用戶數(shù)有限制,必須低于255。同時,用戶需要自己建立加密信道,步驟繁瑣。

IPSec適用于可信的LAN到LAN之間的虛擬專用網(wǎng).

IPSec支持多種加密算法,可保障防火墻和服務器之間的安全性.但IPSec仍然存在一些問題,其需要固定的IP地址,因此并不適用于動態(tài)IP。同時,IPSec可支持協(xié)議單一,并且智能使用包過濾的訪問控制方法.

SSL最適合于用戶在只有Web的情況下應用VPN。用戶并不需要安裝客戶端軟件,就可通過瀏覽器和VPN進行連接.而且SSL對配置要求低,只要瀏覽器支持SSL,便可在保證高安全性的情況下使用。然而其功能也就只限于此,對于非SSL的業(yè)務支持則較顯乏力。

下面,如圖1—2所示,對SSL

VPN

與IPSec

VPN的主要性能進行比較。圖1—2

SSLVPN

與IPSec

VPN的比較1。4VPN技術的優(yōu)點1.4.1安全保障雖然實現(xiàn)VPN的技術和方式很多,但所有的VPN均應保證通過公用網(wǎng)絡平臺傳輸數(shù)據(jù)的專用性和安全性。在非面向連接的公用IP網(wǎng)絡上建立一個邏輯的、點對點的連接,稱之為建立一個隧道,可以利用加密技術對經(jīng)過隧道傳輸?shù)臄?shù)據(jù)進行加密,以保證數(shù)據(jù)僅被指定的發(fā)送者和接收者了解,從而保證了數(shù)據(jù)的私有性和安全性。在安全性方面,由于VPN直接構建在公用網(wǎng)上,實現(xiàn)簡單、方便、靈活,但同時其安全問題也更為突出。企業(yè)必須確保其在VPN上傳送的數(shù)據(jù),不被攻擊者窺視和篡改,并且要防止非法用戶對網(wǎng)絡資源或私有信息的訪問.ExtranetVPN將企業(yè)網(wǎng)擴展到了合作伙伴和客戶,但同時也對安全性提出了更高的要求。1。4。2服務質量保證(QoS)VPN網(wǎng)應當為企業(yè)數(shù)據(jù),提供不同等級的服務質量保證。不同的用戶和業(yè)務對服務質量保證要求的差別較大。如移動辦公用戶,提供廣泛的連接和覆蓋性是保證VPN服務的一個主要因素;而對于擁有眾多分支機構的專線VPN網(wǎng)絡,交互式的內部企業(yè)網(wǎng)應用,則要求網(wǎng)絡能提供良好的穩(wěn)定性;對于其他應用(如視頻等)則對網(wǎng)絡提出了更明確的要求,如網(wǎng)絡時延及誤碼率等。所有以上網(wǎng)絡應用,均要求網(wǎng)絡根據(jù)需要提供不同等級的服務質量。在網(wǎng)絡優(yōu)化方面,構建VPN的另一重要需求是充分有效地利用有限的廣域網(wǎng)資源,為重要數(shù)據(jù)提供可靠的帶寬。廣域網(wǎng)流量的不確定性使其帶寬的利用率很低,在流量高峰時容易引起網(wǎng)絡阻塞,產(chǎn)生網(wǎng)絡瓶頸,使實時性要求高的數(shù)據(jù)得不到及時發(fā)送;而在流量低谷時又容易造成大量網(wǎng)絡帶寬空閑。QoS通過流量預測與流量控制策略,可以按照優(yōu)先級分配帶寬資源,實現(xiàn)帶寬管理,使得各類數(shù)據(jù)能夠被合理地先后發(fā)送,并預防阻塞的發(fā)生。第2章

IPSec技術基礎2。1

IPSec簡介

IPSec(1PSecurity)產(chǎn)生于IPv6的制定之中,用于提供IP層的安全性。由于所有支持TCP/IP協(xié)議的主機進行通信時,都要經(jīng)過IP層的處理,所以提供了IP層的安全性就相當于為整個網(wǎng)絡提供了安全通信的基礎。鑒于IPv4的應用仍然很廣泛,所以后來在IPSec的制定中也增添了對IPv4的支持。最初的一組有關IPSec標準由IETF在1995年制定,但由于其中存在一些未解決的問題,從1997年開始IETF又開展了新一輪的IPSec的制定工作,截止至1998年11月份主要協(xié)議已經(jīng)基本制定完成。不過這組新的協(xié)議仍然存在一些問題,預計在不久的將來IETF又會進行下一輪IPSec的修訂工作。IPSec的工作原理(如圖2—1所示)類似于包過濾防火墻,可以看作是對包過濾防火墻的一種擴展。當接收到一個IP數(shù)據(jù)包時,包過濾防火墻使用其頭部在一個規(guī)則表中進行匹配。當找到一個相匹配的規(guī)則時,包過濾防火墻就按照該規(guī)則制定的方法對接收到的IP數(shù)據(jù)包進行處理。這里的處理工作只有兩種:丟棄或轉發(fā)圖2-1IPSec工作原理示意圖IPSec是一種用來保護內部網(wǎng)、專用網(wǎng)絡以及外部網(wǎng)(Internet、Extranet)免遭攻擊的重要防御方法,主要特征在于它可對所有IP級的通信進行加密和認證,正是這一點才使IPSec可以確保包括遠程登錄、客戶/服務器、電子郵件、文件傳輸及Web訪問在內的多種應用程序的安全.由于企業(yè)及政府用戶非常注重于部署安全的IP,所以這一服務顯得很重要.2.2

IPSec體系結構如圖2-2IPSec體系結構圖圖2-2IPSec體系結構圖2.2.1

IPSec

AH(認證頭協(xié)議)

IPSec

AH(IPSec

AH:IPSec

Authentication

Header)認證頭協(xié)議是

IPSec

體系結構中的一種主要協(xié)議。(如圖2—3所示)它為IP數(shù)據(jù)報提供無連接完整性與數(shù)據(jù)源認證,并提供保護以避免重播情況。一旦建立安全連接,接收方就可能會選擇后一種服務。AH盡可能為IP頭和上層協(xié)議數(shù)據(jù)提供足夠多的認證。但是,在傳輸過程中某些IP頭字段會發(fā)生變化,且發(fā)送方無法預測當數(shù)據(jù)包到達接受端時此字段的值.AH并不能保護這種字段值。因此,AH提供給IP頭的保護有些是零碎的。AH可被獨立使用,或與IP封裝安全負載(ESP)相結合使用,或通過使用隧道模式的嵌套方式。在通信主機與通信主機之間、通信安全網(wǎng)關與通信安全網(wǎng)關之間或安全網(wǎng)關與主機之間可以提供安全服務。ESP提供了相同的安全服務并提供了一種保密性(加密)服務,而ESP與AH各自提供的認證其根本區(qū)別在于它們的覆蓋范圍。特別地,不是由ESP封裝的IP頭字段則不受ESP保護.通常,當用與IPv6時,AH出現(xiàn)在IPv6逐跳路由頭之后IPv6目的選項之前.而用于IPv4時,AH跟隨主IPv4頭。圖2—3認證頭協(xié)議示意圖2.2.2

IPSec

ESP:封裝安全負載

IPSec

ESP(

IPSec

Encapsulating

Security

Payload)封裝安全負載是IPSec體系結構中的一種主要協(xié)議,其主要設計來在IPv4和IPv6中提供安全服務的混合應用.IPSecESP通過加密需要保護的數(shù)據(jù)以及在IPSec

ESP的數(shù)據(jù)部分放置這些加密的數(shù)據(jù)來提供機密性和完整性。根據(jù)用戶安全要求,這個機制既可以用于加密一個傳輸層的段(如:TCP、UDP、ICMP、IGMP),也可以用于加密一整個的IP數(shù)據(jù)報.封裝受保護數(shù)據(jù)是非常必要的,這樣就可以為整個原始數(shù)據(jù)報提供機密性ESP頭可以放置在IP頭之后、上層協(xié)議頭之前(傳送層),或者在被封裝的IP頭之前(隧道模式)。IANA分配給ESP一個協(xié)議數(shù)值

50,在ESP頭前的協(xié)議頭總是在“next

head”字段(IPv6)或“協(xié)議”(IPv4)字段里包含該值50.ESP

包含一個非加密協(xié)議頭,后面是加密數(shù)據(jù)。該加密數(shù)據(jù)既包括了受保護的ESP頭字段也包括了受保護的用戶數(shù)據(jù),這個用戶數(shù)據(jù)可以是整個IP數(shù)據(jù)報,也可以是IP的上層協(xié)議幀(如:TCP或UDP)。ESP提供機密性、數(shù)據(jù)源認證、無連接的完整性、抗重播服務(一種部分序列完整性的形式)和有限信息流機密性。所提供服務集由安全連接(SA)建立時選擇的選項和實施的布置來決定,機密性的選擇與所有其他服務相獨立。但是,使用機密性服務而不帶有完整性/認證服務(在ESP或者單獨在AH中)可能使傳輸受到某種形式的攻擊以破壞機密性服務。數(shù)據(jù)源驗證和無連接的完整性是相互關聯(lián)的服務,它們作為一個選項與機密性(可選擇的)結合提供給用戶.只有選擇數(shù)據(jù)源認證時才可以選擇抗重播服務,由接收方單獨決定抗重播服務的選擇。2。2.3IPSec

IKE(密鑰交換協(xié)議)

Internet

IPSec

IKE

密鑰交換(IPSec

IKE:

Internet

Key

Exchange

Protocol)是IPSec體系結構中的一種主要協(xié)議(如圖2-4所示).它是一種混合協(xié)議,使用部分Oakley和部分

SKEME,并協(xié)同ISAKMP

提供密鑰生成材料和其它安全連系,比如用于IPSec

DOI的AH和ESP.圖2-4密鑰交換機制IKE

是一系列密鑰交換中的一種,稱為“模式”.IKE

可用于協(xié)商虛擬專用網(wǎng)(VPN),也可用于遠程用戶(其IP地址不需要事先知道)訪問安全主機或網(wǎng)絡,支持客戶端協(xié)商.客戶端模,式即為協(xié)商方不是安全連接發(fā)起的終端點。當使用客戶模式時,端點處身份是隱藏的.IKE的實施必須支持以下的屬性值:

(1)DES用在CBC模式,使用弱、半弱、密鑰檢查。(2)MD5[MD5]和SHA[SHA]。(3)通過預共享密鑰進行認證。(4)缺省的組1上的

MODP.

另外,IKE的實現(xiàn)也支持3DES加密;用Tiger[TIGER]作為hash;數(shù)字簽名標準,RSA[RSA],使用RSA公共密鑰加密的簽名和認證;以及使用組2進行MODP。IKE實現(xiàn)可以支持其它的加密算法,并且可以支持ECP和EC2N

組.

SecISAKMP(安全連接和密鑰管理協(xié)議)

Interne

安全連接和密鑰管理協(xié)議(ISAKMP)是

IPSec

體系結構中的一種主要協(xié)議。該協(xié)議結合認證、密鑰管理和安全連接等概念來建立政府、商家和因特網(wǎng)上的私有通信所需要的安全。因特網(wǎng)安全聯(lián)盟和密鑰管理協(xié)議(ISAKMP)定義了程序和信息包格式來建立,協(xié)商,修改和刪除安全連接(SA)。SA包括了各種網(wǎng)絡安全服務執(zhí)行所需的所有信息,這些安全服務包括IP層服務(如頭認證和負載封裝)、傳輸或應用層服務,以及協(xié)商流量的自我保護服務等.ISAKMP定義包括交換密鑰生成和認證數(shù)據(jù)的有效載荷。這些格式為傳輸密鑰和認證數(shù)據(jù)提供了統(tǒng)一框架,而它們與密鑰產(chǎn)生技術,加密算法和認證機制相獨立。ISAKMP區(qū)別于密鑰交換協(xié)議是為了把安全連接管理的細節(jié)從密鑰交換的細節(jié)中徹底的分離出來。不同的密鑰交換協(xié)議中的安全屬性也是不同的.然而,需要一個通用的框架用于支持SA屬性格式,談判、修改與刪除SA,ISAKMP

即可作為這種框架。把功能分離為三部分增加了一個完全的ISAKMP實施安全分析的復雜性.然而在有不同安全要求且需協(xié)同工作的系統(tǒng)之間這種分離是必需的,而且還應該對ISAKMP服務器更深層次發(fā)展的分析簡單化.ISAKMP

支持在所有網(wǎng)絡層的安全協(xié)議(如:IPSEC、TLS、TLSP、OSPF

等等)的SA協(xié)商.ISAKMP

通過集中管理SA減少了在每個安全協(xié)議中重復功能的數(shù)量.ISAKMP還能通過一次對整個棧協(xié)議的協(xié)商來減少建立連接的時間。ISAKMP中,解釋域(DOI)用來組合相關協(xié)議,通過使用ISAKMP協(xié)商安全連接。共享DOI的安全協(xié)議從公共的命名空間選擇安全協(xié)議和加密轉換方式,并共享密鑰交換協(xié)議標識。同時它們還共享一個特定

DOI

的有效載荷數(shù)據(jù)目錄解釋,包括安全連接和有效載荷認證.總之,ISAKMP關于DOI定義如下方面:

(1)特定

DOI

協(xié)議標識的命名模式;(2)位置字段解釋;(3)可應用安全策略集;(4)特定DOISA屬性語法;(5)特定DOI有效負載目錄語法;(6)必要情況下,附加密鑰交換類型;(7)必要情況下,附加通知信息類型.如圖2-5所示協(xié)議結構圖:圖2-5密鑰交換協(xié)議結構Initiator

Cookie

Initiator

Cookie:啟動

SA

建立、SA

通知或

SA

刪除的實體

Cookie。

Responder

Cookie

Responder

Cookie:響應

SA

建立、SA

通知或

SA

刪除的實體

Cookie.

Next

Payload

信息中的

Next

Payload

字段類型。

Major

Version

使用的

ISAKMP

協(xié)議的主要版本。

Minor

Version

使用的

ISAKMP

協(xié)議的次要版本。

Exchange

Type

正在使用的交換類型。

Flags

ISAKMP

交換設置的各種選項。

Message

ID

唯一的信息標識符,用來識別第2階段的協(xié)議狀態(tài)。

Length

全部信息(頭+有效載荷)長(八位)。

2。3

IPSec的運行模式

2.3。1隧道模式隧道模式(Tunneling

Mode)(如圖2—6所示)可以在兩個Security

Gateway間建立一個安全"隧道",經(jīng)由這兩個Gateway

Proxy的傳送均在這個通道中進行.通道模式下的IPSec報文要進行分段和重組操作,并且可能要再經(jīng)過多個安全網(wǎng)關才能到達安全網(wǎng)關后面的目的主機。

通道模式下,除了源主機和目的地主機之外,特殊的網(wǎng)關也將執(zhí)行密碼操作。在這種模式里,許多隧道在網(wǎng)關之間是以系列的形式生成的,從而可以實現(xiàn)網(wǎng)關對網(wǎng)關安全。

通道模式可表示為:|

新IP頭

IPSec頭

IP頭

TCP頭

|

數(shù)據(jù)

|圖2—6隧道模式示意圖2.3.2傳送模式傳送模式(Transport

Mode)(如圖2-7所示)加密的部份較少,沒有額外的IP報頭,工作效率相對更好,但安全性相對于隧道模式會有所降低。

傳送模式下,源主機和目的地主機必須直接執(zhí)行所有密碼操作。加密數(shù)據(jù)是通過使用L2TP(第二層隧道協(xié)議)而生成的單一隧道來發(fā)送的。數(shù)據(jù)(密碼文件)則是由源主機生成并由目的地主機檢索的。

傳送模式可表示為:|

IP頭

IPSec頭

|

TCP頭

|

數(shù)據(jù)

|

2-7傳輸模式示意圖2。4

IPSecVPN的優(yōu)點

(1)IKE使IPSecVPN配置簡單:

簡單的講IKE是一種安全機制,它提供端與端之間的動態(tài)認證.IKE為IPSec提供了自動協(xié)商交換密鑰、建立SA的服務,這能夠簡化IPSec的使用和管理,大大簡化IPSec的配置和維護工作。IKE不是在網(wǎng)絡上直接傳輸密鑰,而是通過一系列數(shù)據(jù)的交換,最終計算出雙方共享的密鑰,有了IKE,IPSec很多參數(shù)(如:密鑰)都可以自動建立,降低了手工配置的復雜度。

(2)IPSecVPN對應用程序的高可擴展性:

所有使用IP協(xié)議進行數(shù)據(jù)傳輸?shù)膽孟到y(tǒng)和服務都可以使用IPSec,由于IPSec工作在OSI的第3層,低于應用程序直接涉及的層級,所以對于應用程序來講,利用IPSec

VPN所建立起來的隧道是完全透明的,無需修改既有的應用程序,并且,現(xiàn)有應用程序的安全解決方法也不會受到任何影響。且當有新的加密算法產(chǎn)生時可以直接移植進IPSec協(xié)議棧。

(3)IPSecVPN加密靈活:

對數(shù)據(jù)的加密是以數(shù)據(jù)包為單位的,而不是以整個數(shù)據(jù)流為單位,這不僅靈活而且有助于進一步提高IP數(shù)據(jù)包的安全性,可以有效防范網(wǎng)絡攻擊。

(4)IPSecVPN將網(wǎng)絡擴展:

IPSecvpn完成使二個專用的網(wǎng)絡組合成一個虛擬網(wǎng)絡的無縫連接。將虛擬網(wǎng)絡擴展成允許遠程訪問用戶(也被稱為road

warriors)成為可信任網(wǎng)絡的一部分。第3章基于IPSecVPN

的設計方案3。1設計背景某金融機構早2000年就已經(jīng)實現(xiàn)了業(yè)務的電子化和辦公自動化,并基本完成了全省范圍內各級公司的2MB數(shù)字線路連接,保障各地區(qū)分公司之間業(yè)務順利運行。隨著金融網(wǎng)點之間競爭的加劇,為保障各地金融網(wǎng)點間信息傳輸?shù)陌踩裕Mㄟ^Internet上傳輸?shù)臄?shù)據(jù)具有很大的安全保密性,決定規(guī)劃實施廣域網(wǎng)VPN(IPSec)網(wǎng)絡建設規(guī)劃。3.2需求分析需求1:實施開放的VPN安全協(xié)議IPSec分析1:路由器支持業(yè)界最安全的加密協(xié)議IPSec,保障數(shù)據(jù)在傳輸過程中的安全。需求2:靜態(tài)路由。分析2:專線連接,靜態(tài)路由由精確指引網(wǎng)絡數(shù)據(jù)流量.3。3仿真實驗設備選型核心設備:C3745路由器1臺(R1)接入設備:C3745路由器1臺C(R2),3745路由器1臺(R3),交換機3臺(SW1、SW2、SW3).實驗PC:3臺(總公司、分公司A、分公司B)該實驗采用三臺路由器分別命名為R1、R2、R3,其中R1用作VPNserver,R2、R3用作VPNClient;串口線2條,直連線6條;在每臺路由器內部分別部署一臺測試PC,IP地址為路由器內部網(wǎng)絡。3。4網(wǎng)絡拓撲設計如圖3-1所示為某金融機構企業(yè)內部大型網(wǎng)絡拓撲如圖3-1網(wǎng)絡拓撲圖3。5IP地址規(guī)劃表3-1IP地址規(guī)劃設備設備端口號IP地址、子網(wǎng)掩碼備注R1f0/0192。168。2.254/24\S0/010.0.0。6/30\S0/110.0。0.10/30\R2S0/010。0。0。5/30\f0/0192。168。0。254/24\R3S0/110。0。0。9/30\f0/0192。168。1。254/24\PC(分公司A)Sw1接口2192.168。0。1/24Sw1PC(分公司B)Sw2接口2192。168.1。1/24Sw2PC(總公司)Sw3接口2192.168。2。1/24Sw3第4章基于IPSecVPN

的配置方案4.1路由器的基本配置R1路由器的基本配置ConftHostname總部EnablepasswordstarInts0/1NoshutExitInts0/0NoshutExitIntfa0/0Ipadd192。168.2.254255。255。255.252NoshutExitIproute255.255。255。010.0。0.5proute192.168.1。0255.255。255。010。0。0。9Linevty04PasswordstarLoginEndR2路由器的基本配置ConftHostnameR2EnablepasswordstarIntfa0/0Ipadd192.168。0。254255.255.255。252NoshutExitInts0/0NoshutExitIproute0.0。0.010。0。0.6Linevty04PasswordstarLoginEndR3路由器的基本配置ConftHostnameR3EnablepasswordstarIntfa0/0Ipadd192。168.1。254255。255.255。0NoshutExitInts0/1ExitLinevty04PasswordstarLoginEnd4.2VPN基本配置(1)配置總部R1IKEPhaseIPolicyCryptoisakmppolicy10//設定路由圖策略,確保兩端的IKE配置一致Authentiantionpre—share//設置為共享認證模式Hashmd5//hash散列算法設定為MD5Group2//設定Diffie—Hellman組標識ExitCryptoisakmpkeystaraddress10。0.0。5//指定對端VPN設備的預共享密鑰和IP地址,確保兩邊的預共享密鑰一致配置總部R1IKEPhaseIIPolicyCryptoipsectransform—setstar—netesp-desesp—md5-hmac//啟用ESP加密安全IPSec轉換規(guī)則Access-list101permitip192。168.2。00.0。0。255192.168.0。00。0。0.255//通過路由器的VPN感興趣流控制列表Access—list102permitip0.0。0。255192。168.1。00.0。0。255//通過路由器的VPN感興趣流控制列表Cryptomapstar—net10ipsec-isakmp//指定加密圖名稱啟用IPSecSetpeer10。0。0.5//建立VPN對等體Settransform-setstar-net//設定加密圖匹配IPSec轉換規(guī)則Matchaddress101//設定加密圖匹配VPN感興趣流列表ExitCryptomapstar-net20ipsec-isakmp//定義加密圖策略Setpeer10.0.0。9//建立VPN對等體Settransform—setstar—net//設定加密圖匹配IPSec轉換規(guī)則Matchaddress102//設定加密圖匹配VPN感興趣流列表Exit(3)配置R2IKEPhaseIPolicyCryptoisakmppolicy10//設定路由圖策略,確保兩端的IKE配置一致Authentiantionpre-share//設置為共享認證模式Hashmd5//hash散列算法設定為MD5Group2//設定Diffie-Hellman組標識ExitCryptoisakmpkeystaraddress10.0。0。6//指定對端VPN設備的預共享密鑰和IP地址,確保兩邊的預共享密鑰一致配置R2IKEPhaseIIPolicyCryptoipsectransform—setstar-netesp-desesp—md5-hmac//啟用ESP加密安全IPSec轉換規(guī)則Cryptomapstar—net10ipsec—isakmp//指定加密圖名稱啟用IPSecSetpeer//建立VPN對等體Settransform-setstar-net//設定加密圖匹配IPSec轉換規(guī)則Matchaddress101//設定加密圖匹配VPN感興趣流列表ExitAccess—listpermitip10.1。2.00.0。0。25510。1.1。00。0.0。255(5)配置R3IKEPhaseIPolicyCryptoisakmppolicy10//設定路由圖策略,確保兩端的IKE配置一致Authentiantionpre-share//設置為共享認證模式Hashmd5//hash散列算法設定為MD5Group2//設定Diffie-Hellman組標識ExitCryptoisakmpkeystaraddress10。0。0。10//指定對端VPN設備的預共享密鑰和IP地址,確保兩邊的預共享密鑰一致(6)配置R3IKEPhaseIIPolicyCryptoipsectransform-setstar—netesp-desesp-md5-hmac//啟用ESP加密安全IPSec轉換規(guī)則Cryptomapstar-net10ipsec-isakmp//指定加密圖名稱啟用IPSecSetpeer10。0.0.10//建立VPN對等體Settransform-setstar—net//設定加密圖匹配IPSec轉換規(guī)則Matchaddress101//設定加密圖匹配VPN感興趣流列表Exit4。3網(wǎng)絡接口啟用VPN配置總部R1網(wǎng)絡接口s0/0,s0/1啟用VPNInts0/1Ipadd10。0.0。10255.255.255。252NoshutCryptomapstar—netExitInts0/0Ipadd10.0。0。6255。255。255.252Cryptomapstar-netExit配置R2網(wǎng)絡接口s0/0啟用VPNInts0/0Ipadd10.0.0。5255。255。255。252Cryptomapstar—netExit配置R3網(wǎng)絡接口s0/0啟用VPN功能Ints0/1Ipadd10。0.0.9255.255。255。252Cryptomapstar—netExit第5章VPN測試(1)通過測試PC之間的通信,測試VPM功能。此次測試我們從R2624—B內部主機192。168。0.2/24使用ping命令ping3642-A內部主機192。168。2.2,ping使用參數(shù)“—t”。(2)在路由器上打開Debugcryptoisakmp和DebugcryptoIPSec兩條Debug命令,可以看到相關調試信息。VPN連接成功的Debug信息R2624—B#Getacquire:192.168。0。0/0。0。0.255—>192。168。2。0/0。0.0.255,prot0,prot0/0--—-—發(fā)出第一個協(xié)商消息mainI1(33)beginningMainModeexchanege(33)sendingpacketto10。0。0.6(I)MM_SI1_WR1,MM_SA_SETUPSendoutmainI1,andwaitR1(33)receivedpacketfrom10。0。0.6—〉10.0。0。5,(I)MM_SI1_WR1,MM_SA_SETUP-——-—處理對方響應消息MR1Exchangetype:Ox2Payloadformat:〈Hdr>,〈sa〉Mainrlprocess(33)CheckingISAKMPtransform1againstpriority10policy——--—-檢查響應對方回來的IKE協(xié)商策略encryptionDES—CBCHashMD5Authpre—sharegroup2lifetypeinsecondslifeduration86400orginal:

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論