Thank you Mohamed for addressing my comments.

Best Regards,
Ines.

On Tue, Jun 24, 2025 at 11:31 AM <mohamed.boucad...@orange.com> wrote:

> Hi Ines,
>
> Thank you for the review.
>
> As a general note, some of your comments are related to parts that were
> already in RFC 9105, while this revision is scoped to add TLS support.
>
> Please see inline for more context.
>
> Cheers,
> Med (as author)
>
> > -----Message d'origine-----
> > De : Ines Robles via Datatracker <nore...@ietf.org>
> > Envoyé : mardi 24 juin 2025 01:35
> > À : gen-...@ietf.org
> > Cc : draft-ietf-opsawg-secure-tacacs-yang....@ietf.org; last-
> > c...@ietf.org; opsawg@ietf.org
> > Objet : draft-ietf-opsawg-secure-tacacs-yang-11 ietf last call
> > Genart review
> >
> >
> > Document: draft-ietf-opsawg-secure-tacacs-yang
> > Title: A YANG Data Model for Terminal Access Controller Access-
> > Control System Plus (TACACS+) Reviewer: Ines Robles Review result:
> > Almost Ready
> >
> > I am the assigned Gen-ART reviewer for this draft. The General Area
> > Review Team (Gen-ART) reviews all IETF documents being processed by
> > the IESG for the IETF Chair.  Please treat these comments just like
> > any other last call comments.
> >
> > For more information, please see the FAQ at
> >
> >
> > Document: draft-ietf-opsawg-secure-tacacs-yang-11
> > Reviewer: Ines Robles
> > Review Date: 2025-06-23
> > IETF LC End Date: 2025-06-23
> > IESG Telechat date: Not scheduled for a telechat
> >
> > Summary:
> > This document defines a Terminal Access Controller Access-Control
> > System Plus
> > (TACACS+) client YANG module that augments the System Management
> > data model, defined in RFC 7317, to allow devices to make use of
> > TACACS+ servers for centralized Authentication, Authorization, and
> > Accounting (AAA). Specifically, this document defines a YANG module
> > for TACACS+ over TLS 1.3. This document obsoletes RFC 9105.
> >
> > I have the following comments/questions:
> >
> > Comments:
> >
> > 1- In Section 3, the draft states:"The 'server' list, which is
> > directly under the 'tacacs-plus' container, holds a list of TACACS+
> > servers and uses 'server-type' to distinguish between
> > Authentication, Authorization, and Accounting (AAA) services. The
> > list of servers is for redundancy."
> >
>
> [Med] This text is inherited from RFC9105.
>
> > It would be nice to clarify:
> >
> > 1.1-Whether the order in the list has semantic meaning (e.g., first
> > server is tried first),
> >
> > 1.2-How fallback should occur (e.g., failover after timeout, round-
> > robin),
> >
> > 1.3-Whether parallel attempts or load balancing are allowed.
>
> [Med] The work on this data model triggered similar questions in the past
> (e.g.,
> https://mailarchive.ietf.org/arch/msg/opsawg/CXMtDH_GWRlZfCRhKhggA4zapuA/).
> These are not covered here because the exact behavior to follow belongs to
> the protocol itself not the data model.
>
> >
> > 2- Section 4: Related to the "leaf port".
> > This draft removed the YANG default statement for the port leaf
> > (previously default 49) to accommodate the future IANA-assigned port
> > for TACACS+ over TLS, which is currently referenced as TBD in the
> > description. Thus, my understanding is the following:
> >
> > * In the absence of a "default" or "mandatory true" statements, the
> > port leaf becomes optional;
> >
> > * YANG does not interpret prose in the description field for default
> > behavior;
> >
> > * Therefore, if the port is not configured explicitly by the user,
> > the system behavior is undefined by the schema, and implementations
> > may diverge.
> >
> > * Is this interpretation correct?
> >
> > Thus, to avoid ambiguity at runtime and to enforce consistent
> > behavior across implementations, what about?
> >
> > leaf port {
> >
> >   type inet:port-number;
> >
> >   mandatory true;
> >
> >   "The port number of TACACS+ server. Default port number for legacy
> > TACACS+ is
> >   49, while it is TBD for TACACS+TLS.";
> >
> > }
> >
> > OR
> >
> > leaf port {
> >
> >   type inet:port-number;
> >
> >   default "TBD"; // Replace with the actual IANA-assigned port
> >
> >   "The port number of TACACS+ server. Default port number for legacy
> > TACACS+ is
> >   49, while it is TBD for TACACS+TLS.";
> >
> > }
>
> [Med] You have a valid point here. Went with a default with TBD.
>
> >
> > 3- Section 4: Related to the "must" constraints for TLS Version in
> > hello-params.
> > The draft refines tls-versions/min and tls-versions/max (from ietf-
> > tls-common) to disallow TLS 1.2 using a must sentence. Based on my
> > understanding, this correctly prevents TLS 1.2 from being configured
> > at validation time, but it does not stop tools from offering TLS 1.2
> > as a selectable value in UIs or APIs.
> > This is because The identityref type still allows TLS 1.2; and the
> > "must" only applies during validation, not during input. So, a user
> > might configure TLS 1.2 without knowing it's invalid, and only see
> > an error later when the config is applied. Thus, it would be nice to
> > update the description for min and max to explain that:
> >
> > * TLS 1.2 is rejected by a must statement during configuration
> > validation.
> >
> > * Tools should avoid presenting TLS 1.2 to the user.
> >
> > * The server must enforce the rule.
> >
> > what do you think?
>
> [Med] I don't think we need a change here as the meaning of "must" is
> assumed to be known:
> https://datatracker.ietf.org/doc/html/rfc7950#section-7.5.3.
>
> >
> > 4- Section 4: case obfuscation
> >
> > The model includes the case obfuscation and its related
> > configuration nodes (such as shared-secret) as valid and usable
> > parts of the schema. However, the draft states that obfuscation is
> > deprecated and that TLS should be used instead. This creates
> > ambiguity for implementers regarding how this configuration path
> > should be treated. Thus, it would be nice to clarify:
> >
> > 4.1- Is this configuration path intended only for legacy
> > compatibility?
>
> [Med] Added:
>
> NEW:
>                  This choice is provided in the model to accommodate
>                  installed base.";
>
> >
> > 4.2- Should Obfuscation be disabled when TLS is enabled?
> >
>
> [Med] We don't need normative/narrative text for this as this is mandated
> by YANG language itself:
>
>              case tls {
>                description
>                  "TLS is used to secure TACACS+ exchanges.";
>                reference
>                  "RFC SSSS: Terminal Access Controller Access-Control
>                             System Plus (TACACS+) over TLS 1.3";
>                uses tls-client;
>              }
>              case obfuscation {
>                leaf shared-secret {
>                  type string {
>                    length "1..max";
>                  }
>
>
> Please refer to rfc7950#section-7.9, which says:
>
>    The "choice" statement defines a set of alternatives, only one of
>    which may be present in any one data tree.
>
> > 4.3- Are implementations expected to reject, warn about, or continue
> > supporting obfuscation in new deployments?
> >
> > 4.4- Should systems still support obfuscation in configurations? If
> > so, under what conditions?
> >
> > 4.5- Is there a migration path for legacy deployments using
> > obfuscation?
>
> [Med] All these are good gestions. These considerations are discussed in
> the base spec:
> https://datatracker.ietf.org/doc/html/draft-ietf-opsawg-tacacs-tls13-23#name-migration.
> Will add a pointer to remind these.
>
> >
> > 5- Section 4: VRF and source-interface
> >
> > The draft includes a must constraint on the vrf-instance leaf to
> > ensure consistency with the source-interface, if both are
> > configured. However, based on my understanding, the model does not
> > prevent both vrf-instance and source-interface from being set at the
> > same time,
>
> [Med] When both are provided, the model ensures that the instance is bound
> to that same source interface.
>
>  nor does it specify which one takes precedence in
> > determining the routing or source binding behavior. This could lead
> > to ambiguous or inconsistent behavior across implementations. It
> > would be helpful to explicitly document the intended logic and
> > precedence in the description.
> >
> > 6- Should the model include configuration for retry count, retry
> > interval, or timeout per server?
>
> [Med] We do already have timeout inherited from RFC9105. That's the
> parameter actually supported by implementations I'm aware of.
>
> >
> > 7- Should the model include elements for managing the credential
> > lifecycle, such as support for expiration of shared secrets or keys?
>
> [Med] These are out of scope. We are adhering to the same scope as RFC9645.
>
> >
> > 8-Nits:
> > "Obfuscation is obsoleted in favor of TLS support" --> what about?
> > "The use of obfuscation is deprecated in favor of TLS-based
> > security."
>
> [Med] ACK.
>
> >
> > Thanks for this document,
> >
> > Ines.
> >
>
>
> ____________________________________________________________________________________________________________
> Ce message et ses pieces jointes peuvent contenir des informations
> confidentielles ou privilegiees et ne doivent donc
> pas etre diffuses, exploites ou copies sans autorisation. Si vous avez
> recu ce message par erreur, veuillez le signaler
> a l'expediteur et le detruire ainsi que les pieces jointes. Les messages
> electroniques etant susceptibles d'alteration,
> Orange decline toute responsabilite si ce message a ete altere, deforme ou
> falsifie. Merci.
>
> This message and its attachments may contain confidential or privileged
> information that may be protected by law;
> they should not be distributed, used or copied without authorisation.
> If you have received this email in error, please notify the sender and
> delete this message and its attachments.
> As emails may be altered, Orange is not liable for messages that have been
> modified, changed or falsified.
> Thank you.
>
>
_______________________________________________
OPSAWG mailing list -- opsawg@ietf.org
To unsubscribe send an email to opsawg-le...@ietf.org

Reply via email to