Re: [nvo3] TES-NVE attach/detach protocol security (mobility-issues draft)

Linda Dunbar <linda.dunbar@huawei.com> Tue, 10 July 2012 15:51 UTC

Return-Path: <linda.dunbar@huawei.com>
X-Original-To: nvo3@ietfa.amsl.com
Delivered-To: nvo3@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 39F6711E817B for <nvo3@ietfa.amsl.com>; Tue, 10 Jul 2012 08:51:37 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.696
X-Spam-Level:
X-Spam-Status: No, score=-5.696 tagged_above=-999 required=5 tests=[AWL=-0.698, BAYES_00=-2.599, EXTRA_MPART_TYPE=1, HTML_MESSAGE=0.001, J_CHICKENPOX_25=0.6, RCVD_IN_DNSWL_MED=-4]
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 a-Rpy+2E+0d8 for <nvo3@ietfa.amsl.com>; Tue, 10 Jul 2012 08:51:32 -0700 (PDT)
Received: from dfwrgout.huawei.com (dfwrgout.huawei.com [206.16.17.72]) by ietfa.amsl.com (Postfix) with ESMTP id 18A1111E8181 for <nvo3@ietf.org>; Tue, 10 Jul 2012 08:51:32 -0700 (PDT)
Received: from 172.18.9.243 (EHLO dfweml201-edg.china.huawei.com) ([172.18.9.243]) by dfwrg01-dlp.huawei.com (MOS 4.2.3-GA FastPath) with ESMTP id AHX13403; Tue, 10 Jul 2012 11:52:00 -0400 (EDT)
Received: from DFWEML403-HUB.china.huawei.com (10.193.5.151) by dfweml201-edg.china.huawei.com (172.18.9.107) with Microsoft SMTP Server (TLS) id 14.1.323.3; Tue, 10 Jul 2012 08:48:42 -0700
Received: from DFWEML505-MBX.china.huawei.com ([10.124.31.100]) by dfweml403-hub.china.huawei.com ([10.193.5.151]) with mapi id 14.01.0323.003; Tue, 10 Jul 2012 08:48:44 -0700
From: Linda Dunbar <linda.dunbar@huawei.com>
To: "david.black@emc.com" <david.black@emc.com>, "nvo3@ietf.org" <nvo3@ietf.org>
Thread-Topic: TES-NVE attach/detach protocol security (mobility-issues draft)
Thread-Index: AQHNXp5ruO3yEQuBuUymsG3eD5hrAZciplHg
Date: Tue, 10 Jul 2012 15:48:43 +0000
Message-ID: <4A95BA014132FF49AE685FAB4B9F17F63C2DDB4D@dfweml505-mbx>
References: <A27496C192613C44A82D819E1B98DB573402F81D@SZXEML511-MBS.china.huawei.com> <4A95BA014132FF49AE685FAB4B9F17F63C2DD467@dfweml505-mbx> <8D3D17ACE214DC429325B2B98F3AE71208D3B11D@MX15A.corp.emc.com>
In-Reply-To: <8D3D17ACE214DC429325B2B98F3AE71208D3B11D@MX15A.corp.emc.com>
Accept-Language: en-US, zh-CN
Content-Language: en-US
X-MS-Has-Attach: yes
X-MS-TNEF-Correlator:
x-originating-ip: [10.47.138.26]
Content-Type: multipart/related; boundary="_004_4A95BA014132FF49AE685FAB4B9F17F63C2DDB4Ddfweml505mbx_"; type="multipart/alternative"
MIME-Version: 1.0
X-CFilter-Loop: Reflected
Subject: Re: [nvo3] TES-NVE attach/detach protocol security (mobility-issues draft)
X-BeenThere: nvo3@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: "L2 \"Network Virtualization Over L3\" overlay discussion list \(nvo3\)" <nvo3.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/nvo3>, <mailto:nvo3-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/nvo3>
List-Post: <mailto:nvo3@ietf.org>
List-Help: <mailto:nvo3-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/nvo3>, <mailto:nvo3-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 10 Jul 2012 15:51:37 -0000

David,

IEEE802.1 Qbg's VDP doesn't do encapsulation, so it is different from NVo3's NVE. VDP allows the hypervisor to notify the network of the virtual network  to which the new VMs belong. In that aspect, there is similarity to NVo3's NVE.

Hypervisor may be trusted, but  I don't think DC operators can trust VMs. When VMs are instantiated with applications from random clients, whose applications can initiate attack to other clients network. It happened once in Amazon's EC2.
Security will be a big concern for any protocols from TES to NVE.

Linda

From: david.black@emc.com [mailto:david.black@emc.com]
Sent: Tuesday, July 10, 2012 8:17 AM
To: Linda Dunbar; nvo3@ietf.org
Subject: TES-NVE attach/detach protocol security (mobility-issues draft)

Hi Linda,

[Linda]  In your IEEE802.1Qbg's VDP example, the NVE would be the Hypervisor which sends Association/De-association messages to the edge bridge. I.e. the Hypervisor need to have north bound interface which is aware a VM is add or deleted.

I don't think so.  If the NVE is in the hypervisor, the external Ethernet switches (bridges) don't see the inner MACs after encapsulation, hence VDP to the external Ethernet switch (bridge) is not useful because it sets up inner MACs that won't occur in the outer headers beyond the hypervisor's NVE.  If the NVE is in the external Ethernet switch (bridge), VDP is useful because then it's running between the TES and the NVE.

However, it is a security hole to let TES inform NVEs of being added or deleted, unless it is in a secure environment, or NVEs (or Hypervisors) can validate the information from TES via its management system.

I'm not sure that "secure environment" sets the right expectation.

For an external NVE, it's necessary to trust the hypervisor to provide info on VM attach/detach, so the security concern is that this info come only from the hypervisor.



For VDP this starts with use of a link-local destination MAC - if a VM sends to this MAC, the virtual switch in the hypervisor is the recipient.  That virtual switch doesn't forward the VDP frames, and probably just drops them. For an SR-IOV NIC in the server, the virtual switch in the NIC has to drop VDP frames sent by a VM so that VDP frames originate only from the hypervisor.  If an IP-based protocol is used for this function, authentication will be needed.  For an NVE in the hypervisor, the hypervisor configures its virtual switch directly and VDP does not run outside the hypervisor.

Thanks,
--David

From: nvo3-bounces@ietf.org [mailto:nvo3-bounces@ietf.org] On Behalf Of Linda Dunbar
Sent: Monday, July 09, 2012 3:28 PM
To: Guyingjie (Yingjie); nvo3@ietf.org
Subject: Re: [nvo3] Comments on draft-dunbar-nvo3-overlay-mobility-issues

Ying Jie,

Thank you very much for the nice comments. My replies are inserted below:



From: Guyingjie (Yingjie)
Sent: Wednesday, July 04, 2012 8:15 PM
To: nvo3@ietf.org; Linda Dunbar
Subject: Comments on draft-dunbar-nvo3-overlay-mobility-issues

Hi Linda,
I read your draft on NVO3-mobility.
I am okay with most of the content, just some secondary comments on your description of mechanism between NVE and TES.
In my mind, external controller assistance is a bit more complicate to implement than using a protocol between NVEs and TES.
A premise of my comments is that NVE is on external network devices, such as TOR and EOR, and TES are VMs in physical servers.


4.1.1 First paragraph: "NVEs may
   not be aware of VMs being added or deleted unless NVEs have a north
   bound interface to a controller which can communicate with VM/server
   Manager(s).

"
This is not true. In VDP, with an Association/De-association message from Hypervisor to edge bridge(i.e. NVE in NVO3, and will use NVE instead of edge bridge in below), the bridge can be timely notified about the connect and disconnect to the bridge. That means it doesn't need an northbound API for NVEs to be aware of VMs (dis)connection.  And also, VDP protocol can carry a field showing "This is a new created VM" or "This is a VM migrated from somewhere else". That is VDP can fulfill the requirement of mobility notification, which can be a trigger for NVE to timely updating the states on itself, e.g. acquiring VNID associated with the VM moving/adding to the NVE, inner-outer address mapping, deleting states associated with the VM moving/deleting from this NVE.

[Linda]  In your IEEE802.1Qbg's VDP example, the NVE would be the Hypervisor which sends Association/De-association messages to the edge bridge. I.e. the Hypervisor need to have north bound interface which is aware a VM is add or deleted.

I think that the sentence should have stated as "NVEs may not be aware of the VMs being added or deleted unless NVEs have a north bound interface to a controller which can communicate with VM/Server managers, or there is a protocol between TES and NVEs as defined by IEEE802.1Qbg.

However, it is a security hole to let TES inform NVEs of being added or deleted, unless it is in a secure environment, or NVEs (or Hypervisors) can validate the information from TES via its management system.



In the 4th paragraph of 4.1.1, If, for whatever reason, it is necessary to have local VID in the

   data frames before encapsulating outer header of EgressNVE-DA/

   IngressNVE-SA /VNID, NVE should get the specific local VID from the

   external Controller for those untagged data frames coming to each

   Virtual Access Point
For some reasons, I don't think this part is good.
First, there is other way to get the local VID except for external controller. In VDP, when NVE receives a (Pre)Association message from TES, it can acquire local VID from a Database which is managed by network administrator.
[Linda] Yes, I should have added that NVE can also get local VID from TES as IEEE802.1Qbg defined.


Secondly, while defining VDP, we consider of the situation you described, i.e. different local VID at different location. So the VDP can support different local VID under different NVE, by getting local VID from Database while receive the (Pre)Association message. And it can even feedback to the Hypervisor, so that the data frames from TES could have the local VID on it, but it's also okay for NVE to add the local VID to data frames.

[Linda] it is all good if TES can have those functions. But in many environment, TES don't. This paragraph is emphasizing on the scenario when TES don't support IEEE802.1Qbg. It is a good idea that you point out the functions of IEEE802.1Qbg.



In the 6th paragraph in 4.1.1, The IEEE802.1Qbg's VDP protocol (Virtual Station Interface (VSI)

   discovery and configuration protocol) requires hypervisor to send VM

   profile upon a new VM is instantiated. However, not all hypervisors

   support this function.
The following is the VDP TLV definition from Qbg. Each VSI (Virtual Station Interface) usually is a VM interface id(could be MAC,IPV4/V6, UUID, etc).
The NVE gets profile from Database by VSI type & instance information. I think your profile ID also means the combination of VSI type and instance information. So we are talking the same thing.   My point is it's not profile, but the IDs to get profile, that is carried in VDP message. It might be confusing to people knowing nothing about VDP. Carrying profile in message is a huge overload.

[cid:image001.png@01CD5917.0DBDE100]


External Controller can be very useful in NVO3, but not best suitable for each part of NVO3. I think we should think of other way for different problems.

[Linda] Thanks for sharing this table.

Linda

________________________________
Best Regards
Gu Yingjie