Re: [ftpext] Review of FTP HOSTS draft

Anthony Bryan <anthonybryan@gmail.com> Tue, 13 March 2012 05:24 UTC

Return-Path: <anthonybryan@gmail.com>
X-Original-To: ftpext@ietfa.amsl.com
Delivered-To: ftpext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 3EBEC21F87D8 for <ftpext@ietfa.amsl.com>; Mon, 12 Mar 2012 22:24:05 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.199
X-Spam-Level:
X-Spam-Status: No, score=-5.199 tagged_above=-999 required=5 tests=[AWL=-1.600, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gatjAsSt9+pL for <ftpext@ietfa.amsl.com>; Mon, 12 Mar 2012 22:24:03 -0700 (PDT)
Received: from mail-gx0-f172.google.com (mail-gx0-f172.google.com [209.85.161.172]) by ietfa.amsl.com (Postfix) with ESMTP id 833D921F87CD for <ftpext@ietf.org>; Mon, 12 Mar 2012 22:24:03 -0700 (PDT)
Received: by ggmi1 with SMTP id i1so160799ggm.31 for <ftpext@ietf.org>; Mon, 12 Mar 2012 22:24:03 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=K+52DV8eOm66Uw2vj+ImmvCZcvu6u/w9ZQP3X5fLceI=; b=SCYavCIkilsZK6ykkxFKsMap0SkOiJ+LMbHJoe9yxfPBvOF9XcFuU5TRp4iTm/M4Yg 6+XXlW4SPSXCOx/weQriEY8TqaoKbn3TdzJGP9NuWbfz4/o1rh70epnCTfSN1gSi7U4U qnYaSDJVTGWeMFpneR74VdV4a/gHV9pw896BSP7GsqEXjZxUP4gZyoeKJYwZGrNGi6dL cNPeWjLj3FlEkuoiGAwiRsWnkhyAmC3VjPtN9OJQ5JJ1tGg8n4Ta1iFHUQgrAQuvdvNa 0qOCT5XDBUBxC0XKCmVPpG1QwGs5f5lJSGZUH69SPmaxnPtSmxLY1b1gQjVZZhQ7AbTu sS9w==
MIME-Version: 1.0
Received: by 10.236.154.137 with SMTP id h9mr15931298yhk.91.1331616243089; Mon, 12 Mar 2012 22:24:03 -0700 (PDT)
Received: by 10.146.95.15 with HTTP; Mon, 12 Mar 2012 22:24:03 -0700 (PDT)
In-Reply-To: <OF9010AA09.3E3DBA43-ON802579B1.0042EAD0-802579B1.0045D2EB@uk.ibm.com>
References: <CANqTPeiid++rpn1H8yELmeQhG=XEwt8q5uTCiuifw82OOu8xjg@mail.gmail.com> <OF9010AA09.3E3DBA43-ON802579B1.0042EAD0-802579B1.0045D2EB@uk.ibm.com>
Date: Tue, 13 Mar 2012 01:24:03 -0400
Message-ID: <CANqTPehZEv4T96UHo0vvqeqzEbhZrO8prJ7mDt=HHji2NtN-=w@mail.gmail.com>
From: Anthony Bryan <anthonybryan@gmail.com>
To: Paul Ford-Hutchinson <paulfordh@uk.ibm.com>
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: quoted-printable
Cc: ftpext@ietf.org
Subject: Re: [ftpext] Review of FTP HOSTS draft
X-BeenThere: ftpext@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: <ftpext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ftpext>, <mailto:ftpext-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/ftpext>
List-Post: <mailto:ftpext@ietf.org>
List-Help: <mailto:ftpext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ftpext>, <mailto:ftpext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 13 Mar 2012 05:24:05 -0000

Paul, thanks for reading & reviewing the review!

On Mon, Feb 27, 2012 at 7:42 AM, Paul Ford-Hutchinson
<paulfordh@uk.ibm.com> wrote:
>
> Some comments ...
>
> ftpext-bounces@ietf.org wrote on 24/02/2012 23:20:48:
>
>
>
>> Alexey Melnikov was kind enough to review this draft but was not on
>> the list so I am forwarding it for him.
>>
>> 1.  Introduction
>>
>>   This means that different virtual hosts cannot offer different
>>   virtual file systems to clients, nor can they offer different
>>   authentication systems.  Any scheme to overcome this issue needs to
>>   indicate not only the destination IP address, but also the virtual
>>   host name that is associated with the desired virtual FTP server.
>>   Typical user-FTP processes currently use hostnames to perform
>>   hostname to IP address resolution and then ignore hostnames for the
>>   rest of the FTP session, therefore any mechanism to overcome this
>>   issue would require modifications to the user-PI and server-PI.
>>
>> Minor: You should have references for terms like user-PI/server-PI the
>> first
>> time you reference them.
>
> [RFC959] ?

yes

>> In Section 3.2.2:
>>
>>   This is also true when the HOST command is used with the AUTH and
>>   ADAT commands that are discussed in [RFC2228] and [RFC4217].  In this
>>   scenario, the user-PI sends a HOST command which the server-PI uses
>>   to route activity to the correct virtual host, then the user-PI uses
>>   the AUTH and ADAT commands to negotiate the security mechanism and
>>   relevant authentication token(s) with the server-PI, then the user-PI
>>   sends user credentials using the USER and PASS commands which the
>>   server-PI validates.  After which the user-PI MAY send an ACCT
>>   command to specify any additional account information for the
>>   server-PI implementation.  The following example illustrates a
>>   sequential series of client commands that specify both a HOST and
>>   ACCT when used in conjunction with the security commands that are
>>   discussed in [RFC2228] and [RFC4217], with the server responses
>>   omitted for brevity:
>>
>>        C> HOST ftp.example.com
>>        C> AUTH <mechanism-name>
>>        C> ADAT <base64data>
>>        C> USER foo
>>        C> PASS bar
>>        C> ACCT project1
>>
>> Is USER/PASS actually required after ADAT? (Just asking)
>
> according to the various RFCs; ADAT, USER and PASS are all optional.  This
> is just an elaboration of what was already in [RFC2228].

maybe that is worth clarifying? (as below)

>> 3.3.  HOST command errors
>>
>>   The server-PI SHOULD reply with a 500 or 502 reply if the HOST
>>   command is unrecognized or unimplemented.
>>
>> This requirement is strange: you are either making a requirement on an
>> implementation which doesn't support this specification (and thus you
>> can't
>> do that), or you are saying that an implementation can recognize but
>> not implement the HOST command which seems pointless.
>> I suggest deleting this sentence (or clarify its purpose).
>
> It does appear that this is just explicitly restating the standard FTP
> responses.

yes, perhaps taking a cue from RFC 3659 would be good (some of my
drafts need this change as well):

"Where the command cannot be correctly parsed, a 500 or 501 reply
should be sent, as specified in RFC 959."
...

7.2.1. Error Responses to MLSx commands

   Many of the 4xy and 5xy responses defined in section 4.2 of STD 9,
   RFC 959 are possible in response to the MLST and MLSD commands.
   In particular, syntax errors can generate 500 or 501 replies.  Giving
   a pathname that exists but is not a directory as the argument to a
   MLSD command generates a 501 reply.  Giving a name that does not
   exist, or for which access permission (to obtain directory
   information as requested) is not granted will elicit a 550 reply.
   Other replies (530, 553, 503, 504, and any of the 4xy replies) are
   also possible in appropriate circumstances.

>> In Section 4:
>>
>>   Section 15.1.1 of [RFC4217] discusses the use of X.509 certificates
>>   for server authentication.  Taking the information from that document
>>   into account, when securing FTP sessions with the security mechanisms
>>   that are defined in [RFC4217], client implementations SHOULD verify
>>   that the hostname they specify in the parameter for the HOST command
>>   matches the identity that is specified in the server's X.509
>>   certificate in order to prevent man-in-the-middle attacks.
>>
>> How can this verification can be achieved? Please either add the text
>> (for example by referencing RFC 6125, I can help with wordsmithing),
>> or add another appropriate reference here.
>
> RFC6125 does not discuss FTP.  I do not think that this document is a
> suitable place for making that linkage by the back door.  (I am not saying
> that FTP shouldn't be in RFC6125 - it probably should - but that the
> introduction of the 'HOST' command is not the way to do it.)

we could ask Alexey what he thinks it should say, as he offered help
with the text?

or...

> Can we push for an update to RFC6125 that does include FTP and then
> reference it in here?

I'm not sure - asking other to do more work when this WG has not
accomplished anything yet may step on some toes :)

perhaps filing an erratum with information to be "Held For Document
Update"? that is, if there's a revision, it will include the info.

-- 
(( Anthony Bryan ... Metalink [ http://www.metalinker.org ]
  )) Easier, More Reliable, Self Healing Downloads