Auteur Sujet: SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)  (Lu 10180 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 084
    • Twitter LaFibre.info
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« le: 16 février 2017 à 18:12:06 »
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).

corrector

  • Invité
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #1 le: 16 février 2017 à 20:10:15 »
Tu as essayé "ListenAddress ::"?

vivien

  • Administrateur
  • *
  • Messages: 47 084
    • Twitter LaFibre.info
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #2 le: 16 février 2017 à 20:44:32 »
ListenAddress :: => autorise la connexion IPv6 sur toutes les IP
ListenAddress 0.0.0.0 => autorise la connexion IPv4 sur toutes les IP

Commenter ces lignes ne sert à rien car par défaut, sshd écoute en IPv4 et IPv6 sur toutes les IP.

JeannotPlanche

  • Expert Scaleway
  • Abonné Free fibre
  • *
  • Messages: 128
  • 93
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #3 le: 16 février 2017 à 20:50:37 »
Je suppose qu'on peut lancer le serveur avec l'option "-6" (Forces sshd to use IPv6 addresses only.), mais c'est le genre d'option qu'on ne remarque plus après (n'est pas dans le fichier de configuration).

AddressFamily apparaît sur http://man.openbsd.org/sshd_config et dans les manpages de Ubuntu Trusty (OpenSSH_6.6.1p1) ou Ubuntu Xenial (OpenSSH_7.2p2).
Quelle version as-tu ?

Au pire, ListenAddress 127.0.0.1 n’apparaîtrait pas trop inélégant, trouvé-je.

corrector

  • Invité
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #4 le: 16 février 2017 à 21:06:00 »
ListenAddress :: => autorise la connexion IPv6 sur toutes les IP
Ce n'est pas ce que tu veux?

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 674
  • La Madeleine (59)
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #5 le: 16 février 2017 à 21:13:24 »
Par exemple:

2% 1z [jack@jack:~] 148cat /etc/default/ssh
# Default settings for openssh-server. This file is sourced by /bin/sh from
# /etc/init.d/ssh.

# Options to pass to sshd
SSHD_OPTS="-6"

vivien

  • Administrateur
  • *
  • Messages: 47 084
    • Twitter LaFibre.info
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #6 le: 17 février 2017 à 08:48:34 »
AddressFamily apparaît sur http://man.openbsd.org/sshd_config et dans les manpages de Ubuntu Trusty (OpenSSH_6.6.1p1) ou Ubuntu Xenial (OpenSSH_7.2p2).
J'ai compris : j'utilisais man sshd or il faut faire man sshd_config et là AddressFamily est bien présent.

AddressFamily inet6 fonctionne parfaitement : sshd n'écoute plus qu'en IPv6.

Merci !

corrector

  • Invité
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #7 le: 17 février 2017 à 17:30:19 »
Je n'ai pas la réponse à ma question : que donne ListenAddress :: ?

vivien

  • Administrateur
  • *
  • Messages: 47 084
    • Twitter LaFibre.info
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #8 le: 17 février 2017 à 17:56:31 »
ListenAddress est utilisé pour restreindre à certaines IP (typiquement l'IP d'admin).

Cela ne permet pas de restreinte l'écoute à un seul protocole.

Le contournement étant d'écouter uniquement sur 127.0.0.1 "ListenAddress 127.0.0.1" ce qui revient à rendre l'IPv4 inutilisable, mais je préfère ne pas écouter du tout en IPv4.

jack

  • Professionnel des télécoms
  • *
  • Messages: 1 674
  • La Madeleine (59)
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #9 le: 17 février 2017 à 18:06:53 »
Avec cette ligne, si tu veux, tu te mets en écoute sur la loopback v6 uniquement
Hors, ce que veut Vivien, si j'ai bien compris, c'est se mettre en écoute sur n'importe quelle IP, pourvu que ce soit une ipv6

vivien

  • Administrateur
  • *
  • Messages: 47 084
    • Twitter LaFibre.info
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #10 le: 17 février 2017 à 18:26:14 »
Oui, rajouter la ligne AddressFamily inet6 répond parfaitement a mon besoin de ne pas écouter en IPv4.

corrector

  • Invité
SSH: Configurer SSH pour ne pas écouter en IPv4 (IPv6 only)
« Réponse #11 le: 17 février 2017 à 21:02:52 »
Avec cette ligne, si tu veux, tu te mets en écoute sur la loopback v6 uniquement
Quelle ligne?

Hors, ce que veut Vivien, si j'ai bien compris, c'est se mettre en écoute sur n'importe quelle IP, pourvu que ce soit une ipv6
Oui, c'est bien ce que j'ai compris.