第 6章. 虛擬私有網路(VPN)

含有許多衛星辦公室的公司通常以既定的線路來彼此連接以提高傳輸效率以及保護傳輸 中的重要資料,舉例來說,許多公司使用『訊框傳送』(Frame Relay)或 『非同步傳輸模式』(ATM) 線路當作一個端點間的網路連線 解決方案,將一間辦公室與其他辦公室連線。 這將會是一種昂貴的解決方案,特別是對 於不想付出與企業等級(既定的數位電路)相關的昂貴支出,而且想要擴展的中小型公 司(SMBs)。

工程師已經針對這個問題開發了一個經濟的解決方案,稱為 『虛擬私有網路』 (VPNs)。 遵照與既定線路相同的功能性原則,VPNs 允許在兩方 (或網路)間進行安全的數位通訊,從既有的區域網路(LAN)建立一個廣域網路(WAN)。 它與訊框傳送或 ATM 不同的地方在於它的傳輸媒體,VPNs 使用 datagrams (UDP) 當作 傳輸介面透過 IP 進行傳輸,以建立一個安全的導線管透過網際網路傳送到預定的目的地。 大部分免費的軟體 VPN 實作都內含開放標準、開放原始碼的加密方式以進一步遮罩傳輸 中的資料。

有些公司利用硬體的 VPN 解決方案來加強安全性,然而仍有其他人使用軟體的或協定 為基礎的實作方式。 有許多使用硬體 VPN 解決方案的廠商,如 Cisco, Nortel, IBM 與 Checkpoint。 有一種用於 Linux 免費的軟體為主的 VPN 解決方案,稱為 FreeS/Wan (利用一種標準化的 IPSec 或 Internet Protocol Security 的實作)。 這些 VPN 解決方案扮演一種特殊的路由器,放置於一間辦公室與另一間辦公室的 IP 連線之間。

當用戶端傳送一個封包時,傳送的過程將會通過路由器或閘道器,它們將會增加路由選擇與 稱為認證表頭(AH)的認證資訊到表頭中。 資料將會經過加密,而且也附加了稱為 Encapsulating Security Payload (ESP) 的解密與處理指示。 接收端的 VPN 路由器將會劃分 表頭資訊,並且將它傳送到預定的目的地(也許是一個工作站或網路中的一個節點)。 藉由 使用網路與網路的連線,本地端網路的接收節點將會接收到已經過解密的封包,而且可以馬上 進行處理。 對本地端節點來說,網路與網路的 VPN 連線中的加密與解密過程是透通的。

藉由如此高的安全性等級,怪客們將無法擷取封包,也無法將封包解密(因為大部分的 VPNs 通常使用三重的資料加密標準[3DES] 168 位元的密文)。 至於在伺服器與用戶 端間使用中間人(man-in-the-middle) 攻擊的入侵者也許可以存取認證階段所交換的金鑰。 VPNs 是一種安全且有效率的方法,用來連線多部遠端的節點以成為一個統一的企業網路。

6.1. VPNs 與 Red Hat Enterprise Linux

對於實作一個軟體的解決方案來連接並且保全他們的廣域網路,Red Hat Enterprise Linux 的使用者與系統管理員有許多種選擇,然而在 Red Hat Enterprise Linux 中目前已支援兩種實作 VPN 連線的方法,一個類似 的解決方案牽涉到使用 OpenSSH 當作兩部遠端節點間的通隧(tunnel)。 這個是 Telnet、 rsh 以及其他遠端主機通訊方式的另一個可靠方案,不過它無法完全地滿足所有公司裡在家 工作的員工以及分公司的使用性需求。 Red Hat Enterprise Linux 中收錄了兩個較遵守 VPN 實際上定義的方案 是 Crypto IP Encapsulation (CIPE) 與 Internet Protocol Security (IPsec)。