Greetings, i already asked about this a week ago on reddit but no one could really give me an answer. I'm going to copy-paste my question and ask a second one as well.
I'm not trying to figure out all the differences between tls-auth and tsl-crypt, just how they can help prevent DDoS attacks.
This guy here:
https://serverfault.com/questions/929484/openvpn-2-4-security-differences-between-tls-crypt-and-tls-auth
And this guy here:
https://security.stackexchange.com/questions/151194/openvpns-new-tls-crypt-option
state that one difference between the two is that tls-crypt can help prevent DDoS attacks by dropping requests that don't present the specified key.
However, in the official documentation
here and
here, it's written that tls-auth already does that.
"
The primary benefit is that an unauthenticated client cannot cause the same CPU/crypto load against a server as the junk traffic can be dropped much sooner. This can aid in mitigating denial-of-service attempts. "
"
The tls-auth directive adds an additional HMAC signature to all SSL/TLS handshake packets for integrity verification. Any UDP packet not bearing the correct HMAC signature can be dropped without further processing. The tls-auth HMAC signature provides an additional level of security above and beyond that provided by SSL/TLS. It can protect against:
+ DoS attacks or port flooding on the OpenVPN UDP port."
So what gives? Is tls-crypt better or not at this?
Another question i have is about port scanning. That same official documentation also states that tls-auth can also prevent port scanning
+ Port scanning to determine which server UDP ports are in a listening state.
But one thing i've noticed with both tls-auth and tls-crypt is that, let's say for example that there is a server running in port 1194 with tls-auth. Let's also say that i'm a guy trying to see if that machine is running openvpn. I can open for example an android client app, if i try to connect let's say to port 2000, i will get the log spammed with messages saying "connection refused", however, if i try to connect to port 1194, even with incorrect credentials, the client will just stay there trying and trying. I can clearly determine that openvpn is running behind that port.
Am i missing something?