Re: Dropping IPv6 Fragments

2012-10-05 Thread Mikael Abrahamsson

On Thu, 4 Oct 2012, Tom Taylor wrote:


Who drops IPv6 fragments in their network, under what circumstances?


People who run 7600 with SUP720 and who hasn't turned on a certain 
command.


http://mailman.nanog.org/pipermail/nanog/2011-September/040653.html

  #platform ipv6 acl fragment hardware ?
 drop Drop IPv6 fragments at hardware
 forward  Forward IPv6 fragments at hardware

--
Mikael Abrahamssonemail: swm...@swm.pp.se



Re: Dropping IPv6 Fragments

2012-10-05 Thread Benno Overeinder
On 10/04/2012 04:36 PM, Dobbins, Roland wrote:
 
 On Oct 4, 2012, at 9:26 PM, Sander Steffann wrote:
 
 The closer you get to the edge the more common it might become...
 
 iACLs should be implemented at the network edge to drop all IPv4 and IPv6 
 traffic - including non-initial fragments - directed towards point-to-point 
 links, loopbacks, and other internal infrastructure with exceptions made for 
 cases where there's a legitimate need for sources outside your network to be 
 able to communicate with your infrastructure.
 
 As mentioned previously on the thread, this has nothing to do with transit 
 data-plane traffic, which should be left untouched unless it's specifically 
 classified as attack traffic or other undesirable traffic.
 
 There's an apparently common misperception that fragmented traffic is somehow 
 bad.  It isn't.  It's normal, under most circumstances.  Protect your 
 infrastructure proactively, deal with anything else on a case-by-case basis.

Two students worked on a project in June to measure fragment dropping in
IPv6 (and IPv4) using the RIPE Atlas probe infrastructure.  Their
findings are consistent with Sander's remark.  The core seems to do
fine, but at the edges it is observed that some middleboxes/CPEs do drop
IPv6 fragments.

I think this is consistent with the remarks of Joel and Roland earlier
on Cisco/Juniper iACL vs. simpler boxes in your network.

You can find the report at
http://www.nlnetlabs.nl/downloads/publications/pmtu-black-holes-msc-thesis.pdf.

Best,

-- Benno

-- 
Benno J. Overeinder
NLnet Labs
http://www.nlnetlabs.nl/




Re: Dropping IPv6 Fragments

2012-10-04 Thread Saku Ytti
On (2012-10-04 10:16 -0400), Tom Taylor wrote:

 Who drops IPv6 fragments in their network, under what circumstances?

No one who offers working IP connections.

Dropping IPv6 fragments against your control-plane, that is another
discussion, but dropping them in transit would be short-lived exercise.

-- 
  ++ytti



Re: Dropping IPv6 Fragments

2012-10-04 Thread Tom Taylor

On 04/10/2012 10:20 AM, Saku Ytti wrote:

On (2012-10-04 10:16 -0400), Tom Taylor wrote:


Who drops IPv6 fragments in their network, under what circumstances?


No one who offers working IP connections.

Dropping IPv6 fragments against your control-plane, that is another
discussion, but dropping them in transit would be short-lived exercise.

Let's talk control plane, then. Under what circumstances do fragments 
get dropped?




Re: Dropping IPv6 Fragments

2012-10-04 Thread Sander Steffann
Hi,

 Who drops IPv6 fragments in their network, under what circumstances?
 
 No one who offers working IP connections.
 
 Dropping IPv6 fragments against your control-plane, that is another
 discussion, but dropping them in transit would be short-lived exercise.

Depends on where you are looking. In the core network dropping fragments is not 
that common AFAIK. The closer you get to the edge the more common it might 
become...

- Sander




Re: Dropping IPv6 Fragments

2012-10-04 Thread Dobbins, Roland

On Oct 4, 2012, at 9:26 PM, Sander Steffann wrote:

 The closer you get to the edge the more common it might become...

iACLs should be implemented at the network edge to drop all IPv4 and IPv6 
traffic - including non-initial fragments - directed towards point-to-point 
links, loopbacks, and other internal infrastructure with exceptions made for 
cases where there's a legitimate need for sources outside your network to be 
able to communicate with your infrastructure.

As mentioned previously on the thread, this has nothing to do with transit 
data-plane traffic, which should be left untouched unless it's specifically 
classified as attack traffic or other undesirable traffic.

There's an apparently common misperception that fragmented traffic is somehow 
bad.  It isn't.  It's normal, under most circumstances.  Protect your 
infrastructure proactively, deal with anything else on a case-by-case basis.

---
Roland Dobbins rdobb...@arbor.net // http://www.arbornetworks.com

  Luck is the residue of opportunity and design.

   -- John Milton




Re: Dropping IPv6 Fragments

2012-10-04 Thread joel jaeggli

On 10/4/12 7:36 AM, Dobbins, Roland wrote:

On Oct 4, 2012, at 9:26 PM, Sander Steffann wrote:


The closer you get to the edge the more common it might become...

iACLs should be implemented at the network edge to drop all IPv4 and IPv6 
traffic - including non-initial fragments - directed towards point-to-point 
links, loopbacks, and other internal infrastructure with exceptions made for 
cases where there's a legitimate need for sources outside your network to be 
able to communicate with your infrastructure.

As mentioned previously on the thread, this has nothing to do with transit 
data-plane traffic, which should be left untouched unless it's specifically 
classified as attack traffic or other undesirable traffic.

There's an apparently common misperception that fragmented traffic is somehow 
bad.  It isn't.  It's normal, under most circumstances.  Protect your 
infrastructure proactively, deal with anything else on a case-by-case basis.


So the thing I'd note is that stateless IPV6 ACLs or load balancing 
provide you with an interesting problem since a fragment does not 
contain the headers beyond the required unfragmentable headers. it is 
possible but unlikely that the fragment  will hash into the same bucket 
in a stateless load balancer (using what's left of 5-tuple).


Likewise with the acl I have the property that the initial packet has 
all the info in it while the fragment does not. I would have to 
reassemble the packet  (which isn't going to happen in the place where 
the stateless acl is applied) prior to being able to decide to pass it 
or not (or just pass fragments through that acl).

---
Roland Dobbins rdobb...@arbor.net // http://www.arbornetworks.com

  Luck is the residue of opportunity and design.

   -- John Milton








Re: Dropping IPv6 Fragments

2012-10-04 Thread Dobbins, Roland

On Oct 4, 2012, at 9:58 PM, joel jaeggli wrote:

 Likewise with the acl I have the property that the initial packet has 
 all the info in it while the fragment does not. 

For iACLs, just filter non-initial fragments directed to infrastructure IPs.  
Cisco  Juniper ACLs have ACL matching criteria for non-initial fragments.

---
Roland Dobbins rdobb...@arbor.net // http://www.arbornetworks.com

  Luck is the residue of opportunity and design.

   -- John Milton




Re: Dropping IPv6 Fragments

2012-10-04 Thread joel jaeggli

On 10/4/12 8:15 AM, Dobbins, Roland wrote:

On Oct 4, 2012, at 9:58 PM, joel jaeggli wrote:


Likewise with the acl I have the property that the initial packet has
all the info in it while the fragment does not.

For iACLs, just filter non-initial fragments directed to infrastructure IPs.  Cisco 
 Juniper ACLs have ACL matching criteria for non-initial fragments.


Yeah, that's more or less what we said in RFC 6192.

That said as the network operator of a content provider I have more 
devices in my portfolio than just backbone routers.


---
Roland Dobbins rdobb...@arbor.net // http://www.arbornetworks.com

  Luck is the residue of opportunity and design.

   -- John Milton








Re: Dropping IPv6 Fragments

2012-10-04 Thread Merike Kaeo

On Oct 4, 2012, at 7:36 AM, Dobbins, Roland wrote:

 
 On Oct 4, 2012, at 9:26 PM, Sander Steffann wrote:
 
 The closer you get to the edge the more common it might become...
 
 iACLs should be implemented at the network edge to drop all IPv4 and IPv6 
 traffic - including non-initial fragments - directed towards point-to-point 
 links, loopbacks, and other internal infrastructure with exceptions made for 
 cases where there's a legitimate need for sources outside your network to be 
 able to communicate with your infrastructure.
 
 As mentioned previously on the thread, this has nothing to do with transit 
 data-plane traffic, which should be left untouched unless it's specifically 
 classified as attack traffic or other undesirable traffic.

+1

 There's an apparently common misperception that fragmented traffic is somehow 
 bad.  It isn't.  It's normal, under most circumstances.  Protect your 
 infrastructure proactively, deal with anything else on a case-by-case basis.

Same misconception as ICMP is badhistorical artifact from attacks in early 
90's that just perpetuate in mythical best practice.

I was just investigating with varying folks whether they also log v6 fragment 
filtering exceptions and whether anyone has seen anything 'interesting' :)  
Nothing interesting yet. 

I'm co-authoring a doc in IETF which consolidates v6 security practices and 
looks to provide info for what current BCP is as folks are more actively 
deploying v6.  Was just at RIPE to get input from that operator community and 
want to solicit input here as well.  

Doc is at: http://tools.ietf.org/html/draft-ietf-opsec-v6-00

Feedback on mailing list would be great: 
https://www.ietf.org/mailman/listinfo/opsec   but, if easier to send email to 
authors just do so directly and we'll incorporate and vet appropriately.  All 3 
authors follow quite a few *NOG lists and have been involved in deployments so 
hopefully this can help educate the less informed.

- merike
 
 
 ---
 Roland Dobbins rdobb...@arbor.net // http://www.arbornetworks.com
 
 Luck is the residue of opportunity and design.
 
  -- John Milton
 
 




Re: Dropping IPv6 Fragments

2012-10-04 Thread Fernando Gont
Hi, Joel,

On 10/04/2012 10:58 AM, joel jaeggli wrote:
 So the thing I'd note is that stateless IPV6 ACLs or load balancing
 provide you with an interesting problem since a fragment does not
 contain the headers beyond the required unfragmentable headers.

In the real world, such packets are not legitimate, so feel free to drop
them. draft-ietf-6man-oversized-header-chain formally addresses this issue.


 Likewise with the acl I have the property that the initial packet has
 all the info in it while the fragment does not.

You're talking about initial-fragment vs non-initial fragments? -- If
so, in theory *both* might be missing the upper layer information. IN
practice, the first-fragment won't. If it does, feel free to drop it.

Cheers,
-- 
Fernando Gont
e-mail: ferna...@gont.com.ar || fg...@si6networks.com
PGP Fingerprint: 7809 84F5 322E 45C7 F1C9 3945 96EE A9EF D076 FFF1






Re: Dropping IPv6 Fragments

2012-10-04 Thread Mark Andrews

In message c7e7de67-f668-45b4-9d64-2058400dc...@doubleshotsecurity.com, Merik
e Kaeo writes:
 
 On Oct 4, 2012, at 7:36 AM, Dobbins, Roland wrote:
 
 =20
  On Oct 4, 2012, at 9:26 PM, Sander Steffann wrote:
 =20
  The closer you get to the edge the more common it might become...
 =20
  iACLs should be implemented at the network edge to drop all IPv4 and =
 IPv6 traffic - including non-initial fragments - directed towards =
 point-to-point links, loopbacks, and other internal infrastructure with =
 exceptions made for cases where there's a legitimate need for sources =
 outside your network to be able to communicate with your infrastructure.
 =20
  As mentioned previously on the thread, this has nothing to do with =
 transit data-plane traffic, which should be left untouched unless it's =
 specifically classified as attack traffic or other undesirable traffic.
 
 +1
 
  There's an apparently common misperception that fragmented traffic is =
 somehow bad.  It isn't.  It's normal, under most circumstances.  Protect =
 your infrastructure proactively, deal with anything else on a =
 case-by-case basis.
 
 Same misconception as ICMP is badhistorical artifact from attacks in =
 early 90's that just perpetuate in mythical best practice.   =20

And it really hurts modern DNS where UDP responses often exceed
Ethernet MTU.  For IPv6 UDP DNS responses are often fragmented at
1280 to prevent PMTUD being needed.  For IPv4 PMTUD should be off
if your vendor followed the RFC's (know exception are Linux and
Solaris boxes).

Mark
-- 
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: ma...@isc.org



Re: Dropping IPv6 Fragments

2012-10-04 Thread Masataka Ohta
Fernando Gont wrote:

 In the real world, such packets are not legitimate, so feel free to drop
 them. draft-ietf-6man-oversized-header-chain formally addresses this issue.

The ID misses the problem of 4-6 translator.

That is, though the ID state:

   Entire IPv6 header chain:
  All protocol headers starting from the fixed IPv6 header till (and
  including) the upper layer protocol header (TCP, UDP, etc. --
  assuming there is one of those),

the translator may not have any knowledge on how long the upper
layer protocol header is. Thus, the requirement of the ID is
impossible to enforce.

Moreover, a 68B IPv4 fragment of some packet with 60B upper layer
protocol header can not be translated to IPv6.

In theory, with 60B IPv4 header, a 68B IPv4 fragment can't even
contain an entire TCP header.

So, the requirement of the ID should be to require only the first
8B of the upper layer protocol header.

All the (pseudo) transport protocols working over IPv4 is
designed to identify transport identity with the first 8B
of transport headers.

 Likewise with the acl I have the property that the initial packet has
 all the info in it while the fragment does not.
 
 You're talking about initial-fragment vs non-initial fragments? -- If
 so, in theory *both* might be missing the upper layer information.

Yes, that is one of an annoying point of IPv6.

Masataka Ohta