mirror of
https://github.com/adulau/pdns-qof.git
synced 2024-11-22 18:17:04 +00:00
Processed output generated
This commit is contained in:
parent
9b3e0f2d1e
commit
a44b0594bd
1 changed files with 362 additions and 362 deletions
222
i-d/pdns-qof.txt
222
i-d/pdns-qof.txt
|
@ -4,10 +4,12 @@
|
||||||
Internet Engineering Task Force Dulaunoy
|
Internet Engineering Task Force Dulaunoy
|
||||||
Internet-Draft CIRCL
|
Internet-Draft CIRCL
|
||||||
Intended status: Informational Kaplan
|
Intended status: Informational Kaplan
|
||||||
Expires: July 15, 2013 CERT.at
|
Expires: October 13, 2013 CERT.at
|
||||||
Vixie
|
Vixie
|
||||||
ISC
|
ISC
|
||||||
January 2013
|
hs Stern
|
||||||
|
Cisco
|
||||||
|
April 2013
|
||||||
|
|
||||||
Passive DNS - Common Output Format
|
Passive DNS - Common Output Format
|
||||||
draft-ietf-dulaunoy-kaplan-pdns-cof-01
|
draft-ietf-dulaunoy-kaplan-pdns-cof-01
|
||||||
|
@ -20,7 +22,7 @@ Abstract
|
||||||
|
|
||||||
Status of this Memo
|
Status of this Memo
|
||||||
|
|
||||||
This Internet-Draft will expire on July 15, 2013.
|
This Internet-Draft will expire on October 13, 2013.
|
||||||
|
|
||||||
Copyright Notice
|
Copyright Notice
|
||||||
|
|
||||||
|
@ -41,32 +43,31 @@ Table of Contents
|
||||||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
|
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
|
||||||
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2
|
1.1. Requirements Language . . . . . . . . . . . . . . . . . . 2
|
||||||
2. Limitation . . . . . . . . . . . . . . . . . . . . . . . . . . 2
|
2. Limitation . . . . . . . . . . . . . . . . . . . . . . . . . . 2
|
||||||
3. Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
3. Common Output Format . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
3.1. Output Format . . . . . . . . . . . . . . . . . . . . . . 3
|
3.1. Overview and Example . . . . . . . . . . . . . . . . . . . 3
|
||||||
3.1.1. JSON . . . . . . . . . . . . . . . . . . . . . . . . . 3
|
3.2. Mandatory Fields . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
4. Mandatory Fields . . . . . . . . . . . . . . . . . . . . . . . 3
|
3.2.1. rrname . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
4.1. rrname . . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
3.2.2. rrtype . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
4.2. rrtype . . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
3.2.3. rdata . . . . . . . . . . . . . . . . . . . . . . . . 3
|
||||||
4.3. rdata . . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
3.2.4. time_first . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
4.4. time_first . . . . . . . . . . . . . . . . . . . . . . . . 4
|
3.2.5. time_last . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
4.5. time_last . . . . . . . . . . . . . . . . . . . . . . . . 4
|
3.3. Optional Fields . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
5. Optional Fields . . . . . . . . . . . . . . . . . . . . . . . 4
|
3.3.1. count . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
5.1. count . . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
|
||||||
5.2. bailiwick . . . . . . . . . . . . . . . . . . . . . . . . 5
|
|
||||||
|
|
||||||
Dulaunoy, Kaplan & Vixie info [Page 1]
|
Dulaunoy, Kaplan, Vixie & Stern info [Page 1]
|
||||||
|
|
||||||
Internet-Draft Abbreviated Title January 2013
|
Internet-Draft Abbreviated Title April 2013
|
||||||
|
|
||||||
6. Additional Fields . . . . . . . . . . . . . . . . . . . . . . 5
|
3.3.2. bailiwick . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
6.1. x-sensor_id . . . . . . . . . . . . . . . . . . . . . . . 5
|
3.4. Additional Fields . . . . . . . . . . . . . . . . . . . . 4
|
||||||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 5
|
3.4.1. sensor_id . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
|
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 5
|
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5
|
||||||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5
|
6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
|
||||||
10.1. Normative References . . . . . . . . . . . . . . . . . . 5
|
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||||
10.2. Informative References . . . . . . . . . . . . . . . . . 6
|
7.1. Normative References . . . . . . . . . . . . . . . . . . . 5
|
||||||
Appendix A. Additional Stuff . . . . . . . . . . . . . . . . . . . 6
|
7.2. Informative References . . . . . . . . . . . . . . . . . . 5
|
||||||
|
Appendix A. Appendix . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
|
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 6
|
||||||
|
|
||||||
1. Introduction
|
1. Introduction
|
||||||
|
@ -75,8 +76,8 @@ Internet-Draft Abbreviated Title January 2013
|
||||||
Passive DNS replication, F Weimer - 17th Annual FIRST Conference on
|
Passive DNS replication, F Weimer - 17th Annual FIRST Conference on
|
||||||
Computer Security. Since then multiple Passive DNS implementations
|
Computer Security. Since then multiple Passive DNS implementations
|
||||||
evolved over time. Users of these Passive DNS servers query a server
|
evolved over time. Users of these Passive DNS servers query a server
|
||||||
(often via Whois [Ref: WHOIS]), parse the results and process them in
|
(often via Whois [Ref: WHOIS] or HTTP and ReST), parse the results
|
||||||
other applications.
|
and process them in other applications.
|
||||||
|
|
||||||
There are multiple implementation of Passive DNS software. Users of
|
There are multiple implementation of Passive DNS software. Users of
|
||||||
passive DNS query each implementation and aggregate the results for
|
passive DNS query each implementation and aggregate the results for
|
||||||
|
@ -86,13 +87,15 @@ Internet-Draft Abbreviated Title January 2013
|
||||||
output fields from each Passive DNS need to be consistent, we propose
|
output fields from each Passive DNS need to be consistent, we propose
|
||||||
in this document a solution to commonly name each field along with
|
in this document a solution to commonly name each field along with
|
||||||
their corresponding interpretation. The format format is following a
|
their corresponding interpretation. The format format is following a
|
||||||
simple key-value structure. The benefit of having a consistent
|
simple key-value structure in JSON [RFC4627] format. The benefit of
|
||||||
Passive DNS output format is that multiple client implementations can
|
having a consistent Passive DNS output format is that multiple client
|
||||||
query different servers without having to have a separate parser for
|
implementations can query different servers without having to have a
|
||||||
each individual server. [http://code.google.com/p/passive-dns-query-
|
separate parser for each individual server. [http://code.google.com/
|
||||||
tool/] currently implements multiple parsers due to a lack of
|
p/passive-dns-query-tool/] currently implements multiple parsers due
|
||||||
standardization. The document does not describe the protocol (e.g.
|
to a lack of standardization. The document does not describe the
|
||||||
whois, HTTP REST or XMPP) used to query the Passive DNS.
|
protocol (e.g. whois, HTTP REST or XMPP) nor the query format used
|
||||||
|
to query the Passive DNS. Neither does this document describe "pre-
|
||||||
|
recursor" Passive DNS Systems.
|
||||||
|
|
||||||
1.1. Requirements Language
|
1.1. Requirements Language
|
||||||
|
|
||||||
|
@ -105,58 +108,31 @@ Internet-Draft Abbreviated Title January 2013
|
||||||
As a Passive DNS can include protection mechanisms for their
|
As a Passive DNS can include protection mechanisms for their
|
||||||
operation, results might be different due to those protection
|
operation, results might be different due to those protection
|
||||||
measures. These mechanisms filter out DNS answers if they fail some
|
measures. These mechanisms filter out DNS answers if they fail some
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dulaunoy, Kaplan & Vixie info [Page 2]
|
|
||||||
|
|
||||||
Internet-Draft Abbreviated Title January 2013
|
|
||||||
|
|
||||||
criteria. The bailiwick algorithm (c.f. http://www.isc.org/files/
|
criteria. The bailiwick algorithm (c.f. http://www.isc.org/files/
|
||||||
passive_dns_hardening_handout.pdf) protects the Passive DNS Database
|
passive_dns_hardening_handout.pdf) protects the Passive DNS Database
|
||||||
from cache poisoning attacks [ref: Dan Kaminsky]. Another
|
from cache poisoning attacks [ref: Dan Kaminsky]. Another
|
||||||
limitiation that clients querying the database need to be aware of is
|
limitiation that clients querying the database need to be aware of is
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Dulaunoy, Kaplan, Vixie & Stern info [Page 2]
|
||||||
|
|
||||||
|
Internet-Draft Abbreviated Title April 2013
|
||||||
|
|
||||||
that each query simply gets an snapshot-answer of the time of
|
that each query simply gets an snapshot-answer of the time of
|
||||||
querying. Clients MUST NOT rely on consistent answers.
|
querying. Clients MUST NOT rely on consistent answers.
|
||||||
|
|
||||||
3. Format
|
3. Common Output Format
|
||||||
|
|
||||||
A field is composed a key followed by a value separated by the single
|
The formatting of the answer follows the JSON [RFC4627] format. The
|
||||||
':' character and a space before the value. The format is based on
|
order of the fields is not significant for the same resource type.
|
||||||
the initial work done by Florian Weimer and the RIPE whois format
|
That means, the same name tuple plus timing information identifies a
|
||||||
(ref:http://www.enyo.de/fw/software/dnslogger/whois.html). The order
|
|
||||||
of the fields is not significant for the same resource type. That
|
|
||||||
measn, the same name tuple plus timing information identifies a
|
|
||||||
unique answer per server.
|
unique answer per server.
|
||||||
|
|
||||||
A sample output using the common format:
|
3.1. Overview and Example
|
||||||
|
|
||||||
rrname: www.foo.be
|
|
||||||
rrtype: AAAA
|
|
||||||
rdata: 2001:6f8:202:2df::2
|
|
||||||
time_first: 2010-07-26 13:04:01
|
|
||||||
time_last: 2012-02-06 09:59:00
|
|
||||||
count: 87
|
|
||||||
|
|
||||||
3.1. Output Format
|
|
||||||
|
|
||||||
Depending on the clients request, there might be one of three
|
|
||||||
different answers from the server: Whois (human readable) output
|
|
||||||
format (key-value), JSON [RFC4627] output and optionally Bind zone
|
|
||||||
file output format. XXX FIXME: how does the client select which
|
|
||||||
answer format he wants? XXX
|
|
||||||
|
|
||||||
3.1.1. JSON
|
|
||||||
|
|
||||||
The intent of this output format is to be easily parseable by
|
The intent of this output format is to be easily parseable by
|
||||||
scripts. Every implementation SHOULD support the JSON output format.
|
scripts. Every implementation MUST support the JSON output format.
|
||||||
|
|
||||||
A sample output using the JSON format:
|
A sample output using the JSON format:
|
||||||
|
|
||||||
|
@ -168,24 +144,18 @@ Internet-Draft Abbreviated Title January 2013
|
||||||
"time_last": "2013-02-05 17:34:03" }
|
"time_last": "2013-02-05 17:34:03" }
|
||||||
... (separated by newline)...
|
... (separated by newline)...
|
||||||
|
|
||||||
4. Mandatory Fields
|
3.2. Mandatory Fields
|
||||||
|
|
||||||
Implementation MUST support all the mandatory fields.
|
Implementation MUST support all the mandatory fields.
|
||||||
|
|
||||||
The tuple (rrtype,rrname,rdata) will always be unique within one
|
The tuple (rrtype,rrname,rdata) will always be unique within one
|
||||||
answer per server.
|
answer per server.
|
||||||
|
|
||||||
|
3.2.1. rrname
|
||||||
Dulaunoy, Kaplan & Vixie info [Page 3]
|
|
||||||
|
|
||||||
Internet-Draft Abbreviated Title January 2013
|
|
||||||
|
|
||||||
|
|
||||||
4.1. rrname
|
|
||||||
|
|
||||||
This field returns the name of the queried resource.
|
This field returns the name of the queried resource.
|
||||||
|
|
||||||
4.2. rrtype
|
3.2.2. rrtype
|
||||||
|
|
||||||
This field returns the resource record type as seen by the passive
|
This field returns the resource record type as seen by the passive
|
||||||
DNS. The key is rrtype and the value is in the interpreted record
|
DNS. The key is rrtype and the value is in the interpreted record
|
||||||
|
@ -200,7 +170,16 @@ Internet-Draft Abbreviated Title January 2013
|
||||||
addition, a client MUST be able to handle a decimal value (as
|
addition, a client MUST be able to handle a decimal value (as
|
||||||
mentioned above) as answer.
|
mentioned above) as answer.
|
||||||
|
|
||||||
4.3. rdata
|
3.2.3. rdata
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Dulaunoy, Kaplan, Vixie & Stern info [Page 3]
|
||||||
|
|
||||||
|
Internet-Draft Abbreviated Title April 2013
|
||||||
|
|
||||||
|
|
||||||
This field returns the data of the queried resource. In general,
|
This field returns the data of the queried resource. In general,
|
||||||
this is to be interpreted as string. Depending on the rtype, this
|
this is to be interpreted as string. Depending on the rtype, this
|
||||||
|
@ -212,73 +191,73 @@ Internet-Draft Abbreviated Title January 2013
|
||||||
principle as described in RFC 3597 [RFC3597]. (binary stream if any?
|
principle as described in RFC 3597 [RFC3597]. (binary stream if any?
|
||||||
base64?)
|
base64?)
|
||||||
|
|
||||||
4.4. time_first
|
3.2.4. time_first
|
||||||
|
|
||||||
This field returns the first time that the record / unique tuple
|
This field returns the first time that the record / unique tuple
|
||||||
(rrname, rrtype, rdata) has been seen by the passive DNS. The date is
|
(rrname, rrtype, rdata) has been seen by the passive DNS. The date is
|
||||||
expressed in seconds (decimal ascii) since 1st of January 1970 (unix
|
expressed in seconds (decimal ascii) since 1st of January 1970 (unix
|
||||||
timestamp). The time zone MUST be UTC.
|
timestamp). The time zone MUST be UTC.
|
||||||
|
|
||||||
4.5. time_last
|
3.2.5. time_last
|
||||||
|
|
||||||
This field returns the last time that the unique tuple (rrname,
|
This field returns the last time that the unique tuple (rrname,
|
||||||
rrtype, rdata) record has been seen by the passive DNS. The date is
|
rrtype, rdata) record has been seen by the passive DNS. The date is
|
||||||
expressed in seconds (decimal ascii) since 1st of January 1970 (unix
|
expressed in seconds (decimal ascii) since 1st of January 1970 (unix
|
||||||
timestamp). The time zone MUST be UTC..
|
timestamp). The time zone MUST be UTC..
|
||||||
|
|
||||||
5. Optional Fields
|
3.3. Optional Fields
|
||||||
|
|
||||||
Implementation SHOULD support one or more field.
|
Implementation SHOULD support one or more field.
|
||||||
|
|
||||||
5.1. count
|
3.3.1. count
|
||||||
|
|
||||||
Specifies how many answers were received with the set of answers
|
Specifies how many answers were received with the set of answers
|
||||||
(i.e. same data). The number of requests is expressed as a decimal
|
(i.e. same data). The number of requests is expressed as a decimal
|
||||||
value.
|
value.
|
||||||
|
|
||||||
|
|
||||||
Dulaunoy, Kaplan & Vixie info [Page 4]
|
|
||||||
|
|
||||||
Internet-Draft Abbreviated Title January 2013
|
|
||||||
|
|
||||||
|
|
||||||
Specifies the number of times this particular event denoted by the
|
Specifies the number of times this particular event denoted by the
|
||||||
other type fields has been seen in the given time interval (between
|
other type fields has been seen in the given time interval (between
|
||||||
time_last and time_first). Decimal number.
|
time_last and time_first). Decimal number.
|
||||||
|
|
||||||
5.2. bailiwick
|
3.3.2. bailiwick
|
||||||
|
|
||||||
The bailiwick is the best estimate of the apex of the zone where this
|
The bailiwick is the best estimate of the apex of the zone where this
|
||||||
data is authoritative. String.
|
data is authoritative. String.
|
||||||
|
|
||||||
6. Additional Fields
|
3.4. Additional Fields
|
||||||
|
|
||||||
Implementations MAY support the following fields:
|
Implementations MAY support the following fields:
|
||||||
|
|
||||||
6.1. x-sensor_id
|
3.4.1. sensor_id
|
||||||
|
|
||||||
This field returns the sensor information where the record was seen.
|
This field returns the sensor information where the record was seen.
|
||||||
The sensor_id is an opaque byte string as defined by RFC 5001 in
|
The sensor_id is an opaque byte string as defined by RFC 5001 in
|
||||||
section 2.3 [RFC5001].
|
section 2.3 [RFC5001].
|
||||||
|
|
||||||
7. Acknowledgements
|
4. Acknowledgements
|
||||||
|
|
||||||
|
|
||||||
|
Dulaunoy, Kaplan, Vixie & Stern info [Page 4]
|
||||||
|
|
||||||
|
Internet-Draft Abbreviated Title April 2013
|
||||||
|
|
||||||
|
|
||||||
Thanks to the Passive DNS developers who contributed to the document.
|
Thanks to the Passive DNS developers who contributed to the document.
|
||||||
|
|
||||||
8. IANA Considerations
|
5. IANA Considerations
|
||||||
|
|
||||||
This memo includes no request to IANA.
|
This memo includes no request to IANA.
|
||||||
|
|
||||||
9. Security Considerations
|
6. Security Considerations
|
||||||
|
|
||||||
In some cases, Passive DNS output might contain confidential
|
In some cases, Passive DNS output might contain confidential
|
||||||
information and its access might be restricted. When an user is
|
information and its access might be restricted. When an user is
|
||||||
querying multiple Passive DNS and aggregating the data, the
|
querying multiple Passive DNS and aggregating the data, the
|
||||||
sensitivity of the data must be considered.
|
sensitivity of the data must be considered.
|
||||||
|
|
||||||
10. References
|
7. References
|
||||||
|
|
||||||
10.1. Normative References
|
7.1. Normative References
|
||||||
|
|
||||||
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
|
[RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
|
||||||
STD 13, RFC 1034, November 1987.
|
STD 13, RFC 1034, November 1987.
|
||||||
|
@ -298,14 +277,9 @@ Internet-Draft Abbreviated Title January 2013
|
||||||
[RFC5001] Austein, R., "DNS Name Server Identifier (NSID) Option",
|
[RFC5001] Austein, R., "DNS Name Server Identifier (NSID) Option",
|
||||||
RFC 5001, August 2007.
|
RFC 5001, August 2007.
|
||||||
|
|
||||||
Dulaunoy, Kaplan & Vixie info [Page 5]
|
|
||||||
|
|
||||||
Internet-Draft Abbreviated Title January 2013
|
|
||||||
|
|
||||||
|
|
||||||
[min_ref] authSurName, authInitials, "Minimal Reference", 2006.
|
[min_ref] authSurName, authInitials, "Minimal Reference", 2006.
|
||||||
|
|
||||||
10.2. Informative References
|
7.2. Informative References
|
||||||
|
|
||||||
[I-D.narten-iana-considerations-rfc2434bis]
|
[I-D.narten-iana-considerations-rfc2434bis]
|
||||||
Narten, T and H Alvestrand, "Guidelines for Writing an
|
Narten, T and H Alvestrand, "Guidelines for Writing an
|
||||||
|
@ -320,10 +294,15 @@ Internet-Draft Abbreviated Title January 2013
|
||||||
Text on Security Considerations", BCP 72, RFC 3552, July
|
Text on Security Considerations", BCP 72, RFC 3552, July
|
||||||
2003.
|
2003.
|
||||||
|
|
||||||
Appendix A. Additional Stuff
|
Appendix A. Appendix
|
||||||
|
|
||||||
This becomes an Appendix.
|
This becomes an Appendix.
|
||||||
|
|
||||||
|
Dulaunoy, Kaplan, Vixie & Stern info [Page 5]
|
||||||
|
|
||||||
|
Internet-Draft Abbreviated Title April 2013
|
||||||
|
|
||||||
|
|
||||||
Authors' Addresses
|
Authors' Addresses
|
||||||
|
|
||||||
Alexandre Dulaunoy
|
Alexandre Dulaunoy
|
||||||
|
@ -355,8 +334,29 @@ Authors' Addresses
|
||||||
URI: /
|
URI: /
|
||||||
|
|
||||||
|
|
||||||
|
Henry Stern
|
||||||
|
Cisco
|
||||||
|
1741 Brunswick Street, Suite 500
|
||||||
|
Halifax, Nova Scotia B3J 3X8
|
||||||
|
Canada
|
||||||
|
|
||||||
|
Phone: +1 408 922 4555
|
||||||
|
Email: hestern@cisco.com
|
||||||
|
URI: http://www.cisco.com/security
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Dulaunoy, Kaplan & Vixie info [Page 6]
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Dulaunoy, Kaplan, Vixie & Stern info [Page 6]
|
||||||
|
|
Loading…
Reference in a new issue