我知道您可以實施防火牆以僅允許從特定 IP 位址存取伺服器,但是人們不能偽造 TCP 封包中的來源 IP 位址嗎?這實際上如何阻止不道德的人訪問您的伺服器?
答案1
老哥說的就是你要的答案。
我想你的想法是這樣的:
SERVER.......................CLIENT
............[FIREWALL].........|
..|............................|
..|_>___[CHECK FOR AUTHORITY]_<_|
該圖假設伺服器和客戶端都有防火牆(通常都有)。
如果授權失敗,則對伺服器/客戶端的呼叫將被忽略。
因此,如果伺服器ip是xxx.xxx.xxx.1,客戶端是xxx.xxx.xxx.2,並且客戶端嘗試透過未經授權發送命令來存取伺服器。 .xxx.2 [授權失敗- 忽略]
如果xxx.xxx.xxx.2 將他的ip 隱藏為xxx.xxx.xxx.3,而該xxx.xxx.xxx.3 被授權存取伺服器,那麼就會發生這種情況。 3 -> 發送指令包到xxx.xxx.xxx .1 xxx.xxx.xxx.1 -> 回應指令並向xxx.xxx.xxx.3傳送資料包
所以 xxx.xxx.xxx.1 永遠不會得到檢索到的指令。
現在你可能在想什麼安全性如何?
大多數伺服器實際上都是這樣工作的..
SERVER..............................CLIENT
..|______________[CONNECT]___________<_|
............|
...[TEST AUTHORIZATION]
...........|
......[PASSED]
..........|
...........[SEND CONNECTED RESPONSE]...|
因此,如果客戶端獲得授權並向伺服器發出調用,伺服器將使用連接的回應進行回應,並發送回客戶端,如果客戶端收到此回應,伺服器就知道這是正確的客戶端。
答案2
當然有人可以偽造他的 IP 位址來發送 TCP/IP 封包,但他永遠不會得到任何回應,因為它將發送到他使用的偽造 IP 位址!所以這種方式對於想要建立雙向通訊的人來說是沒有用的!
答案3
人們已經注意到,偽造發件人是不夠的,您還需要得到答案來做很多/任何有用的事情。所以你需要在中間做一個完整的人。
然而,防火牆通常不會僅根據來源 IP 來「允許」太多。
防火牆主要用於阻塞,但不用於授權。
即,不受信任的 IP 甚至不知道有 VPN,也無法連線到 VPN 服務。或者就此而言,輕鬆地攻擊它。但主要的安全功能是 VPN 本身。
由於基於 IP 的過濾很便宜,因此它非常有用第一道防線。在防火牆處拒絕任何資料包意味著後面的服務將不得不處理更少的「攻擊」(和其他噪音)。針對防火牆運行 DDoS 比針對實際服務運行 DDoS 更困難,因為您需要填充互聯網連接,而不是處理請求的伺服器的 CPU。
答案4
單向連線(例如使用 UDP 等無狀態協定)確實可能造成損害,但這歸結為避免基於 IP 的(不安全)身份驗證。
傳輸控制協定
TCP 通常不會受到影響,因為連線建立需要將封包傳回原始主機。事情是這樣的:
Alice 位於授權主機清單中。
- Alice 向 Bob 發送 SYN 封包。
- Bob 將 SYN-ACK 回傳給 Alice,表示她可以繼續
- Alice 繼續處理 ACK 封包,並繼續處理預期的有效負載。
Charlie 嘗試連線到該服務。
- Charlie 向 Bob 發送 SYN 封包。
- 防火牆阻止了資料包,鮑伯什麼也沒收到(或在日誌中收到查理試圖連接到他的警告。
- Charlie 可能知道也可能不知道他的請求被拒絕(取決於防火牆配置,要求逾時或 Bob 明確發送 ICMP 拒絕/無法到達的資料包)
查理以某種方式知道愛麗絲可以訪問該服務。
- Charlie 向 Bob 發送 SYN 封包,假裝他是 Alice。
- 封包通過防火牆,Bob 將 SYN-ACK 回傳給 Alice。
- Alice 回覆 RST-ACK(重設確認)或 ICMP Unreachable,因為她沒有期待 Bob 發送任何訊息。
- 查理永遠不會知道這個請求是否獲得通過。
現在,如果連線已經建立怎麼辦?這就是序號的用途:它們不能(不應該)被其他人預測,雙方都期望序列總是加一。
- 當連線建立時,雙方優選選擇一個隨機序號。
- 在它們發送的每個資料包上,序號應加一。這允許接收端拒絕序號錯誤的資料包,並對接受視窗內的資料包重新排序。
現在 Charlie 無法將封包「注入」到 Alice 和 Bob 之間的現有連線中,因為他無法預測序號,而且他的封包將被 Bob 拒絕,而且日誌中可能會出現警告或通知。
UDP協定
如果協定是 UDP,則很容易受到欺騙,因為對等方能夠在 Internet 上註入欺騙資料包,因此您必須在應用層而不是傳輸層中新增驗證或加密機制。
減輕
ISP 將增加防止 IP 位址欺騙的措施。它可以很簡單,例如拒絕所有與自己的網路區塊不匹配的資料包離開路由器,以及拒絕所有與其網路區塊相符的資料包進入其網路。
在本地網路中,通常很容易進行欺騙,因為沒有很多機制來阻止某人這樣做。