Internet DRAFT - draft-mglt-add-signaling-filtering-policies
draft-mglt-add-signaling-filtering-policies
add D. Migault
Internet-Draft Ericsson
Intended status: Standards Track March 09, 2020
Expires: September 10, 2020
Signaling resolver's filtering policies
draft-mglt-add-signaling-filtering-policies-00
Abstract
This document defines one mechanism that enables a DNS resolver to
inform a DNS client that filtering policies are in place and what
their concern is. The second mechanism describes how a DNS client
can request a resolver whether filtering policies are in place and
what their concern is.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 10, 2020.
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Migault Expires September 10, 2020 [Page 1]
Internet-Draft filtering policies by the resolver March 2020
Table of Contents
1. Requirements Notation . . . . . . . . . . . . . . . . . . . . 2
2. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Filtering semantics . . . . . . . . . . . . . . . . . . . . . 3
4. DNS resolver advertising filtering status . . . . . . . . . . 4
5. Requesting DNS resolver filtering status . . . . . . . . . . 5
6. Blocking traffic under the policy . . . . . . . . . . . . . . 6
7. Security Considerations . . . . . . . . . . . . . . . . . . . 6
8. Privacy Considerations . . . . . . . . . . . . . . . . . . . 6
9. IANA considerations . . . . . . . . . . . . . . . . . . . . . 6
10. Acknowledgment . . . . . . . . . . . . . . . . . . . . . . . 7
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
11.1. Normative References . . . . . . . . . . . . . . . . . . 7
11.2. Informative References . . . . . . . . . . . . . . . . . 7
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Requirements Notation
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described BCP 14
[RFC2119] [RFC8174] when, and only when, they appear in all capitals,
as shown here.
2. Introduction
This document defines mechanisms that enable a DNSSEC resolver to
signal that filtering policies are enabled by the DNSSEC resolver.
There are two distinct mechanisms. The first mechanism enables a
resolver to advertise policies that are enabled/disabled without any
explicit request from the DNS client. The second mechanism enables a
DNS client to request the status of the resolver. Such consideration
may be used, by a stub resolver for example to select an appropriated
resolver.
The ability for a resolver to provide such information to a DNS
client will help a DNS client to appropriately chose its resolver.
The ability to request or signal configuration information has
already been done in the past for the TA. [RFC8145] enables a
resolver to advertise an authoritative server via an EDNS option in
the OPT RR which TA is used for the DNSSEC validation. The RR is
inserted when DNSKEY RRsets are requested. In addition, the resolver
may also request the appropriated TA with a specific DNS query. The
RRsets are stored in the authoritative zone.
Migault Expires September 10, 2020 [Page 2]
Internet-Draft filtering policies by the resolver March 2020
[RFC8509] describes a sentinel mechanism where the resolver has a
specific behavior based on the left side label. This mechanism
enable a user to evaluate which KSK the resolver provisioned with.
[RFC6975] describes how resolvers can indicate the supported
cryptographic primitives. These are advertised though EDNS0 options
in OPT RR.
3. Filtering semantics
Filtering can be enforced in various ways, and the resolver should be
able to provide some insight of the filtering policies in place.
This document considers various filtering policies that may be
extended in the future. The filtering policies are informative and
are expected to provide a good understanding to the DNS client of the
status of the filtering policies. The filtering policy enforced by
the resolver may result in a combination of various filtering
policies.
Values | Name
------------------------
0 | no_filetring
1 | undefined
2 | malware
3 | illegal
4 | child
200-255 | unassigned
no_filetring indicates no filtering is performed by the resolver.
This policy is incompatible with other policies.
undefined indicates a filtering policy but does not provide
indications on the policies. When used in combination of other
filtering policies, it indicates additional filtering policies are
considered.
malware sites that are security risks or sources of malware, or that
allow users to circumvent policies.
illegal Users may be committing crimes or exposing the organization
to legal liability with these sites.
child sites that can be seen by kids.
source: https://campus.barracuda.com/product/campus/doc/5472264/web-
use-categories
https://campus.barracuda.com/product/ContentShield/doc/77401148/how-
to-configure-dns-filtering-policies/
Migault Expires September 10, 2020 [Page 3]
Internet-Draft filtering policies by the resolver March 2020
Note that the client should consider information related to the
filtering policies enforced by the resolver cautiously and
interpretation of the policies will depend on the trust as well as
additional knowledge of the resolver. Typically, illegal categories
result in the enforcement of the local jurisdiction which could
results in site not being blocked within other jurisdictions.
4. DNS resolver advertising filtering status
The resolver MAY advertise its filtering policy to the DNS client
using an OPT RR in an EDNS0 option [RFC6891]. The variable part of
the RDATA to define filtering status is defined below:
0 8 16
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| OPTION-CODE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
/ DATA /
| |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
and DATA defined as
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| LENGTH |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| filtering_policy | ... |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| ... /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
where:
OPTION-CODE The EDNS0 option code assigned to filtering-policies
(TBD1).
LENGTH The length in octets of the filtering policies, that is the
number of filtering policies that apply. When RDATA is used in
conjunction of EDNS0, LENGTH corresponds to teh OPTION-LENGTH
field as defined in [RFC6891].
filtering policies the list of filtering policies coded over one
octet that apply. When RDATA is used in conjunction of EDNS0, the
filtering_policies corresponds to OPTION-DATA.
The filtering status may be placed by the DNS resolver as an
indication to the DNS client. It is recommended the DNS resolve
Migault Expires September 10, 2020 [Page 4]
Internet-Draft filtering policies by the resolver March 2020
place the indication in the first response it provides to the DNS
client. When the DNS exchanges are protected by TLS or DTLS, the OPT
RR SHOULD be provided in the first DNS response provided after the
(D)TLS session establishment. When exchanges are not protected over
(D)TLS the resolver MAY insert it at regular time interval. The
resolver could also maintain a list of seen IP addresses, and provide
the OPT RR anytime a new IP address is noticed.
As EDNS0 is not protected by DNSSEC, it is RECOMMENDED to consider
such signaling when the exchanges are protected by (D)TLS.
5. Requesting DNS resolver filtering status
This section describes a mechanism that enables the DNS client to
request the resolver policies. Policies will be retrieve via a DNS
exchange.
The DNS resolver is usually designated by an IP address rather than a
name as to get the IP address from a name would involve a DNS
resolution. As a result, the DNS client may not necessarily be
configured with the associated name of the resolver and a reverse
resolution may be required to receive to get this name. In the
remaining of the section, the resolver is designated by example.com
The policies are indicated by the RRset with QTYPE=NULL, QCLASS=IN,
QNAME=_filtering_policies.example.com. The associated RDATA as
defined in Section 4.
The resolver supporting this mechanisms is provisioned with the this
record and responds to the query. By this way, the DNS client is
aware of the filtering policies implemented. A resolver not
supporting this mechanism will return an error (NXDOMAIN) thus
informing the DNS client that filtering policies are not provided.
The RRsets SHOULD be signed by DNSSEC.
The resolution service is often seen by the end user as a service
that may involve multiple parties. How the different parties
collaborate is usually out of the DNS client perspective. Typically
the downstream point must ensure the provided filtering policies
reflects the filtering policies of the upstream parties. In some
cases discovery policies of the upstream resolvers might be performed
and the response may result in the aggregation of multiple RRSets.
At least any party MUST ensure the filtering policies responded
reflects the actual the enforced filtering policies. The entry point
of a resolving service SHOULD provide its corresponding
_filtering_policies RRsets as well as RRsets associated to upstream
resolvers. These RRSets MAY be added in the additional section or
the resolver MAY built its filtering policies according to the
Migault Expires September 10, 2020 [Page 5]
Internet-Draft filtering policies by the resolver March 2020
upstream filtering policies. If an upstream resolver does not
provide filtering policies, the resolver SHOULD include an undefined
filtering p policies.
6. Blocking traffic under the policy
When a resolution fails because of the filtering policy, the error
code returned can be Blocked, Censored or Filtered
[I-D.ietf-dnsop-extended-error]. When filtering policies are
requested by the DNS client - such a parental control for example -
Filtered SHOULD be returned. When blocking results from a legal
enforcement Censored SHOULD be returned. When bocking is performed
by the operator's intelligence - such as malware related traffic for
example - Blocked SHOULD be returned.
7. Security Considerations
Informative only! the DNS client can hardly check. sensitive to chain
of resolvers.
8. Privacy Considerations
9. IANA considerations
IANA has assigned an EDNS0 option code for the filtering option in
the "DNS EDNS0 Option Codes (OPT)" registry as follows:
+-------+--------------------+----------+-----------+
| Value | Name | Status | Reference |
+-------+--------------------+----------+-----------+
| TBD1 | filtering-policies | Optional | RFC-TBD |
+-------+--------------------+----------+-----------+
https://www.iana.org/assignments/dns-parameters/dns-
parameters.xhtml#dns-parameters-14
DNS Filtering Policies
Values | Name | Description | Reference
--------------------------------------------------+-----------
0 | no_filetring | no filtering performed | RFC-TBD
1 | undefined | undefined filtering | RFC-TBD
2 | malware | malware related traffic | RFC-TBD
3 | illegal | legal enforcement | RFC-TBD
4 | child | unappropritaed for kids | RFC-TBD
200-255 | unassigned | | RFC-TBD
Underscored and Globally Scoped DNS Node Names
Migault Expires September 10, 2020 [Page 6]
Internet-Draft filtering policies by the resolver March 2020
RR Type | _NODE NAME | Reference
--------+--------------------+----------
NULL |_filetring_policies | RFC-TBD
10. Acknowledgment
11. References
11.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC6891] Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms
for DNS (EDNS(0))", STD 75, RFC 6891,
DOI 10.17487/RFC6891, April 2013,
<https://www.rfc-editor.org/info/rfc6891>.
[RFC6975] Crocker, S. and S. Rose, "Signaling Cryptographic
Algorithm Understanding in DNS Security Extensions
(DNSSEC)", RFC 6975, DOI 10.17487/RFC6975, July 2013,
<https://www.rfc-editor.org/info/rfc6975>.
[RFC8145] Wessels, D., Kumari, W., and P. Hoffman, "Signaling Trust
Anchor Knowledge in DNS Security Extensions (DNSSEC)",
RFC 8145, DOI 10.17487/RFC8145, April 2017,
<https://www.rfc-editor.org/info/rfc8145>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8509] Huston, G., Damas, J., and W. Kumari, "A Root Key Trust
Anchor Sentinel for DNSSEC", RFC 8509,
DOI 10.17487/RFC8509, December 2018,
<https://www.rfc-editor.org/info/rfc8509>.
11.2. Informative References
[I-D.ietf-dnsop-extended-error]
Kumari, W., Hunt, E., Arends, R., Hardaker, W., and D.
Lawrence, "Extended DNS Errors", draft-ietf-dnsop-
extended-error-14 (work in progress), January 2020.
Migault Expires September 10, 2020 [Page 7]
Internet-Draft filtering policies by the resolver March 2020
Author's Address
Daniel Migault
Ericsson
8275 Trans Canada Route
Saint Laurent, QC 4S 0B6
Canada
EMail: daniel.migault@ericsson.com
Migault Expires September 10, 2020 [Page 8]