Wednesday, May 1, 2024
HomeGolangSSH server hardening | ITTavern.com

SSH server hardening | ITTavern.com


Everyone knows that it is very important safe your machines. I’m going to indicate you some methods to take action. Some are trivial and needs to be set instantly, and a few require extra work. Half 2 will observe with the superior choices.

I am going to use a random Linux machine with a SSH server as a reference (OpenBSD Safe Shell server in keeping with systemd and config file). For the upcoming config adjustments, I’ve to edit /and many others/ssh/sshd_config. It would differ out of your setup.

Earlier than we begin

Please just remember to take a look at it on one other machine first or have one other approach to entry the machine. There are alternatives to lock you out if it’s not arrange appropriately!

And simply as a facet notice: each change of the config file requires are restart of the SSH server.

Public key authentication

You will discover a information on the way to use public key authentication on this publish. I extremely suggest to safe your server with public key authentication as a substitute of password authentication.

Disable login makes an attempt with empty passwords

PermitEmptyPasswords no

Pretty self-explanatory, however to ensure: permitting any account with out a password to log into the system is an enormous no-no and needs to be turned off instantly.

Altering the ssh port

Port 2109

Effectively, some individuals suppose it’s mandatory, and a few suppose it’s ineffective to vary the ssh port. It won’t assist towards focused assaults or scans, however it may assist to keep away from mass scans, bots, and script kiddies. Simply bear in mind to vary the vacation spot port in your shoppers because it deviates from the default 22.

Disable root login

PermitRootLogin no

No one ought to use the server as root, and subsequently no one ought to be capable of login a root by way of ssh. To be sure to have an consumer with sudo created on the machine.

Disable SSHv1 and use SSHv2

Protocol 2

SSHv2 is often the default, however it’s value ensuring.

Set idle timeout interval

ClientAliveInterval 1800

The server makes use of this interval to test if the connection continues to be used and terminates the session when the consumer does not reply. With ClientAliveCountMax you’ll be able to resolve how typically the server ought to ship this message.

The used unit of the interval in seconds. I often use 1800 seconds – or half an hour – however some recommend one thing method decrease.

Prohibit entry to particular customers or/and teams

AllowUsers a_this a_that
AllowGroups ssh_login

This feature is fairly simple and needs to be used. Simply create a bunch like ssh_login and put the consumer into it if stated consumer needs to be allowed to login in by way of ssh. With that, you do not have to edit the config file each time.

Set an authentication timer

LoginGraceTime 20

The authentication should occur in 20 seconds. The default is 2 minutes. This setting is just not that necessary for my part.

Disable insecure ciphers and MACs
Ciphers chacha20-poly1305@openssh.com,aes256-gcm@openssh.com,aes128-gcm@openssh.com,aes256-ctr,aes192-ctr,aes128-ctr
KexAlgorithms curve25519-sha256@libssh.org
MACs hmac-sha2-512-etm@openssh.com,hmac-sha2-256-etm@openssh.com,hmac-sha2-512,hmac-sha2-256

There are even some extra restrictive choices, however I’ve not examined them myself.

Disable X11 Forwarding

X11Forwarding no

The safety concern right here is that X11 forwarding opens a channel from the server to the consumer. In an X11 session, the server can ship particular X11 instructions to the consumer, which could be harmful if the server is compromised. Supply

Disable SFTP subsystem

If you do not want SFTP, disable it. It’s one other assault vector, and one thing that’s not usable, is tougher to breach.

Simply remark out the Subsystem sftp [...] out of the config.

Superior choices

I’m going to jot down about extra superior hardening choices that require extra work and auditing your SSH entry.

Some issues I’ll cowl and are value wanting into it:
Public key authentication
Fail2Ban
Logging
Auditing

Particular due to ruffy for recommending disabling X11 forwarding and the SFTP subsystem.


E-Mail
hi therefoo@ittafoovern.comcom

Fediverse
@itt@fosstodon.org

Twitter
ITTavernCom

Matrix
#lounge:matrix.ittavern.com


Extra studying:



RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular

Recent Comments