La Fibre

Télécom => Logiciels et systèmes d'exploitation => Logiciels Logiciels => Discussion démarrée par: vivien le 02 mai 2014 à 12:06:21

Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: vivien le 02 mai 2014 à 12:06:21
Je cherche a cacher la version de SSH...

$ telnet 192.168.1.8 22
Trying 192.168.1.8...
Connected to 192.168.1.8.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.6p1 Ubuntu-2ubuntu1


SSH-2.0-OpenSSH_6.6p1 est une signature qui permet de savoir précisèment que c'est UbuntuServer 14.04
Je cherche à ce que cela ne s'affiche pas.
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: mirtouf le 02 mai 2014 à 12:42:33
Sans recompiler ou bidouiller l'exécutable c'est mission impossible. Le serveur annonce sa version pour pouvoir correspondre malgré diverses mauvaises implèmentations, bugs ou autres modification du protocole au fil de versions.
http://www.openssh.com/faq.html#2.14 (http://www.openssh.com/faq.html#2.14)
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: vivien le 02 mai 2014 à 13:02:32
Je trouve cela dommage : il est possible d'afficher les possibilités (type protocole 2.0) sans afficher la version complète.
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: Marin le 02 mai 2014 à 13:27:36
Bien sûr ça paraît un peu plus propre, mais est-ce que ça apporte réellement de la sécurité ?

Un pirate aurait-il beaucoup plus de mal à utiliser un logiciel de fingerprinting pour identifier autrement la version d'OpenSSH ?
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: BadMax le 02 mai 2014 à 14:11:59
Disons qu'il y a une différence entre voir la version d'OpenSSH et connaitre la distribution exacte installée.
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: le 02 mai 2014 à 14:18:43
Et ça :

     Banner  The contents of the specified file are sent to the remote user
             before authentication is allowed.  If the argument is ``none''
             then no banner is displayed.  This option is only available for
             protocol version 2.  By default, no banner is displayed.

http://www.openssh.com/cgi-bin/man.cgi?query=sshd_config (http://www.openssh.com/cgi-bin/man.cgi?query=sshd_config)

???
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: vivien le 02 mai 2014 à 14:27:26
Je suppose qu'il doit y avoir des tableaux tout prêts de ce type :
- SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu3 => Ubuntu 8.04 LTS
- SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.3 => Ubuntu 12.04 LTS
- SSH-2.0-OpenSSH_6.2p2 Ubuntu-6ubuntu0.3 => Ubuntu 13.10
- SSH-2.0-OpenSSH_6.6p1 Ubuntu-2ubuntu1 => Ubuntu 14.04 LTS
- SSH-2.0-OpenSSH_6.0p1 Debian-4+deb7u1 => Debian 7

Cela permet d'avoir les versions des autres logiciels, par exemple Apache qui est souvent caché :

- Ubuntu 7.04 : Apache 2.2.3 + Noyeau 2.6.20 + PHP 5.2.1 + MySQL 5.0.38
- Ubuntu 7.10 : Apache 2.2.4 + Noyau 2.6.22 + PHP 5.2.3 + MySQL 5.0.45
- Ubuntu 8.04 LTS : Apache 2.2.8 + Noyau 2.6.24 + PHP 5.2.4
- Ubuntu 8.10 : Apache 2.2.9 + Noyau 2.6.27 + PHP 5.2.6 + MySQL 5.0.67
- Ubuntu 9.10 : Apache 2.2.12 + Noyau 2.6.31 + PHP 5.2.10 + MySQL 5.1.37
- Ubuntu 10.04 LTS : Apache 2.2.14 + Noyau 2.6.32 + PHP 5.3.2
- Ubuntu 12.04 LTS : Apache 2.2.22 + Noyau 3.2 + PHP 5.3.10
- Ubuntu 13.10 : Apache 2.4.6 + Noyau 3.11 + 5.5.3 + MySQL 5.5.37
- Ubuntu 14.04 LTS : Apache 2.4.7 + Noyau 3.13 + PHP 5.5.9 + MySQL 5.5.37
- CentOS 6 : Apache 2.2.15
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: thenico le 02 mai 2014 à 14:27:37
corrector, c'est autre chose ça.

Pour enlever ce qui suit le OpenSSH_a.bpc, il faut éditer le fichier debian/rules :
SSH_EXTRAVERSION := $(DISTRIBUTION)-$(shell dpkg-parsechangelog | sed -n -e '/^Version:/s/Version: //p' | sed -e 's/[^-]*-//')

Remplacer cette ligne par
SSH_EXTRAVERSION := ''

Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: le 02 mai 2014 à 14:45:53
corrector, c'est autre chose ça.
Je ne comprends pas à quoi sert Banner.
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: vivien le 02 mai 2014 à 15:46:11
Quel fichier .rules ?

J'ai testé les deux commandes ci-dessous pour le localiser sans sucés :
cat /lib/udev/rules.d/* | grep -i ssh
locate rules | grep -i ssh
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: mirtouf le 02 mai 2014 à 16:46:59
Le fichier rules en question est celui-ci dans le paquet source qui sert à incorporer des informations additionnelles pour compiler le paquet Debian.
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: cali le 02 mai 2014 à 17:08:32
Ce que tu veux faire est une très mauvaise idée et je ne vois pas l’intérêt mais tu peux toujours localiser la chaîne de caractères dans l’exécutable et la changer par ce que tu veux.
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: thenico le 02 mai 2014 à 17:19:02
Je ne comprends pas à quoi sert Banner.

Cela affiche le contenue d'un fichier à la connexion:
$ ssh cyteen.lan
**********************************************************
***                  Serveur cyteen                    ***
***                RSA key fingerprint:                ***
***  9a:87:0c:19:bd:ad:95:0a:a4:a2:8e:88:3c:7e:19:79   ***
**********************************************************
***                                                    ***
***   Consultez les articles 323.1 a 323.3  du Nouveau ***
*** Code P\303\251nal relatifs aux autorisations d'acc\303\250s \303\240 ce ***
*** syst\303\250me.                                           ***
**********************************************************
***   Toutes les connexions et acc\303\250s \303\240 ce syst\303\250me font ***
*** l'objet d'un enregistrement.                       ***
**********************************************************
Password:
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: le 02 mai 2014 à 17:21:22
Et ce n'est pas ce qu'on veut : contrôler ce qui est affiché?

Si tu mets "Banner /dev/null"?
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: cali le 02 mai 2014 à 17:57:32
Et ce n'est pas ce qu'on veut : contrôler ce qui est affiché?

Si tu mets "Banner /dev/null"?

"Banner none"
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: le 02 mai 2014 à 18:43:30
Oui, c'est sans doute mieux. ;)
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: Nico le 02 mai 2014 à 19:20:06
Mais à priori l'histoire de la version (que vivien ne veut plus faire apparaître) vient avant la fameuse Banner.
Titre: Comment cacher la version de SSH qui est donnée avant la connexion ?
Posté par: le 02 mai 2014 à 19:21:08
On ne peut pas dire que le man soit très clair à ce sujet!!!