| < draft-elie-nntp-tls-recommendations-01.txt | draft-elie-nntp-tls-recommendations-05.txt > | |||
|---|---|---|---|---|
| Independent Submission J. Elie | Independent Submission J. Elie | |||
| Internet-Draft August 5, 2016 | Internet-Draft February 7, 2017 | |||
| Updates: 4642 (if approved) | Updates: 4642 (if approved) | |||
| Intended status: Standards Track | Intended status: Standards Track | |||
| Expires: February 6, 2017 | Expires: August 11, 2017 | |||
| Use of Transport Layer Security (TLS) | Use of Transport Layer Security (TLS) | |||
| in the Network News Transfer Protocol (NNTP) | in the Network News Transfer Protocol (NNTP) | |||
| draft-elie-nntp-tls-recommendations-01 | draft-elie-nntp-tls-recommendations-05 | |||
| Abstract | Abstract | |||
| This document provides recommendations for improving the security of | This document provides recommendations for improving the security of | |||
| the Network News Transfer Protocol (NNTP) when using Transport Layer | the Network News Transfer Protocol (NNTP) when using Transport Layer | |||
| Security (TLS). It modernizes the NNTP usage of TLS to be consistent | Security (TLS). It modernizes the NNTP usage of TLS to be consistent | |||
| with TLS best current practices. If approved, this document updates | with TLS best current practices. If approved, this document updates | |||
| RFC 4642. | RFC 4642. | |||
| Status of This Memo | Status of This Memo | |||
| skipping to change at page 1, line 36 ¶ | skipping to change at page 1, line 36 ¶ | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on February 6, 2017. | This Internet-Draft will expire on August 11, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | 1.1. Conventions Used in This Document . . . . . . . . . . . . 3 | |||
| 1.2. Author's Note . . . . . . . . . . . . . . . . . . . . . . 3 | 1.2. Author's Note . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 3 | 2. Updates/Changes to RFC 4642 . . . . . . . . . . . . . . . . . 3 | |||
| 2.1. Compression . . . . . . . . . . . . . . . . . . . . . . . 4 | 3. Recommendations . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.2. Protocol Versions and Cipher Suites . . . . . . . . . . . 4 | 3.1. Compression . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 2.3. Authenticated Connections . . . . . . . . . . . . . . . . 4 | 3.2. Protocol Versions and Security Preferences . . . . . . . 5 | |||
| 2.4. Human Factors . . . . . . . . . . . . . . . . . . . . . . 5 | 3.3. Server Name Indication . . . . . . . . . . . . . . . . . 5 | |||
| 3. Security Considerations . . . . . . . . . . . . . . . . . . . 6 | 3.4. Prevention of SSL Stripping . . . . . . . . . . . . . . . 5 | |||
| 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6 | 3.5. Authenticated Connections . . . . . . . . . . . . . . . . 6 | |||
| 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 | 3.6. Human Factors . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5.1. Normative References . . . . . . . . . . . . . . . . . . 6 | 4. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
| 5.2. Informative References . . . . . . . . . . . . . . . . . 6 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
| Appendix A. Changes to RFC 4642 . . . . . . . . . . . . . . . . 9 | 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
| Appendix B. Implementation Notes . . . . . . . . . . . . . . . . 9 | 6.1. Normative References . . . . . . . . . . . . . . . . . . 8 | |||
| Appendix C. Acknowledgements . . . . . . . . . . . . . . . . . . 10 | 6.2. Informative References . . . . . . . . . . . . . . . . . 9 | |||
| Appendix D. Document History (to be removed by RFC Editor before | Appendix A. Detailed Changes to RFC 4642 . . . . . . . . . . . . 11 | |||
| publication) . . . . . . . . . . . . . . . . . . . . 10 | A.1. Related to TLS-level Compression . . . . . . . . . . . . 11 | |||
| D.1. Changes since -00 . . . . . . . . . . . . . . . . . . . . 10 | A.2. Related to Implicit TLS . . . . . . . . . . . . . . . . . 11 | |||
| Appendix E. Issues to Address . . . . . . . . . . . . . . . . . 10 | A.3. Related to RC4 Cipher Suites . . . . . . . . . . . . . . 12 | |||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 11 | A.4. Related to Server Name Indication . . . . . . . . . . . . 12 | |||
| A.5. Related to Certificate Verification . . . . . . . . . . . 12 | ||||
| A.6. Related to Other Obsolete Wording . . . . . . . . . . . . 13 | ||||
| Appendix B. Acknowledgments . . . . . . . . . . . . . . . . . . 13 | ||||
| Appendix C. Document History (to be removed by RFC Editor before | ||||
| publication) . . . . . . . . . . . . . . . . . . . . 13 | ||||
| C.1. Changes since -04 . . . . . . . . . . . . . . . . . . . . 13 | ||||
| C.2. Changes since -03 . . . . . . . . . . . . . . . . . . . . 14 | ||||
| C.3. Changes since -02 . . . . . . . . . . . . . . . . . . . . 14 | ||||
| C.4. Changes since -01 . . . . . . . . . . . . . . . . . . . . 14 | ||||
| C.5. Changes since -00 . . . . . . . . . . . . . . . . . . . . 15 | ||||
| Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 15 | ||||
| 1. Introduction | 1. Introduction | |||
| The Network News Transfer Protocol (NNTP) [RFC3977] has been using | The Network News Transfer Protocol (NNTP) [RFC3977] has been using | |||
| Transport Layer Security (TLS) [RFC5246] (along with its precursor, | Transport Layer Security (TLS) [RFC5246] (along with its precursor, | |||
| Secure Sockets Layer or SSL) since at least year 2000. The use of | Secure Sockets Layer or SSL) since at least year 2000. The use of | |||
| TLS in NNTP was formalized in [RFC4642], providing at the same time | TLS in NNTP was formalized in [RFC4642], providing at the same time | |||
| implementation recommendations. In order to address the evolving | implementation recommendations. In order to address the evolving | |||
| threat model on the Internet today, this document provides stronger | threat model on the Internet today, this document provides stronger | |||
| recommendations regarding that use. | recommendations regarding that use. | |||
| In particular, this document updates [RFC4642] by specifying that | In particular, this document updates [RFC4642] by specifying that | |||
| NNTP implementations and deployments MUST follow the best current | NNTP implementations and deployments MUST follow the best current | |||
| practices documented in the "Recommendations for Secure Use of TLS | practices documented in the "Recommendations for Secure Use of TLS | |||
| and DTLS" [RFC7525]. This includes stronger recommendations | and DTLS" [RFC7525]. This includes stronger recommendations | |||
| regarding SSL/TLS protocol versions, fallback to lower versions, | regarding SSL/TLS protocol versions, fallback to lower versions, TLS | |||
| strict TLS, TLS-level compression, TLS session resumption, cipher | negotiation, TLS-level compression, TLS session resumption, cipher | |||
| suites, public key lengths, forward secrecy, and other aspects of | suites, public key lengths, forward secrecy, hostname validation, | |||
| using TLS with NNTP. | certificate verification, and other aspects of using TLS with NNTP. | |||
| Notably, this document updates [RFC4642] in the following aspects: | [[Q1: For RFC Editor: Throughout the document, should [RFC7525] be | |||
| referenced as [BCP195] or [RFC7525]? Same question for other BCP | ||||
| documents.]] | ||||
| 1.1. Conventions Used in This Document | ||||
| Any term not defined in this document has the same meaning as it does | ||||
| in [RFC4642] or the NNTP core specification [RFC3977]. | ||||
| When this document uses the terms "implicit TLS", it refers to TLS | ||||
| negotiation immediately upon connection on a separate port. | ||||
| 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 in | ||||
| [RFC2119]. | ||||
| 1.2. Author's Note | ||||
| Please write the first letter of "Elie" with an acute accent wherever | ||||
| possible -- it is U+00C9 ("É" in XML). The third letter of | ||||
| "Stephane" and the penultimate letter of "allee" similarly have an | ||||
| acute accent (U+00E9, "é" in XML). Also, the letters "ae" in | ||||
| "Baeuerle" should be written as an a-umlaut (U+00E4, "ä" in | ||||
| XML). | ||||
| 2. Updates/Changes to RFC 4642 | ||||
| This document updates [RFC4642] in the following aspects: | ||||
| o NNTP implementations and deployments SHOULD disable TLS-level | o NNTP implementations and deployments SHOULD disable TLS-level | |||
| compression (Section 3.3 of [RFC7525]), thus no longer using TLS | compression (Section 3.3 of [RFC7525]), thus no longer using TLS | |||
| as a means to provide data compression (contrary to Abstract and | as a means to provide data compression (contrary to Abstract and | |||
| Section 2.2.2 of [RFC4642]). | Section 2.2.2 of [RFC4642]). | |||
| o NNTP implementations and deployments SHOULD prefer strict TLS | o NNTP implementations and deployments SHOULD prefer implicit TLS | |||
| configuration (Section 3.2 of [RFC7525]), that is to say they | and therefore use strict TLS configuration (Section 3.2 of | |||
| SHOULD use TCP port 563 dedicated to NNTP over TLS, and begin the | [RFC7525]), that is to say they SHOULD use a port dedicated to | |||
| TLS negotiation immediately upon connection (contrary to a dynamic | NNTP over TLS, and begin the TLS negotiation immediately upon | |||
| upgrade from unencrypted to TLS-protected traffic via the use of | connection (contrary to a dynamic upgrade from unencrypted to TLS- | |||
| the STARTTLS command, as Section 1 of [RFC4642] was encouraging). | protected traffic via the use of the STARTTLS command, as | |||
| For the same reasons as those given in Appendix A of [MUA-STS] | Section 1 of [RFC4642] was encouraging). Implicit TLS is the | |||
| transposed to NNTP, strict TLS is the preferred way of using TLS | preferred way of using TLS with NNTP for the same reasons, | |||
| with NNTP. | transposed to NNTP, as those given in Appendix A of [MUA-STS]. | |||
| (Note that [MUA-STS] and [RFC4642] have one author in common.) | ||||
| o NNTP implementations and deployments MUST NOT negotiate RC4 cipher | o NNTP implementations and deployments MUST NOT negotiate RC4 cipher | |||
| suites ([RFC7465]) contrary to Section 5 of [RFC4642] that | suites ([RFC7465]) contrary to Section 5 of [RFC4642] that | |||
| REQUIRED them to implement the TLS_RSA_WITH_RC4_128_MD5 cipher | required them to implement the TLS_RSA_WITH_RC4_128_MD5 cipher | |||
| suite so as to ensure that any two NNTP compliant implementations | suite so as to ensure that any two NNTP compliant implementations | |||
| can be configured to interoperate. This document removes that | can be configured to interoperate. This document removes that | |||
| requirement, so that NNTP client and server implementations follow | requirement, so that NNTP client and server implementations follow | |||
| the recommendations of Section 4.2.1 of [RFC7525] instead. | the recommendations given in Sections 4.2 and 4.2.1 of [RFC7525] | |||
| instead. The mandatory-to-implement cipher(s) suite(s) depend on | ||||
| 1.1. Conventions Used in This Document | the TLS protocol version. For instance, when TLS 1.2 is used, the | |||
| TLS_RSA_WITH_AES_128_CBC_SHA cipher suite MUST be implemented | ||||
| Any term not defined in this document has the same meaning as it does | (Section 9 of [RFC5246]). | |||
| in [RFC4642] or the NNTP core specification [RFC3977]. | ||||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | o All NNTP clients and any NNTP server that is known by multiple | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | names MUST support the Server Name Indication (SNI) extension | |||
| "OPTIONAL" in this document are to be interpreted as described in | defined in Section 3 of [RFC6066], in conformance with Section 3.6 | |||
| [RFC2119]. | of [RFC7525]. It was only a "SHOULD" in Section 2.2.2 of | |||
| [RFC4642]. | ||||
| 1.2. Author's Note | o NNTP implementations and deployments MUST follow the rules and | |||
| guidelines defined in [RFC6125] and [RFC5280] for hostname | ||||
| validation and certificate verification. Part of Section 5 of | ||||
| [RFC4642] is therefore rationalized in favour of following those | ||||
| two documents. | ||||
| Please write the first letter of "Elie" and the penultimate letter of | Appendix A of this document gives detailed changes with regards to | |||
| "allee" with an acute accent wherever possible -- they are | the wording of [RFC4642]. | |||
| respectively U+00C9 ("É" in XML) and U+00E9 ("é" in XML). | ||||
| Also, the letters "ae" in "Baeuerle" should be written as an a-umlaut | ||||
| (U+00E4, "ä" in XML). | ||||
| 2. Recommendations | 3. Recommendations | |||
| The best current practices documented in the "Recommendations for | The best current practices documented in the "Recommendations for | |||
| Secure Use of TLS and DTLS" [RFC7525] are included here by reference. | Secure Use of TLS and DTLS" [RFC7525] are included here by reference. | |||
| Therefore, NNTP implementations and deployments compliant with this | Therefore, NNTP implementations and deployments compliant with this | |||
| document is REQUIRED to also comply with [RFC7525]. | document are REQUIRED to also comply with [RFC7525]. | |||
| Instead of repeating those recommendations here, this document mostly | Instead of repeating those recommendations here, this document mostly | |||
| provides supplementary information regarding secure implementation | provides supplementary information regarding secure implementation | |||
| and deployment of NNTP technologies. | and deployment of NNTP technologies. | |||
| 2.1. Compression | 3.1. Compression | |||
| NNTP supports the use of the COMPRESS command, defined in Section 2.2 | NNTP supports the use of the COMPRESS command, defined in Section 2.2 | |||
| of [NNTP-COMPRESS], to compress data between an NNTP client and | of [RFC8054], to compress data between an NNTP client and server. | |||
| server. Although this NNTP extension might have slightly stronger | Although this NNTP extension might have slightly stronger security | |||
| security properties than TLS-level compression [RFC3749] (since NNTP | properties than TLS-level compression [RFC3749] (since NNTP | |||
| compression can be activated after authentication has completed, thus | compression can be activated after authentication has completed, thus | |||
| reducing the chances that authentication credentials can be leaked | reducing the chances that authentication credentials can be leaked | |||
| via for instance a CRIME attack, as described in Section 2.6 of | via for instance a Compression Ratio Info-leak Made Easy (CRIME) | |||
| [CRIME]), this document neither encourages nor discourages use of | attack, as described in Section 2.6 of [CRIME]), this document | |||
| NNTP COMPRESS extension. | neither encourages nor discourages the use of the NNTP COMPRESS | |||
| extension. | ||||
| 2.2. Protocol Versions and Cipher Suites | 3.2. Protocol Versions and Security Preferences | |||
| NNTP implementations of news servers are encouraged to support | NNTP implementations of news servers are encouraged to support | |||
| options to configure the minimal TLS protocol version to accept, and | options to configure the minimal TLS protocol version to accept, and | |||
| which cipher suites, signature algorithms or named groups (like | which cipher suites, signature algorithms or groups (like elliptic | |||
| elliptic curves) to use for incoming connections. Additional options | curves) to use for incoming connections. Additional options can | |||
| can naturally also be supported. The goal is to enable | naturally also be supported. The goal is to enable administrators of | |||
| administrators of news servers to easily and quickly strengthen | news servers to easily and quickly strengthen security, if need be | |||
| security, if need be (for instance by rejecting cipher suites | (for instance by rejecting cipher suites considered unsafe with | |||
| considered unsafe with regards to local policy). News clients may | regards to local policy). | |||
| also support similar options, either configurable by the user or | ||||
| enforced by the news reader. | ||||
| 2.3. Authenticated Connections | News clients may also support similar options, either configurable by | |||
| the user or enforced by the news reader. | ||||
| 3.3. Server Name Indication | ||||
| The TLS extension for Server Name Indication (SNI) defined in | ||||
| Section 3 of [RFC6066] MUST be implemented by all news clients. It | ||||
| also MUST be implemented by any news server that is known by multiple | ||||
| names. (Otherwise, it is not possible for a server with several | ||||
| hostnames to present the correct certificate to the client.) | ||||
| 3.4. Prevention of SSL Stripping | ||||
| In order to help prevent SSL Stripping attacks (Section 2.1 of | ||||
| [RFC7457]), NNTP implementations and deployments MUST follow the | ||||
| recommendations provided in Section 3.2 of [RFC7525]. Notably, in | ||||
| case implicit TLS is not used, news clients SHOULD attempt to | ||||
| negotiate TLS even if the server does not advertise the STARTTLS | ||||
| capability label in response to the CAPABILITIES command (Section 2.1 | ||||
| of [RFC4642]). | ||||
| 3.5. Authenticated Connections | ||||
| [RFC4642] already provides recommendations and requirements for | [RFC4642] already provides recommendations and requirements for | |||
| certificate validation in the context of checking the client or the | certificate validation in the context of checking the client or the | |||
| server's identity. | server's identity. Those requirements are strengthened by | |||
| Appendix A.5 of this document. | ||||
| Wherever possible, it is best to prefer certificate-based | Wherever possible, it is best to prefer certificate-based | |||
| authentication (along with SASL [RFC4422]), and ensure that: | authentication (along with SASL [RFC4422]), and ensure that: | |||
| o Clients authenticate servers. | o Clients authenticate servers. | |||
| o Servers authenticate clients. | o Servers authenticate clients. | |||
| o Servers authenticate other peer servers. | o Servers authenticate other peer servers. | |||
| This document does not mandate certificate-based authentication, | This document does not mandate certificate-based authentication, | |||
| although such authentication is strongly preferred. As mentioned in | although such authentication is strongly preferred. As mentioned in | |||
| Section 2.2.2 of [RFC4642], the AUTHINFO SASL command (Section 2.4 of | Section 2.2.2 of [RFC4642], the AUTHINFO SASL command (Section 2.4 of | |||
| [RFC4643]) with the EXTERNAL mechanism (Appendix A of [RFC4422]) MAY | [RFC4643]) with the EXTERNAL mechanism (Appendix A of [RFC4422]) MAY | |||
| be used to authenticate a client once its TLS credentials have been | be used to authenticate a client once its TLS credentials have been | |||
| successfully exchanged. | successfully exchanged. | |||
| Given the pervasiveness of eavesdropping [RFC7258], even an encrypted | Given the pervasiveness of eavesdropping [RFC7258], even an encrypted | |||
| but unauthenticated connection might be better than an unencrypted | but unauthenticated connection might be better than an unencrypted | |||
| connection (this is similar to the "better-than-nothing security" | connection (this is similar to the "better-than-nothing security" | |||
| approach for IPsec [RFC5386]). Encrypted but unauthenticated | approach for IPsec [RFC5386], and in accordance with opportunistic | |||
| security principles [RFC7435]). Encrypted but unauthenticated | ||||
| connections include connections negotiated using anonymous | connections include connections negotiated using anonymous | |||
| Diffie-Hellman mechanisms or using self-signed certificates, among | Diffie-Hellman mechanisms or using self-signed certificates, among | |||
| others. | others. | |||
| When an NNTP server receives a Netnews article, it MAY add a | Note: when an NNTP server receives a Netnews article, it MAY add a | |||
| <diag-match> (Section 3.1.5 of [RFC5536]), which appears as "!!" in | <diag-match> (Section 3.1.5 of [RFC5536]), which appears as "!!" in | |||
| the Path header field of that article, to indicate that it verified | the Path header field of that article, to indicate that it verified | |||
| the identity of the client or peer server. This document encourages | the identity of the client or peer server. This document encourages | |||
| the construction of such Path header fields, as described in | the construction of such Path header fields, as described in | |||
| Section 3.2.1 of [RFC5537]. | Section 3.2.1 of [RFC5537]. | |||
| 2.4. Human Factors | 3.6. Human Factors | |||
| It is strongly encouraged that NNTP clients provide ways for end | NNTP clients SHOULD provide ways for end users (and NNTP servers | |||
| users (and that NNTP servers provide ways for administrators) to | SHOULD provide ways for administrators) to complete at least the | |||
| complete the following tasks: | following tasks: | |||
| o Determine if a given incoming or outgoing connection is encrypted | o Determine if a given incoming or outgoing connection is encrypted | |||
| using a security layer (either using TLS or an SASL mechanism that | using a security layer (either using TLS or an SASL mechanism that | |||
| negotiates a security layer). | negotiates a security layer). | |||
| o Determine the version of TLS used for encryption of a given | o Be warned if the version of TLS used for encryption of a given | |||
| stream. | stream is not secure enough. | |||
| o If authenticated encryption is used, determine how the connection | o If authenticated encryption is used, determine how the connection | |||
| was authenticated or verified. | was authenticated or verified. | |||
| o Inspect the certificate offered by an NNTP server. | o Be warned if the certificate offered by an NNTP server cannot be | |||
| verified. | ||||
| o Determine the cipher suite used to encrypt a connection. | o Be warned if the cipher suite used to encrypt a connection is not | |||
| secure enough. | ||||
| o Be warned if the certificate changes for a given server. | o Be warned if the certificate changes for a given server. | |||
| o Be warned if a given server stops advertising the STARTTLS | o When a security layer is not already in place, be warned if a | |||
| capability label in response to the CAPABILITIES command (of | given server stops advertising the STARTTLS capability label in | |||
| course when a security layer is not already in place) whereas it | response to the CAPABILITIES command (Section 2.1 of [RFC4642]) | |||
| advertised the STARTTLS capability label during the previous | whereas it advertised the STARTTLS capability label during any | |||
| connection. | previous connection within a (possibly configurable) time frame. | |||
| (Otherwise, a human might not see the warning the first time, and | ||||
| the warning would disappear immediately after that.) | ||||
| o Be warned if a failure response to the STARTTLS command is | o Be warned if a failure response to the STARTTLS command is | |||
| received from the server whereas the STARTTLS capability label was | received from the server whereas the STARTTLS capability label was | |||
| advertised. | advertised. | |||
| Note that the last two tasks cannot occur when strict TLS is used. | Note that the last two tasks cannot occur when implicit TLS is used, | |||
| and that the penultimate task helps prevent an attack known as SSL | ||||
| Stripping (Section 2.1 of [RFC7457]). | ||||
| 3. Security Considerations | 4. Security Considerations | |||
| Beyond the security considerations already described in [RFC4642] and | Beyond the security considerations already described in [RFC4642], | |||
| [RFC7525], the author wishes to add the following caveat when not | [RFC6125] and [RFC7525], the following caveat is worth mentioning | |||
| using strict TLS. | when not using implicit TLS: NNTP servers need to ensure that they | |||
| are not vulnerable to the STARTTLS command injection vulnerability | ||||
| (Section 2.2 of [RFC7457]). Though this command MUST NOT be | ||||
| pipelined, an attacker could pipeline it. Therefore, NNTP servers | ||||
| MUST discard any NNTP command received between the use of STARTTLS | ||||
| and the end of TLS negotiation. | ||||
| NNTP servers need ensure that they are not vulnerable to the STARTTLS | 5. IANA Considerations | |||
| command injection vulnerability (CERT vulnerability ID #555316). | ||||
| Though this command MUST NOT be pipelined, an attacker could pipeline | ||||
| it. Therefore, NNTP servers MUST discard any NNTP command received | ||||
| between the use of STARTTLS and the end of TLS negotiation. | ||||
| 4. IANA Considerations | This document does not change the formal definition of the STARTTLS | |||
| extension (Section 6 of [RFC4642]). Nonetheless, as implementations | ||||
| of the STARTTLS extension should follow this document, IANA will add | ||||
| its reference to the existing STARTTLS label in the NNTP capability | ||||
| labels registry contained in the Network News Transfer Protocol | ||||
| (NNTP) Parameters registry: | ||||
| This document has no actions for IANA. | +----------+--------------------------+----------------------+ | |||
| | Label | Meaning | Reference | | ||||
| +----------+--------------------------+----------------------+ | ||||
| | STARTTLS | Transport layer security | [RFC4642][RFC-to-be] | | ||||
| +----------+--------------------------+----------------------+ | ||||
| 5. References | 6. References | |||
| 5.1. Normative References | 6.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3977] Feather, C., "Network News Transfer Protocol (NNTP)", | [RFC3977] Feather, C., "Network News Transfer Protocol (NNTP)", | |||
| RFC 3977, DOI 10.17487/RFC3977, October 2006, | RFC 3977, DOI 10.17487/RFC3977, October 2006, | |||
| <http://www.rfc-editor.org/info/rfc3977>. | <http://www.rfc-editor.org/info/rfc3977>. | |||
| [RFC4642] Murchison, K., Vinocur, J., and C. Newman, "Using | ||||
| Transport Layer Security (TLS) with Network News Transfer | ||||
| Protocol (NNTP)", RFC 4642, DOI 10.17487/RFC4642, October | ||||
| 2006, <http://www.rfc-editor.org/info/rfc4642>. | ||||
| 5.2. Informative References | ||||
| [CRIME] Rizzo, J. and T. Duong, "The CRIME Attack", Ekoparty | ||||
| Security Conference, 2012. | ||||
| [MUA-STS] Moore, K. and C. Newman, "Mail User Agent Strict Transport | ||||
| Security (MUA-STS)", July 2016. | ||||
| [NNTP-COMPRESS] | ||||
| Murchison, K. and J. Elie, "Network News Transfer Protocol | ||||
| (NNTP) Extension for Compression", June 2016. | ||||
| [RFC3749] Hollenbeck, S., "Transport Layer Security Protocol | ||||
| Compression Methods", RFC 3749, DOI 10.17487/RFC3749, May | ||||
| 2004, <http://www.rfc-editor.org/info/rfc3749>. | ||||
| [RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple | [RFC4422] Melnikov, A., Ed. and K. Zeilenga, Ed., "Simple | |||
| Authentication and Security Layer (SASL)", RFC 4422, | Authentication and Security Layer (SASL)", RFC 4422, | |||
| DOI 10.17487/RFC4422, June 2006, | DOI 10.17487/RFC4422, June 2006, | |||
| <http://www.rfc-editor.org/info/rfc4422>. | <http://www.rfc-editor.org/info/rfc4422>. | |||
| [RFC4642] Murchison, K., Vinocur, J., and C. Newman, "Using | ||||
| Transport Layer Security (TLS) with Network News Transfer | ||||
| Protocol (NNTP)", RFC 4642, DOI 10.17487/RFC4642, October | ||||
| 2006, <http://www.rfc-editor.org/info/rfc4642>. | ||||
| [RFC4643] Vinocur, J. and K. Murchison, "Network News Transfer | [RFC4643] Vinocur, J. and K. Murchison, "Network News Transfer | |||
| Protocol (NNTP) Extension for Authentication", RFC 4643, | Protocol (NNTP) Extension for Authentication", RFC 4643, | |||
| DOI 10.17487/RFC4643, October 2006, | DOI 10.17487/RFC4643, October 2006, | |||
| <http://www.rfc-editor.org/info/rfc4643>. | <http://www.rfc-editor.org/info/rfc4643>. | |||
| [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security | |||
| (TLS) Protocol Version 1.2", RFC 5246, | (TLS) Protocol Version 1.2", RFC 5246, | |||
| DOI 10.17487/RFC5246, August 2008, | DOI 10.17487/RFC5246, August 2008, | |||
| <http://www.rfc-editor.org/info/rfc5246>. | <http://www.rfc-editor.org/info/rfc5246>. | |||
| [RFC5386] Williams, N. and M. Richardson, "Better-Than-Nothing | [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | |||
| Security: An Unauthenticated Mode of IPsec", RFC 5386, | Housley, R., and W. Polk, "Internet X.509 Public Key | |||
| DOI 10.17487/RFC5386, November 2008, | Infrastructure Certificate and Certificate Revocation List | |||
| <http://www.rfc-editor.org/info/rfc5386>. | (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, | |||
| <http://www.rfc-editor.org/info/rfc5280>. | ||||
| [RFC5536] Murchison, K., Ed., Lindsey, C., and D. Kohn, "Netnews | [RFC5536] Murchison, K., Ed., Lindsey, C., and D. Kohn, "Netnews | |||
| Article Format", RFC 5536, DOI 10.17487/RFC5536, November | Article Format", RFC 5536, DOI 10.17487/RFC5536, November | |||
| 2009, <http://www.rfc-editor.org/info/rfc5536>. | 2009, <http://www.rfc-editor.org/info/rfc5536>. | |||
| [RFC5537] Allbery, R., Ed. and C. Lindsey, "Netnews Architecture and | [RFC5537] Allbery, R., Ed. and C. Lindsey, "Netnews Architecture and | |||
| Protocols", RFC 5537, DOI 10.17487/RFC5537, November 2009, | Protocols", RFC 5537, DOI 10.17487/RFC5537, November 2009, | |||
| <http://www.rfc-editor.org/info/rfc5537>. | <http://www.rfc-editor.org/info/rfc5537>. | |||
| [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an | [RFC6066] Eastlake 3rd, D., "Transport Layer Security (TLS) | |||
| Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May | Extensions: Extension Definitions", RFC 6066, | |||
| 2014, <http://www.rfc-editor.org/info/rfc7258>. | DOI 10.17487/RFC6066, January 2011, | |||
| <http://www.rfc-editor.org/info/rfc6066>. | ||||
| [RFC7465] Popov, A., "Prohibiting RC4 Cipher Suites", RFC 7465, | [RFC6125] Saint-Andre, P. and J. Hodges, "Representation and | |||
| DOI 10.17487/RFC7465, February 2015, | Verification of Domain-Based Application Service Identity | |||
| <http://www.rfc-editor.org/info/rfc7465>. | within Internet Public Key Infrastructure Using X.509 | |||
| (PKIX) Certificates in the Context of Transport Layer | ||||
| Security (TLS)", RFC 6125, DOI 10.17487/RFC6125, March | ||||
| 2011, <http://www.rfc-editor.org/info/rfc6125>. | ||||
| [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, | [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, | |||
| "Recommendations for Secure Use of Transport Layer | "Recommendations for Secure Use of Transport Layer | |||
| Security (TLS) and Datagram Transport Layer Security | Security (TLS) and Datagram Transport Layer Security | |||
| (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May | (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May | |||
| 2015, <http://www.rfc-editor.org/info/rfc7525>. | 2015, <http://www.rfc-editor.org/info/rfc7525>. | |||
| 6.2. Informative References | ||||
| [CRIME] Rizzo, J. and T. Duong, "The CRIME Attack", Ekoparty | ||||
| Security Conference, 2012. | ||||
| [MUA-STS] Moore, K. and C. Newman, "Mail User Agent Strict Transport | ||||
| Security (MUA-STS)", Work in Progress, July 2016. | ||||
| [RFC3749] Hollenbeck, S., "Transport Layer Security Protocol | ||||
| Compression Methods", RFC 3749, DOI 10.17487/RFC3749, May | ||||
| 2004, <http://www.rfc-editor.org/info/rfc3749>. | ||||
| [RFC4301] Kent, S. and K. Seo, "Security Architecture for the | ||||
| Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, | ||||
| December 2005, <http://www.rfc-editor.org/info/rfc4301>. | ||||
| [RFC5386] Williams, N. and M. Richardson, "Better-Than-Nothing | ||||
| Security: An Unauthenticated Mode of IPsec", RFC 5386, | ||||
| DOI 10.17487/RFC5386, November 2008, | ||||
| <http://www.rfc-editor.org/info/rfc5386>. | ||||
| [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an | ||||
| Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May | ||||
| 2014, <http://www.rfc-editor.org/info/rfc7258>. | ||||
| [RFC7435] Dukhovni, V., "Opportunistic Security: Some Protection | ||||
| Most of the Time", RFC 7435, DOI 10.17487/RFC7435, | ||||
| December 2014, <http://www.rfc-editor.org/info/rfc7435>. | ||||
| [RFC7457] Sheffer, Y., Holz, R., and P. Saint-Andre, "Summarizing | ||||
| Known Attacks on Transport Layer Security (TLS) and | ||||
| Datagram TLS (DTLS)", RFC 7457, DOI 10.17487/RFC7457, | ||||
| February 2015, <http://www.rfc-editor.org/info/rfc7457>. | ||||
| [RFC7465] Popov, A., "Prohibiting RC4 Cipher Suites", RFC 7465, | ||||
| DOI 10.17487/RFC7465, February 2015, | ||||
| <http://www.rfc-editor.org/info/rfc7465>. | ||||
| [RFC7590] Saint-Andre, P. and T. Alkemade, "Use of Transport Layer | [RFC7590] Saint-Andre, P. and T. Alkemade, "Use of Transport Layer | |||
| Security (TLS) in the Extensible Messaging and Presence | Security (TLS) in the Extensible Messaging and Presence | |||
| Protocol (XMPP)", RFC 7590, DOI 10.17487/RFC7590, June | Protocol (XMPP)", RFC 7590, DOI 10.17487/RFC7590, June | |||
| 2015, <http://www.rfc-editor.org/info/rfc7590>. | 2015, <http://www.rfc-editor.org/info/rfc7590>. | |||
| Appendix A. Changes to RFC 4642 | [RFC8054] Murchison, K. and J. Elie, "Network News Transfer Protocol | |||
| (NNTP) Extension for Compression", RFC 8054, | ||||
| DOI 10.17487/RFC8054, January 2017, | ||||
| <http://www.rfc-editor.org/info/rfc8054>. | ||||
| Appendix A. Detailed Changes to RFC 4642 | ||||
| This section lists detailed changes this document applies to | This section lists detailed changes this document applies to | |||
| [RFC4642]. | [RFC4642]. | |||
| A.1. Related to TLS-level Compression | ||||
| The second sentence in the Abstract of [RFC4642] is replaced with the | The second sentence in the Abstract of [RFC4642] is replaced with the | |||
| following text: | following text: | |||
| The primary goal is to provide encryption for single-link | The primary goal is to provide encryption for single-link | |||
| confidentiality purposes, but data integrity, and (optional) | confidentiality purposes, but data integrity, and (optional) | |||
| certificate-based peer entity authentication are also possible. | certificate-based peer entity authentication are also possible. | |||
| The second sentence of the first paragraph in Section 2.2.2 of | ||||
| [RFC4642] is replaced with the following text: | ||||
| The STARTTLS command is usually used to initiate session security, | ||||
| although it can also be used for client and/or server certificate | ||||
| authentication. | ||||
| A.2. Related to Implicit TLS | ||||
| The third and fourth paragraphs in Section 1 of [RFC4642] are | The third and fourth paragraphs in Section 1 of [RFC4642] are | |||
| replaced with the following text: | replaced with the following text: | |||
| TCP port 563 is dedicated to NNTP over TLS, and registered in the | TCP port 563 is dedicated to NNTP over TLS, and registered in the | |||
| IANA Service Name and Transport Protocol Port Number Registry for | IANA Service Name and Transport Protocol Port Number Registry for | |||
| that usage. NNTP implementations using TCP port 563 begin the TLS | that usage. NNTP implementations using TCP port 563 begin the TLS | |||
| negotiation immediately upon connection and then continue with the | negotiation immediately upon connection and then continue with the | |||
| initial steps of an NNTP session. This use of strict TLS on a | initial steps of an NNTP session. This immediate TLS negotiation | |||
| separate port is the preferred way of using TLS with NNTP. | on a separate port (referred to in this document as "implicit | |||
| TLS") is the preferred way of using TLS with NNTP. | ||||
| If a host wishes to offer separate servers for transit and reading | ||||
| clients (Section 3.4.1 of [NNTP]), TCP port 563 SHOULD be used for | ||||
| implicit TLS with the reading server, and an unused port of its | ||||
| choice different than TCP port 433 SHOULD be used for implicit TLS | ||||
| with the transit server. The ports used for implicit TLS should | ||||
| be clearly communicated to the clients, and specifically that no | ||||
| plain-text communication occurs before the TLS session is | ||||
| negotiated. | ||||
| As some existing implementations negotiate TLS via a dynamic | As some existing implementations negotiate TLS via a dynamic | |||
| upgrade from unencrypted to TLS-protected traffic during an NNTP | upgrade from unencrypted to TLS-protected traffic during an NNTP | |||
| session, this specification formalizes the STARTTLS command in use | session on well-known TCP ports 119 or 433, this specification | |||
| for that purpose. However, as already mentioned above, | formalizes the STARTTLS command in use for that purpose. However, | |||
| implementations SHOULD use strict TLS on a separate port. | as already mentioned above, implementations SHOULD use implicit | |||
| TLS on a separate port. | ||||
| The second sentence of the first paragraph in Section 2.2.2 of | Note: a common alternative to protect NNTP exchanges with transit | |||
| [RFC4642] is replaced with the following text: | servers that do not implement TLS is the use of IPsec with | |||
| encryption [RFC4301]. | ||||
| The STARTTLS command is usually used to initiate session security, | An additional informative reference to [RFC4301] is therefore added | |||
| although it can also be used for client and/or server certificate | to Section 7.2 of [RFC4642]. | |||
| authentication. | ||||
| A.3. Related to RC4 Cipher Suites | ||||
| The third paragraph in Section 5 of [RFC4642] is removed. | The third paragraph in Section 5 of [RFC4642] is removed. | |||
| Consequently, NNTP no longer requires to implement any cipher suites, | Consequently, NNTP no longer requires to implement any cipher suites, | |||
| other than those prescribed by TLS [RFC5246] and Section 4.2.1 of | other than those prescribed by TLS (Section 9 of [RFC5246]) and | |||
| [RFC7525]. | Sections 4.2 and 4.2.1 of [RFC7525]. | |||
| Appendix B. Implementation Notes | A.4. Related to Server Name Indication | |||
| Some governments enforce legislation prohibiting the export of strong | The last two sentences of the seventh paragraph in Section 2.2.2 of | |||
| cryptographic technologies. Nothing in this document ought to be | [RFC4642] are removed. Section 3.6 of [RFC7525] apply. | |||
| taken as advice to violate such prohibitions. | ||||
| Appendix C. Acknowledgements | A.5. Related to Certificate Verification | |||
| The text between "During the TLS negotiation" and "identity | ||||
| bindings)." in Section 5 of [RFC4642] is replaced with the following | ||||
| text: | ||||
| During TLS negotiation, the client MUST verify the server's | ||||
| identity in order to prevent man-in-the-middle attacks. The | ||||
| client MUST follow the rules and guidelines defined in [RFC6125], | ||||
| where the reference identifier MUST be the server hostname that | ||||
| the client used to open the connection, and that is also specified | ||||
| in the TLS "server_name" extension [RFC6066]. The following NNTP- | ||||
| specific consideration applies: DNS domain names in server | ||||
| certificates MAY contain the wildcard character "*" as the | ||||
| complete left-most label within the identifier. | ||||
| If the match fails, the client MUST follow the recommendations in | ||||
| Section 6.6 of [RFC6125] regarding certificate pinning and | ||||
| fallback. | ||||
| Beyond server identity checking, clients also MUST apply the | ||||
| procedures specified in [RFC5280] for general certificate | ||||
| validation (e.g., certificate integrity, signing, and path | ||||
| validation). | ||||
| Additional normative references to [RFC5280] (replacing [PKI-CERT] it | ||||
| obsoletes), [RFC6066], and [RFC6125] are therefore added to | ||||
| Section 7.1 of [RFC4642]. | ||||
| A.6. Related to Other Obsolete Wording | ||||
| The first two sentences of the seventh paragraph in Section 2.2.2 of | ||||
| [RFC4642] are removed. There is no special requirement for NNTP with | ||||
| regards to TLS Client Hello messages. Section 7.4.1.2 and Appendix E | ||||
| of [RFC5246] apply. | ||||
| Appendix B. Acknowledgments | ||||
| This document draws heavily on ideas in [RFC7590] by Peter | This document draws heavily on ideas in [RFC7590] by Peter | |||
| Saint-Andre and Thijs Alkemade, and a large portion of this text was | Saint-Andre and Thijs Alkemade; a large portion of this text was | |||
| borrowed from that specification. | borrowed from that specification. | |||
| The author would like to thank the following individuals for | The author would like to thank the following individuals for | |||
| contributing their ideas and support for writing this specification: | contributing their ideas and support for writing this specification: | |||
| Michael Baeuerle, Richard Kettlewell, and Chris Newman. | Stephane Bortzmeyer, Ben Campbell, Viktor Dukhovni, Stephen Farrell, | |||
| Sabahattin Gucukoglu, Richard Kettlewell, Jouni Korhonen, Mirja | ||||
| Kuehlewind, David Eric Mandelberg, Matija Nalis, Chris Newman, and | ||||
| Peter Saint-Andre. | ||||
| Appendix D. Document History (to be removed by RFC Editor before | Special thanks to Michael Baeuerle, for shepherding this document, | |||
| and to the Responsible Area Director, Alexey Melnikov, for sponsoring | ||||
| it. They both significantly helped to increase its quality. | ||||
| Appendix C. Document History (to be removed by RFC Editor before | ||||
| publication) | publication) | |||
| D.1. Changes since -00 | C.1. Changes since -04 | |||
| o Clarify in the introduction of Section 2 that NNTP implementations | o Take into account the remarks received during IESG telechat. | |||
| o Mention the Document Shepherd, Michael Baeuerle. | ||||
| o Update the reference [NNTP-COMPRESS] to [RFC8054], now it has been | ||||
| released. | ||||
| o Add a reference to [RFC7435]. | ||||
| o Move [RFC4422], [RFC4643], [RFC5536], and [RFC5537] from | ||||
| informative to normative references. | ||||
| o A few wording improvements. | ||||
| C.2. Changes since -03 | ||||
| o Improve wording to make clear that the server hostname that the | ||||
| client used to open the connection is the same as the one | ||||
| specified in the TLS "server_name" extension. | ||||
| o Move [RFC5280], [RFC6125] and [RFC7525] to normative references. | ||||
| o In detailed changes of [RFC4642], use [NNTP] instead of [RFC3977] | ||||
| as this RFC is referenced as [NNTP] in [RFC4642]. Also mention | ||||
| obsolete [PKI-CERT]. | ||||
| C.3. Changes since -02 | ||||
| o Use (and define) the "implicit TLS" terminology instead of "strict | ||||
| TLS". The language in [RFC7525] is unfortunate since "strict TLS" | ||||
| is not clearly defined in that document, and the name suggests | ||||
| that it is an alternative to "opportunistic TLS", rather than an | ||||
| alternative to STARTTLS. While STARTTLS is often used | ||||
| opportunistically, that is not always the case. | ||||
| o Mention SSL Stripping in Section 3.6 with a reference to | ||||
| Section 2.1 of [RFC7457] because the intent of the related task | ||||
| may not have been clear enough. Reported by Matija Nalis. | ||||
| o Add Section 3.4 about how to prevent SSL stripping, notably by an | ||||
| attempt to negotiate TLS even if STARTTLS is not advertised, when | ||||
| implicit TLS is not used. | ||||
| o Strengthen the requirements on hostname validation and certificate | ||||
| verification, by referencing [RFC6125] and [RFC5280]. | ||||
| o Ask IANA to add this document to the NNTP capabilily labels | ||||
| registry. | ||||
| o Reference the security considerations of [RFC6125]. | ||||
| o Mention informative and normative references to add to [RFC4642]. | ||||
| C.4. Changes since -01 | ||||
| o Take into account all the remarks sent during IETF Last Call. | ||||
| o Move the part about [RFC4642] from Introduction to a new dedicated | ||||
| Section named "Updates/Changes to RFC 4642" so as to make the | ||||
| document a bit more structured. | ||||
| o The warning about lack of STARTTLS is expanded in scope to say | ||||
| "during any previous connection within a (possibly configurable) | ||||
| time frame" instead of "during the previous connection". | ||||
| o Remove Appendix about export restrictions on crypto. It is | ||||
| useless since RFC 2804. | ||||
| o Add wording about the use of strict TLS for transit. Mention the | ||||
| use of a port other than 433 for strict TLS between two peers, and | ||||
| add a note about a possible use of IPsec [RFC4301] for transit. | ||||
| Do not only speak about port 563. | ||||
| o Explicitly mention the mandatory-to-implement cipher suite for TLS | ||||
| 1.2. | ||||
| o Do not keep the paragraph about TLS Client Hello messages and | ||||
| Server Name Indication (SNI) in [RFC4642]. Support for SNI | ||||
| [RFC6066] is now a MUST, and not a SHOULD. | ||||
| o Reference [RFC7457] for the STARTTLS command injection | ||||
| vulnerability. | ||||
| o Add notes to RFC Editor to ask that [MUA-STS] and [NNTP-COMPRESS] | ||||
| references be changed to their [RFCxxxx] form, once published, and | ||||
| whether [BCP195] should be used instead of [RFC7525]. | ||||
| o Move [RFC5246] (TLS) to a normative reference. | ||||
| o Minor other wording improvements. | ||||
| C.5. Changes since -00 | ||||
| o Clarify in the introduction of Section 3 that NNTP implementations | ||||
| compliant with this document are REQUIRED to also comply with | compliant with this document are REQUIRED to also comply with | |||
| [RFC7525]. | [RFC7525]. | |||
| o Improve the wording of Section 2.2 to mention that configuration | o Improve the wording of Section 3.2 to mention that configuration | |||
| is primarily intended for news servers. Also, be more consistent | is primarily intended for news servers. Also, be more consistent | |||
| in the options to accept, and include signature algorithms and | in the options to accept, and include signature algorithms and | |||
| named groups. | named groups. | |||
| Appendix E. Issues to Address | ||||
| o Should the paragraph starting with "Servers MUST be able to | ||||
| understand backwards-compatible TLS Client Hello messages" in | ||||
| Section 2.2.2 of [RFC4642] remain as-is or should it be modernized | ||||
| with another wording? (And which one? or is it already done by | ||||
| the reference to [RFC7525]?) | ||||
| o Should the paragraphs in Section 5 of [RFC4642] dealing with how | ||||
| the client checks the server hostname and the binding between the | ||||
| identity of servers and the public keys presented be modernized? | ||||
| (Obsolete them in favour of RFC 6125 for instance? or maybe | ||||
| [RFC7525] is enough as it also points to RFC 6125) | ||||
| o Regarding peering between mode-switching news servers, should | ||||
| something specific be added? NNTP has port 119, and NNTP over TLS | ||||
| has port 563. NNSP has port 433 but no dedicated port for TLS. | ||||
| Shouldn't a port for NNSP over TLS be registered? Otherwise, both | ||||
| reading and peering are supposed to use port 563, which may be | ||||
| inconvenient. We could then recommend the use of stunnel with TCP | ||||
| wrappers, or an equivalent mechanism, listening to that new | ||||
| separate port for mode-switching news servers that do not natively | ||||
| support TLS for peering. | ||||
| Author's Address | Author's Address | |||
| Julien Elie | Julien Elie | |||
| 10 allee Clovis | 10 allee Clovis | |||
| Noisy-le-Grand 93160 | Noisy-le-Grand 93160 | |||
| France | France | |||
| EMail: julien@trigofacile.com | EMail: julien@trigofacile.com | |||
| URI: http://www.trigofacile.com/ | URI: http://www.trigofacile.com/ | |||
| End of changes. 64 change blocks. | ||||
| 183 lines changed or deleted | 428 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||