Bien sûr il s’agit que d’une ruse, mais elle coûte tellement peu chère à mettre en place, et est tellement efficace que ce serait dommage de s’en priver.
La configuration du port d’écoute se fait dans le fichier /etc/ssh/sshd_config avec la clef Port, par défaut sur 22 et commentée. Il suffit donc de décommenter et de remplacer le port 22 par celui de son choix.
#Port 22 Port 22222
Vous êtes libre de mettre le port que vous souhaitez (faudra juste pas l’oublier) mais autant mettre un port assez élevé.
Derniers points avant de relancer le service SSH :
- Autoriser ce nouveau port dans le parefeu
- Autoriser ce port pour SSH au niveau de SELinux
Pour autoriser le port 22222 au niveau du parefeu (ici firewalld) :
firewall-cmd --add-port=22222/tcp firewall-cmd --add-port=22222/tcp --permanent
Voilà pour le parefeu. Pour SELinux :
semanage port -a -t ssh_port_t -p tcp 22222
Voila !
Pour vérifier la liste des ports pour SSH dans SELinux :
semanage port -l | grep ssh
Pour relancer SSHd pour prise en compte de ce changement de port :
systemctl restart sshd
Ce qui est bon à savoir c’est que vous pouvez avoir plusieurs ports d’écoute pour SSH, et même préciser l’ip + port. On peut donc imaginer laisser le port 22 sur un réseau privé, mais changer celui sur le réseau public.
Depuis un client pour se connecter il y a l’option -p pour le client SSH :
ssh -p 22222 toto@mon.serveur.fr
En bonus, le mieux est d’ajouter un bloc de configuration dans votre .ssh/config concernant ce serveur et son nouveau port :
Host serveur HostName mon.serveur.fr User toto Port 22222 Compression yes ForwardAgent yes ForwardX11 yes
La prochaine connexion pourra se faire avec simplement :
ssh serveur
Je parlerais sûrement plus tard des autres éléments à installer pour sécuriser son serveur (fail2ban, fwknop etc). En attendant amusez vous bien, et surtout, bonne année 2018 !