]> git.ipfire.org Git - thirdparty/systemd.git/blame - man/dnssec-trust-anchors.d.xml
Merge pull request #11050 from poettering/resolved-domain-route
[thirdparty/systemd.git] / man / dnssec-trust-anchors.d.xml
CommitLineData
514094f9 1<?xml version='1.0'?>
b5a8703f
LP
2<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
3 "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
4
5<!--
572eb058 6 SPDX-License-Identifier: LGPL-2.1+
b5a8703f
LP
7-->
8
1ec57f33 9<refentry id="dnssec-trust-anchors.d" conditional='ENABLE_RESOLVE'
b5a8703f
LP
10 xmlns:xi="http://www.w3.org/2001/XInclude">
11 <refentryinfo>
12 <title>dnssec-trust-anchors.d</title>
13 <productname>systemd</productname>
b5a8703f
LP
14 </refentryinfo>
15
16 <refmeta>
17 <refentrytitle>dnssec-trust-anchors.d</refentrytitle>
18 <manvolnum>5</manvolnum>
19 </refmeta>
20
21 <refnamediv>
22 <refname>dnssec-trust-anchors.d</refname>
23 <refname>systemd.positive</refname>
24 <refname>systemd.negative</refname>
25 <refpurpose>DNSSEC trust anchor configuration files</refpurpose>
26 </refnamediv>
27
28 <refsynopsisdiv>
29 <para><filename>/etc/dnssec-trust-anchors.d/*.positive</filename></para>
30 <para><filename>/run/dnssec-trust-anchors.d/*.positive</filename></para>
31 <para><filename>/usr/lib/dnssec-trust-anchors.d/*.positive</filename></para>
32 <para><filename>/etc/dnssec-trust-anchors.d/*.negative</filename></para>
33 <para><filename>/run/dnssec-trust-anchors.d/*.negative</filename></para>
34 <para><filename>/usr/lib/dnssec-trust-anchors.d/*.negative</filename></para>
35 </refsynopsisdiv>
36
37 <refsect1>
38 <title>Description</title>
39
40 <para>The DNSSEC trust anchor configuration files define positive
41 and negative trust anchors
42 <citerefentry><refentrytitle>systemd-resolved.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>
43 bases DNSSEC integrity proofs on.</para>
44 </refsect1>
45
46 <refsect1>
47 <title>Positive Trust Anchors</title>
48
49 <para>Positive trust anchor configuration files contain DNSKEY and
50 DS resource record definitions to use as base for DNSSEC integrity
51 proofs. See <ulink
52 url="https://tools.ietf.org/html/rfc4035#section-4.4">RFC 4035,
53 Section 4.4</ulink> for more information about DNSSEC trust
54 anchors.</para>
55
56 <para>Positive trust anchors are read from files with the suffix
57 <filename>.positive</filename> located in
58 <filename>/etc/dnssec-trust-anchors.d/</filename>,
59 <filename>/run/dnssec-trust-anchors.d/</filename> and
60 <filename>/usr/lib/dnssec-trust-anchors.d/</filename>. These
61 directories are searched in the specified order, and a trust
62 anchor file of the same name in an earlier path overrides a trust
63 anchor files in a later path. To disable a trust anchor file
64 shipped in <filename>/usr/lib/dnssec-trust-anchors.d/</filename>
65 it is sufficient to provide an identically-named file in
66 <filename>/etc/dnssec-trust-anchors.d/</filename> or
67 <filename>/run/dnssec-trust-anchors.d/</filename> that is either
68 empty or a symlink to <filename>/dev/null</filename> ("masked").</para>
69
70 <para>Positive trust anchor files are simple text files resembling
71 DNS zone files, as documented in <ulink
72 url="https://tools.ietf.org/html/rfc1035#section-5">RFC 1035, Section
73 5</ulink>. One DS or DNSKEY resource record may be listed per
74 line. Empty lines and lines starting with a semicolon
75 (<literal>;</literal>) are ignored and considered comments. A DS
76 resource record is specified like in the following example:</para>
77
78 <programlisting>. IN DS 19036 8 2 49aac11d7b6f6446702e54a1607371607a1a41855200fd2ce1cdde32f24e8fb5</programlisting>
79
80 <para>The first word specifies the domain, use
81 <literal>.</literal> for the root domain. The domain may be
82 specified with or without trailing dot, which is considered
83 equivalent. The second word must be <literal>IN</literal> the
84 third word <literal>DS</literal>. The following words specify the
85 key tag, signature algorithm, digest algorithm, followed by the
86 hex-encoded key fingerprint. See <ulink
87 url="https://tools.ietf.org/html/rfc4034#section-5">RFC 4034,
88 Section 5</ulink> for details about the precise syntax and meaning
89 of these fields.</para>
90
91 <para>Alternatively, DNSKEY resource records may be used to define
92 trust anchors, like in the following example:</para>
93
94 <programlisting>. IN DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0=</programlisting>
95
96 <para>The first word specifies the domain again, the second word
97 must be <literal>IN</literal>, followed by
98 <literal>DNSKEY</literal>. The subsequent words encode the DNSKEY
99 flags, protocol and algorithm fields, followed by the key data
b8e1d4d1 100 encoded in Base64. See <ulink
b5a8703f
LP
101 url="https://tools.ietf.org/html/rfc4034#section-2">RFC 4034,
102 Section 2</ulink> for details about the precise syntax and meaning
103 of these fields.</para>
104
105 <para>If multiple DS or DNSKEY records are defined for the same
106 domain (possibly even in different trust anchor files), all keys
107 are used and are considered equivalent as base for DNSSEC
108 proofs.</para>
109
110 <para>Note that <filename>systemd-resolved</filename> will
111 automatically use a built-in trust anchor key for the Internet
112 root domain if no positive trust anchors are defined for the root
113 domain. In most cases it is hence unnecessary to define an
114 explicit key with trust anchor files. The built-in key is disabled
115 as soon as at least one trust anchor key for the root domain is
116 defined in trust anchor files.</para>
117
118 <para>It is generally recommended to encode trust anchors in DS
119 resource records, rather than DNSKEY resource records.</para>
120
121 <para>If a trust anchor specified via a DS record is found revoked
122 it is automatically removed from the trust anchor database for the
123 runtime. See <ulink url="https://tools.ietf.org/html/rfc5011">RFC
124 5011</ulink> for details about revoked trust anchors. Note that
125 <filename>systemd-resolved</filename> will not update its trust
126 anchor database from DNS servers automatically. Instead, it is
127 recommended to update the resolver software or update the new
128 trust anchor via adding in new trust anchor files.</para>
129
130 <para>The current DNSSEC trust anchor for the Internet's root
b8e1d4d1 131 domain is available at the <ulink
b5a8703f
LP
132 url="https://data.iana.org/root-anchors/root-anchors.xml">IANA
133 Trust Anchor and Keys</ulink> page.</para>
134 </refsect1>
135
136 <refsect1>
137 <title>Negative Trust Anchors</title>
138
e788ef48
ZJS
139 <para>Negative trust anchors define domains where DNSSEC validation shall be turned
140 off. Negative trust anchor files are found at the same location as positive trust anchor files,
141 and follow the same overriding rules. They are text files with the
142 <filename>.negative</filename> suffix. Empty lines and lines whose first character is
143 <literal>;</literal> are ignored. Each line specifies one domain name which is the root of a DNS
144 subtree where validation shall be disabled.</para>
b5a8703f
LP
145
146 <para>Negative trust anchors are useful to support private DNS
147 subtrees that are not referenced from the Internet DNS hierarchy,
148 and not signed.</para>
149
150 <para><ulink url="https://tools.ietf.org/html/rfc7646">RFC
151 7646</ulink> for details on negative trust anchors.</para>
30c77809
LP
152
153 <para>If no negative trust anchor files are configured a built-in
154 set of well-known private DNS zone domains is used as negative
155 trust anchors.</para>
8a516214
LP
156
157 <para>It is also possibly to define per-interface negative trust
158 anchors using the <varname>DNSSECNegativeTrustAnchors=</varname>
159 setting in
160 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
161 files.</para>
b5a8703f
LP
162 </refsect1>
163
164 <refsect1>
165 <title>See Also</title>
166 <para>
167 <citerefentry><refentrytitle>systemd</refentrytitle><manvolnum>1</manvolnum></citerefentry>,
168 <citerefentry><refentrytitle>systemd-resolved.service</refentrytitle><manvolnum>8</manvolnum></citerefentry>,
8a516214
LP
169 <citerefentry><refentrytitle>resolved.conf</refentrytitle><manvolnum>5</manvolnum></citerefentry>,
170 <citerefentry><refentrytitle>systemd.network</refentrytitle><manvolnum>5</manvolnum></citerefentry>
b5a8703f
LP
171 </para>
172 </refsect1>
173
174</refentry>