On Tue, Jul 03, 2018 at 10:56:49PM -0500, Benjamin Kaduk wrote:
> On Wed, Jul 04, 2018 at 03:20:42AM +0000, Reshad Rahman (rrahman) wrote:
> > <RR> I am not 100% sure I understand the point being made. Is it a question 
> > of underlying the importance of having the IGPs authenticated since the 
> > IGPs can create/destroy BFD sessions via the local API?
> 
> That's the crux of the matter, yes.  Since (in this case) the IGP state
> changes are being translated directly into BFD configuration changes,
> the NETCONF/RESTCONF authentication is not really used.  So, any
> authentication/authorization decisions that are made must be on the basis
> of authentication at the IGP level.  This does not necessarily mean a hard
> requirement for IGP authentication, though using unauthenticated IGP would
> then be equivalent (for the purposes of this document) to allowing
> anonymous NETCONF/RESTCONF access.
> 
> I'd be happy to just have a note in the security considerations that "when
> BFD clients such as IGPs are used to modify BFD configuration, any
> authentication and authorization for the configuration changes take place
> in the BFD client, such as by using authenticated IGPs".  But feel free to
> reword in a better fashion; this is really just about acknowledging the new
> access mechanism (since the boilerplate covers SSH/TLS for
> NETCONF/RESTCONF).

I must admit to being somewhat perplexed by the request here.

In the cases where BFD as a top level module is not the creator of a BFD
session, you seem to be concerned that BFD can be used to attack a resource
by spoofing that non-BFD client.

While this is perhaps logically true, it also means that you have a far
greater problem of being able to spoof the underlying BFD clients.  To give
some real-world examples:
- BGP typically requires explicit configuration for its endpoints.
- Both OSPF and ISIS will require a matched speaker with acceptable
  configuration parameters for a session to come up.
- Static routes with BFD sessions will require explicit configuration.

In each of these cases, a client protocol that also wants to use BFD, the
simple spoofing of the protocol endpoints is already a massive disaster
since it will allow injection of control plane or forwarding state into the
device.  This is so much worse than convincing a BFD session to try to come
up with its default one packet per mode that ... well, I'm boggled we're
even talking about this. :-)

My request would be that we not complicate the security considerations of
this module for such cases.


-- Jeff

Reply via email to