Re: [OPSAWG] [Mud] putting quarantined IoT devices behind a captive portal

"M. Ranganathan" <mranga@gmail.com> Tue, 09 July 2019 20:13 UTC

Return-Path: <mranga@gmail.com>
X-Original-To: opsawg@ietfa.amsl.com
Delivered-To: opsawg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5642D12007A; Tue, 9 Jul 2019 13:13:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.702
X-Spam-Level:
X-Spam-Status: No, score=-0.702 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, PDS_NO_HELO_DNS=1.295, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 Q300ZOUDJTka; Tue, 9 Jul 2019 13:13:45 -0700 (PDT)
Received: from mail-io1-xd32.google.com (mail-io1-xd32.google.com [IPv6:2607:f8b0:4864:20::d32]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 11B7B12006D; Tue, 9 Jul 2019 13:13:45 -0700 (PDT)
Received: by mail-io1-xd32.google.com with SMTP id k20so45886112ios.10; Tue, 09 Jul 2019 13:13:45 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5M+w7LovCm6hcYDPkf71k+gOyQv0IdqrizW2vYtzcs8=; b=rzu+PnzEoBS/qd7p7p17jnL0zDmqJNLHV7Ww9y81fICacncrVByzVtTHFwvVVt5dd9 2lm9H4qS+vgca4rcm5jAp8+hMT/vgMCW6ZnrE/CAGkbN9nV8fNb4o7XrJr7GpDGC0PkO vwF7sWlS3XKOkyxnzAjLiw/wN83eeQxyk1Ng4nyv2i2gLIqWK+2R2PlqDa1cfMAQhP5T R/TDVISs0e5lDLyqRL/tbwOC2KDrU2WK1mFaZ400q0+UK2/mB6IVc9uYaiTrYrzebmMv jrsO1Nxw9t0FHWocz5hFzPtttTApOMJfeR8fEzwbPDHYFgMBByot7tib9VnHIIK8ohV+ 94iQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5M+w7LovCm6hcYDPkf71k+gOyQv0IdqrizW2vYtzcs8=; b=QInsQPBKjtZS5Z489+rYjZBvlekn+Jrbq2GA2h8mTtdYFz33pUwcVlKqQh5mnwhCmL 9cDRHi3/k1E8n4Fzur8lTZanczNMwkmzb/8mMmGnDOOpSPd4di/S8U6LlhHhEjfArIbM osq0AvMJZZy4md4ZKlgBV2rMG6KrLZJlfgdjJxhFU/NHpwmDfHA0dZopYEAlne6vH5tC 4VLhVoDo5Lgzot43tPMkMTwBK6tfvykD0CqDnx00TRXhU5kw85PTD8QZxt0nZfU4O1Oz aCLR7eEDeU/RUjDTBP34qW2nQArCafivWeDJ3XUEaCLg3tzDIxQ52eNaZfmt+7JiwxG3 enrw==
X-Gm-Message-State: APjAAAVA+791ZgmDSCC1o3aKUYaDD8VKCjMziE0jK3LdfnYJSUM+GNzc Rd7xhGiQVJQrJ594+bW6fT83p6US0g8YgkRij08=
X-Google-Smtp-Source: APXvYqzat/lg3Zzyt7gIDMSmoEKE6sBzWPqNNmKVtlLkbPn0H75lTQfVDetSQCiZ8uMRL+RsCD6TomjyuyqpMg13DLQ=
X-Received: by 2002:a02:340d:: with SMTP id x13mr30066336jae.125.1562703222955; Tue, 09 Jul 2019 13:13:42 -0700 (PDT)
MIME-Version: 1.0
References: <B8F9A780D330094D99AF023C5877DABAA49CD8C1@nkgeml513-mbx.china.huawei.com> <CAFpG3gc4ijy+xH7O_9EzpzwcROu3XcTA4xpSAH9P+oyhWQzMyg@mail.gmail.com> <4486.1562683318@localhost> <7534958E-E1A6-470D-B4BB-6B88CD27B54C@cisco.com> <27334.1562697538@localhost>
In-Reply-To: <27334.1562697538@localhost>
From: "M. Ranganathan" <mranga@gmail.com>
Date: Tue, 09 Jul 2019 16:13:06 -0400
Message-ID: <CAHiu4JNjPwFu=4OEX8_HuFf+Pcgmg=fCkqd2gzki35=Qu7wM=A@mail.gmail.com>
To: Michael Richardson <mcr+ietf@sandelman.ca>
Cc: Eliot Lear <lear@cisco.com>, "opsawg@ietf.org" <opsawg@ietf.org>, "mud@ietf.org" <mud@ietf.org>, capport@ietf.org
Content-Type: multipart/alternative; boundary="0000000000007f53ed058d4532ca"
Archived-At: <https://mailarchive.ietf.org/arch/msg/opsawg/vlG6hZQfqf1DQr5s8Lh0ATIttfI>
Subject: Re: [OPSAWG] [Mud] putting quarantined IoT devices behind a captive portal
X-BeenThere: opsawg@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: OPSA Working Group Mail List <opsawg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/opsawg>, <mailto:opsawg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/opsawg/>
List-Post: <mailto:opsawg@ietf.org>
List-Help: <mailto:opsawg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/opsawg>, <mailto:opsawg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 09 Jul 2019 20:13:47 -0000

The current draft https://datatracker.ietf.org/doc/draft-ietf-capport-api/
Assumes that the "quarantined device" can access a subset of the ACE's
allowed to the "unquarantined" device.
However, I can think of a scenario where this does not have to be the case.
I'd propose to generalize this.

i.e. There are two sets of ACL's - one for normal operation and one for
quarantined access. (i.e. quarantine access is not necessarily a subset of
regular access).

Use case:

Under normal circumstances, the device does not need SSH access (port 22 is
not open). However, if the device is misbehaving some external agent (or
human maybe) logs in and investigates the issue.  The fix could involve
copying new firmware.

Does this make sense?

Another thing that is missing currently is how to "clear" the quarantine
state at the enforcement point. This would need an API defintion of we want
to make that portable.

Regards,

Ranga


On Tue, Jul 9, 2019 at 2:39 PM Michael Richardson <mcr+ietf@sandelman.ca>
wrote:

>
> Eliot Lear <lear@cisco.com> wrote:
>     > I’m not quite certain how it would work.  Can you show a flow that
> will
>     > work for an IoT device (e.g., headless and no display)?
>
> Device gets quarantined, and the MUD-controller moves it into an isolated
> "VLAN".  I put air/scare quotes around VLAN, because it's a "MAC-address
> VLAN", not an 802.1Q thing.  It's really just a layer-2 ACL.
>
> {We have no way to force the mishaving device into tagging it's packets,
> nor
> can we force it onto some other ESSID. We can't do a "port-based" VLAN,
> because wifi has no ports, and we don't really know how many unmanaged
> switches might be on the port anyway.
> One might map this onto a IEEE 802.1Q VLAN across a backbone}
>
> Instead of just dropping all traffic for a device in this category,
> all traffic (other than excepted traffic if you implement
>
> https://datatracker.ietf.org/doc/draft-richardson-shg-mud-quarantined-access/
> )
> would go into a captive portal system.
>
> Such a system would, according to
> https://datatracker.ietf.org/doc/draft-ietf-capport-architecture/
> receive a message when it initiates connections which are not allowed.
> (While the capport WG contemplated an ICMP unreachable message with a
> URI in it at one point, that is not the current design)
>
> Actually, I have no idea from reviewing the documentation what the
> appropriate "you might be captive" ICMP is now.. THERE IS ONE RIGHT?
>
> Once the IoT device gets such a message, it can use the API
> described at: https://datatracker.ietf.org/doc/draft-ietf-capport-api/
> to retrieve a JSON object telling it that it is captive. At which point, it
> can flash a LED, or attempt a firmware upgrade, or maybe just reboot if a
> timer goes off.  (%)
>
> This requires that the IoT device get the captive portal API end point,
> which
> https://datatracker.ietf.org/doc/draft-ietf-capport-rfc7710bis/ can
> deliver
> via DHCPv4/v6 or RA.
>
>
>     >> On 9 Jul 2019, at 16:41, Michael Richardson <mcr+ietf@sandelman.ca>
>     >> wrote:
>     >>
>     >> Signed PGP part
>     >>
>     >> Between editing drafts yesterday, I got to thinking about CAPPORT.
> I
>     >> have been working on what to do when an IoT device violates it's MUD
>     >> profile.  There are a bunch of issues around this.
>     >>
>     >> Yesterday, it occured to me that when such a device is quarantined
> (I
>     >> really think it should be "quaranteed", but that's not a word) that
>     >> the capport controls and APIs should be available to the device to
>     >> learn what went on.
>     >>
>     >> This is not new, I think that this as been the approach of most
>     >> enterprise NEA systems upon encountering "infection".  This has, I
>     >> assume, involved forced HTTP proxies to inform human.  But, if we
> have
>     >> APIs, we can inform device as well.
>     >>
>     >> Is this on anyone's radar?
>     >>
>     >> --
>     >> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software
> Works
>     >> -= IPv6 IoT consulting =-
>     >>
>     >>
>     >>
>     >>
>     >>
>
>
> --
> Michael Richardson <mcr+IETF@sandelman.ca>, Sandelman Software Works
>  -= IPv6 IoT consulting =-
>
>
>
> --
> Mud mailing list
> Mud@ietf.org
> https://www.ietf.org/mailman/listinfo/mud
>


-- 
M. Ranganathan