為什麼 systemd-networkd 認為 UseDomains=(來自 DHCP 的域搜尋列表)不如 LLMNR 安全?
使用域=
接受一個布爾參數,或特殊值“路由”。如果為 true,則從 DHCP 伺服器接收的域名將用作此連結上的 DNS 搜尋域,類似於 Domains= 設置的效果。如果設置為“route”,則從 DHCP 伺服器接收的域名將僅用於路由 DNS 查詢,而不用於搜尋,類似於參數以“~”為前綴時的 Domains= 設置的效果。預設為假。
建議僅在受信任的網路上啟用此選項,因為設置此選項會影響所有主機名的解析,尤其是單標籤名稱。通常將提供的域僅用作路由域而不是用作搜尋域更安全,以免影響單標籤名稱的本地解析。
比較
法學碩士=
布爾值或“解析”。如果為 true,則在鏈路上啟用鏈路本地多播名稱解析。設置為“resolve”時,僅啟用解析,不啟用主機註冊和公告。預設為真。
但 LLMNR 也解析單標籤名稱。誰能解釋一下?
來源:https ://www.freedesktop.org/software/systemd/man/systemd.network.html systemd 版本 239。
2015 年發布了一個理由。
https://www.mail-archive.com/systemd-devel@lists.freedesktop.org/msg31563.html
> > iiuc,擔心的是多級域名(即至少有一個點的域名)可以通過控制搜尋後綴來進行欺騙。但是對於具有至少兩個級別的名稱,glibc 僅使用搜尋列表作為備份。 > > >
好吧,當然,能夠在搜尋邏輯的開頭影響事物比在搜尋邏輯的結尾影響事物更成問題,但我仍然認為這是有問題的,因為它仍然允許您插入“home.foobar.com” " 進入一個域 “foobar.com”,它本身沒有 “home.foobar.com” 但只有 “www.bar.com”…
當然,經典(非 DNSSEC)DNS 永遠不會完全安全,但我仍然相信我們應該預設使用更安全的選項,並允許其他選項。
更改搜尋路徑在公共網路上本質上是沒有意義的,只有當您非常了解您的網路並在某種程度上信任它時才有意義。因此,對我來說,選擇加入聽起來是更好的選擇。