OpenVPN 忽略客戶端配置

OpenVPN 忽略客戶端配置

我有一個設置,可以向客戶端頒發 openvpn 證書,以將其流量重定向到特定網站。限制每個客戶端重定向到的網站非常重要。

每個用戶端都有應在 client-configs/config-dir/ 中的伺服器中路由的 IP,如下所示:推送路由 123.123.123.123 255.255.255.255。

客戶端會獲得一個 ovpn 文件,其中包含要在其終端上進行設定的金鑰和配置。問題是,即使新路由不在伺服器端配置中,客戶端也可能會編輯其 ovpn 檔案並透過 VPN 路由更多流量。這將使他們能夠訪問不應訪問的網站。

有沒有解決方案來限制這種行為,或者我可以使用其他工具?

筆記:

  • OpenVPN 伺服器僅連接一個公用 IP,並且正在轉送流量。
  • 鎖定權限不是一個選項,因為這是 BYOD 場景。
  • openvpn 伺服器上的出站防火牆限制也不是一個選項,因為每個用戶端都會路由到不同的 IP 集。

答案1

你是對的。用戶端可以編輯其本地 ovpn 檔案並告訴其忽略推送的路由,然後將其配置為將所有流量路由到網關。我自己必須這樣做幾次才能進行測試。 OpenVPN 沒有辦法限制這一點。

您有 2 個選擇:

  1. 鎖定客戶端 OVPN 檔案的權限,使其無法編輯
  2. 在 OpenVPN 伺服器上實施防火牆規則,阻止除特定子網路以外的出站流量

如果您處於公司環境中,您可能已經擁有控制使用者電腦權限的機制。第一個選擇可能非常簡單。

如果您無法控制使用者對檔案的權限,那麼防火牆規則是最好的方法。您已經必須設定轉送偽裝的規則才能運作(範例:https://askubuntu.com/a/578550/283173)。您可以插入其他 iptables 規則以僅允許您的特定子網路。

更新:根據您修改後的註釋,更清楚的是您唯一的選擇是伺服器端的防火牆。您必須認真考慮您的出站過濾器。您最終可能需要做的是製作自己的程式來智慧地建立防火牆規則。如果您知道每個用戶端都被路由到特定的 IP,則可以在用戶端連線時在防火牆中動態開啟路由。當客戶端連線時,您可以使用learn-address伺服器設定中的指令連接到 OpenVPN 的系統,以將有關客戶端連線的詳細資訊傳送到您的自訂程式中。

相關內容