mirror of
https://github.com/adulau/pdns-qof.git
synced 2024-12-23 01:05:58 +00:00
proposal for an ABNF grammar
This commit is contained in:
parent
6acff38a33
commit
422cd1813b
2 changed files with 77 additions and 63 deletions
122
i-d/pdns-qof.txt
122
i-d/pdns-qof.txt
|
@ -73,14 +73,15 @@ Table of Contents
|
|||
3.1. Overview . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
3.2. Example . . . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
3.3. Mandatory Fields . . . . . . . . . . . . . . . . . . . . . 4
|
||||
3.3.1. rrname . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
3.3.2. rrtype . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
3.3.3. rdata . . . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
3.3.4. time_first . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
3.3.5. time_last . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
3.3.1. General remarks on mandatory fields . . . . . . . . . . 4
|
||||
3.3.2. rrname . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
3.3.3. rrtype . . . . . . . . . . . . . . . . . . . . . . . . 4
|
||||
3.3.4. rdata . . . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
3.3.5. time_first . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
3.3.6. time_last . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
3.4. Optional Fields . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
3.4.1. count . . . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
3.4.2. Bailiwick . . . . . . . . . . . . . . . . . . . . . . . 5
|
||||
3.4.2. Bailiwick . . . . . . . . . . . . . . . . . . . . . . . 6
|
||||
3.5. Additional Fields . . . . . . . . . . . . . . . . . . . . . 6
|
||||
3.5.1. sensor_id . . . . . . . . . . . . . . . . . . . . . . . 6
|
||||
3.5.2. zone_time_first . . . . . . . . . . . . . . . . . . . . 6
|
||||
|
@ -88,7 +89,7 @@ Table of Contents
|
|||
3.6. Additional Fields Registry . . . . . . . . . . . . . . . . 6
|
||||
4. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 6
|
||||
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
|
||||
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
|
||||
6. Security Considerations . . . . . . . . . . . . . . . . . . . . 7
|
||||
7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
|
||||
7.1. Normative References . . . . . . . . . . . . . . . . . . . 7
|
||||
7.2. References . . . . . . . . . . . . . . . . . . . . . . . . 7
|
||||
|
@ -107,7 +108,6 @@ Table of Contents
|
|||
|
||||
|
||||
|
||||
|
||||
Dulaunoy, et al. Expires June 28, 2014 [Page 2]
|
||||
|
||||
Internet-Draft Passive DNS - Common Output Format December 2013
|
||||
|
@ -197,14 +197,18 @@ Internet-Draft Passive DNS - Common Output Format December 2013
|
|||
|
||||
Implementation MUST support all the mandatory fields.
|
||||
|
||||
The tuple (rrname,rrtype,rdata) will always be unique within one
|
||||
answer per server.
|
||||
3.3.1. General remarks on mandatory fields
|
||||
|
||||
3.3.1. rrname
|
||||
Uniqueness property: the tuple (rrname,rrtype,rdata) will always be
|
||||
unique within one answer per server. While rrname and rrtype are
|
||||
always individual JSON primitive types (strings, numbers, booleans or
|
||||
null), rdata MAY be an array as defined in JSON [RFC4627]
|
||||
|
||||
3.3.2. rrname
|
||||
|
||||
This field returns the name of the queried resource.
|
||||
|
||||
3.3.2. rrtype
|
||||
3.3.3. rrtype
|
||||
|
||||
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
|
||||
|
@ -213,10 +217,6 @@ Internet-Draft Passive DNS - Common Output Format December 2013
|
|||
3597 [RFC3597]. The resource record type can be any values as
|
||||
described by IANA in the DNS parameters document in the section 'DNS
|
||||
Label types' (http://www.iana.org/assignments/dns-parameters).
|
||||
Currently known and supported textual descriptions of rrtypes are: A,
|
||||
AAAA, CNAME, PTR, SOA, TXT, DNAME, NS, SRV, RP, NAPTR, HINFO, A6. A
|
||||
client MUST be able to understand these textual rtype values. In
|
||||
addition, a client MUST be able to handle a decimal value (as
|
||||
|
||||
|
||||
|
||||
|
@ -225,9 +225,13 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 4]
|
|||
Internet-Draft Passive DNS - Common Output Format December 2013
|
||||
|
||||
|
||||
Currently known and supported textual descriptions of rrtypes are: A,
|
||||
AAAA, CNAME, PTR, SOA, TXT, DNAME, NS, SRV, RP, NAPTR, HINFO, A6. A
|
||||
client MUST be able to understand these textual rtype values. In
|
||||
addition, a client MUST be able to handle a decimal value (as
|
||||
mentioned above) as answer.
|
||||
|
||||
3.3.3. rdata
|
||||
3.3.4. rdata
|
||||
|
||||
This field returns the data of the queried resource. In general,
|
||||
this is to be interpreted as string. Depending on the rtype, this
|
||||
|
@ -238,14 +242,14 @@ Internet-Draft Passive DNS - Common Output Format December 2013
|
|||
unknown DNS resource records, the server must follow the transparency
|
||||
principle as described in RFC 3597 [RFC3597].
|
||||
|
||||
3.3.4. time_first
|
||||
3.3.5. time_first
|
||||
|
||||
This field returns the first time that the record / unique tuple
|
||||
(rrname, rrtype, rdata) has been seen by the passive DNS. The date
|
||||
is expressed in seconds (decimal ASCII) since 1st of January 1970
|
||||
(Unix timestamp). The time zone MUST be UTC.
|
||||
|
||||
3.3.5. time_last
|
||||
3.3.6. time_last
|
||||
|
||||
This field returns the last time that the unique tuple (rrname,
|
||||
rrtype, rdata) record has been seen by the passive DNS. The date is
|
||||
|
@ -266,10 +270,6 @@ Internet-Draft Passive DNS - Common Output Format December 2013
|
|||
other type fields has been seen in the given time interval (between
|
||||
time_last and time_first). Decimal number.
|
||||
|
||||
3.4.2. Bailiwick
|
||||
|
||||
The bailiwick is the best estimate of the apex of the zone where this
|
||||
data is authoritative. String.
|
||||
|
||||
|
||||
|
||||
|
@ -281,6 +281,11 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 5]
|
|||
Internet-Draft Passive DNS - Common Output Format December 2013
|
||||
|
||||
|
||||
3.4.2. Bailiwick
|
||||
|
||||
The bailiwick is the best estimate of the apex of the zone where this
|
||||
data is authoritative. String.
|
||||
|
||||
3.5. Additional Fields
|
||||
|
||||
Implementations MAY support the following fields:
|
||||
|
@ -323,12 +328,7 @@ Internet-Draft Passive DNS - Common Output Format December 2013
|
|||
This memo includes no request to IANA.
|
||||
|
||||
|
||||
6. Security Considerations
|
||||
|
||||
In some cases, Passive DNS output might contain confidential
|
||||
information and its access might be restricted. When a user is
|
||||
querying multiple Passive DNS and aggregating the data, the
|
||||
sensitivity of the data must be considered.
|
||||
|
||||
|
||||
|
||||
|
@ -337,6 +337,14 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 6]
|
|||
Internet-Draft Passive DNS - Common Output Format December 2013
|
||||
|
||||
|
||||
6. Security Considerations
|
||||
|
||||
In some cases, Passive DNS output might contain confidential
|
||||
information and its access might be restricted. When a user is
|
||||
querying multiple Passive DNS and aggregating the data, the
|
||||
sensitivity of the data must be considered.
|
||||
|
||||
|
||||
7. References
|
||||
|
||||
7.1. Normative References
|
||||
|
@ -377,14 +385,6 @@ Internet-Draft Passive DNS - Common Output Format December 2013
|
|||
"Black ops 2008: It's the end of the cache as we know
|
||||
it.", 2008, <http://kurser.lobner.dk/dDist/DMK_BO2K8.pdf>.
|
||||
|
||||
[DNSDB] "DNSDB API", 2013, <https://api.dnsdb.info/>.
|
||||
|
||||
[PDNSCERTAT]
|
||||
"pDNS presentation at 4th Centr R&D workshop Frankfurt Jun
|
||||
5th 2012", 2012, <http://www.centr.org/system/files/
|
||||
agenda/attachment/rd4-papst-passive_dns.pdf>.
|
||||
|
||||
[PDNSCIRCL]
|
||||
|
||||
|
||||
|
||||
|
@ -393,6 +393,14 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 7]
|
|||
Internet-Draft Passive DNS - Common Output Format December 2013
|
||||
|
||||
|
||||
[DNSDB] "DNSDB API", 2013, <https://api.dnsdb.info/>.
|
||||
|
||||
[PDNSCERTAT]
|
||||
"pDNS presentation at 4th Centr R&D workshop Frankfurt Jun
|
||||
5th 2012", 2012, <http://www.centr.org/system/files/
|
||||
agenda/attachment/rd4-papst-passive_dns.pdf>.
|
||||
|
||||
[PDNSCIRCL]
|
||||
"CIRCL Passive DNS", 2012, <http://pdns.circl.lu/>.
|
||||
|
||||
[PDNSCLIENT]
|
||||
|
@ -425,17 +433,9 @@ Internet-Draft Passive DNS - Common Output Format December 2013
|
|||
July 2003.
|
||||
|
||||
|
||||
Authors' Addresses
|
||||
|
||||
Alexandre Dulaunoy
|
||||
CIRCL
|
||||
41, avenue de la gare
|
||||
Luxembourg, L-1611
|
||||
Luxembourg
|
||||
|
||||
Phone: (+352) 247 88444
|
||||
Email: alexandre.dulaunoy@circl.lu
|
||||
URI: http://www.circl.lu/
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -449,6 +449,19 @@ Dulaunoy, et al. Expires June 28, 2014 [Page 8]
|
|||
Internet-Draft Passive DNS - Common Output Format December 2013
|
||||
|
||||
|
||||
Authors' Addresses
|
||||
|
||||
Alexandre Dulaunoy
|
||||
CIRCL
|
||||
41, avenue de la gare
|
||||
Luxembourg, L-1611
|
||||
Luxembourg
|
||||
|
||||
Phone: (+352) 247 88444
|
||||
Email: alexandre.dulaunoy@circl.lu
|
||||
URI: http://www.circl.lu/
|
||||
|
||||
|
||||
L. Aaron Kaplan
|
||||
CERT.at
|
||||
Karlsplatz 1/2/9
|
||||
|
@ -468,7 +481,7 @@ Internet-Draft Passive DNS - Common Output Format December 2013
|
|||
|
||||
Phone:
|
||||
Email: paul@redbarn.org
|
||||
URI: /
|
||||
URI: https://www.farsightsecurity.com/
|
||||
|
||||
|
||||
Henry Stern
|
||||
|
@ -478,21 +491,8 @@ Internet-Draft Passive DNS - Common Output Format December 2013
|
|||
Canada
|
||||
|
||||
Phone: +1 408 922 4555
|
||||
Email: hestern@cisco.com
|
||||
URI: http://www.cisco.com/security
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Email: stern@fsi.io
|
||||
URI: https://www.farsightsecurity.com/
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -179,11 +179,25 @@ The document does not describe the protocol (e.g. <xref target="RFC3912">WHOIS</
|
|||
... (separated by newline)...
|
||||
]]></artwork></figure>
|
||||
</section>
|
||||
<!--
|
||||
<section title="ABNF grammar">
|
||||
<figure><preamble>ABNF:</preamble><artwork><![CDATA[
|
||||
answer = elements
|
||||
elements = * ( element CR)
|
||||
element = "{" keyvallist "}"
|
||||
keyvallist = JSON object
|
||||
CR = %x0D
|
||||
]]></artwork></figure>
|
||||
<t>Note that JSON Object is defined in <xref target="RFC4627">JSON</xref></t>.
|
||||
</section>
|
||||
-->
|
||||
<section title="Mandatory Fields">
|
||||
<t>Implementation MUST support all the mandatory fields.</t>
|
||||
<t>The tuple (rrname,rrtype,rdata) will always be unique within one answer per server.</t>
|
||||
<section title="General remarks on mandatory fields">
|
||||
<t>Uniqueness property: the tuple (rrname,rrtype,rdata) will always be unique within one answer per server. While rrname and rrtype are always individual JSON primitive types (strings, numbers, booleans or null), rdata MAY be an array as defined in <xref target="RFC4627">JSON</xref></t>
|
||||
</section>
|
||||
<section title="rrname">
|
||||
<t>This field returns the name of the queried resource.</t>
|
||||
<t>This field returns the name of the queried resource.</t>
|
||||
</section>
|
||||
<section title="rrtype">
|
||||
<t>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 type. If the value cannot be interpreted the
|
||||
|
|
Loading…
Reference in a new issue