Domain-Name-System

為什麼 AWS Route 53 / 應用程序負載均衡器解析多級子域

  • July 29, 2021

在 AWS 中,我在 Application Load Balancer 處終止 TLS。我已經使用 AWS 的證書管理器 (ACM) 配置了萬用字元 TLS 證書,例如*.example.com.我有 AWS Route 53 解析*.example.com,但我沒有*.*.example.com任何需要,因為我不需要這個。

我知道您不能為多級域配置萬用字元證書,例如*.*.example.com.

https://x.example.com一切都很好,並以有效的證書作為響應。我收到一個證書錯誤https://y.x.example.com,這是有道理的。我不需要提供多級子域,例如*.*.example.com.

我希望能夠阻止所有多級域請求,例如https://y.x.example.com或不解析 Route 53。基本上我想要一個規則,說明任何主機https://*.*.example.com返回 404 或主機不被解析。

在應用程序負載平衡器中,我有 2 個偵聽器埠 80 和埠 443。

我可以為埠 80 偵聽器配置一個可以正常工作的規則,http://x.y.example.com並且我可以返回一個 404,當我為埠 443 配置相同的規則時它不起作用。我認為這是有道理的,因為瀏覽器無法完成 TLS 握手。

如果我完成了一個nslookupforx.example.com並且y.x.example.com我得到了相同的 NameServers,我不會期望 Route 53 解決y.x.example.com.

因此,我正在尋找以下兩個問題之一的答案:

  1. 如何配置 AWS 負載均衡器以阻止埠 443 上的所有萬用字元多級子域?
  2. 為什麼 Route 53 正在解析y.x.example.com/如何停止 Route 53 解析?
  1. 如果這是關於 HTTPS/TLS 的具體情況,我認為這不會以任何有意義的方式實現。

如果您沒有客戶端嘗試連接的名稱的有效證書,則無論配置如何,您都無法首先發送有效響應(如問題中提到的 404 響應)在伺服器端。

對於普通的 HTTP 案例,可能會根據Host condition執行類似要求的操作,但我不確定是否真的可以區分單級與多級案例。不過,我不確定這些天普通的 HTTP 案例是否有趣。 2. 這就是萬用字元在 DNS 中的工作方式。查找不屬於樹的現有分支的 DNS 名稱(無論是否缺少一個或多個標籤)將匹配其上方的萬用字元記錄。

還值得注意的是,*僅當它是最左邊的標籤時才用作萬用字元。*.example.com用作萬用字元,*.foo.example.com用作萬用字元,但foo.*.example.com,foo*.example.com*foo.example.com不是 DNS 中的萬用字元。

我不相信您有使用萬用字元的實用方法,同時獲得您要求的“僅一級”功能(通常使用 DNS 萬用字元或專門使用 Route53)。考慮改為添加您實際需要的特定名稱(如果需要,動態添加),或者以其他方式使用正常的萬用字元行為。

總的來說,我懷疑最好的選擇是不在 DNS 中使用萬用字元,這樣就不會出現客戶端使用這些不受歡迎的名稱連接到 ELB 的問題。

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