
次の構成を使用して、DNS over TLS を使用するように Unbound を構成しました。ホスト名に対してアップストリーム証明書を検証するように Unbound を構成するにはどうすればよいでしょうか?
forward-zone:
name: "."
forward-addr: 1.1.1.1@853
forward-addr: 1.0.0.1@853
forward-addr: 2606:4700:4700::1111@853
forward-addr: 2606:4700:4700::1001@853
forward-tls-upstream: yes
答え1
アップストリーム DNS サーバーの証明書の検証に対するサポートの追加に関するバグ レポートは、2018 年 4 月 19 日に解決されました。
上の例を応用するとコメント 9:
server:
tls-cert-bundle: "/etc/pki/tls/certs/ca-bundle.crt"
forward-zone:
name: "."
forward-addr: 1.1.1.1#cloudflare-dns.com
forward-addr: 1.0.0.1#cloudflare-dns.com
forward-addr: 2606:4700:4700::1111#cloudflare-dns.com
forward-addr: 2606:4700:4700::1001#cloudflare-dns.com
forward-tls-upstream: yes
動作の仕組みについても説明があります。ハッシュタグ名を使用すると、スタブゾーンと unbound-control 転送制御コマンドに対して TLS 認証名を設定できます。'@' と '#' の周囲にスペースを入れないでください。
答え2
残念ながら、それはできません。これには未解決のバグがあります:
転送設定でTLSを使用したアンバウンドはサーバーの証明書を検証しません
そのため、Unbounds DNS over TLS を使用すると、リクエストが傍受される可能性があります。
答え3
「転送構成で TLS を使用する unbound がサーバーの証明書を検証しない」というバグは、2018 年 4 月 19 日に解決されました。
フォワーダーの TLS 認証。
構文は forward-addr: [@port][#tls-authentication-name] です。また、ca バンドルは tls-cert-bundle: "ca-bundle.pem" (または ca-bundle.crt ファイル) で設定できます。
サーバーの例: tls-cert-bundle: "/etc/pki/tls/certs/ca-bundle.crt" forward-zone: name: "." forward-tls-upstream: yes forward-addr: 9.9.9.9@853#dns.quad9.net forward-addr: 1.1.1.1@853#cloudflare-dns.com
ハッシュタグ名のトリックにより、たとえばスタブゾーンや unbound-control 転送制御コマンドに対しても TLS 認証名を設定できるようになります。コードも簡単になりました。'@' と '#' の周囲にスペースを入れないでください。
tls authname を指定する場合、ポート番号は [...] 853 です。 (その他の場合は 53 のままです)。
参照:コメント 9。