Hello again, Alvaro. > > DISCUSS: >>> ------------------------------------------------------------- >>> >>> (1) Controllers and other nodes. >>... >> So, you are right and we are highlighting it in the security section, and >> we can note the existing mitigations in a BGP-based routing system against >> rogue players. > > You didn't explicitly say so, but it looks like this may be the added text: > > Similarly, there is a vulnerablity if a rogue or subverted controller > announces SFPs especially if that controller "takes over" an existing > SFP and changes its contents. This is corresponds to a rogue BGP > speaker entering a routing system, or even to a Route Reflector > becoming subverted. Protection mechanisms, as above, include > securing BGP sessions and protecting software loads on the > controllers. > > [nit] s/vulnerablity/vulnerability
Thanks > Authentication helps, but it doesn't stop an authenticated subverted > node from taking over control of an SFP. > > Maybe I haven't been clear with my concern. I am concerned about > authorization of the BGP speaker to even act as a controller -- this > is akin to route origin validation: should a BGP speaker even be > generating SFPRs? In "normal" BGP a mitigation against invalid > origination is ingress filtering -- in this case, a mitigation might > be for the operator to receive (using an access list, for example) > SFPRs originated by only some nodes. So, to be clear, you are worried about what happens to the routing infrastructure if one node gets subverted, and you believe that a combination of something akin to route origin validation and ingress filtering would help. Obviously (?) it is intended (and even stated) that SFPRs are originated only by controllers, and as we say, "We assume that the Controllers have BGP connectivity to all SFFs and all Classifiers within each service function overlay network." That means that we are not relying on BGP peer-to-peer relay of SFPR advertisements, but they are injected to the SFFs direct. Thus, your concern is mitigated by making sure that the SFF/controller relationship is known and authenticated, except for the case when the controller has been subverted. I don't, in this case, see how route origin validation or ingress filtering would help us. A subverted controller in this case is like having two NMSes (or two SDN controllers) in a network with both intended to be able to manage the network in parallel: what do you do if one is subverted? I think, here, we are discussing the wrong approach to a solution. A protocol solution cannot protect against the subversion of a component that is otherwise authorised to act. We can, however, make sure that only nodes that are authorised to be controllers are allowed to speak as controllers. An approach here would be to configure each SFF with the identities of the controllers that it accepts. (This, for example, is what is usually done with NMSes. Note that in the PCE world, a PCC can be configured with the identities of he PCEs or it can discover them). I think we might add... "In an environment where there is concern that rogue Controllers might be introduced to the network and inject false SFPRs or take over and change existing SFPRs, it is RECOMMENDED that each SFF and Classifier be configured with the identities of authorised Controllers. Thus, the announcement of an SFPR by any other BGP peer would be rejected." Would that be good? >>> (2) New Flow Specification Traffic Filtering Action >... >> I said: >> : Hmmm, we don't tent to explain why "MUST NOT" in our specifications. >> : The reasoning here is that it would be highly confusing to mix and match >> : SFC Classification with BGP routing. Perhaps I am wrong about that >> : confusion. >> : I think that when you program an SFC classifier, that is a single peer-to- >> : peer communication targeted at an SFC Classifier. >> : A 5575-only node will not be a classifier. >> >> You responded: >> | I raised this point as a DISCUSS because the text is at odds with other >> | standards track documents. That is the reason I'm asking for an >> | explanation. > > You missed the second part of my response (to the last couple of sentences): > > You> > I think that when you program an SFC classifier, that is a single > peer-to-peer communication targeted at an SFC Classifier. > A 5575-only node will not be a classifier. > > Me> > That is the type of operational considerations that I would like to see > the document include. > > That's all I'm looking for. By "isolating" the communication from > potential rfc5575bis-only nodes you eliminate my concern. OK, we can work something out. How about: Note that implementation of this section of this specification will be Controllers or Classifiers communicating with each other directly for the purpose of instructing the Classifier how to place packets onto an SFP. In order that the implementation of Classifiers can be kept simple and to avoid the confusion between the purpose of different extended communities, a Controller MUST NOT include other action extended communities at the same time as a "Flow Specification for SFC Classifiers" extended community: the inclusion of the "Flow Specification for SFC Classifiers" action extended community along with any other action MUST be treated by an implementation of this specification as an error which SHOULD result in the Flow Specification UPDATE message being handled as Treat-as-withdraw according to <xref target="RFC7606" /> Section 2. > BTW, I didn't mention this before... You use both rfc5575 and > I-D.ietf-idr-rfc5575bis as Normative references. rfc5575bis is > already in the RFC Editor's queue, so you really only need that one. Yeah, time flies and rfc5575bis has overtaken us. That's good and I'll do the update. >>> (3) Use of the Control Plane ... >> And you said... >> >> | Everywhere I look at (§3.2, §4.3, for example) seems to indicate to me >> | that an SFT is necessary in the definition of the SPF. I may of course be >> | wrong or have missed where it clearly isn't. An example of how to do >> | it would be very useful. >> >> We see a number of types discussed >> - in this document >> - RFC 7665 > > Ok...so you now added to the table in §10.5. Some of the new values > are not defined in this document, please add references to where they > are described. OK, can do that. Slightly worried that the IANA section is not supposed to be a place to include references for information, but doing it anyway. >> - >> https://tools.ietf.org/html/draft-dawra-idr-bgp-ls-sr-service-segments-02#section-4.1 >> - >> https://tools.ietf.org/html/draft-dawra-idr-bgp-ls-sr-service-segments-02#section-4.2 >> >> We have decided to group these all together and request population of the >> registry in Section 10.5. >> We are discussing with the authors of >> draft-dawra-idr-bgp-ls-sr-service-segments precisely what we should include >> and what they will ask for in their own draft. > > draft-dawra-idr-bgp-ls-sr-service-segments needs "service types" and > "function identifiers" for purposes other than implementing this SFC > control plane. Not sure you're right. That draft defines "Service Type" in a section called "BGP-LS Extensions for Service Chaining" and includes them in the Service Chaining TLV. > I would still like to hear from the AD/sfc-chairs about whether there > is interest in the sfc WG to take advantage of the control plane. Since this part of the Discuss is not actionable by the authors, I leave you to talk to the AD/SFC chairs direct. All I can do is point you to the discussions that happened on the SFC list. >>> COMMENT: >>> --------------------------------------------------------------- ... >>> (4) §3.1.1/§3.1.2: The two new Extended Communities are defined as >>> different types. Is it really necessary to request two different types, >>> instead of one type with sub-types? The transitive space is not close to >>> exhaustion, but having a single type would make it easier for any future >>> SFC-related extended communities to be identified/grouped. Just a >>> thought... >> >> Yeah, that's an easy change. > > You're creating the new SFC Extended Community Sub-Types Registry, so > you can go ahead and assign the TBD7/TBD8 values. Thanks, you made me notice that I didn't tell IANA what the size of the registry is. Adrian _______________________________________________ BESS mailing list BESS@ietf.org https://www.ietf.org/mailman/listinfo/bess