[c-nsp] TCP MSS CLAMPING issue
james list
jameslist72 at gmail.com
Sun Jan 23 12:58:29 EST 2022
hi
> It's "the Internet". Pointing at clients as being "non compliant" is
> not going to fix your server's operation - otherwise, all this fiddling
> with TCP/MSS would not even be necessary in the first place.
> (Another option would be, of course, to fix your network :-) - so 1500
> byte packets can get through, and no need to reduce the client's MSS)
I guess that nowadays almost all the companies (with a name) rely upon
antiDDOS systems using GRE hence I'm wondering why you say we need to fix
something on our side.
If there are RFC (=law) I'd expect those are followed, otherwise you cannot
complain, am I wrong ?
James
Il giorno dom 23 gen 2022 alle ore 18:37 Gert Doering <gert at greenie.muc.de>
ha scritto:
> Hi,
>
> On Sun, Jan 23, 2022 at 06:31:40PM +0100, james list wrote:
> > thanks for the feedback.
> >
> > Firewall vendor reports this:
> >
> > " When
> > SYN Cookies
> > is activated, the firewall does not honor the TCP options that the
> server
> > sends because it does not know these values at the time that it proxies
> the
> > SYN/ACK. Therefore, values such as the TCP server???s window size and MSS
> > values cannot be negotiated during the TCP handshake and the firewall
> will
> > use its own default values. In the scenario where the MSS of the path to
> > the server is smaller than the firewall???s default MSS value, the packet
> > will need to be fragmented. "
>
> It does not have to know what the server would send to always put in an
> MSS option of its own... (but of course the vendor would tell you
> "this is not our fault").
>
> > Here we see the client seems not RFC compliant, since in RFC6691 (
> > https://datatracker.ietf.org/doc/html/rfc6691#appendix-A) is written:
> >
> > "If an MSS option is not received at connection setup, TCP MUST assume a
> > default send MSS of 536 (576-40) [TCP:4]."
> >
> > As recap:
> >
> > 1) during no attack client send MSS 1460 with DF=1, server respond
> through
> > MSS 1436 (due to GRE), client uses 1436, connection is established
> > correctly with TLS exchange
> > 2) during attack client send MSS 1460 with DF = 1, server (=firewall in
> > this phase due to syn-challenge) respond without MSS, client uses 1460,
> TLS
> > exchange is broken
> >
> > From my point of view, since RFC6691 state "MUST use 536", the customer
> is
> > not compliant.
>
> It's "the Internet". Pointing at clients as being "non compliant" is
> not going to fix your server's operation - otherwise, all this fiddling
> with TCP/MSS would not even be necessary in the first place.
>
> (Another option would be, of course, to fix your network :-) - so 1500
> byte packets can get through, and no need to reduce the client's MSS)
>
> gert
> --
> "If was one thing all people took for granted, was conviction that if you
> feed honest figures into a computer, honest figures come out. Never
> doubted
> it myself till I met a computer with a sense of humor."
> Robert A. Heinlein, The Moon is a Harsh
> Mistress
>
> Gert Doering - Munich, Germany
> gert at greenie.muc.de
>
More information about the cisco-nsp
mailing list