Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contributions, Status and Plans
"Douglas Gash (dcmgash)" <dcmgash@cisco.com> Fri, 26 May 2017 17:05 UTC
Return-Path: <dcmgash@cisco.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 9EE0D129406; Fri, 26 May 2017 10:05:04 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level:
X-Spam-Status: No, score=-14.522 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_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 XTmTlUBfNorp; Fri, 26 May 2017 10:05:02 -0700 (PDT)
Received: from rcdn-iport-3.cisco.com (rcdn-iport-3.cisco.com [173.37.86.74]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 3F0CD126B7F; Fri, 26 May 2017 10:05:02 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=10462; q=dns/txt; s=iport; t=1495818302; x=1497027902; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=IJ42bQsF7/gPeQR4R3tltiTuVyd52jIpcRwm24xDXxM=; b=bv1Kbaveo7GPNhRoiln29xhfuRHwIEn5keNtLFzjQylZKRVSF7LFc5sZ rnUTjHa2TbAyWH2OeN1C5IaOxzaXsFJatuVqB4spFKA/8ebrtdVJAZYoM Pz9vyrGhrmZACMarLHDboGdyfwwh+qgh6RaMBh8db53/R00Md+lgk//Xb 4=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0AIAQCgXyhZ/4oNJK1cGQEBAQEBAQEBAQEBBwEBAQEBg1VigQ0Hg2iKGJFlcpUHgg8shXgCGoJwPxgBAgEBAQEBAQFrKIUZAQQBNEUQAgEIHBQUAgIwJQIEDgWKIggQjT+dWAaCKItVAQEBAQEBAQEBAQEBAQEBAQEBAQEBGAWBBYc4gmg0hEMNAhQXN4I+gmYFniMBhx+MCIIGhTyKNYkBi0wBHziBCnQVhUkcgWN2AYZMgS+BDQEBAQ
X-IronPort-AV: E=Sophos;i="5.38,398,1491264000"; d="scan'208";a="239905466"
Received: from alln-core-5.cisco.com ([173.36.13.138]) by rcdn-iport-3.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 26 May 2017 17:05:01 +0000
Received: from XCH-RCD-014.cisco.com (xch-rcd-014.cisco.com [173.37.102.24]) by alln-core-5.cisco.com (8.14.5/8.14.5) with ESMTP id v4QH51IE010086 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Fri, 26 May 2017 17:05:01 GMT
Received: from xch-aln-014.cisco.com (173.36.7.24) by XCH-RCD-014.cisco.com (173.37.102.24) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Fri, 26 May 2017 12:05:00 -0500
Received: from xch-aln-014.cisco.com ([173.36.7.24]) by XCH-ALN-014.cisco.com ([173.36.7.24]) with mapi id 15.00.1210.000; Fri, 26 May 2017 12:05:00 -0500
From: "Douglas Gash (dcmgash)" <dcmgash@cisco.com>
To: Alan DeKok <aland@deployingradius.com>
CC: "opsawg@ietf.org" <opsawg@ietf.org>, "draft-ietf-opsawg-tacacs@ietf.org" <draft-ietf-opsawg-tacacs@ietf.org>
Thread-Topic: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contributions, Status and Plans
Thread-Index: AQHSy08ttZSP0sW41keg1j/jrc0SIqHxblMAgADBTACAA2Ki4oAAEfVNgAB2p4CAAUHjJIAAZjOA///0HoCAABakgIABKmYAgASd+oCABMHUAIAE+m8A
Date: Fri, 26 May 2017 17:05:00 +0000
Message-ID: <D54DBEE7.23D0F4%dcmgash@cisco.com>
References: <D53BBCC7.22ECC8%dcmgash@cisco.com> <61D9FC7A-6F10-44E6-8400-578C4FEE1988@deployingradius.com> <D53C62F4.22F82E%dcmgash@cisco.com> <E7D62944-46B9-4091-BF16-0AF8CA47626D@deployingradius.com> <fc8a1ff5-db6f-d463-8ff7-77ec03f1f25f@gmail.com> <006101d2cd9c$e8c0afe0$4001a8c0@gateway.2wire.net> <D53FAB1A.23396E%dcmgash@cisco.com> <010d01d2ce79$477ceda0$4001a8c0@gateway.2wire.net> <D5411107.2340EF%dcmgash@cisco.com> <632EB4D0-15C0-4BF7-9187-9AFCD7EDE306@ll.mit.edu> <D54116DA.23412A%dcmgash@cisco.com> <6B9DFA23-41BD-4896-B80C-EC0EAB51D5FD@deployingradius.com> <D545E6EC.235D3D%dcmgash@cisco.com> <460D8E65-E5B1-4E32-9E5D-8965F2FB4F01@deployingradius.com>
In-Reply-To: <460D8E65-E5B1-4E32-9E5D-8965F2FB4F01@deployingradius.com>
Accept-Language: en-GB, en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/14.7.1.161129
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.55.1.6]
Content-Type: text/plain; charset="euc-kr"
Content-ID: <17CD968C4CD4E44EA01CC7EBBBB7B167@emea.cisco.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/opsawg/r0JfHZi4p9aImptIg4ivFzITzHk>
Subject: Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contributions, Status and Plans
X-BeenThere: opsawg@ietf.org
X-Mailman-Version: 2.1.22
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: Fri, 26 May 2017 17:05:04 -0000
Hi Alan, Thanks again for responses, please see inline: Just for accounting: I do owe you an initial response to one batch of your comments that I missed first item, and we have the security section as a whole. Below though, are the responses to the comments form Tuesday, thanks! On 23/05/2017 15:03, "Alan DeKok" <aland@deployingradius.com> wrote: >On May 20, 2017, at 8:24 AM, Douglas Gash (dcmgash) <dcmgash@cisco.com> >wrote: >>> If the field is unused, the spec should say the field is ignored, and >>> treated as if it did not exist. >> >> Agreed, though I¹m not sure how an unused field would not be ignored, >> almost by definition,. The only circumstance I can think of where a >>field >> has data but is unused may not be ignored is for logging, are you >>thinking >> we should preclude such? > > No. Nut the draft needs to say what to do. > > If the protocol has provisions for something to happen, then the draft >needs to say what implementations should do when that thing happens. > > In this case, it should state that unused fields are ignored, and >treated as if they were not present. Agreed, will clarify that, within the context of the protocol flow. These may still be logged. > >>> The original RADIUS RFC used a secret key, but didn't forbid a key of >>> zero length. I ran into at least one vendor who didn't allow for the >>> entry of secret keys, and always set it to a zero-length string. The >>> next rev of the RFC forbade that... >> >> So I think the specification of secrets for obfuscated option is, as you >> say, critical, and will provide some guidance such as non-empty. Also >>will >> make sure we include that servers MUST support capability of secret per >> client-server tuple (see next comment). > > And it should suggest a minimum secret length. > >> But I¹m not so sure what we should say about storage. > > "secret keys need to be kept secret". Sure, I’d hope this would be an axiom ;-) but not harm in emphasising. > > >>> OK. And if there's still no username? >> >> Do you mean, if client replies to the request to >> TAC_PLUS_AUTHEN_STATUS_GETUSER with an empty username. I would simply >> repeat the request in case it was a user error. We can document this. >>The >> protocol has a built-in limit of the number of interactions due to the >> seq_no, but implementations can limit interactions. >> >> We can add this detail. > > Thanks. My $0.02 is that the username SHOULD be in the first packet. >If not, it MUST be in the second packet. If not, the session is broken, >and the server returns ERROR. > > i.e. relying on the 256 packet limit for authentication is probably too >lax. Sure, makes sense. > >... RE: CHAP challenges and length >>> That reply make implementation-specific assumptions. There are TACACS+ >>> implementations which don't get the challenge from a third-party. >> >> Just to clarify my comment: it is not an aspect of the processing of the >> T+ protocol that chooses the challenge. The protocol will get the >> challenge and response as pre-packaged unit. > > If the protocol transports data without looking at it, it's fine to >treat that data as an opaque blob. If the protocol looks at the data, >the draft should have requirements on the data format. > > For an example, see: > >https://tools.ietf.org/html/rfc2865#section-5.40 > > The CHAP-Challenge attribute in RADIUS is defined to have at least 5 >octets of challenge data. We can follow a similar path with T+. I Will add. (covers below comment too). > >> So I think we can demand that challenges be generated according to the >> spec for CHAP. But reaching into that spec to add our own criteria >>would, >> I think, be a mixing of concerns. > > Nope. The TACACS+ server which authenticates the user should be secure >by design. This means rejecting zero-length challenges, and challenges >which "too short". > > I would suggest that the challenges are a minimum of 8 octets in length. > >... RE: password changes. >> Ok, I see what you mean. We can add the SHOULD not clause here. >> >> Interesting though, as this is a significant use case for T+. Will be >> insteresting to see what the main objects were for why it was removed >>from >> RADIUS. > > It was insecure, and no one liked it. The other reasons have been >largely lost to time. > >>>> The START and STOP flags are mutually exclusive. When the WATCHDOG >>>> flag is set along with the START flag, it indicates that the update >>>> record is a duplicate of the original START record. >>>> >>>> * why would an update duplicate the original START record? This seems >>>> redundant. >>>> [Well, here we are constrained by a clear definition form original >>>> draft.] >>> >>> What does it mean, tho? This document should say. i.e. portions of >>> the protocol should not be left as "we have no idea what this means". >> >> I think it is more a case of: it is redundant, but it was specified, so >>we >> cannot choose to change it to make it more efficient. > > It's not about being "more efficient". It's about specifying what this >means. > > I have no idea what it means to duplicate a START record. Is the data >in the second START the same? Is it different? What is done in either >case? > > Again, you need to document the protocol. I'm not sure this point is >getting across. If you don't know what a portion of the protocol means, >then either find out and document it, or document that "this exists, but >we have no idea what it is, what it does, and we don't recommend that >people use it". > > Leaving portions of the protocol entirely undefined and >implementation-defined is bad. > > In RADIUS, I've authored or co-authored about 4 RFCs fixing things >which were missed or undefined, and which cause interoperability issues. >And I'm still finding things which are broken in the specs. Two in the >last month, in fact... > > If TACACS is to be a standard, it should be clear what portions are >well defined, and what portions are "I dunno...". That gives guidance >for future drafts as to what works, and what needs fixing. I think then I committed a misunderstanding here. I thought you were suggesting to drop the redundant accounting request, now I realist your comment is to explain why it is used. Sure, can clarify this. > >>>> * how often do the updates get sent? Saying "implementation defined" >>>>is >>>> OK, but some recommendations would be good. i.e. not more than 100x >>>>per >>>> second, and not less than 1 day apart (as extreme examples) >>>> [so lets stick with implementation defined, the range of T+ devices we >>>> see is so diverse and use cases are such that I would not like to >>>> constrain.] >>> >>> It would be good to have recommendations. e.g. "updates more than once >>> per second are NOT RECOMMEND, updates more than an hour apart are NOT >>> RECOMMENDED". >>> >>> The goal is to guide implementors to choosing values which won't cause >>> problems for everyone else. >> >> Sure, will recommend minimum of 5 seconds, but I¹m not sure we can >>specify >> an upper limit as it is not mandatory. > > It's always good to recommend best practices, even if the behaviour >isn't mandatory. I was thinking rather about the scenario that it may not recur at all... However, we can say: for recurring accounting, this is the range (5 seconds to 1 hour), or updates are not sent at all. > > Alan DeKok. >
- [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribution… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Robert Drake
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Blumenthal, Uri - 0553 - MITLL
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Ignas Bagdonas
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… t.petch
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Tianran Zhou
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Ignas Bagdonas
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Blumenthal, Uri - 0553 - MITLL
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… t.petch
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Blumenthal, Uri - 0553 - MITLL
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Randy Presuhn
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Tianran Zhou
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… t.petch
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Tianran Zhou
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Tianran Zhou
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… t.petch
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII t.petch
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII Eliot Lear
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII t.petch
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… t.petch
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 Contribu… Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII Douglas Gash (dcmgash)
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII Alan DeKok
- Re: [OPSAWG] draft-ietf-opsawg-tacacs-06 ASCII Douglas Gash (dcmgash)