The whole hi/low ports as security was always bogus. From day one. Ask those who implemented it from that era, and they will now agree. If someone had a shell account on a machine, they could have 'root'. If they had root, they can bind low ports (and anything else). The fact that Linux still requires a root user to bind a listener to a <1024 port was just the Linux guys being conservative. They wanted adoption, not someone saying 'Linux is insecure because they let non root bind to low ports'. They now have adoption, and quite a bit of legacy decisions still in there.<p>I used to fume about 15 years ago. These days, I'm much more zen about this. (or trying to be zen).<p>Also, I welcome posts like this. I've come to understand that what was once understood by many, may not be when you add 10 or 5 years. For example, the recent HN post from dadgum.com about C's most powerful operator being 'switch'. This is well known. However, maybe there are 17 or 15 year olds who lurk HN. In order for them to learn, they should be exposed to that knowledge.<p>So, while we are trying to help one another, here is some advice. One <i>really good</i> way to run sshd securely is to use a different operating system other than Linux. This isn't because Linux is bad, it is just that certain decisions were made that will not change. People might extrapolate what I just said too far. Let me illustrate this as a conversation for entertainment.<p>world says: 'drudru just said don't run linux anywhere'<p>drudru says: 'Nope. What I'm saying is if you need high security, yet open to the world, sshd install, don't run it on Linux. Run it on an OS and config designed for security. You can still use Linux and other OSs for other things.'<p>world says: 'Ok, if I do that, how do I ssh to my Linux hosts?'<p>drudru says: 'Since your sshd host is running not on Linux and it is secure, you can use it to login to your other hosts. You should run it on a static IP address. Then you will only allow ssh in to all your other hosts from that known secure IP and host key. You can have multiple jump machine/static IPs, say 2 on different networks for redundancy.'<p>world says: 'I've heard OpenBSD was secure. I don't want to learn OpenBSD, FreeBSD, etc.'<p>drudru says: 'You should just run on Heroku or something equivalent. It will allow you to outsource the entire problem.'<p>world says: 'I cannot run my Hadoop,Cassandra, etc. on XYZ cloud platform.'<p>drudru says: 'I am pretty sure you can. There are a lot of new solutions out there if you get a moment to search.'<p>ALTERNATE ENDING<p>world asks: 'Can I run sshd on Windows securely?'<p>drudru says: 'You should just run on Heroku or something equivalent. It will allow you to outsource the entire problem.'<p>RING RING<p>drudru says: 'hey, good luck with that. gotta go.'