Windows

僅將 IPSec 用於 Windows 中的傳入連接

  • January 10, 2018

我有一台帶有兩個適配器的伺服器(WS2016),每個適配器上分配了不同的 IP,但具有相同的網關。

我想要實現的是,到一個 IP 的所有傳入連接都必須使用 IPsec(傳輸模式)進行保護,而所有傳出連接都不應嘗試使用 IPSec(除非對方請求它)。

我使用“netsh advfirewall consec add rule”和“action=requireinrequestout”在其中一個適配器上設置IPSec。

它有效,因為我只能使用 IPSec 連接到 IPSec IP 而不會阻止任何傳出連接。

但是,我的 Windows 事件日誌中充滿了事件程式碼 4653(“IPsec 主模式協商失敗”),這似乎主要用於傳出連接(實際上主要是 DNS 查找)。實際上,windows 隨機使用任一適配器進行傳出連接,但是當它通過 IPSec 適配器時,它會嘗試與對方建立 IPSec 連接,這不起作用,然後切換到正常連接。這不是一個大問題,但首先它肯定會減慢連接速度,我寧願做正確的事情,即讓所有傳出連接不嘗試使用 IPSec。

netsh advfirewall consec 確實有一個動作“requireinclearout”,但它只適用於隧道模式。

我嘗試將 IPSec IP 的指標增加到 1000,並將關聯的網關指標也增加到 1000。路由列印確實顯示了 IPSec 路由的更高指標,但是 windows 似乎忽略了更高的指標,並且仍然通過 IPSec 適配器發送傳出數據包。

我嘗試專門為 DNS 伺服器設置靜態路由,但 windows 似乎忽略了這些靜態路由並使用 IPSec 適配器。

所以我的問題是:有沒有辦法實現 IPSec 僅用於伺服器上的傳入連接,而不用於傳出連接?

隨著你的評論澄清,我認為這會做你想要的。

我假設 192.168.1.2 是您的受保護介面,而 192.168.1.3 是您的非受保護介面。

創建一個專門的連接安全規則集,如下所示。

端點 1 應僅設置為 192.168.1.2,這應該會阻止在 192.168.1.3 上生成任何事件。

在此規則上要求身份驗證入站和請求出站。

假設 SMB 是您真正想要保護的,將規則的協議和埠設置為 TCP 445,再次避免過多的噪音。這應該可以阻止來自 DNS 查找的任何額外噪音。

在您的 IPSEC 保護防火牆規則中,您希望將本地 IP 範圍設置為 192.168.1.2 並啟用“如果安全則允許”設置,並且本地埠為 tcp 445。

引用自:https://serverfault.com/questions/891577