当前位置: 首页 > 文档资料 > systemd 中文手册 >

dnssec-trust-anchors.d 中文手册

优质
小牛编辑
145浏览
2023-12-01

名称

dnssec-trust-anchors.d, systemd.positive, systemd.negative — DNSSEC 信任锚配置

大纲

/etc/dnssec-trust-anchors.d/*.positive

/run/dnssec-trust-anchors.d/*.positive

/usr/lib/dnssec-trust-anchors.d/*.positive

/etc/dnssec-trust-anchors.d/*.negative

/run/dnssec-trust-anchors.d/*.negative

/usr/lib/dnssec-trust-anchors.d/*.negative

描述

DNSSEC 信任锚配置文件定义了systemd-resolved.service(8)实现 DNSSEC 完整性验证所依赖的根基:正向信任锚与反向信任锚。

正向信任锚(Positive Trust Anchor)

正向信任锚配置文件包含 DNSKEY 与DS 资源记录。参见 RFC 4035,Section 4.4 以了解更多有关 DNSSEC 信任锚的说明。

正向信任锚依次从/etc/dnssec-trust-anchors.d/(优先级最高),/run/dnssec-trust-anchors.d/(优先级居中),/usr/lib/dnssec-trust-anchors.d/(优先级最低)目录下后缀名为 .positive 配置文件中读取。对于不同目录下的同名配置文件来说,高优先级目录中的配置文件会覆盖低优先级目录中的同名配置文件。因此,要想屏蔽 /usr/lib/dnssec-trust-anchors.d/目录中的某个配置文件,可以在/etc/dnssec-trust-anchors.d//run/dnssec-trust-anchors.d/ 目录中创建一个指向 /dev/null 的同名软连接。

与DNS区域文件(RFC 1035, Section5)一样,正向信任锚的配置文件也是一个纯文本文件。格式上,一行表示一个 DS 或 DNSKEY 资源记录,空行与分号(";")开头的行将被忽略。一个 DS 资源记录的例子:

. IN DS 19036 8 2 49aac11d7b6f6446702e54a1607371607a1a41855200fd2ce1cdde32f24e8fb5

第一个字段表示域(尾部的句点可写可不写),本例中的 "." 表示"根域"。第二个字段必须是 "IN" 。第三个字段必须是 "DS" 。其余的字段分别表示:公钥标签(Key Tag), 签名算法, 摘要算法, 16进制编码的公钥摘要。参见 RFC 4034,Section 5 以了解上述各字段含义的详细解释。

DNSKEY 资源记录用于定义信任锚。一个 DNSKEY 资源记录的例子:

. IN DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0=

第一个字段表示域(尾部的句点可写可不写),本例中的 "." 表示"根域"。第二个字段必须是 "IN" 。第三个字段必须是 "DNSKEY" 。其余的字段分别表示:DNSKEY Flags, 协议, 公钥算法, Base64编码的公钥。参见 RFC 4034,Section 2 以了解上述各字段含义的详细解释。

如果为同一个域定义了多个 DS 或 DNSKEY 资源记录,那么所有公钥都将被认可并且彼此平等(即使这些记录位于不同目录下的配置文件中)。

注意,如果没有专门为根域配置正向信任锚,那么 systemd-resolved将会自动为根域使用内置的信任锚公钥,因此通常没必要专门为根域配置信任锚。仅在根域的信任锚确实发生变化的情况下,才需要专门为根域配置新的信任锚。

通常建议将信任锚封装为 DS资源记录(而不是 DNSKEY 资源记录)。

如果发现某个 DS 资源记录中封装的信任锚已经被撤销,那么在将会自动从信任锚数据库中删除该记录。参见 RFC5011 已了解有关信任锚的撤销。注意,systemd-resolved不会自动从 DNS 服务器更新自己的信任锚数据库。推荐的做法是升级 systemd 软件包的版本或者更新信任锚配置文件。

最新的 Internet 根域 DNSSEC 信任锚可以从 IANATrust Anchor and Keys 页面获取。

反向信任锚(Negative Trust Anchor)

反向信任锚用于定义应该针对哪些域关闭 DNSSEC 验证机制。反向信任锚配置文件与正向信任锚配置文件的存放目录、优先级、覆盖规则都完全相同。反向信任锚配置文件的名称必须以 .negative 为后缀,空行与分号(";")开头的行将被忽略。每行一个域名,表示关闭该域名及其所有子域名的 DNSSEC 验证机制。

反向信任锚通常用于禁用某些私有域名的DNSSEC验证机制,因为这些私有域名无法在互联网DNS服务器上进行验证。

RFC7646 详细描述了反向信任锚。

如果没有设置任何反向信任锚配置文件,那么将使用一组内置的众所周知的私有DNS区域作为反向信任锚。

可以使用 DNSSECNegativeTrustAnchors= 选项(参见systemd.network(5)手册)专门针对特定的网络接口设置专属的反向信任锚。

参见

systemd(1),systemd-resolved.service(8),resolved.conf(5),systemd.network(5)

最后更新:

类似资料

  • 描述 把 HTML 字符串转换为未经转义的 HTML。不要对未经过滤的用户输入数据使用 m.trust。 在考虑使用 m.trust 之前,优先考虑使用替代方法。 签名 vnode = m.trust(html) 参数 类型 是否必须 描述 html String 是 HTML 字符串 返回 Vnode 一个可信的 HTML 字符串生成的 vnode 工作原理 Mithirl 会默认转义所有值,以

  • Trust - Ethereum Wallet and Web3 DApp Browser for iOS Welcome to Trust's open source iOS app! Getting Started Download the Xcode 9 release. Clone this repository. Run make bootstrap to install tools a

  • 在任何人结束这个问题或标记为重复之前,我必须说我已经研究了所有的互联网,没有发现任何类似的问题。 问题是我在Virtual Box映像中安装了一个新的Linux Mint 19。因此,在安装 Java 8 之后,我下载了 Eclipse Scala,我尝试添加到新项目中的任何依赖项都不会被下载,并且在其 pom 中标记了一个错误.xml . 在检查url并在我的Eclipse Scala for

  • 问题内容: 我想创建一个将.cer CA导入现有密钥库文件的JAVA程序。这样最终用户可以更加方便地插入CA证书(无需使用CMD和命令中的键)。 JAVA代码可以在任何地方做到这一点吗? 我尝试以某种方式,但仍然无法将证书导入Java 错误是不兼容的类型,还有其他建议吗? 谢谢很多 问题答案: 以下代码将CA cert文件插入您的密钥库,而无需使用:

相关阅读

开发工具

trust-wallet-ios