To mitigate the effort to maintain my personal server, I am considering to only expose ssh port to the outside and use its socks proxy to reach other services. is Portknocking enough to reduce surface of attack to the minimum?
To mitigate the effort to maintain my personal server, I am considering to only expose ssh port to the outside and use its socks proxy to reach other services. is Portknocking enough to reduce surface of attack to the minimum?
In your SSH config, you should disallow root login and password authentication.
It is more secure than these tommyknockers :-) but you can do that additionally, if you feel like it.
Why disallow root login? I always need root when I connect, and stealing the password by aliasing sudo/doas is trivial. It seems to me it would just make life harder for no benefit.
Because then:
Use a secure password or key. Security by obscurity is no security.
That is not the point that was made. Once access to sudo or root you already have lost.
You’re making it that much easier for someone to brute force logging in or to exploit a known vulnerability. If you have a separate root password (which you should) an attacker needs to get through two passwords to do anything privileged.
This has been considered an accepted best practice for 20+ years and there’s little reason not to do it anyways. You shouldn’t be running things as root directly regardless.
When you have secure passwords kr key auth. Brute force is not a problem. What vulnerability are you talking about? Complete auth bypass? Then the username would be no problem either since you can just brute force usernames.
Heartbleed was a thing that happened.
Security though obscurity, BY ITSELF, is not security. But it’s great at slowing attackers and thwarting automated scripts.
It’s bad security to ignore possible mitigations to a problem just because it isn’t as full fix.
Defense in depth.
Anyone who’s certified NET+ or higher knows this.
That video here: https://youtu.be/fKuqYQdqRIs?feature=shared
Does a great job actually explaining a lot of my points. And it is produced by an actual security auditor and researcher. Just because everyone is doing it does not make it a security benefit that matters.
Removed by mod
It is very easy to throw a dictionary at your port 22. It happens every few minutes. And they all try it with the username=root unless they know something better.
they need to guess a username i assume