---
# System prepended metadata

title: 安全遠端存取 Authentication and Access Control

---

# 安全遠端存取 Authentication and Access Control

## 如何確保遠端存取安全？
遠端安全存取的配置視不同需求，通常包括以下特性：

**1. 資料隱私 (Data Privacy)**：確保資訊不公開，僅限特定人員查看。
**2. 資料完整性 (Data Integrity)**：確保資料在其生命週期內的準確性和一致性。
**3. 身份驗證 (Authentication)**：驗證人或物件的身份。
**4. 授權 (Authorization)**：指定對資源的存取權限。
**5. 記帳 (Accounting)**：記錄和跟蹤在網路上進行的活動。
身份驗證、授權與記帳通常被合稱為「AAA」。

## 常見的安全存取方法
* **IPsec VPN (網際協定安全虛擬私人網路)**：透過驗證和加密每個 IP 封包來保護通信。
* **SSL VPN (安全套接層虛擬私人網路)**：透過標準網頁瀏覽器建立的加密鏈接，提供安全的遠端存取。
* **ZTNA (零信任網路存取)**：採用零信任原則，無論內外部皆不預設信任，需驗證所有存取請求。


## ZTNA 與 VPN 的比較
### VPN 的使用情境：
* **安全遠端存取**：VPN 用於建立加密隧道，讓使用者從遠端位置安全地存取網路資源。
* **站點對站點 (Site-to-Site)**：VPN 也用於連接不同地點的整個網路，例如將分公司與總部連接在一起。


### 安全遠端存取 VPN 的主要組成部分：
* **客戶端 (Client)**：使用者用來啟動連接的裝置或應用程式。
* **伺服器 (Server)**：提供網路資源存取的 VPN 伺服器。
* **協議 (Protocols)**：管理客戶端與伺服器之間加密與安全通信的一組規則。


### 零信任網路存取 (ZTNA)：
* **零信任原則**：不同於傳統 VPN 經常信任內部網路流量，ZTNA 採用的原則是不論流量來自內部或外部，皆不預設信任。每個存取請求都需要驗證。
* **增強的安全性**：ZTNA 通過不斷驗證使用者和裝置，並在授予網路資源存取權之前進行驗證和授權，提供更強的安全性。它假設威脅可能來自內部或外部，因此需要持續的身份驗證與授權。

傳統 VPN 使用加密隧道來連接使用者和遠端網路，而 ZTNA 則著重於透過零信任模型來增強安全性。

## SSL VPN 的工作原理及應用場景
### 1. SSL Portal 或 Web VPN

* 用戶通過網頁瀏覽器發起連接請求，並提供身份驗證憑證（如用戶名和密碼）。
* 使用 HTTPS 協議在瀏覽器與 SSL VPN 網頁伺服器之間建立加密的安全連接，確保數據在傳輸過程中的機密性和完整性。
* 防火牆保護伺服器，僅允許通過身份驗證的用戶訪問內部網絡資源。
**優點:**
提供快速且簡便的網絡資源訪問，特別適合需要簡單遠程存取的用戶，不需要安裝額外的 VPN 客戶端。
### 2. SSL VPN 與虛擬適配器

* 客戶端設備上安裝 SSL VPN 軟件，並配置虛擬網絡適配器，允許遠端設備通過虛擬網卡與企業內部網絡進行連接。
* 使用 SSL/TLS 協議進行加密通信，確保數據在傳輸過程中的安全性，防止數據被截取或篡改。
* SSL VPN 防火牆伺服器接收和解密數據，並根據企業安全策略處理訪問請求。
* 客戶端通過 VPN 連接後，會獲得一個內部網絡的 IP 地址，使其像在內部網絡一樣操作。

### 總結
SSL VPN 是一種廣泛應用於遠程安全存取的技術，可以通過兩種主要形式來實現：

* SSL Portal 或 Web VPN 提供簡便的網絡資源訪問，通過標準網頁瀏覽器即可實現安全連接，適合需要簡單遠程存取的場景。


## IPsec VPN 的工作原理
![image](https://hackmd.io/_uploads/Byap0Sd9A.png)

### IPsec 模式:

1. **Tunnel (隧道模式)**: 整個 IP 封包被加密並封裝在新的封包中，適用於網絡之間的通信（例如站點對站點 VPN）。
1. **Transport (傳輸模式)**: 僅加密封包的數據部分，適用於端對端的通信（例如用戶到伺服器）。

### IPsec 配置與保護協議:
* **Authentication Header (AH) 協議**: 提供數據完整性、數據來源驗證以及防止重放攻擊。AH 協議確保傳輸的數據未被篡改，且來自合法的來源。
* **Encapsulating Security Payload (ESP) 協議**: 提供數據機密性，確保數據從起點到終點之間的隱私保護。ESP 協議負責對數據進行加密，使其在傳輸過程中保持私密。

## IPsec VPN 遠端連接的工作流程

![image](https://hackmd.io/_uploads/rJGnjBu5A.png)
### Remote User (遠程用戶):

用戶在家或遠程位置通過計算設備登入 VPN 客戶端應用程式，開始與公司內部網絡的安全連接。
### Router (路由器):

用戶的設備首先通過本地路由器連接到網際網路，進而通過 IPsec 隧道與公司內部網絡進行通信。
### IPsec Tunnel (IPsec 隧道):

使用 IPsec 隧道進行加密通信，確保數據在傳輸過程中的隱私性和完整性。這層加密隧道使得遠程用戶與公司內部網絡之間的數據傳輸安全無虞。
### Firewall (防火牆):

進入公司內部網絡之前，數據會通過防火牆進行檢查，以確保只有合法的數據流量能夠進入內部網絡，防止未經授權的訪問。
### Office (辦公室內部網絡):

遠程用戶在通過多層安全防護後，最終可以訪問辦公室內部網絡上的資源，如伺服器和其他內部系統。
身份驗證過程
### User Authentication (用戶身份驗證):
用戶通常通過密碼進行身份驗證，以確保其是被授權的用戶。不過，也可以使用其他身份驗證方法來提高安全性，例如雙因素驗證 (2FA) 或生物識別。

## AH（Authentication Header）和 ESP（Encapsulating Security Payload）隧道模式

![image](https://hackmd.io/_uploads/SJyvlL_5C.png)
### 步驟 1: 金鑰交換 (Key Exchange)
**安全聯繫 (Security Association, SA)**:

* 客戶端和伺服器之間就安全屬性（如加密算法、IPsec 模式和網絡參數）達成協議。
* 這個過程確保了雙方在接下來的通信中使用相同的安全標準。

**互相驗證 (Mutual Authentication)**:
* 雙方進行身份驗證，以確保通信方的合法性。


**共享會話金鑰 (Shared Session Key):**
* 通過互聯網金鑰交換協議 (IKE) 生成並共享會話金鑰，用於後續的加密和解密操作。
### 步驟 2: 數據組裝 (Data Assembly)
**1.數據封裝**:
封裝包含了 IP 頭、TCP/UDP 頭、數據和尾部 (Trailer) 的完整數據包。

**2.身份驗證 (Authentication)**:
每個數據包的 IP 頭、TCP/UDP 頭、數據和尾部均進行身份驗證，以確保數據的完整性和合法性。

**3.加密 (Encryption)**:
根據選擇的模式（傳輸模式或隧道模式），對數據包的部分或全部進行加密。這確保了數據在傳輸過程中不會被未經授權的第三方訪問。
### 步驟 3: 傳輸、解密與驗證 (Transmission, Decryption, and Verification)
**1.數據傳輸**:
經過加密的數據包通過 IPsec 隧道進行安全傳輸。
**2.解密與驗證:**
接收方使用共享的會話金鑰對接收到的數據進行解密，並驗證數據的完整性和合法性。

## ZTNA 的概念

ZTNA 是一種基於「零信任」原則的安全方法，它在終端實體（如用戶或設備）與網絡之間建立安全會話，並確保對資源的訪問進行細緻的控制。這種方法不依賴於終端或網絡的位置。

### 動態訪問控制:
ZTNA 提供基於每次會話的細粒度訪問控制，這些控制基於用戶身份、設備身份及風險評估、以及安全策略來執行。
核心原則是 **「永不信任，始終驗證」** ，無論用戶或設備位於何處，都需要通過嚴格的身份驗證才能獲取資源。

### ZTNA 工作流程

#### FortiClient EMS (ZTNA Policy Server):
ZTNA 的工作流程涉及多個組件，包括 FortiClient EMS，它生成標籤和客戶端數字證書，並與 FortiGate 防火牆和 ZTNA Access Proxy 協同工作，以確保對受保護的伺服器和資源的安全訪問。
#### FortiClient (ZTNA 客戶端):
無論是在本地的 FortiClient 客戶端還是遠端的 FortiClient 客戶端，都會將設備屬性（如操作系統類型）、用戶信息（如用戶 ID）和設備的安全狀態傳送到 FortiClient EMS。
#### FortiGate (Firewall and ZTNA Access Proxy):
FortiGate 作為防火牆和 ZTNA 訪問代理，它根據接收到的政策和數據決定是否允許對受保護資源的訪問。
#### 受保護的伺服器與資源:
受保護的伺服器和資源只能被通過 ZTNA 訪問控制驗證的用戶或設備訪問，從而保證網絡的安全性。

![image](https://hackmd.io/_uploads/Bkip-LuqA.png)
