{
    "content": [
        {
            "type": "text",
            "text": "# systemd.negative(5) (man)\n\n**Summary:** dnssec-trust-anchors.d, systemd.positive, systemd.negative - DNSSEC trust anchor configuration files\n\n**Synopsis:** /etc/dnssec-trust-anchors.d/*.positive\n/run/dnssec-trust-anchors.d/*.positive\n/usr/lib/dnssec-trust-anchors.d/*.positive\n/etc/dnssec-trust-anchors.d/*.negative\n/run/dnssec-trust-anchors.d/*.negative\n/usr/lib/dnssec-trust-anchors.d/*.negative\n\n## See Also\n\n- systemd(1)\n- systemd-resolved.service(8)\n- resolved.conf(5)\n- systemd.network(5)\n\n## Section Outline\n\n- **NAME** (3 lines)\n- **SYNOPSIS** (12 lines)\n- **DESCRIPTION** (3 lines)\n- **POSITIVE TRUST ANCHORS** (57 lines)\n- **NEGATIVE TRUST ANCHORS** (26 lines)\n- **SEE ALSO** (2 lines)\n- **NOTES** (24 lines)\n\n## Full Content\n\n### NAME\n\ndnssec-trust-anchors.d, systemd.positive, systemd.negative - DNSSEC trust anchor\nconfiguration files\n\n### SYNOPSIS\n\n/etc/dnssec-trust-anchors.d/*.positive\n\n/run/dnssec-trust-anchors.d/*.positive\n\n/usr/lib/dnssec-trust-anchors.d/*.positive\n\n/etc/dnssec-trust-anchors.d/*.negative\n\n/run/dnssec-trust-anchors.d/*.negative\n\n/usr/lib/dnssec-trust-anchors.d/*.negative\n\n### DESCRIPTION\n\nThe DNSSEC trust anchor configuration files define positive and negative trust anchors\nsystemd-resolved.service(8) bases DNSSEC integrity proofs on.\n\n### POSITIVE TRUST ANCHORS\n\nPositive trust anchor configuration files contain DNSKEY and DS resource record definitions\nto use as base for DNSSEC integrity proofs. See RFC 4035, Section 4.4[1] for more information\nabout DNSSEC trust anchors.\n\nPositive trust anchors are read from files with the suffix .positive located in\n/etc/dnssec-trust-anchors.d/, /run/dnssec-trust-anchors.d/ and\n/usr/lib/dnssec-trust-anchors.d/. These directories are searched in the specified order, and\na trust anchor file of the same name in an earlier path overrides a trust anchor files in a\nlater path. To disable a trust anchor file shipped in /usr/lib/dnssec-trust-anchors.d/ it is\nsufficient to provide an identically-named file in /etc/dnssec-trust-anchors.d/ or\n/run/dnssec-trust-anchors.d/ that is either empty or a symlink to /dev/null (\"masked\").\n\nPositive trust anchor files are simple text files resembling DNS zone files, as documented in\nRFC 1035, Section 5[2]. One DS or DNSKEY resource record may be listed per line. Empty lines\nand lines starting with \"#\" or \";\" are ignored, which may be used for commenting. A\n<consant>DS</consant> resource record is specified like in the following example:\n\n. IN DS 19036 8 2 49aac11d7b6f6446702e54a1607371607a1a41855200fd2ce1cdde32f24e8fb5\n\nThe first word specifies the domain, use \".\"  for the root domain. The domain may be\nspecified with or without trailing dot, which is considered equivalent. The second word must\nbe \"IN\" the third word \"DS\". The following words specify the key tag, signature algorithm,\ndigest algorithm, followed by the hex-encoded key fingerprint. See RFC 4034, Section 5[3] for\ndetails about the precise syntax and meaning of these fields.\n\nAlternatively, DNSKEY resource records may be used to define trust anchors, like in the\nfollowing example:\n\n. IN DNSKEY 257 3 8 AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjFFVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoXbfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaDX6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpzW5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relSQageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulqQxA+Uk1ihz0=\n\nThe first word specifies the domain again, the second word must be \"IN\", followed by\n\"DNSKEY\". The subsequent words encode the DNSKEY flags, protocol and algorithm fields,\nfollowed by the key data encoded in Base64. See RFC 4034, Section 2[4] for details about the\nprecise syntax and meaning of these fields.\n\nIf multiple DS or DNSKEY records are defined for the same domain (possibly even in different\ntrust anchor files), all keys are used and are considered equivalent as base for DNSSEC\nproofs.\n\nNote that systemd-resolved will automatically use a built-in trust anchor key for the\nInternet root domain if no positive trust anchors are defined for the root domain. In most\ncases it is hence unnecessary to define an explicit key with trust anchor files. The built-in\nkey is disabled as soon as at least one trust anchor key for the root domain is defined in\ntrust anchor files.\n\nIt is generally recommended to encode trust anchors in DS resource records, rather than\nDNSKEY resource records.\n\nIf a trust anchor specified via a DS record is found revoked it is automatically removed from\nthe trust anchor database for the runtime. See RFC 5011[5] for details about revoked trust\nanchors. Note that systemd-resolved will not update its trust anchor database from DNS\nservers automatically. Instead, it is recommended to update the resolver software or update\nthe new trust anchor via adding in new trust anchor files.\n\nThe current DNSSEC trust anchor for the Internet's root domain is available at the IANA Trust\nAnchor and Keys[6] page.\n\n### NEGATIVE TRUST ANCHORS\n\nNegative trust anchors define domains where DNSSEC validation shall be turned off. Negative\ntrust anchor files are found at the same location as positive trust anchor files, and follow\nthe same overriding rules. They are text files with the .negative suffix. Empty lines and\nlines whose first character is \";\" are ignored. Each line specifies one domain name which is\nthe root of a DNS subtree where validation shall be disabled. For example:\n\n# Reverse IPv4 mappings\n10.in-addr.arpa\n16.172.in-addr.arpa\n168.192.in-addr.arpa\n...\n# Some custom domains\nprod\nstag\n\nNegative trust anchors are useful to support private DNS subtrees that are not referenced\nfrom the Internet DNS hierarchy, and not signed.\n\nRFC 7646[7] for details on negative trust anchors.\n\nIf no negative trust anchor files are configured a built-in set of well-known private DNS\nzone domains is used as negative trust anchors.\n\nIt is also possibly to define per-interface negative trust anchors using the\nDNSSECNegativeTrustAnchors= setting in systemd.network(5) files.\n\n### SEE ALSO\n\nsystemd(1), systemd-resolved.service(8), resolved.conf(5), systemd.network(5)\n\n### NOTES\n\n1. RFC 4035, Section 4.4\nhttps://tools.ietf.org/html/rfc4035#section-4.4\n\n2. RFC 1035, Section 5\nhttps://tools.ietf.org/html/rfc1035#section-5\n\n3. RFC 4034, Section 5\nhttps://tools.ietf.org/html/rfc4034#section-5\n\n4. RFC 4034, Section 2\nhttps://tools.ietf.org/html/rfc4034#section-2\n\n5. RFC 5011\nhttps://tools.ietf.org/html/rfc5011\n\n6. IANA Trust Anchor and Keys\nhttps://data.iana.org/root-anchors/root-anchors.xml\n\n7. RFC 7646\nhttps://tools.ietf.org/html/rfc7646\n\n\n\nsystemd 249                                                                DNSSEC-TRUST-ANCHORS.D(5)\n\n"
        }
    ],
    "structuredContent": {
        "command": "systemd.negative",
        "section": "5",
        "mode": "man",
        "summary": "dnssec-trust-anchors.d, systemd.positive, systemd.negative - DNSSEC trust anchor configuration files",
        "synopsis": "/etc/dnssec-trust-anchors.d/*.positive\n/run/dnssec-trust-anchors.d/*.positive\n/usr/lib/dnssec-trust-anchors.d/*.positive\n/etc/dnssec-trust-anchors.d/*.negative\n/run/dnssec-trust-anchors.d/*.negative\n/usr/lib/dnssec-trust-anchors.d/*.negative",
        "flags": [],
        "examples": [],
        "see_also": [
            {
                "name": "systemd",
                "section": "1",
                "url": "https://www.chedong.com/phpMan.php/man/systemd/1/json"
            },
            {
                "name": "systemd-resolved.service",
                "section": "8",
                "url": "https://www.chedong.com/phpMan.php/man/systemd-resolved.service/8/json"
            },
            {
                "name": "resolved.conf",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/resolved.conf/5/json"
            },
            {
                "name": "systemd.network",
                "section": "5",
                "url": "https://www.chedong.com/phpMan.php/man/systemd.network/5/json"
            }
        ],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 12,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "POSITIVE TRUST ANCHORS",
                "lines": 57,
                "subsections": []
            },
            {
                "name": "NEGATIVE TRUST ANCHORS",
                "lines": 26,
                "subsections": []
            },
            {
                "name": "SEE ALSO",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "NOTES",
                "lines": 24,
                "subsections": []
            }
        ]
    }
}