How SSH port became 22
ssh.com
ssh.com
Quality content generates its own organic growth, and organic growth is generally much more sustainable than forced / purchased / out-of-context-marketed growth. If you need to make money from it, you're doing 'old-sk00l internet' wrong.
Many people today seem to think that the only way to build a website is to build something that will dynamically scale to 100 million users and remain online even in the case of nuclear war.
Sites can still graph all participants but probably not for long: https://lnmainnet.gaben.win/
Tech people's attitudes have changed a lot since then. Large institutions aren't run by one or two techies in the basement.
Most of the non-technical people I helped get connected in those days were only interested in how to find the Netscape browser icon. With Eudora email and later Outlook Express as a close second. They certainly didn't really differentiate the Internet from the Web. Perhaps that was just my limited experience here in Australia.
Do you know which CA this was? Maybe you got in during some kind of test or audit period, before the CA had begun its regular business operations?
> Shuttleworth founded Thawte Consulting in 1995, a currently running company which specialized in digital certificates and Internet security. In December 1999, Thawte was acquired by VeriSign, earning Shuttleworth R3.5 billion (about US$575 (equivalent to $844.70 in 2017) million).
This was in the 93-94 range.
Thawte came soon after, but IIRC their root keys weren't included in the first few Netscape releases (or was it the first IE?), so it generated a warning when accessing the site. We had to keep paying overpriced VeriSign certs for a few more years, until Thawte became widely accepted.
I should have maintained that.
Obviously this matters more for multi-user systems, but even today it's nice to know that the sshd listen port on the remote end can't be hijacked by a random wordpress exploit kit (unless that kit also privesc's to root)
But in a classic UNIX network, middleboxes aren't a part of the threat model.
Unprivileged UNIX user accounts binding on TCP ports were and are. So, ports below 1024 were reserved for the root account and that was a decent protection at the time against enterprising users trying to race system daemons in binding listening sockets.
See for example https://www.w3.org/Daemon/User/Installation/PrivilegedPorts....
And even today, it still protects against an exploit kit running as "www-data" or "nobody" springboarded from a wordpress exploit.
I've only used it recently to get around McDonald's (apparent) throttling on port 22, moved sshd over to 443 and can saturate the wifi.
This is in contrast to IPv6, where in the worst case, each organization would have a /64 and the entire world would have approximately a quintilian networks (2^(64-4), subtracting the /4 that the entire Internet is currently restricted to), each of which can support 18 quintilian hosts.. And that's worst case, even residential ISPs frequently give out /56s.
Also, RFC 2052 was published in late 1996. RFC 2782, which defined SRV as we know it today, was published in 2000. Port 22 was allocated in early 1995.
Can't find any reference to WKS as a 'field' or record type. Any greybeards want to elaborate?
Yeah I know. Hence mentioning record types in the question you're reponding to. But yes, that wikipedia page has some info:
> WKS: Record to describe well-known services supported by a host. Not used in practice. The current recommendation and practice is to determine whether a service is supported on an IP address by trying to connect to it. SMTP is even prohibited from using WKS records in MX processing.[12]
Section 3.4.2
At which point did the bar for tl:dr become so low?
In the original design ("passive" mode wasn't added till later), the client connects to a server on port 21 and then when it wants to transfer a file, opens a local port and the server connects back to the client from port 20. Also, FTP supported server-to-server transfers, where the client connected to a pair of servers and then initiated a transfer between them[0].
[0] https://tools.ietf.org/html/rfc765 Figure 2.
I wonder if the standard was originally
Client -> Server -- send to an odd port Server -> Client -- send to an even port
By the time RFCs reached 4 figures, that (if it did exist) had gone -- gopher was assigned to port 70 for example.
"On January 1, 1983, known as flag day, NCP was officially rendered obsolete when the ARPANET changed its core networking protocols from NCP to the more flexible and powerful TCP/IP protocol suite, marking the start of the modern Internet."
I was 13 months old then, and (After conversations at tonight's summer party) I'm apparently "old". Sigh.
> hysterical raisins
Took a while to realise you went for "historical reasons". But then see summer party (and tomorrow's P45)....
It seems a bit silly to be using numbers in this day and age.
Second, using numbers is far more memory/bandwidth efficient than using strings for ports.
Last, there's no good reason to make the massive effort it would take to change it to strings.
It was infected within an hour, and by multiple attackers.
It also reminds me about how there was a time when it was impossible to install XP - you needed internet access to get the latest patches, but by the time you downloaded them you were already infected.
So yes, they do work.
These days it's mostly random IoT devices that come with preconfigured ssh service and known passwords.
More interesting might be the fact that there's a strong chance that any successfully hit host is already compromised because you're just one of a myriad people doing this exact thing. In a way it's comparable to overfishing.
edit: If you run a honeypot/net you can watch those scripts poking around to check if a competitor has already left his mark and will then try to remove his access. There's a fast paced arms race going on in that regard.
Apart from the usual suspects such as rate limiting, only allowing public key authentication, using/enforcing sensible passwords, and/or blacklisting with firewalls (which are also very easy to set up, low cost, effective as well, and objectively better) how about not having a SSH server exposed to the entire world in the first place? Or having only a SSH server exposed, and for the rest nothing? (And even then, it still doesn't make sense someone in China can access your SSH server located behind your DSL or cable router...)
And I would argue while all the options you bring up are good suggestions; 1) they aren’t alternatives to having ssh on a non standard port, they are additional methods and 2) they will do nothing against system level exploits.
If you leave ssh on a standard port, when (not if) an exploit is released you are in a race to patch your system and at a disadvantage. And for what?
Other services are on standard ports for good reasons. There’s not a lot of good reasons to leave ssh on 22. Mostly just laziness.
The port a protocol is currently using on a particular server can be discovered by using DNS-SD to return the appropriate DNS SRV record.
A little tip for you: If your argument hinges on "in this day and age", it's almost guaranteed to be wrong. Find a better argument, and never use that one.
$ telnet localhost ssh
Trying ::1...
Connected to localhost.
Escape character is '^]'.
SSH-2.0-OpenSSH_7.7
Obviously, it's just getting translated from ssh to 22 under-the-hood. I'm not sure who's doing the translation, though.~ grep ssh /etc/services ssh 22/tcp # SSH Remote Login Protocol
And /etc/nsswitch.conf is configured to look at 'files' to see which ports map to which services.