Re: [regext] Comments to the feedback about epp-over-http
Mario Loffredo <mario.loffredo@iit.cnr.it> Tue, 29 March 2022 09:28 UTC
Return-Path: <mario.loffredo@iit.cnr.it>
X-Original-To: regext@ietfa.amsl.com
Delivered-To: regext@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1])
by ietfa.amsl.com (Postfix) with ESMTP id 443E23A0C9A
for <regext@ietfa.amsl.com>; Tue, 29 Mar 2022 02:28:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.91
X-Spam-Level:
X-Spam-Status: No, score=-6.91 tagged_above=-999 required=5
tests=[BAYES_00=-1.9, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_HI=-5,
SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01,
URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 A2MW6pQ7yoXP for <regext@ietfa.amsl.com>;
Tue, 29 Mar 2022 02:28:07 -0700 (PDT)
Received: from smtp.iit.cnr.it (mx4.iit.cnr.it [146.48.58.11])
by ietfa.amsl.com (Postfix) with ESMTP id B6F733A0D2A
for <regext@ietf.org>; Tue, 29 Mar 2022 02:28:06 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1])
by smtp.iit.cnr.it (Postfix) with ESMTP id 5DE4CB80583;
Tue, 29 Mar 2022 11:28:03 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at mx4.iit.cnr.it
Received: from smtp.iit.cnr.it ([127.0.0.1])
by localhost (mx4.iit.cnr.it [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id TQ0Lf8L89OML; Tue, 29 Mar 2022 11:27:59 +0200 (CEST)
Received: from [192.12.193.108] (pc-loffredo.staff.nic.it [192.12.193.108])
(using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits))
(No client certificate requested)
by smtp.iit.cnr.it (Postfix) with ESMTPSA id DD3D5B804C7;
Tue, 29 Mar 2022 11:27:59 +0200 (CEST)
Message-ID: <d607066e-5d84-4794-baeb-675f2776dc57@iit.cnr.it>
Date: Tue, 29 Mar 2022 11:26:05 +0200
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.7.0
To: Matthias Pfeifer <info@freshmail.de>, regext@ietf.org
References: <7EAC16D6-392C-4A5C-AD2C-A1F18C1DECC6@verisign.com>
<a11242a1-6c29-cf0f-68e4-3b444d4e683f@iit.cnr.it>
<00b8f459-2af2-be7e-2f70-af1de533014f@freshmail.de>
From: Mario Loffredo <mario.loffredo@iit.cnr.it>
In-Reply-To: <00b8f459-2af2-be7e-2f70-af1de533014f@freshmail.de>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/regext/Imvstf5uh9Ds8Cg6rnp4XxPtwvs>
Subject: Re: [regext] Comments to the feedback about epp-over-http
X-BeenThere: regext@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Registration Protocols Extensions <regext.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/regext>,
<mailto:regext-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/regext/>
List-Post: <mailto:regext@ietf.org>
List-Help: <mailto:regext-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/regext>,
<mailto:regext-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 29 Mar 2022 09:28:13 -0000
Hi Matthias, thanks a lot for your interest and feedback. Please find my comments inline prefixed with [ML] Il 28/03/2022 23:40, Matthias Pfeifer ha scritto: > Hello, > > i would also add a comment and questions: > > >In the perspective of moving to the cloud to achieve scalability and > > cost reduction, it should be further noted that application protocols > > that aren't based on HTTP can be hardly migrated by using cloud- > > native features, both on client side and server side. In addition, > > from the security point of view, registries would be limited in terms > > of the third-party security services available to protect their EPP > > servers. > > Can you please elaborate on > > >"registries would be limited in terms of the third-party security > services available to protect their EPP >servers." > > Why? > > > And also on > > >"and should be further noted that application protocols > >that aren't based on HTTP can be hardly migrated by using cloud- > >native features, both on client side and server side. " (since the > cloudproviders offer tcp LB as well) > [ML] I added the text above following up the feedback provided by Gavin from CentralNIC who probably has already experienced some drawbacks in migrating to cloud his EPP server based on TCP. @Gavin, you are surely more knowledgeable than me about this topic so if you wish to integrate my response, please feel free to do it. My knowledge is limited to what I have learnt from the web. That said, AFAIK most of cloud providers don't allow to open low level sockets. You cannot use any port except 80 and 443 (HTTP and HTTPS). I imagine that they do that due to security reasons. Honestly don't know whether and how such a block can be bypassed. In addition, from what I've read, TCP load balancers are intended for TCP traffic on well-known ports, such as port 25 for SMTP. It seems quite clear to me that cloud platforms have been designed to natively support HTTP-based rather than TCP-based applications. > > >While TCP is connection-oriented, HTTP is stateless but not session > >less. This means that, by making an EPP session untied from the > >network connection, the EPP communication over HTTP is more flexible > >and efficient than over TCP. > > They work on different Layers so IMHO its hard to make a comparsion in > that way. [ML] We can compare their effects on the functioning of an EPP server. SInce in EPP-over-TCP, an EPP session is mapped on a TCP connection, the session gets lost if the TCP connection breaks down. This doesn't happen in EPP-over-HTTP because the EPP session is mapped on an HTTP session that is a pure logical concept. In addition, if the EPP session is maintained outside the EPP server (or a pool of backend servers in a load balancing scheme) , the EPP session doesn't get lost even when the server (or one of the servers that has previously started the EPP session) is stopped. > > > >While HTTP load balancers are very common and are quite often > software, TCP load > > balancers are usually implemented in dedicated hardware > > Whats the point? TCP and HTTP LBs are even used in combination [ML] The point is that HTTP load balancers are more flexible than TCP load balancers because they work at a higher layer. Let's suppose, for example, to have an HTTP server based on HTTP/2 and we want to move to QUIC. I presume that such a change would require little to no effort on the HTTP load balancer. > > >An EPP server made up of a server pool must always operate with > >respect to the constraint that, once an EPP session is established, > >all the requests related to that session should be processed by the > >servers in the pool as long as the session is alive. > > This is true in general and there are workarounds (eg CARP or VRRP > and token) > The LB part looks too one-sided to me [ML] Sorry, can you further clarify your remark? I confess that I don't know CARP and VRRP in detail but it seems to me that they can't be helpful to figure out how to store session information to make session survive server failures. In the case where sticky sessions are used and each backend server maintains the HTTP sessions it starts, if a server breaks down, you can recover the server but not its sessions. Whereas sessions are stored on a persistent memory outside the backend servers and any server is able to serve the EPP requests, you can redirect the EPP traffic to another server without any impact on client side. Anyway, we'll further review that section to make it appear more objective. > > And a comment: > > >The reasons why we have used session cookiea are that they represent > a standard method >(RFC6265), >well known to the community of REST > service implementers, largely used and natively >supported by > >libraries and frameworks on both client and server side. For example, > it is the same >method used by >rdap-openid to map an RDAP session and > tie it to an access token :-) > > > Which method other than session cookie shoud be used instead ? > > For (REST) API I would prefer token(JWT) based model in general. Login > / Logout including session management would add (at least a little > bit) more complexity and probably CORS issues on client side. [ML] I would agree with you if the goal was to partially or completely refactor EPP but this is not the philosophy behind this proposal. This proposal aims to preserve EPP commands semantics and makes use of HTTP as a mere transport protocol. So what are the other practical methods using HTTP that way and preserving the EPP commands? James proposed his own one but the authors'opinion is that it involves a very low-level approach. Except for setting the session cookie, this proposal doesn't require to know any additional features used in the REST context. Therefore, I think it would be quite easy to wrap the core of an EPP server to make it interact with both a TCP and an HTTP server. With regard to the use of a JWT token, while reviewing the rdap-openid document the WG has already agreed that it is unfit to be used outside the borders of a trusted environment. As a consequence, Scott has recently replaced tokens with sessions (the same mechanism used by epp-over-http) in the interaction between a generic RDAP client and an RDAP server and stated tokens to be exchanged between the RDAP server, acting as registered OpenID Connect client, and an OpenID Provider. It should further be noted that not only the Login command lets the client authenticate but also negotiate the XML namespaces that will be valid during the EPP session. Therefore, the simple replacement of the EPP authentication with another HTTP-based mechanism wouldn't be sufficient. > > > Why we don't chase the transport protocol restriction out of EPP in > general? :) [ML] Are you proposing to rewrite EPP :-) ? I don't object to the idea but, IMHO, a general refactoring of EPP should also address other topics; for example, the use of JSON instead of XML so that extensions can be managed more easily. Hope I addresed all your remarks. Best, Mario > > > Thx and best, Matthias > > > > > On 28.03.22 12:56, Mario Loffredo wrote: >> The reasons why we have used session cookiea are that they represent >> a standard method (RFC6265), well known to the community of REST >> service implementers, largely used and natively supported by >> libraries and frameworks on both client and server side. For example, >> it is the same method used by rdap-openid to map an RDAP session and >> tie it to an access token :-) > > _______________________________________________ > regext mailing list > regext@ietf.org > https://www.ietf.org/mailman/listinfo/regext -- Dr. Mario Loffredo Technological Unit “Digital Innovation” Institute of Informatics and Telematics (IIT) National Research Council (CNR) via G. Moruzzi 1, I-56124 PISA, Italy Phone: +39.0503153497 Web: http://www.iit.cnr.it/mario.loffredo
- [regext] Comments to the feedback about epp-over-… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Gould, James
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Matthias Pfeifer
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Gould, James
- Re: [regext] Comments to the feedback about epp-o… Thomas Corte (TANGO support)
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Thomas Corte (TANGO support)
- Re: [regext] Comments to the feedback about epp-o… Gould, James
- [regext] Fwd: Comments to the feedback about epp-… Matthias Pfeifer
- [regext] Fwd: Comments to the feedback about epp-… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Alexander Mayrhofer
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Gould, James
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Gould, James
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Thomas Corte (TANGO support)
- Re: [regext] Comments to the feedback about epp-o… Gould, James
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Patrick Mevzek
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Thomas Corte (TANGO support)
- Re: [regext] Comments to the feedback about epp-o… Francisco Obispo
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Hollenbeck, Scott
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Francisco Obispo
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Hollenbeck, Scott
- Re: [regext] Comments to the feedback about epp-o… Francisco Obispo
- Re: [regext] Comments to the feedback about epp-o… Mario Loffredo
- Re: [regext] Comments to the feedback about epp-o… Thomas Corte (TANGO support)