Auteur Sujet: Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS  (Lu 15789 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« le: 21 décembre 2023 à 20:50:27 »
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS

Changement de port de SSH, pour limiter d'être la cible des attaques sur le port 22 est une bonne pratique (le port TCP 22 est le port par défaut sur lequel écoute SSH).

Depuis Ubuntu 22.10, cela ne se fait plus de la même façon, c'est systemd qui contrôle le port d'écoute de SSH : modifier le port sur /etc/ssh/sshd_config ne sert plus à rien.

Voici donc comment changer le port de SSH :
(édit : Tutoriel modifié suite aux retours ci-dessous)

  • Ubuntu 24.10 Le port d'écoute de SSH se configure dans systemd :
    sudo systemctl edit ssh.socket
    Ajouter les 4 lignes suivantes :
    [Socket]
    ListenStream=
    ListenStream=0.0.0.0:2222
    ListenStream=[::]:2222
    (En remplaçant 2222 par le port de votre choix, prendre de préférence un port au-dessus de 10 000)

    Application des paramètres : sudo systemctl daemon-reload puis redémarrer le PC (sudo systemctl restart ssh ne semble pas suffisant pour éviter le redméarrage).

  • Ubuntu 24.04 LTS Le port d'écoute de SSH se configure dans systemd :
    sudo systemctl edit ssh.socket
    Ajouter les 3 lignes suivantes :
    [Socket]
    ListenStream=
    ListenStream=2222
    (En remplaçant 2222 par le port de votre choix, prendre de préférence un port au-dessus de 10 000)

    Application des paramètres : sudo systemctl daemon-reload puis redémarrer le PC (sudo systemctl restart ssh ne semble pas suffisant pour éviter le redméarrage).

  • Ubuntu 18.04 LTS / 20.04 LTS / 22.04 LTS Le port d'écoute de SSH se configure dans sshd_config
    sudo nano /etc/ssh/sshd_config
    Changer la ligne #Port 22 par Port 2222, puis redémarrez le PC.



sudo systemctl status ssh
○ ssh.service - OpenBSD Secure Shell server
     Loaded: loaded (/lib/systemd/system/ssh.service; disabled; preset: enabled)
    Drop-In: /etc/systemd/system/ssh.service.d
             └─00-socket.conf
     Active: inactive (dead)
TriggeredBy: ● ssh.socket
       Docs: man:sshd( 8 )
             man:sshd_config(5)

macmonac

  • Abonné Free fibre
  • *
  • Messages: 216
  • DOUVRES LA DÉLIVRANDE (14)
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #1 le: 21 décembre 2023 à 20:59:32 »
Salut Vivien,

Merci pour l'info. Tu testes déjà la 24 ?

Peut-être qu'utiliser les edit / override serait plus judicieux ?
https://askubuntu.com/a/659268

Peut-être quelque chose du genre.
systemctl edit ssh.socket
Pierre


vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #2 le: 21 décembre 2023 à 21:30:46 »
Non, je suis sous Ubuntu 23.10, mais peu de personnes utilisent les versions intermédiaires d'Ubuntu pour les serveurs.

Par contre, la question sera posée régulièrement lors de la sortie d'Ubuntu 24.04 LTS, d'où mon idée d'indiquer directement Ubuntu 24.04 LTS pour que les utilisateurs puissent trouver une réponse.

C'est arrivé avec Ubuntu 22.10. J'ai pensé à un bug. Quand j'ai vu qu'il n'était pas non plus possible de changer le port SSH avec Ubuntu 23.10, je me suis dit que cela n'était plus un bug, mais une modification de la méthode pour changer le port SSH mal documenté.

Je sens que certains vont encore taper sur systemd. À chaque nouvelle version, il prend en charge de nouvelles choses (avec Ubuntu 22.04 LTS c'était le DNS, perte du DNS quand on réalisait la mise à jour d'un serveur Ubuntu 20.04 => 24.04)

macmonac

  • Abonné Free fibre
  • *
  • Messages: 216
  • DOUVRES LA DÉLIVRANDE (14)
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #3 le: 21 décembre 2023 à 21:48:12 »
Oui pas de soucis. Je me suis juste demandé s'il y avait des images déjà assez stable pour tester ;)

jeannot

  • Abonné Orange Fibre
  • *
  • Messages: 193
  • 64 🏔
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #4 le: 22 décembre 2023 à 08:46:16 »
c'est à se demande à quoi va finir par servir le /etc si çe ne sert que de path pour les fichiers de conf auto générés.  ::)

zoc

  • Abonné Orange Fibre
  • *
  • Messages: 4 567
  • Antibes (06) / Mercury (73)
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #5 le: 22 décembre 2023 à 10:35:27 »
Peut-être qu'utiliser les edit / override serait plus judicieux ?
Je suis du même avis. Editer directement le fichier dans /lib c'est risquer l'écrasement lors d'une mise à jour de systemd.

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 297
  • Paris (75)
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #6 le: 22 décembre 2023 à 21:41:54 »
Le principe de 'activation socket' de systemd est que le service pour ce port n'est pas lancé tant qu'une connexion n'a pas eu lieu, ce qui en pratique est bien (moins de conso mémoire, moins de process qui tournent). C'est surtout utile quand a  de nombreuses petites instances (containers lxd par exemple).

Sur archlinux ils ont désactivé l'utilisation de ssh.socket a cause d'un risque de DoS (voir https://wiki.archlinux.org/title/OpenSSH#Daemon_management )

la méthode pour désactiver cela sur Debian/Ubuntu :
systemctl disable --now ssh.socket
rm -f /etc/systemd/system/ssh.service.d/00-socket.conf
rm -f /etc/systemd/system/ssh.socket.d/addresses.conf
systemctl daemon-reload
systemctl enable --now ssh.service

et ensuite on met le port classiquement dans /etc/ssh/sshd_config (ou le .d)

Apres une bonne pratique c'est plutôt de ne pas utiliser de mots de passe pour ssh, c'est bien plus robuste que de changer le port.

ps: le coupable ici n'est pas systemd mais les distribs qui ont voulu utiliser la feature "socket activation" pour sshd :)

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #7 le: 22 décembre 2023 à 22:06:33 »
Sur archlinux ils ont désactivé l'utilisation de ssh.socket a cause d'un risque de DoS
Le risque de DDOS était que trop de connexions à un serveur sshd, configurées à l'aide de 'activation socket' de systemd, peuvent entraîner la désactivation permanente du socket ("sshd.socket: Trigger limit hit, refusing further activation.").
=> https://bugs.archlinux.org/task/62248

Ce problème a été remonté en avril 2019, 4 ans avant que Canonical comment à le mettre dans Ubuntu (l'activation socket pour sshd est arrivé avec Ubuntu 22.10)
Pour moi, cela a été corrigé.

kgersen

  • Modérateur
  • Abonné Orange Fibre
  • *
  • Messages: 9 297
  • Paris (75)
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #8 le: 23 décembre 2023 à 09:42:48 »
Oui mais malgré la correction du bug, les devs d'ArchLinux ne sont pas revenu a sshd.socket.

En pratique c'est au sysadmin de choisir, sur une machine ou il est sur que ssh sera utilisé il n'y a peu d'intérêt a sshd.socket, autant démarrer sshd au boot.
Sur une machine ou l'utilisation de ssh reste exceptionnelle (par exemple de temps a autre pour pousser une config/maj avec Ansible), l'activation par le socket a plus de sens.

Le changement vers sshd.socket impacte d'autres choses ,notamment les noms dans les logs, etc. Dans les environnements fortement monitoré avec des outils de centralisation et de supervision , des adaptations sont nécessaires.

L'important c'est d'être bien informé de tout ca.





vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #9 le: 23 décembre 2023 à 10:30:14 »
Il me semble que seules les nouvelles installations sont concernées par le passage à "socket activation" pour sshd.

Les mises à jour restent dans leur configuration d'origine.

vivien

  • Administrateur
  • *
  • Messages: 48 324
    • Twitter LaFibre.info
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #10 le: 05 janvier 2024 à 20:40:15 »
Tout n'est pas sec.

1/ sudo nano /lib/systemd/system/ssh.socket
J'ai changé ListenStream=22 par le port 4422 : ListenStream=4422

Application des paramètres : sudo systemctl daemon-reload puis sudo systemctl restart ssh, mais vous pouvez simplement redémarrer le PC.

2/ Mise à jour de sécurité OpenSSH (CVE-2021-41617) : Le fichier /lib/systemd/system/ssh.socket est mis à jour (pour quelle raison ? je ne vois pas de modification) et écrase le port configuré !

Ci-dessous, entre les deux "cat", j'ai fait les mises à jour de sécurité. On voit le changement de port (et de rien d'autre).


rewe

  • Abonné Bouygues Telecom 4G/5G
  • *
  • Messages: 93
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS
« Réponse #11 le: 05 janvier 2024 à 21:03:35 »
Changer le port d'écoute de SSH, sur Ubuntu 24.04 LTS

Changement de port de SSH, pour limiter d'être la cible des attaques sur le port 22 est une bonne pratique (le port TCP 22 est le port par défaut sur lequel écoute SSH).[...]

bien que j'ai toujours entendu la recommandation de fortement préférer l'auth par certif' au lieu du mdp, j'imagine que changer le port doit être une protection supp'.
mais alors que la suite dirigerait normalement vers le fail2ban, un internaute parmi les grenouilles a publié ceci, déjà bientot adopté dans les dépots d'alpine, pour alléger la chose (en go/C au lieu de python)
ca risque de sortir sur les internets de france, navarre et sans doute niveau worldwide)
https://linuxfr.org/news/reaction-remplacant-de-fail2ban