mettre à jour openSSH 7.2p dans Ubuntu 14.04

J’ai un serveur exécutant Ubuntu 14.04, mais j’ai un problème avec les exigences PCI. J’ai installé dans mon serveur OpenSSH 6.6p1, puis je l’ai mis à niveau vers OpenSSH 7.2p, en compilant le code avec make et make install directement à partir de référentiels d’OpenSSH , mais il semble que quelque chose soit cassé car je continue à récupérer l’ancienne version dpkg -l openssh\* :

 ii openssh-client 1:6.6p1-2ubunt amd64 secure shell (SSH) client, ii openssh-server 1:6.6p1-2ubunt amd64 secure shell (SSH) server, ii openssh-sftp-serve 1:6.6p1-2ubunt amd64 secure shell (SSH) sftp server 

Et le scanner PCI continue à signaler le même problème à propos de l’installation de la dernière version d’OpenSSH.

Voici l’identifiant CVI du problème: CVE-2016-3115

J’avais aussi besoin d’installer le tout dernier OpenSSH, mais je voulais l’installer via un paquet au lieu de le comstackr à partir des sources.

 sudo apt-add-repository 'deb http://archive.ubuntu.com/ubuntu yakkety main universe multiverse' sudo apt-get update sudo apt-get install openssh-server=1:7.3p1-1 

Cela a fonctionné pour moi. (Techniquement, seuls les principaux et l’univers étaient nécessaires ici)

 $ ssh -V OpenSSH_7.3p1 Ubuntu-1, OpenSSL 1.0.2g 1 Mar 2016 

Edit (2017-10-04): Cette réponse a reçu une certaine attention ces derniers temps et pourrait être dépassée maintenant. Rappelez-vous que seuls les main et universe étaient nécessaires à partir de cela, et je voulais spécifiquement installer cela comme un paquet au lieu de comstackr à partir des sources. S’il vous plaît soyez prudent en tapant des commandes aléatoires à partir d’Internet, peu importe à quel point l’étranger (dans ce cas moi) est!

Testé sur Ubuntu 16.04

met à niveau ssh-client vers la dernière version. mises à jour beaucoup d’autres choses!

 sudo apt-add-repository 'deb http://old-releases.ubuntu.com/ubuntu yakkety main universe multiverse' sudo apt-get update sudo apt-get install openssh-server=1:7.4p1-10 

supprimer le référentiel qui a été ajouté afin que les mises à jour supplémentaires ne se produisent pas plus tard:

 sudo apt-add-repository --remove 'deb http://old-releases.ubuntu.com/ubuntu yakkety main' sudo apt-get update 

note: pour 17,04, changer le yakety en zesty (non testé)

Deux réponses mentionnent déjà la recompilation. La manière dont ils suggèrent que cela ne semble pas être une option sûre si vous êtes déjà connecté avec ssh. En outre, ils ne parviennent pas à suggérer quoi faire avec OpenSSL 1.0.2 vs 1.1.0 comme par défaut ./configure trouve sur Ubuntu 14.04 LTS la version 1.1.0 d’OpenSSL. Voici comment corriger les sources OpenSSL 7.7 pour qu’elles fonctionnent avec OpenSSL 1.1.0:

http://www.linuxfromscratch.org/blfs/view/svn/postlfs/openssh.html

 wget http://mirror.exonesortingc.net/pub/OpenBSD/OpenSSH/portable/openssh-7.7p1.tar.gz tar -zxvf openssh-7.7p1.tar.gz cd openssh-7.7p1 wget http://www.linuxfromscratch.org/patches/blfs/svn/openssh-7.7p1-openssl-1.1.0-1.patch patch -Np1 -i ./openssh-7.7p1-openssl-1.1.0-1.patch 

Et voici le truc: vous pouvez avoir DEUX SSHD afin de ne pas perdre la connexion actuelle. Nous installerons cet autre sshd sur / opt et sa configuration sera dans / opt / etc

 ./configure --prefix=/opt make ## in the end make will write where it will install, double check everything will go to /opt make install nano /opt/etc/ssh/sshd_config 

Ici, éditez le port, enlevez-le de 22 à par exemple 1888 (assurez-vous que le port est transféré / ouvert / etc)

Et maintenant vous pouvez commencer le nouveau sshd

 /opt/sbin/sshd 

Assurez-vous qu’au redémarrage, quelque chose (par exemple systemd) démarrera également cet autre ssh.

Les 2 sshds fonctionnent maintenant simultanément. Vous pouvez essayer de vous connecter avec celui nouvellement construit. Une fois terminé, vous pouvez supprimer en toute sécurité la mise à jour obsolète et de sécurité sans openssh6.6 de apt, ou au moins arrêter le démon et supprimer le démon du démarrage.

Et vous êtes un pas de plus vers un système sécurisé.

Ceci est une édition du commentaire de @dszakal puisque je n’avais pas exactement les mêmes choses à faire (ici, Ubuntu 16).

 cd wget http://mirror.exonesortingc.net/pub/OpenBSD/OpenSSH/portable/openssh-7.7p1.tar.gz tar -zxvf openssh-7.7p1.tar.gz cd openssh-7.7p1 wget http://www.linuxfromscratch.org/patches/blfs/svn/openssh-7.7p1-openssl-1.1.0-1.patch patch -Np1 -i ./openssh-7.7p1-openssl-1.1.0-1.patch ./configure --prefix=/opt make sudo make install cp ~/openssh-7.7p1/sshd_config /opt/etc/ cp ~/openssh-7.7p1/ssh_config /opt/etc/ sudo nano /opt/etc/sshd_config # Uncomment the lines I wrote below --------------------------------------------- Port 33333 # You can change the port here AddressFamily any ListenAddress 0.0.0.0 ListenAddress :: HostKey /etc/ssh/ssh_host_rsa_key HostKey /etc/ssh/ssh_host_ecdsa_key HostKey /etc/ssh/ssh_host_ed25519_key PasswordAuthentication yes PermitEmptyPasswords no --------------------------------------------- # Then launch the service sudo /opt/sbin/sshd 

Ensuite, essayez de vous connecter avec vos identifiants habituels, cela devrait fonctionner.

Rapport Nmap:

 PORT STATE SERVICE VERSION 33333/tcp open ssh OpenSSH 7.7 (protocol 2.0) 

Nous allons maintenant transférer le nouveau SSH sur le port 22. Je me suis connecté sur le port 33333 pour désactiver l’ancien service SSH et j’ai remplacé 33333 par 22 dans / opt / etc / sshd_config.

 sudo service ssh stop sudo nano /opt/etc/sshd_config Port 22 # Then re-launch the service sudo /opt/sbin/sshd 

Ensuite, essayez de vous connecter avec vos identifiants habituels, cela devrait fonctionner.

Rapport Nmap:

 PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.7 (protocol 2.0) 

Fonctionne comme un grand charme grâce à @dszakal !!

Vous pouvez utiliser les commandes suivantes.

 wget http://mirror.exonesortingc.net/pub/OpenBSD/OpenSSH/portable/openssh-7.2p2.tar.gz tar -zxvf openssh-7.2p2.tar.gz cd openssh-7.2p2 ./configure make sudo make install 

Mis à jour au plus tard en utilisant:

 wget http://mirror.exonesortingc.net/pub/OpenBSD/OpenSSH/portable/openssh-7.5p1.tar.gz tar -zxvf openssh-7.5p1.tar.gz cd openssh-7.5p1 ./configure make sudo make install