Re: [Ntp] Benjamin Kaduk's Discuss on draft-ietf-ntp-bcp-10: (with DISCUSS and COMMENT)

Denis Reilly <denis.reilly@orolia.com> Thu, 17 January 2019 18:14 UTC

Return-Path: <denis.reilly@orolia.com>
X-Original-To: ntp@ietfa.amsl.com
Delivered-To: ntp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D9EEB130ECD; Thu, 17 Jan 2019 10:14:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=orolia.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id u7szdCQpmWVl; Thu, 17 Jan 2019 10:14:11 -0800 (PST)
Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on0613.outbound.protection.outlook.com [IPv6:2a01:111:f400:fe1f::613]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 511C5130EB5; Thu, 17 Jan 2019 10:14:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orolia.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8/1GqJqhOcz/M+/+KbE3uy30bcrxcBssEZYQoGkdFjk=; b=UpQIF/loXZ+tlQGT9QR07gy7g4nQMZejsMJjjh4U5S8Gz632VfVwN74jq6Zf9wqioYDon7IZUQ977N9BKCTSNDz3p8OA6JZW7AunGZ8wU9SWU6pWMUJqBrL48Mv/8GKWE7apWJ2a6exBkK9Y0DyAGgJ7fWhnZxXHJ/md0mZJ9o0=
Received: from AM0PR0602MB3730.eurprd06.prod.outlook.com (52.133.40.31) by AM0PR0602MB3619.eurprd06.prod.outlook.com (52.133.49.158) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1537.24; Thu, 17 Jan 2019 18:14:08 +0000
Received: from AM0PR0602MB3730.eurprd06.prod.outlook.com ([fe80::d29:a937:724f:81b2]) by AM0PR0602MB3730.eurprd06.prod.outlook.com ([fe80::d29:a937:724f:81b2%2]) with mapi id 15.20.1516.019; Thu, 17 Jan 2019 18:14:07 +0000
From: Denis Reilly <denis.reilly@orolia.com>
To: Benjamin Kaduk <kaduk@mit.edu>, The IESG <iesg@ietf.org>
CC: "draft-ietf-ntp-bcp@ietf.org" <draft-ietf-ntp-bcp@ietf.org>, Karen O'Donoghue <odonoghue@isoc.org>, "ntp-chairs@ietf.org" <ntp-chairs@ietf.org>, "odonoghue@isoc.org" <odonoghue@isoc.org>, "ntp@ietf.org" <ntp@ietf.org>
Thread-Topic: Benjamin Kaduk's Discuss on draft-ietf-ntp-bcp-10: (with DISCUSS and COMMENT)
Thread-Index: AQHUmAbzUgYjHR5iYEmqgX1+zmvdO6Wzt+qQ
Date: Thu, 17 Jan 2019 18:14:07 +0000
Message-ID: <AM0PR0602MB37302EEA1FF4A75A9C05DB28FF830@AM0PR0602MB3730.eurprd06.prod.outlook.com>
References: <154527086543.2219.6748696381274841433.idtracker@ietfa.amsl.com>
In-Reply-To: <154527086543.2219.6748696381274841433.idtracker@ietfa.amsl.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [66.193.84.98]
x-ms-publictraffictype: Email
x-microsoft-exchange-diagnostics: 1; AM0PR0602MB3619; 6:vRfokAG4zKabxbLd2QdK9BdiSjuc/hfXsjwqL3o7y+pgpYETLaD1EMBcWPBWVw6SJgUlI9A16SmN2ACD5cwcVWnY+KN6S54tg1ktZcGA+P3err19Rp7rx2JTJNruy56vTgRUdXJS2LX3AFq46I9FFdhRWRhEd427LJ/42J8NtVw5tuoAz5VvNgNBbzavqECUEhmoglKwyPUHfK5JSxxqJ7Msv/HQQ0zBvq/Tve1dxDppUJWsNTp0MvRIalxbGYvo5kwv7W7VncYxtmE37KagYtu5BvGoP4/sPzhWBIu2mFMIk1kAm46cMNEnV8q2lHOTJa1+3XvndgelbzjlgZx3w+D8dSqvFLdpZI0mXP+fhIZk/+iVg1QJW6cfViHDIu0LfUvR+g5bSaALVndKBdf2ty9Mwrvqqpi7skIUMM37iamGlWqQxRUgcXCPerbITG1PqSabrxbN0Eog4dA7VoL7EA==; 5:WkUgLnXyohieSuV9pki0g8So5DTpnbuxTWFL9UnISXGHKzC+8pf+uBElYPmHyhHkGK2h1/sSiG2TWoo7byj8vjN56HHWFdR5gpJzf61vRv5c7LMdKQFXJFha6ItxaLl0Hd99N43GbEtkFuZVY66A5LWXuLB85OYBiU8Em3PpqHb+BZVLeyivYsGCX5tSQa3aLS7upMXoPrKKCJb1SxtbJw==; 7:unyp/2/nIyVgAl0UXwXNPvQAMUthPAAT0YKaTT7vswqaMUjYpA6LjDw1pgNuG2i0dalmELoKAH7d0SParn026jnnFlXo7LfC3MO4VW77TMaG0a07/nM5wAA/LAxKj10iKIgW994caqCrqlIbHWdcNw==
x-ms-exchange-antispam-srfa-diagnostics: SOS;
x-ms-office365-filtering-correlation-id: 95436927-116d-425d-9d6b-08d67ca79283
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600109)(711020)(2017052603328)(7153060)(7193020); SRVR:AM0PR0602MB3619;
x-ms-traffictypediagnostic: AM0PR0602MB3619:
authentication-results: spf=none (sender IP is ) smtp.mailfrom=denis.reilly@orolia.com;
x-microsoft-antispam-prvs: <AM0PR0602MB361972C164E4B6F7BE945488FF830@AM0PR0602MB3619.eurprd06.prod.outlook.com>
x-forefront-prvs: 0920602B08
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(136003)(39850400004)(346002)(396003)(376002)(366004)(13464003)(199004)(189003)(51914003)(81156014)(8676002)(8936002)(6116002)(25786009)(3846002)(81166006)(97736004)(256004)(44832011)(55016002)(33656002)(14444005)(5024004)(229853002)(6436002)(486006)(68736007)(316002)(105586002)(99286004)(9686003)(6306002)(5660300001)(30864003)(76176011)(7696005)(2906002)(54906003)(102836004)(966005)(186003)(53546011)(6506007)(26005)(14454004)(110136005)(71190400001)(7736002)(478600001)(71200400001)(305945005)(476003)(11346002)(446003)(53946003)(86362001)(66066001)(106356001)(53936002)(6246003)(2171002)(4326008)(74316002); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0602MB3619; H:AM0PR0602MB3730.eurprd06.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: orolia.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: tQE3niYx6Lww/nTcKMBROOpvhEJjsmCFtTueZAHnTlfVvJZ7S1EK/4R3TMAwQsoWtrHIjFcHTS/NcITCz+FsKhC1Nfz5NkAS73Rfb6FsUTvdMsVgKV1URKKeAFHznc6vJmE60099fH6yQbdTkDdsfy0qN7C/tVpgdyL1FAOtRDeY+TRr6xQJkdhdQNHI9Wupznb7d42lI/jdHVBmCVNgk2QwvygPSslOqoIx7DglRy+5IPoaHUf1IOsJosQzVtvzaYYG+30wfjNr2bWCwQLRL2SwJvOmN80LouIQ6vDlMQLrasdAex/m1YGTiwyG2CyI2gPKeL/udkKcFS1gfM0pQIfAldhPVnz9hwio+EpIcLyfRHB7Cbnw8GA3lvf1KxaS1gm2hxL27lx1kr/6L7RYIGHvAmzDW1/TUT1VeONTicE=
spamdiagnosticoutput: 1:99
spamdiagnosticmetadata: NSPM
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: orolia.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 95436927-116d-425d-9d6b-08d67ca79283
X-MS-Exchange-CrossTenant-originalarrivaltime: 17 Jan 2019 18:14:07.7891 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: a263030c-9c1b-421f-9471-1dec0b29c664
X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0602MB3619
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/DuFqFR8KKMJj6Y5MlASGoa6wB7A>
Subject: Re: [Ntp] Benjamin Kaduk's Discuss on draft-ietf-ntp-bcp-10: (with DISCUSS and COMMENT)
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <ntp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ntp>, <mailto:ntp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ntp/>
List-Post: <mailto:ntp@ietf.org>
List-Help: <mailto:ntp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ntp>, <mailto:ntp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 17 Jan 2019 18:14:16 -0000

Hello, Benjamin! Thanks for the review. I've posted a new version of the draft which incorporate the feedback from the review.

See responses in-line:

--
Denis Reilly  |  Technical Lead  |  denis.reilly@orolia.com  (585)321-5837

-----Original Message-----
From: Benjamin Kaduk <kaduk@mit.edu> 
Sent: Wednesday, December 19, 2018 8:54 PM
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-ntp-bcp@ietf.org; Karen O'Donoghue <odonoghue@isoc.org>; ntp-chairs@ietf.org; odonoghue@isoc.org; ntp@ietf.org
Subject: Benjamin Kaduk's Discuss on draft-ietf-ntp-bcp-10: (with DISCUSS and COMMENT)

Benjamin Kaduk has entered the following ballot position for
draft-ietf-ntp-bcp-10: Discuss

When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.)


Please refer to https://www.ietf.org/iesg/statement/discuss-criteria.html
for more information about IESG DISCUSS and COMMENT positions.


The document, along with other ballot positions, can be found here:
https://datatracker.ietf.org/doc/draft-ietf-ntp-bcp/



----------------------------------------------------------------------
DISCUSS:
----------------------------------------------------------------------

I see that Ben has already asked about the SHOULDs (vs. MUSTS) for secure key exchange and prevention from disclosure, in Section 4.1, but I will make that a Discuss point.  If these are to remain SHOULD, we should say something about in what case(s) MUST would not be appropriate.

I'm also concerned that there is too much intermingling of general BCP-worthy advice with implementation-specific knowledge for publication as BCP in the current form.  I've tried to note instances of this in the comment section, but for example this includes talking about the "key file"
and the format of the configuration file.  In a similar vein, it's unclear that the guidance in Appendix A will age well, at least without a more explicit disclaimer (including disclaimer of normativity) -- e.g,. are the
-4 and -6 modifiers to restrict still needed or best practice?  IIRC a recent update on my FreeBSD machine updated ntp.conf to just use basic restrict stanzas without an IP version.

I'm also surprised to see no discussion of the (non-)applicability of IPsec for NTP traffic, when authenticity or access control is required.  (E.g., where IP acls are discussed in Section 5.1)

Response:
Regarding the key exchange: 
Our original motivation for keeping these as "SHOULD" was that there was no formal recommendation we could point users to on how to secure these keys,. (Alissa Cooper had already brought this up as a Comment.) But we have received enough feedback from the reviewers here that we will change these to "MUST"s.

Regarding the Key File:
We will refer to the key file as "local key storage" in the body of the document, to make it a bit more generic. We keep the reference to the key file in the ntpd-specific appendix.

Regarding the Appendix:
I admit that we don't quite understand what sort of disclaimer you would like for the appendix. Aren't the appendixes already non-normative?

Regarding IPSec: 
We will add an additional sub-section for "External Security Protocols":

   If applicable, external security Protocols such as IPsec and MACsec
   can be applied to enhance integrity and authenticity protection of
   NTP time synchronization packets.  Usage of such external security
   protocols can decrease time synchronization performance [RFC7384].
   Therefore, operators are advised to carefully evaluate if the
   decreased time synchronization performance meets their specific
   timing requirements.



----------------------------------------------------------------------
COMMENT:
----------------------------------------------------------------------

In general the writing could be tightened up some more, especially to remove duplication and improve transitions.  I've noted several instances in the comments (mostly tagged with "nit"), as well as some more substantive comments.

Section 2.1

                   UDP-based protocols such as NTP are generally more
   susceptible to spoofing attacks then other connection-oriented
   protocols.  [...]

nit: was this intended to be "other, connection-oriented, protocols"?

Response:
"UDP-based protocols such as NTP are generally more
        susceptible to spoofing attacks than connection-oriented
        protocols."

--

               NTP control messages can generate a lot of data in
   response to a small query, which makes it more attractive as a vector
   for distributed denial-of-service attacks.  [...]

nit: more attractive than what?  (I.e., maybe just "makes it attractive")

Response: We agree

--

   BCP 38 [RFC2827] was approved in 2000 to address this.  [...]

nit: maybe, "BCP 38 was published in 2000 to provide some level of remediation against address-spoofing attacks"?

Response: We agree

--

                                               It is RECOMMENDED that
   large corporate networks (and ISP's of any size) implement ingress
   and egress filtering.  More information is available at the BCP38
   Info Web page [BCP38INFO] .

BCP 38 already makes this recommendation, and the current document is supposedly scoped to just NTP, so I would have expected wording more like "It is recommended that [...] that use NTP implement ingress and egress filtering.", if we can even be clear about who this directive is supposed to apply to.


Response:
Personally, I (Denis) like the broader recommendation here, as it seems like a good idea to emphasize the importance of the BCP. But we can move the sentence "Mitigating source address spoofing attacks should be a priority of anyone administering NTP." to appear at the start of the next paragraph. This will better clarify why the recommendation is there.

--

Section 3.1

   Many network security mechanisms rely on time as part of their
   operation.  If attackers can spoof the time, they may be able to
   bypass or neutralize other security elements.  For example, incorrect
   time can disrupt the ability to reconcile logfile entries on the
   affected system with events on other systems.  An application which
   is secure today could be insecure tomorrow once an unknown bug (or a
   known behavior) is exploited in the right way.  Even our definition
   of what is secure has evolved over the years, so code which was
   considered secure when it was written may turn out to be insecure
   after some time.

The first three sentences seem related, but the last two sentences seem to be talking about something qualitatively different (namely, "more vulnerabilities being discovered over time", compared to the original's "accurate time is important for secure and correct operation").  I would suggest a paragraph break and some transitional language.

Response:
We've removed those last two sentences in the latest draft, because we now feel the first three stand on their own.

--

Section 3.2

   But even with 4 or more sources of time, systemic problems can
   happen.  For several hours before and after the June 2015 leap
   second, several operators implemented leap smearing while others did
   not, and many NTP end nodes could not determine an accurate time
   source because 2 of their 4 sources of time gave them consistent UTC/
   POSIX time, while the other 2 gave them consistent leap-smeared time.
   See Section 3.7.1 for more information.

   Operators SHOULD monitor all of the time sources that are in use.  If
   time sources do not generally agree, find out the cause and either
   correct the problems or stop using defective servers.  See
   Section 3.5 for more information.

nit: the transition here is a bit odd.  I would suggest either introducing leap second smearing as a separate concept first (e.g., by forward-reference to Section 3.7), or making the second quoted paragraph mention that leap second smearing is one of many potential causes for disagreement amongst time sources.

Response:
We rewrote that first paragraph to make it flow a bit better:
    But even with 4 or more sources of time, systemic problems can
	happen. One example involves the leap smearing concept detailed in 
	Section 3.7. For several hours before and after the 
	June 2015 leap second, several operators configured their NTP servers 
	with leap smearing while others did not. Many NTP end
	nodes could not determine an accurate time source because 2 of their
	4 sources of time gave them consistent UTC/POSIX time, while the
	other 2 gave them consistent leap-smeared time. This is just one of 
	many potential causes of disagreement among time sources.

--

Section 3.3

nit: the Q&A style in the second paragraph is not something I usually expect to read in a BCP.

Response:
Maybe it's just a reflection of our writing style, but these do reflect
questions that we think operators should ask when determining whether their 
implementations are diverse enough.

--

Section 3.4

                             Used improperly, these facilities can be an
   abuse vector.  [...]

I think (but am not 100% sure) that it's an attack vector on the server itself, as well as an abuse vector.

Response:
We've changed this to "But these facilities can be a vector for amplification attacks when abused."

--

Section 3.4

The BCP 38 recommendation was already made above; do we really need to duplicate it here?

Response:
I (Denis) think it's important to link the two, as this shows additional rationale for implementing BCP38. But we do mention NTP Control messages in the BCP38 section; maybe it's better to just reference that section so we don't repeat the recommendation.

--

Section 3.5

   If a system starts getting unexpected time replies from its time
   servers, that can be an indication that the IP address of the system
   is being forged in requests to its time server.  The goal of this
   attack is to convince the time server to stop serving time to the
   system whose address is being forged.

nit: the writing here could probably be tightened up.  E.g., things like "NTP reply packets that do not correspond requests it sent", "an attacker is forging its IP address in requests to the time server", and "one reason an attacker would do so could be to convince the time server to".

Response:
Changed to
I
f a system starts to recieve NTP Reply packets from a time server
that do not correspond to any requests sent by the system, that can be
an indication that an attacker is forging that system's IP address in
requests to the remote time server. The goal of this attack would be to
convince the time server to stop serving time to the
system whose address is being forged.

--

   If a server's system log shows messages that indicates it is
   receiving timestamps that are earlier than the current system time,
   then either the system clock is unusually fast or somebody is trying
   to launch a replay attack against that server.

Is "receiving timestamps" supposed to be for NTP messages in particular, or all general syslog traffic?

Response:
We are referring to NTP timestamps, and will clarify this in the next draft.

--

Section 4.1

   [RFC5905] specifies a hash which must be supported for calculation of
   the MAC, but other algorithms may be supported as well.  The MD5 hash
   is now considered to be too weak.  [...]

nit: "too weak" for what?  (Maybe "considered to be weak and unsuitable for cryptographic usage" would be better, with a reference to RFC 6151 or similar.

Response:
We are adding:
The MD5 hash is now considered to be too weak and unsuitable for cryptographic
usage.  [RFC6151] has more information on the algorithm's weaknesses.

--


   To use this approach the communication partners have to exchange the
   key, which consists of a keyid with a value between 1 and 65534,
   inclusive, and a label which indicates the chosen digest algorithm.

Surely there is also the actual cryptographic key material itself!

   Each communication partner adds this information to its own key file.

Does the reader know what a "key file" is at this point in the document?
(Alternately, is "key file" an implementation detail and not a protocol
concept?)

Response:
We've replaced "key file" with "local key storage" in the body of the document, and put more specific information about where to insert the key into the ntpd-specific appendix (where it is more appropriate).

--

   Some implementations store the key in clear text.  Therefore it
   SHOULD only be readable by the NTP process.  Different keys are added
   line by line to the key file.

Similarly here; the "key file" is only vaguely and implicitly described (and the line-by-line format is clearly implementation-specific); the main actionable point here is just to ensure that it is only readable to the NTP process and the rest could, I think, be safely omitted.

Response:
We'll omit the last sentence.

--

   An NTP client establishes a protected association by appending the
   key to the server statement in its configuration file.  Note that the
   NTP process has to trust the applied key.

If the configuration file format is not standardized, there's not much useful for us to say here about its contents.  Also, what does "has to trust" mean?

Response:
We can rewrite to be clearer:

An NTP client has to be able to link a key to a particular server
in order to establish a protected association. This linkage is
implementation specific. Once applied, a key will be trusted until
the link is removed.

--

Section 4.2

The reference is provided only for the attack on autokey but not for autokey itself.  Is there a stable reference for the autokey protocol (so that people know what to not use)?

Response:
We've added RFC5906 as an informative reference.

--

Section 5.1

                                                         NTP control
   queries also leak important information (including reference ID,
   expected origin timestamp, etc.) that may be used in attacks
   [CVE-2015-8139].  A remote attacker can learn this information by
   sending control queries to a target system and inspecting the
   response.

Er, so is it the control *query* that leaks information, or the response to that query?

Response:
We can clarify this by changing to "and inspecting the leaked information in the response."

--

           It is recommended that operators SHOULD filter mode 3 queries
   at the edge, or make sure mode 3 queries are allowed only from
   trusted systems or networks.

nit: "at the edge" is not a well-defined concept here.

Response:
Will change to "from outside their networks".

--

   Note well that proper monitoring of an NTP server instance includes
   checking the time of that NTP server instance.

Perhaps more explicitly state that the above recommendations for leaf hosts preclude such monitoring [of leaf hosts]?

Response:
Will change to "An exception to this can be made if a leaf-node host is being actively monitored, in which case incoming packets from the monitoring server can be allowed."

--

Section 5.3

Do we want to say anything about what to do when a (potential) attack is detected (e.g., make an entry in the system log)?

Response:
We don't think so, because the monitoring in this section may not be done
by the NTP implementation itself. If an operator uses an external tool to performance this monitoring, we don't want to impose any requirements on that.

--

Section 5.4

It seems worth reiterating that these KoD packets will be accepted in common usage even when not cryptographically authenticated, which makes the DoS risk more severe.

I am not sure whether the note about KoD packets indicating potential attacks is better here or in the previous subsection.

Response:
We want to keep the note here, but we've added your suggested text:
   Kiss-o'-Death (KoD) packets can be used in denial of service
   attacks.  Thus, the observation of even just one KoD packet with a
   high poll value could be sign that the client is under attack. 
   And KoD packets are commonly accepted even when not cryptographically 
   authenticated, which increases the risk of denial of service attacks.

--

Section 6.1

This is entirely editorial (and thus your preferences outweigh mine), but if I were writing this I would say something like "an up-to-date and secure NTP implementation" rather than "the latest NTP updates applied".

Response: We Agree.

--

Section 7

Would it ever make sense to have multiple (disjoint?) anycast pools so that clients could still benefit from having multiple servers concurrently available to compare?

Response: A good point, we will add it.

--

Appendix A.*

It would be helpful to distinguish which strings are literal syntax that must be used unchanged and which strings are supposed to be user-replaceable.

Response: We've changed the text of the Appendix to make this more clearer, mainly in the Prre-Shared Key section.

--

ATTENTION: This email came from an external source.
Do not open attachments or click on links from unknown senders or unexpected emails.