html模版在fedora中保證數據傳輸安全的VPN技術
隨著網絡通信技術的發展和網絡應用的不斷湧現,越來越多的用戶數據和企業信息在互聯網進行傳送。隨之而來的是越來越多的黑客和網絡威脅,他們對這些機密、敏感的數據采用各種手段進行竊取、篡改和破壞,從而達到其不可告人的目的。因此,通信數據的安全性受到前所未有的挑戰。鑒於這個目的,保證數據傳輸安全的VPN技術應運而生。

VPN技術原理

虛擬專用網可以幫助遠程用戶、公司分支機構、商業夥伴及供應商同公司的內部網建立可信的安全連接,並保證數據的安全傳輸。通過將數據流轉移到低成本的壓網絡上,一個企業的虛擬專用網解決方案將大幅度地減少用戶花費在城域網和遠程網絡連接上的費用。同時,這將簡化網絡的設計和管理,加速連接新的用戶和網站。另外,虛擬專用網還可以保護現有的網絡投資。隨著用戶的商業服務不斷發展,企業的虛擬專用網解決方案可以使用戶將精力集中到自己的生意上,而不是網絡上。虛擬專用網可用於不斷增長的移動用戶的全球因特網接入,以實現安全連接;可用於實現企業網站之間安全通信的虛擬專用線路,用於經濟有效地連接到商業夥伴和用戶的安全外聯網虛擬專用網。

虛擬專用網至少應能提供如下功能:

加密數據,以保證通過公網傳輸的信息即使被他人截獲也不會泄露。

信息認證和身份認證,保證信息的完整性、合法性,並能鑒別用戶的身份。

提供訪問控制,不同的用戶有不同的訪問權限。

VPN具有以下優點:

(1)降低成本:企業不必租用長途專線建設專網,不必大量的網絡維護人員和設備投資。利用現有的公用網組建的Intranet,要比租用專線或鋪設專線要節省開支,而且當距離越遠時節省的越多。如:某企業的北京與紐約分部之間的連接,不太可能自鋪專線;當一個遠程用戶在紐約想要連到北京的Intranet,用撥號訪問時,花的是國際長途話費;而用VPN技術時,隻需在紐約和北京分別連接到當地的Internet就實現瞭互聯,雙方花的都是市話費。

(2)容易擴展:網絡路由設備配置簡單,無需增加太多的設備,省時省錢。對於發展很快的企業來說,VPN就更是不可不用瞭。如果企業組建自己的專用網,在擴展網絡分支時,要考慮到網絡的容量,架設新鏈路,增加互聯設備,升級設備等;而實現瞭VPN就方便多瞭,隻需連接到公用網上,對新加入的網絡終端在邏輯上進行設置,也不需要考慮公用網的容量問題、設備問題等。

(3)完全控制主動權:VPN上的設施和服務完全掌握在企業手中。例如,企業可以把撥號訪問交給NSP去做,由自己負責用戶的查驗、訪問權、網絡地址、安全性和網絡變化管理等重要工作。

二、 VPN的分類

VPN的分類方式比較混亂。不同的生產廠傢在銷售它們的VPN產品時使用瞭不同的分類方式,它們主要是產品的角度來劃分的。不同的ISP在開展VPN業務時也推出瞭不同的分類方式,他們主要是從業務開展的角度來劃分的。而用戶往往也有自己的劃分方法,主要是根據自己的需求來進行的。下面簡單介紹從不同的角度對VPN的分類。

1.按接入方式劃分

這是用戶和運營商最關心的VPN劃分方式。一般情況下,用戶可能是專線上(因特)網的,也可能是撥號上網的,這要根據擁護的具體情況而定。建立在IP網上的VPN也就對應的有兩種接入方式:專線接入方式和撥號接入方式。

(1)專線VPN:它是為已經通過專線接入ISP邊緣路由器的用戶提供的VPN解決方案。這是一種 永遠在線 的VPN,可以節省傳統的長途專線費用。

(2)撥號VPN(又稱VPDN):它是向利用撥號PSTN或ISDN接入ISP的用戶提供的VPN業務。這是一種 按需連接 的VPN,可以節省用戶的長途電話費用。需要指出的是,因為用戶一般是漫遊用戶,是 按需連接的,因此VPDN通常需要做身份認證(比如利用CHAP和RADIUS)

2.按協議實現類型劃

這是VPN廠商和ISP最為關心的劃分方式。根據分層模型,VPN可以在第二層建立,也可以在第三層建立(甚至有人把在更高層的一些安全協議也歸入VPN協議。)

(1)第二層隧道協議:這包括點到點隧道協議(PPTP)、第二層轉發協議(L2F),第二層隧道協議(L2TP)、多協議標記交換(MPLS)等。

(2)第三層隧道協議:這包括通用路由封裝協議(GRE)、IP安全(IPSec),這是目前最流行的兩種三層協議。

第二層和第三層隧道協議的區別主要在於用戶數據在網絡協議棧的第幾層被封裝,其中GRE、IPSec和MPLS主要用於實現專線VPN業務,L2TP主要用於實現撥號VPN業務(但也可以用於實現專線VPN業務),當然這些協議之間本身不是沖突的,而是可以結合使用的。

3.按VPN的發起方式劃分

這是客戶和IPS最為關心的VPN分類。VPN業務可以是客戶獨立自主實現的,也可以是由ISP提供的。

(1)發起(也稱基於客戶的):VPN服務提供的其始點和終止點是面向客戶的,其內部技術構成、實施和管理對VPN客戶可見。需要客戶和隧道服務器(或網關)方安裝隧道軟件。客戶方的軟件發起隧道,在公司隧道服務器處終止隧道。此時ISP不需要做支持建立隧道的任何工作。經過對用戶身份符(ID)和口令的驗證,客戶方和隧道服務器極易建立隧道。雙方也可以用加密的方式通信。隧道一經建立,用戶就會感覺到ISP不在參與通信。

(2)服務器發起(也稱客戶透明方式或基於網絡的):在公司中心部門或ISP處(POP、Point of presence)安裝VPN軟件,客戶無須安裝任何特殊軟件。主要為ISP提供全面管理的VPN服務,服務提供的起始點和終止點是ISP的POP,其內部構成、實施和管理對VPN客戶完全透明。

在上面介紹的隧道協議中,目前MPLS隻能用於服務器發起的VPN方式。

4.按VPN的服務類型劃分

根據服務類型,VPN業務大致分為三類:接入VPN(Access VPN)、內聯網VPN(Intranet VPN)和外聯網VPN(Extranet VPN)。通常情況下內聯網VPN是專線VPN。

(1)接入VPN:這是企業員工或企業的小分支機構通過公網遠程訪問企業內部網絡的VPN方式。遠程用戶一般是一臺計算機,而不是網絡,因此組成的VPN是一種主機到網絡的拓撲模型。需要指出的是接入VPN不同於前面的撥號VPN,這是一個容易發生混淆的地方,因為遠程接入可以是專線方式接入的,也可以是撥號方式接入的。

(2)內聯網VPN:這是企業的總部與分支機構之間通過公網構築的虛擬網,這是一種網絡到網絡以對等的方式連接起來所組成的VPN.

(3)外聯網VPN:這是企業在發生收購、兼並或企業間建立戰略聯盟後,使不同企業間通過公網來構築的虛擬網。這是一種網絡到網絡以不對等的方式連接起來所組成的VPN(主要在安全策略上有所不同)。

5.按承載主體劃分

營運VPN業務的企業;既可以自行建設他們的VPN網絡,也可以把此業務外包給VPN商。這是客戶和ISP最關心的問題。

(1)自建VPN:這是一種客戶發起的VPN.企業在駐地安裝VPN的客戶端軟件,在企業網邊緣安裝VPN網關軟件,完全獨立於營運商建設自己的VPN網絡,運營商不需要做任何對VPN的支持工作。企業自建VPN的好處是它可以直接控制VPN網絡,與運營商獨立,並且VPN接入設備也是獨立的。但缺點是VPN技術非常復雜,這樣組建的VPN成本很高,QoS也很難保證。

(2)外包VPN:企業把VPN服務外包給運營商,運營商根據企業的要求規劃、設計、實施和運維客戶的VPN業務。企業可以因此降低組建和運維VPN的費用,而運營商也可以因此開拓新的IP業務增值服務市場,獲得更高的收益,並提高客戶的保持力和忠誠度。筆者將目前的外包VPN劃分為兩種:基於網絡的VPN和基於CE(用戶邊緣設備)的管理型VPN(Managed VPN)。基於網絡的VPN通常在運營商網絡的呈現點(POP)安裝電信級VPN交換設備。基於CE的管理型VPN業務是一種受信的第三方負責設計企業所希望的VPN解決方案,並代表企業進行管理,所使用的安全網關(防火墻、路由器等)位於用戶一側。

6.按VPN業務層次模型劃分

這是根據ISP向用戶提供的VPN服務工作在第幾層來劃分的(註意不是根據隧道協議工作在哪一層劃分的)。

(1)撥號VPN業務(VPDN):這是第一種劃分方式中的VPDN(事實上是按接入方式劃分的,因為很難明確VPDN究竟屬於哪一層)。

(2)虛擬租用線(VLL):這是對傳統的租用線業務的仿真,用IP網絡對租用線進行模擬,而從兩端的用戶看來這樣一條虛擬租用申請註冊商標台中線等價於過去的租用線。

(3)虛擬專用路由網(VPRN)業務:這是對第三層IP路由網絡的一種仿真。可以把VPRN理解成第三層VPN技術。

(4)虛擬專用局域網段(VPLS):這是在IP廣域網上仿真LAN的技術。可以把VPLS理解成一種第二層VPN技術。

三、 使用OpenVPN

OpenVPN 是一個強大、高度可配置、基於ssl的 VPN (Virtual Private Network)Open Source 軟件。它具有多種的驗證方式以及許多強大的功能。OpenVPN工作在OSI模型的第2或第3層,使用SSL/TLS協議進行網絡傳輸。支持多種客戶認證方法,如證書、smart cards,加上用戶名密碼的證書認證等。除此以外,還有強大的ACL功能限制客戶的信息交換。

OpenVPN可以運行在多種操作系統中,包括:Linux, Windows 2000/XP and higher, OpenBSD, FreeBSD, NetBSD, Mac OS X, and Solaris。通過使用OpenVpn,可以實現:

使用特定udp或tcp端口實現兩臺主機的之間的vpn連接。

實現C/S結構,實現多臺client通過server服務器互連互通。

通過TLS/SSL加密保證數據傳輸的安全。

通過數據的壓縮,提高數據傳輸的速度。

主流Linux的安裝光盤中已經自帶瞭OpenVPN的安裝程序,在系統安裝的時候,用戶可以選擇進行安裝。如果系統安裝時沒有安裝,用戶也可以隨時使用安裝盤進行安裝。為瞭確認系統是否已經安裝該軟件,可以使用如圖 1的命令,進行查看,圖中顯示結果表明系統已經安裝瞭該軟件:



圖 1 查詢OpenVPN的安裝情況

(1)制作證書

1.制作證書前的準備

復制openvpn證書工具包,在安裝完openvpn後,系統會在/etc下建一個openvpn的目錄,這樣我們可以把openvpn證書工具包拷貝到/etc/openvpn目錄下,需要註意如下幾個主要的存放位置:

證書工具包默認位置:/usr/share/openvpn/easy-rsa

準備配置證書位置:/etc/openvpn/

證書生成位置:/etc/openvpn/easy-rsa/2.0/keys

使用命令如下所示:

# cp -r /usr/share/openvpn/easy-rsa /etc/openvpn/

# mkdir /etc/openvpn/easy-rsa/2.0/keys

2.修改vars變量初始化配置文件

編輯easy-rsa/2.0/vars文件,需要進行如下幾個操作:

註釋掉export CA_EXPIRE=3650,在前面加個#號即可

註釋掉export KEY_EXPIRE=3650,在前面加個#號即可

修改證書默認值(如圖 2中白色區域所示)



圖 2 修改vars文件中的相應區域

3.初始化證書庫

主要包括初始化變量庫和清空變量庫兩個步驟,如下所示的命令(參見圖 3):

//初始化變量庫

#./vars

//清空證書庫

#./clean-all



圖 3 初始化證書庫

4.證書驗證機制

執行如下命令,如圖 4所示,在執行過程中,輸入對應的信息,完成後在keys目錄下,會生成ca.crt和ca.key這兩個文件:



圖 4 完成證書驗證機制

5.生成服務器證書

執行./build-key-server server命令,執行完成後在keys目錄下,會生成server.crt、server.csr和server.key這三個文件,如圖 5所示:



圖 5 生成台中商標申請查詢服務器證書

6.生成客戶端證書

在openvpn中,這種配置方法是每一個登陸的VPN客戶端需要有一個證書,每個證書在同一時刻隻能供一個客戶端連接(如果有兩個機器安裝相同證書,同時撥服務器,都能撥上,但是隻有第一個撥上的才能連通網絡)。所以需要建立許多份證書。執行./build-key vpn_client1命令將執行完成後在keys目錄下,會生成vpn_client1.crt、vpn_client1.csr和vpn_client1.key這三個文件,如圖 6所示:



圖 6 為客戶端vpn_client1生成客戶端證書

一個服務器端可以配多個客戶端證書,但是每個客戶端都不能一樣,主要體現在Common Name這裡,每一個客戶端的Common Name都必須不一樣,用戶可以再繼續建出多個客戶端證書,如下所示:

#./build-key vpn_client2

#./build-key vpn_client3

7.編譯證書

采用./build-dh命令將剛剛生成出來的證書和鑰匙等等進行瞭一次加密算法,然後證書和鑰匙都準備好瞭,此時在keys目錄下,會生成dh1024.pem文件。如圖 7所示:



圖 7 編譯證書

(2)配置服務端

如果以上所述的七步都運行正常的情況下,用戶就開始配置服務端瞭,如果中間過程有出現什麼問題,建議清空證書庫,重新來過,執行./clean-all來清空庫即可。

配置客戶端需要執行如下幾個步驟:

(1)首先把幾個證書、鑰匙和驗證機制都拷貝到/etc/openvpn目錄下,如下命令所示:

# cp /etc/openvpn/easy-rsa/2.0/keys/ca.crt /etc/openvpn/

# cp /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem /etc/openvpn/

# cp /etc/openvpn/easy-rsa/2.0/keys/server.crt /etc/openvpn/

# cp /etc/openvpn/easy-rsa/2.0/keys/server.key /etc/openvpn/

(2)然後把服務器的配置文件拷貝到/etc/openvpn目錄下,如下所示:

# cp /usr/share/doc/openvpn-2.1/sample-config-files/server.conf /etc/openvpn/

(3)編輯/etc/openvpn/server.conf配置文件,去掉下述選項前面的;分號,以使其生效:

;user nobody

;group nobody

(4)啟動openvpn,查看一下端口1194是否已開放,如果1194已開放那就表明openvpn服務端已經配置成功瞭,如下所示:

#/etc/init.d/openvpn start

(5)設置開機自啟動openvpn,使用如下命令,找到openvpn服務(如圖 8所示),並選中服務確認即可,下次系統啟動的時候會自動加載openvpn服務:

#ntsysv



圖 8 設置OpenVPN開機啟動

(6)設置防火墻,使得VPN流量能夠正常通過。在系統管理中,打開防火墻配置,開啟OpenVPN和SSH(前面打溝即可),如圖 9所示:



圖 9 設置防火墻

(3) 配置客戶端

配置客戶端vpn_client1需要使用源代碼包目錄sample-config-files裡的client.conf 修改即可,如下片段所示:

client

dev tun

proto tcp

remote IP_address port

resolv-retry infinite

nobind

user nobody

group nobody

persist-key

persist-tun

ca ca.crt

cert vpn_client1.crt。

key vpn_client1.key

#comp-lzo

其中,主要考慮如下幾個參數的設定:

proto tcp或proto udp:和server.conf 一致即可

remote IP_address port:指定vpn server 的IP 地址和端口

cert vpn_client1.crt和key vpn_client1.key:這2 行填給vpn_client1生成的密鑰文件

通過如上配置後,就可以使用OpenVPN進行安全通信瞭。

(4)一個具體的配置實例

假設要搭建一個VPN服務,VPN服務端是有兩個IP地址,其中eth0(172.16.6.79)提供VPN服務,由外部通過172.31.16.0/24通過1194端口撥入,然後通過eth1(192.168.253.79)訪問192.168.253.0/24去維護服務器。

具體的配置如下:

1.服務器端配置

vpn server 的目錄/etc/openvpn 下有文件ca.crt,ca.key,dh1024.pem,server.crt,server.key和server.conf 以及子目錄ccd。/etc/openvpn/ccd 目錄下有文件client1,client2 和client3。

(1)/etc/openvpn/server.conf 內容如下:

;local a.b.c.d

port 1194

proto tcp

dev tun

ca ca.crt

cert server.crt

key server.key # This file should be kept secret

dh dh1024.pem

server 10.8.0.0 255.255.255.0

ifconfig-pool-persist ipp.txt

keepalive 10 120

comp-lzo

user nobody

group nobody

persist-key

persist-tun

status openvpn-status.log

verb 3

client-config-dir ccd

#使vpn clients 能訪問vpn server 內部網段計算機

push route 172.16.6.0 255.255.255.0

route 172.31.13.0 255.255.255.0

(2)/etc/openvpn/ccd/client1 內容如下:

ifconfig-push 10.8.0.5 10.8.0.6

iroute 172.31.13.0 255.255.255.0

2.客戶機端配置

vpn client1 的目錄/etc/openvpn 下有文件ca.crt,ca.key client1.crt,client1.key 和client1.conf。

/etc/openvpn/client1.conf 內容如下:

Client

dev tun

proto udp

remote 172.16.6.79 1194

resolv-retry infinite

nobind

user nobody

group nobody

persist-key

persist-tun

ca ca.crt

cert client1.crt

key client1.key

comp-lzo

verb 3

keepalive 10 120

台中註冊商標流程

台灣電動床工廠 電動床

台灣電動床工廠 電動床


arrow
arrow

    tdn057f3u4 發表在 痞客邦 留言(0) 人氣()