George,

Thanks a lot for your comments. Answers tagged with [pfr].

On 12/12/11 4:07 PM, George, Wes wrote:
Similar to some comments I gave in SIDR about their recommended use of route 
policy things like local pref to distinguish between validated and invalid 
routes, I think you need to spend a bit of time discussing the potential race 
condition that may exist between a gshut-triggered localpref value and other 
localpref values that may exist due to other processes, such as listening to 
communities to raise/lower localpref for traffic engineering between ASNs, or 
administratively setting a given localpref for a certain class of eBGP peer or 
route set.


[pfr] In previous versions on the draft, we were saying that the local-pref set in the g-shut SHOULD be lower than any other value of local-preference used in the policies of the ISP. This statement unfortunately
disappeared in the skimming process of the draft. Will fix that.

Due to the same concern, we also stated as an optional behavior of the ASBR undergoing the g-shut:

" optionally, adds an AS specific g-shut community on these paths
        to indicate that these are to be withdrawn soon.  If some
        ingress ASBRs reset the local preference attribute, this AS
        specific g-shut community will be used to override other local
        preference changes.
"

This behavior is recommended when the egress ASBRs are not the only speakers tweaking the local preference.

Since the localpref value set by gshut will be configurable via route policy, 
the operator must take into account what gshut will trigger in terms of 
secondary route choices. The value for gshut should be set such that there are 
no other routes that are set with a localpref that is less than or equal to the 
value set for routes learned from a BGP neighbor undergoing a gshut, or there 
may be some scenarios where the gshut-tagged routes will not be seen as 
less-preferable and therefore it'll defeat the purpose of its use.

[pfr] Indeed. Setting local pref to 0 is safe within the AS. Setting non-0 value is useful to handle transient inter AS behavior during BGP convergence. (e.g. g-shut a customer path, iBGP convergence transiently select a transit path leading to a withdraw to your peers). This is more of an optimization. But if one wants to optimize, it can pick the right local pref value indeed.


Regarding security considerations, I think that it might be good practice to 
recommend (require?) that the BGP session is secured using MD5 or TCP-AO so 
that you have some reasonable assumption of validity when the gshut community 
is received. This at least give you assurance that there is no MITM attack 
posing as the remote peer for the purpose of providing invalid BGP updates.

[pfr] G-shut does not add on the security concerns related to MITM attacks, right? Anyone who can add the g-shut community, could already withdraw the path or advertise an invalid BGP attribute (value) along with it, right?
However, gshut suffers from the same security problem that SIDR is aiming to fix. That is, determining the validity of the *contents* of the announcement, rather than the validity of the TCP session serving as transport for the BGP updates. This isn't about determining intent (did my neighbor mean to set the gshut community or not?), but it is open for someone to set it maliciously. It's not really possible for receivers to determine if the gshut community is being sent legitimately or not, and eBGP peers are usually by definition untrusted. It's not just an issue of people misusing it to do traffic-engineering in a way that may be off-label. The fact that this can be transitive gives an attacker ASN along the path of a given route the ability to tag this community on routes that it propagates downstream and shift traffic away from or toward a given prefix without much validation as to whether the gshut is legitimate or not. For the same reason that the localpref value has
to
   be low enough to ensure that there is no race condition with other 
local-pref sets in route policy, this ends up being a nuclear option to force 
traffic a given direction whenever localpref is the deciding factor on 
best-path. SIDR wouldn't protect against this, because it only secures the 
prefix + ASN.
I think that you open a very wide scope of attack by allowing a transitive 
version of this community, with no good way to mitigate it. Therefore, it's 
probably best to recommend that either the transitive option is used sparingly 
at best, or better still, to require special handling of this particular 
transitive community, that while it can move across ASNs (it sort of has to in 
order to work with eBGP) it MUST not be propagated beyond the receiving ASN 
(with a possible exception for confederation ASNs). This would limit the scope 
of this attack vector by virtue of limiting the number of ASNs downstream that 
can be manipulated using this community. The alternative is a BCP 
recommendation or even an implementation requirement that a filter is applied 
that strips this community such that it is not propagated beyond the receiving 
ASBR.

[pfr] Aren't the security considerations of the draft accommodating these concerns properly?


Generally, I'm not sure that a transitive community is required, because the 
direct neighbor receiving the gshut community will recompute best path based on 
this information, and then propagate an update to its downstream neighbors, 
most likely announcing a new best path. The downstream neighbors don't 
necessarily need a trigger to separately recalculate their own best path.

[pfr] I would also prefer g-shut to only rely on non-transitive extended communities. We had to reserve FFFF0000 at the beginning of draft-g-shut because we had no means to reserve a non transitive extended one at the time of the -00, and because implementations of the non-transitivity aspect of these communities were found to be somewhat blurry.

It might also be useful to have a configurable option for a timer that fires 
when gshut communities are detected, such that if it is received and the 
sending neighbor doesn't shut down within a configurable time limit, the gshut 
is then ignored. This would prevent some of the cases where people attempt to 
use it to move traffic around either maliciously or otherwise outside of a 
maintenance event. The downside of an implementation like that would be that 
one could set and unset the gshut community such that it generates considerable 
route churn, which can create processing overhead on downstream ASNs, and may 
ultimately trigger Route Flap Dampening, both of which could cause service 
impacts, especially if it is on a route where this is the only available path 
or the alternate paths are very sub-optimal.

[pfr] In the security considerations, we say "the ISP should monitor the use of the g-shut community by its peers". We had in mind that by doing this the ISP will be able to figure out transient/unjustified uses of g-shut, and take appropriate action. I'm not sure it's reasonable to ask that the router implements the counter-measure
automatically. Would you want this?


Pierre.



Thanks,

Wes

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of
[email protected]
Sent: Thursday, December 08, 2011 5:52 AM
To: [email protected]
Cc: [email protected]
Subject: [GROW] I-D Action: draft-ietf-grow-bgp-gshut-03.txt


A New Internet-Draft is available from the on-line Internet-Drafts
directories. This draft is a work item of the Global Routing Operations
Working Group of the IETF.

       Title           : Graceful BGP session shutdown
       Author(s)       : Pierre Francois
                           Bruno Decraene
                           Cristel Pelsser
                           Keyur Patel
                           Clarence Filsfils
       Filename        : draft-ietf-grow-bgp-gshut-03.txt
       Pages           : 12
       Date            : 2011-12-08

    This draft describes operational procedures aimed at reducing the
    amount of traffic lost during planned maintenances of routers or
    links, involving the shutdown of BGP peering sessions.


A URL for this Internet-Draft is:
http://www.ietf.org/internet-drafts/draft-ietf-grow-bgp-gshut-03.txt

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

This Internet-Draft can be retrieved at:
ftp://ftp.ietf.org/internet-drafts/draft-ietf-grow-bgp-gshut-03.txt

_______________________________________________
GROW mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/grow
This E-mail and any of its attachments may contain Time Warner Cable 
proprietary information, which is privileged, confidential, or subject to 
copyright belonging to Time Warner Cable. This E-mail is intended solely for 
the use of the individual or entity to which it is addressed. If you are not 
the intended recipient of this E-mail, you are hereby notified that any 
dissemination, distribution, copying, or action taken in relation to the 
contents of and attachments to this E-mail is strictly prohibited and may be 
unlawful. If you have received this E-mail in error, please notify the sender 
immediately and permanently delete the original and any copy of this E-mail and 
any printout.
_______________________________________________
GROW mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/grow


_______________________________________________
GROW mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/grow

Reply via email to