https://newera17031.activehosted.com/index.php?action=social&chash=ba1b3eba322eab5d895aa3023fe78b9c.2767&nosocial=1
https://newera17031.activehosted.com/index.php?action=social&chash=ba1b3eba322eab5d895aa3023fe78b9c.2767&nosocial=1

觀點

VPN介紹及其軟體使用建議

2012 / 11 / 19
李字宸
VPN介紹及其軟體使用建議

在傳統網際網路時代,跨區域之大型公司為使各地之分公司能與總公司連結以建立公司之內部網路(Intranet),通常需要向網際網路服務提供者(ISP, Internet Service Provider)申請,架設一條專有線路以供企業體專門使用,而牽線之費用隨距離成倍數上升,且每個月所需負擔之網路費用亦高的嚇人,每每令許多中小型企業不勝負荷。而VPN技術的發展即為解決該問題,透過網際網路,利用協定建立專屬通道(tunnel)而達到傳統專有線路之功效;除此之外,公司傳遞檔案大多具有機密性, VPN技術除提供通道技術外,在資料傳輸過程中亦有對資料進行加密及身分驗證等多項保護,使VPN技術現今深受各企業喜愛。

VPN應用類型

VPN 網路之應用類型大致可分為兩類:
1.遠端存取VPN連線(remote access VPN connection)
VPN用戶端可在遠端先與ISP撥接連上網際網路,而後透過ISP與總公司之VPN伺服器進行連線請求以建立VPN連線,如此即可透過該連線安全地傳送資料,使VPN用戶端感覺像身處總公司內部網路般。

2.站台對站台VPN連線(site to site VPN connection)
它又被稱為路由器對路由器VPN連線(router to router VPN connection);該連線方式可透過兩分處不同地區之區域網路,透過雙方之VPN伺服器建立VPN連線,使兩區域網路內之使用者可安全地透過VPN連線來傳送資料。兩地使用者亦感覺身處同一區域一樣方便。此時之VPN伺服器又被稱為VPN閘道器(VPN gateway)。

VPN優點
因此企業應用VPN技術我們可以歸納出以下幾項優點:
1.節省建製及維護費用
透過VPN技術建造之企業通道,不僅不需付上大筆費用於ISP牽線,亦可節省後日昂貴之線路維護費用。
2.管理容易且方便
VPN技術之實作可透過軟體設定完成,且架設及設定不需耗費太多時間及人力,只要公司MIS人員規劃好連線政策後,即可上線實行;另外在後續管理及設定上亦可由公司內部管理人員於網路上設定,不需透過ISP,增加管理的便利性。
3.可擴充性
隨著企業體之擴大,分公司可能會散佈於各地;此時如欲將新增之分公司網路與總公司連結,僅需重新針對設定檔重新設定即可,而不需要再作太多額外的實體動作。

做好VPN之安全防護
  網際網路最為人詬病之處即為其安全性的弱點,因此欲於此種不安全之網路上建立安全之專屬通道,不免令人質疑。而VPN之技術即為加強安全性而來,因此針對安全該項議題VPN使用了一堆技術來確保通訊安全。我們介紹如下:
1.加密編碼(encryption)
VPN最重視的即為資料的傳輸安全性,因此除下述會提到之身份驗證機制外,資料的加密編碼技術更是重要。VPN常用之加密技術主要有下列兩種:
  (1)私鑰加密編碼(private key)
  私鑰加密編碼也就是所謂的Symmetric cryptography方式,利用單一之私密金鑰散佈於需要傳送與接收資料之使用者,利用同一把要使來對資料進行加密及解密的動作。
  不過此種加密方式在鑰匙管理上有個明顯的缺點;就是過多人擁有金鑰會對管理上造成不便,此外如果有人將金鑰給洩露出去,更換鑰匙也會是一項大工作。
  (2)公鑰加密編碼(public key)
  公鑰加密方式即為所謂之Asymmetric cryptography方式,每個人都有有獨一無二的public key和private key,並將自己之public key散佈於公眾網路上,而自己保留private key,該項加密之方式可以有多種用途,如A方欲將機密資料傳遞給B方,只需要用B方之public key先將資料加密而後再用自己(A方)之private key將資料再加密,如此B方可以先用網路上取得之A方的public key解開資料並驗明該資料是由A方所傳遞(身分驗證),之後再利用自己(B方)之private key將資料解密,如此即可達到驗證及加密之功效。
  而目前所研發之網路技術越來越重視機密資料傳輸的安全性,如 Secure IP(IPsec)與IPV6等協定都慢慢將該項議題給考量在內,也更確保未來資料傳輸之可靠度。


2.身分驗證(authentication)
有人欲透過網路與你進行連結,但你又看不到他,此時我們要如何進行確認的動作?因此我們需要有「身分驗證」的機制存在,身分驗證就像你於登陸遠端主機時輸入帳號、密碼之動作一樣都是驗明正身的方式,而VPN針對該點之檢驗更是嚴格。VPN身分驗證之機制是建立在shared key 基礎上,由傳輸雙方擁有共同一把key,而key不能直接赤裸裸地在網路上傳遞,因此需要一套「雜湊演算法」(hash algorithm)處理過再傳遞,使即便該key於網路上被有心攻擊者攔截時,亦很難或不可能逆解出雜湊值。常用之身分驗證檢查法如通關檢驗協定(CHAP, Challenge Handshake Authentication protocol)、PAP、MSCHAP、X.509等都是常見的身分驗證法。

 

3.封包通道(packet tunneling)
通道(tunnel)技術是一種「包容」不同協定的技術,利用該技術將不同協定(如:NetBEUI、Mac電腦之協定等)包在一封包內傳遞,使其可以於網際網路上傳遞,目前常用之通道協定如下:


> PPTP
   PPTP(Point-to-Point Tunneling Protocol)由Microsoft、3COM、U.S. Robotics、Ascend、ECI等企業所聯合發展。支援Multi-Protocol可說是他相當大的優點,如IP、IPX、NetBEUI、AppleTalk。PPTP的傳輸介面為IP封包,與下層介面無關。實質傳輸介面(Physical Layer)的改變,只要不影響IP封包傳輸,並不會影響PPTP封包的運送。
   PPTP的運作模式:
a. PPTP Tunneling建立的方式有Client-initiated經由客戶端撥接至ISP,並和ISP連線,再由客戶端啟動PPTP的Session和欲建立的另一端PPTP Server建立通道。
b. ISP-initiated客戶端和ISP的Access Server建立PPP連線後,經由ISP的Access Server和目的端PPTP Server建立通道,客戶端不需安裝PPTP Client,完全由ISP-PPTP-enable即可。
c. LAN-to-LAN tunneling在PPTP Server兩端建立PPTP tunneling,如在NT Server上加裝Microsoft的Routing and Remote Access Service(R&RAS)。

> L2TP/IPsec
L2TP(Layer Two Tunneling Protocol/IPsec)是經由Cisco的L2F(Layer Two Forwarding)和Microsoft的PPTP合作,並在IETF的規範下發展而成。因此安全性更佳,且L2TP的傳輸介面為UDP封包、與下層介面無關。實質傳輸介面(Physical Layer)的改變,只要不影響UDP封包傳輸,並不會影響L2TP封包的運送。採用IPsec(Internet Protocol Security)加密方式,並支援預先共用金鑰(Pre-shared key)與憑證(certification)兩種驗證方式。


> IPsec通道模式
   IPsec為第三層的穿隧技術,專門為IP 設計,不但符合現有IPv4的環境,同時也是IPv6的標準,它也是IEIF所制定的業界標準,從1995年起IETF陸續公佈許多網路安全的相關技術標準。這些標準統稱為IPSec (IP Security, RFC1825~1829, RFC1851, RFC2085, RFC2104)。
   IPSec運作模式:
a. ESP(Encapsulation Security Payload):提供認證和加密
b. AH(Authentication Header):只提供認證的動作,通常是靠MD5、SHA1來確認使用者的身分。
c. ISAKMP(IP Security Association Key:使交換鑰匙的動作自動化且安全。


4.防火牆(firewall)
防火牆該項取名與實體環境中之防火牆有異曲同工之妙,傳統防火牆為實體環境建立有效阻隔,使特定區域免受「祝融之苦」;而網路防火牆亦有相同之功效,透過封包過濾機制(packet filter)可以有效將不受歡迎之流經封包有效阻擋在防火牆外。目前大多數VPN產品都有與防火牆整合設計了,因此建議您在使用VPN建立方便的網路連線前,先確保您有架設有效之防火牆保護。


VPN 軟體安全防護
1.Windows 環境下常見作法
> Microsoft ISA Server 2004 :Microsoft ISA Server 2004 是微軟公司所發行的一套防火牆、VPN和Web快速解決方案的一個產品。
  ISA Server 2004 目前僅能安裝在Windows 2000 Server以及 Windows 2003 Server兩套作業系統版本上。新版的ISA Server 2004中,對於VPN用戶端的安全連線存取部分,除了提供舊版原有的RADIUS整合驗證機制外,還延伸在Windows 2003 Server中少為人知的遠端存取隔離控管(Quarantine Control)新功能。


  遠端存取隔離控管(Quarantine Control)就是一種用來限制遠端使用者存取內部網路的驗證機制,唯有在遠端使用者通過伺服器的一切限定後才予以放行。而在予以隔離的時間內,通常都僅只能存取有限的資源,且會於一定時間後斷線。一般用來作驗證的動作有?檢查最新的修正程式(Service Pack)或補強程式(Hotfix)是否安裝、防毒程式是否有安裝與啟動中、病毒碼是否有更新、路由功能是否關閉等,以避免在Internet上的惡意使用者,藉由用戶端所啟用的路由功能來入侵企業內部網路。


  另外ISA Server 2004 採用加強之驗證方式 L2TP/IPSec 來進行管控,使安全更能被確保。L2TP/IPSec 用來驗證使用者身分的方法可分為憑證與預先共用金鑰兩種;憑證的使用方式必須企業先向主管單位申請信任憑證,而後於企業內部網路開放憑證申請,也僅有在雙方都具有CA時才能建立安全的L2TP/IPSec VPN。而欲使用預先共用金鑰(pre-shard key)來驗證身分的L2TP/IPSec VPN,則VPN伺服器端及VPN用戶端皆不需向CA申請憑證,而是設定相同的預先共用金鑰,而其他設定方式都與使用CA建立類似。相關設定方式可參考附錄。


> SoftEther
  SoftEther是一套於2003年日本築波大學一年級學生登游大自編的軟體,此軟體簡單說就是模擬乙太網路的工作順序,甚至可以模擬HUB功能,使用tunnel特性以實現VPN。


  該套軟體實作之方式是:
(1) 在OSI七層中的第二層鏈結層(Link layer)用軟體模擬網路通訊,將實體層(physical layer)的物理特性封包內容給封裝進 TCP package中(利用軟體模擬)。
(2) 將自己的通訊封包利用SSL session包裝,藉由 HTTPS 協定傳輸出去,而大多數防火牆皆不會阻擋該協定封包,亦無法查知其內容,藉以矇騙過防火牆偵測。
  


  該軟體發行之初曾引起日本信息處理事業協會(IPA,負責日本Internet運營管理/安全的機構)的高度關切,並禁止其繼續公佈,因為利用該軟體將可以輕易的穿透所有防火牆。該種軟體是屬於一種主動式的連結,藉由由內部網路所主動發起之連線與外部主機建立tunnel,再透過該連線繞過防火牆驗證進入內部網路。不過該軟體並不適合安裝於大型網路環境,除非建立自己的私有虛擬HUB,且經過妥善之設定。想關設定與探討可參考附錄二(*)。

2.Unix 環境下常見作法
> VPN-PPTP
        PoPToP是在Linux上建置VPN的其中一種方法,它可以讓Linux、Windows 95、98、NT、2000可利用現有套件簡單的撥號網路與VPN Server建立安全的VPN通道。目前可支援40及128位元的加密方式。
        設定與操作方式可參考下列附錄(3.3)網址。
> IPSec_ESP
  IPSec 加密方式為我們先前所提到過之優秀的通道加密方式,利用方式可以輕易的建立VPN tunnel,不論是site-to-site或 point-to-point VPN都是可輕易完成的。
  相關kernel、防火牆及路由設定方式可參考附錄(3.4&3.5)網址。
  
結論
VPN技術的發展雖然造福了很多公司,但也帶來了許多安全管理上的挑戰,誠如前面所提到之SoftEnther軟體可用來當作VPN伺服器軟體使用,但只要有心人士錯誤使用,即會造成公司網安上的一大漏洞。因此針對VPN使用上的管理,更是我們應該做好的部份,把未經安全檢驗的VPN伺服器架上公司網路,只會提高公司的網路危機,而不會帶來任何好處。如何在便利與安全的天秤上做好權衡,不僅是MIS人員所應注重之課題,亦是主管單位所應認真考量的。以下我們提供幾點安全措施的建議供大家參考與檢驗:
1.限制哪些人可以存取 VPN
  把VPN供公司所有人員使用實在不是一件明智的事情,因此必須有效控制VPN使用者及杜絕不需使用之人員,並確保使用目的。
   會需要使用到VPN的人如:
   (1)SOHO族,在家工作者。
   (2)系統或網站維護人員,需要存取到伺服器系統。
   (3)出差之業務人員需要透過內部網路收發電子郵件。
   並教育使用者定期更換密碼,以及控管離職人員之登陸帳號等。
2.限制VPN使用者所能做的事情
        好的網管人員不應該將公司內部網路整個暴露在VPN用戶端面前,應有效之區分企業網路成數個部分,如依業務性質區分成:會計部、資訊部、採購部等。或依資料重要性進行有效之實體隔離。
  設計VPN用戶端撥進公司網路後可存取之範圍時,應依其需使用之業務內容進行調整,如業務人員僅需使用公司對外之IP位址以登陸郵件伺服器

3.避免VPN伺服器與路由器的資訊公開到公眾DNS
  由於VPN伺服器有可能造成公司網路的一大漏洞以及駭客攻擊的目標,所以不應該讓攻擊者知道太多有關VPN伺服器的資訊,最簡單的就是不要讓其具有DNS主機名稱(hostname),除非不得以需要設定,也請設定一個假的DNS伺服器供上層查詢用,然後於內部架設一真正使用之DNS伺服器。


4.使用最新的技術
  隨時注意相關軟體之更新及修補訊息,因為你絕對不會希望該台伺服器有被攻破的一天,因此時時更新、修補漏洞將系統做到滴水不漏,將可以為你省卻很多麻煩。

5.加強人員之教育訓練
  系統的防護再深,也難保內部人員的亂搞。管理最難之處即在於人,因此適當的教育即告之內部人員使用及防範方法,可有效幫助系統之防護。

本文作者現任職於台灣電腦網路危機處理暨協調中心(TWCERT/CC)。