SSH est souvent utilisé pour de l'administration et je trouve intéressant de limite la surface d'attaque en limitant l'écoute au seul protocole IPv6, avec une adresse bien déterminée.
Le fichier de configuration /etc/ssh/sshd_config permet de limiter l'écoute de SSH à un réseau d'administration, quand le serveur à plusieurs IP
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Je cherche a désactiver toute écoute en IPv4. Supprimer la ligne #ListenAddress :: ne change rien, car c'est une ligne commenté et par défaut, SSH écoute en IPv4 et en IPv6, sur toutes les IP du serveur.
La partie du manuel pour ListenAddress :
ListenAddress
Spécifie l'adresse locale d'écoute sur laquelle le démon sshd doit attendre les connexions. On peut utiliser les formes suivantes :
ListenAddress
host | IPv4_addr | IPv6_addr
ListenAddress
host | IPv4_addr : port
ListenAddress
[host | IPv6_addr : port ]
Si port n'est pas spécifié, le démon sshd écoute sur l'adresse et toutes les options Port spécifiées au préalable. Par défaut, on écoute sur toutes les adresses locales. On peut spécifier de multiples options ListenAddress En outre, toute option Port doit précéder cette option pour les adresses sans port spécifié.
Certains vieux tutoriels parlent de rajouter "AddressFamily" :
AddressFamily any # default
AddressFamily inet # IPv4 only
AddressFamily inet6 # IPv6 only
Problème : AddressFamily n’apparaît pas dans le manuel.
Bref, je suis preneur d'une solution propre pour ne pas écouter en IPv4 (sans spécifier une IPv4 qui n'existe pas sur le serveur, ni utiliser iptables).