簡體   English   中英

使用 AWS WAF 阻止 IP,以便只有連接到 VPN 的用戶才能訪問 CloudFront

[英]Blocking IP's using AWS WAF so that only users connected to a VPN can access CloudFront

目標:使用 AWS WAF 過濾掉到達 CloudFront 的流量,以便只有連接到 OpenVPN 網絡的用戶才能訪問 Web 應用程序。

OpenVPN 將任何連接的用戶分配到 172.xx.yyy.z/a 網絡范圍內的 IP。
因此,我通過 WAF 規則將此范圍列入白名單到 Web ACL,並將任何其他 IP 列入黑名單。
但是,我無法訪問該站點。

查看 CloudWatch,很明顯這是因為 VPN 分配的 IP 實際上並未用於訪問 Web 應用程序。 這是一個修改后的 IP,與我設備的公共 IP 非常相似。

據我所知,我無法確定這些“自定義”IP 的范圍。 鑒於此,我如何確保只有 VPN 連接的用戶才能訪問該站點?

我錯過了什么重要的事情嗎? 任何解決此問題的幫助表示贊賞。

謝謝!

172.16.0.0/12 IP地址是私有地址 (172.16.0.0-172.31.255.255)並且不能在公共Internet上路由。

如果您引用的IP在此范圍內,則這是專用網絡上的地址,即VPN隧道。 VPN遠端的設備將具有Internet訪問權限,並將具有公共IP地址(可在公共Internet上路由)以及CloudFront看到的內容。

您需要了解訪問者使用的VPN服務的所有“公共IP CIDR”阻止,否則您將無法按IP阻止。

雖然您可以通過HTTP標頭進行限制。 如果您檢查通過的連接(沒有WAF),則可以從請求中學習。

這是一個“好的” - 或者足夠好的解決方案,當然總比沒有好。 我不知道誰投了反對票,但我明白為什么。

請注意,最好在內部路由流量

根據上面的評論:

聽起來您正在使用 3rd 方服務。

這似乎是因為 VPN 用戶正在訪問資源的外部地址(通過 CloudFront 或其他方式),並且該外部地址可以通過第三方(如 Cloudflare)解析或通過 AWS 服務本身進行屏蔽。 它可能是通過 AWS 服務(所以技術上不是“第三”方)但結果是相同的 => 掩碼尋址。 我相信這就是 OP 指出的問題存在的原因。

AWS 在過去幾周剛剛引入了CloudFront-Viewer-Address header ,它有助於根據您的選擇解決該問題。

我建議(強烈)不要使用公共 IP 作為 VPN 網絡的出口節點,而是研究改進 VPN 和相關資源的路由,以便“內部”流量不會通過引入或改進您的路由並轉向主要基於 VPC 的方法。 或許可以從亞馬遜對 VPC 的介紹開始。

希望這可以幫助! (某人);)

最終的解決方案是確保所有流量都被強制通過OpenVPN。

這意味着連接到VPN的任何人都將擁有分配給VPN服務器的公共IP。

因此,該IP是唯一允許通過WAF訪問該站點的IP。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM