[Info-vax] Harden TCPIP Srv OVMS again SYN FLOOD attacks

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Tue Aug 14 11:42:40 EDT 2018


On 2018-08-13 16:42:23 +0000, Rod Regier said:

> The following cookbook will harden the IP stack for TCPIP Services for 
> OpenVMS V5.3 and above against SYN FLOOD attacks.

For folks interested in this topic, see RFC 4987 for the common 
mitigations for a TCP SYN flood attack.

https://tools.ietf.org/html/rfc4987

And some introductory fodder on this particular mess:

https://www.cisco.com/c/en/us/about/press/internet-protocol-journal/back-issues/table-contents-34/syn-flooding-attacks.html 


> These updates override the cautious HPE distributed defaults.  The 
> default was based on "small memory"
>         somaxconn=65535
>         sominconn=65535
> ...

The above increases the number of available sockets.

Which means the server will now have more sockets available to flood.

If that increase in the number of sockets has mitigated the effects of 
the SYN flood in this case, then that mitigation is likely due to some 
other factor.  Maybe insufficient bandwidth in the host(s) or app(s) or 
network attempting the SYN flood, for instance.

I'd wonder if the Hyenae SYN flood packet generator or its host was 
running out of capacity, or running into a preconfigured limit.

I don't know if TCP/IP Services is coded to detect and drop SYN floods 
from a fixed source address.  I'd tend to doubt it, though.  That'll 
mitigate a simple SYN flood.  Firewalls can provide this, if TCP/IP 
Services does not.

Either in addition to or in place of increasing the sockets — though 
pragmatically, there probably aren't all that many good reasons not to 
run with 64K sockets configured in this era — I'd suggest having a look 
at the tcp_keepinit setting, and specifically at reducing that value.  
That's one of the mitigations listed in the RFC, and it's something 
that means that flooding gets cleaned up more quickly.  Downside is 
that the DDoS only gets bigger with a shorter timeout or with more 
sockets or both, and the server still gets flooded.   This as discussed 
in the RFC.

If the services are targets for spoofed SYN floods or other DDoS 
shenanigans, then the configuration is probably headed for CloudFlare 
or other services, as I'd expect that increasing the number of sockets 
available on OpenVMS and shortening the tcp_keepinit will just consume 
more resources on the server and not markedly harden the server against 
a TCP SYN flood.

Receiving a hundred gigabytes of DDoS traffic — TCP SYN or otherwise — 
was possible five years ago, and more recently there've been various 
folks hit with terabyte-scale DDoS.   Largest DDoS I'm aware of was 1.7 
terabytes per second.  I'm not aware of any OpenVMS server that has 
sufficient network controllers and capacity to even support that volume 
of traffic, all other factors and considerations aside.


> I did a before/after test probing my test server running the OSU web 
> server using a SYN FLOOD attack generated from Hyenae.  The difference 
> was like night and day.

Haven't tried Hyenae; will have a look at that one.  That tool seems to 
have been forked to JHyenae, as well.  hping is another common tool for 
that sort of load testing.

The following part of the quoted posting was reordered...

> This can be useful if you are still exposing an OpenVMS web server to 
> the outside world.

A directly-exposed OpenVMS server is often not a particularly 
auspicious configuration.  I've long preferred OpeNVMS configured 
behind a firewall and preferably one with VPN and quite possibly one 
with appropriate filtering, and with additional capabilities for 
detecting the common sorts of IP shenanigans.  If not additionally 
configured behind a DDoS prevention service, for that matter.


-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list