web-dev-qa-db-fra.com

mettre à jour openSSH 7.2p dans Ubuntu 14.04

J'ai un serveur sous Ubuntu 14.04, mais j'ai un problème avec les exigences PCI. J'ai installé OpenSSH 6.6p1 sur mon serveur, puis je l'ai mis à niveau vers OpenSSH 7.2p, en compilant le code avec make et en effectuant l'installation directement à partir de référentiels OpenSSH , mais il semble que quelque chose ne fonctionne pas car je continue à obtenir l'ancienne version. après avoir vérifié 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 de signaler le même problème à ce sujet. Je dois installer la dernière version d'OpenSSH.

Ceci est l'identifiant CVI du problème: CVE-2016-3115

Je devais installer le dernier OpenSSH également, mais je voulais l’installer via un paquet plutôt que de le compiler à 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 le principal 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 fait l’objet d’une attention toute récente et pourrait être périmée maintenant. Rappelez-vous que seuls main et universe étaient nécessaires à partir de cela, et je voulais spécifiquement installer ceci en tant que paquet au lieu de compiler à partir du source. S'il vous plaît soyez prudent avec taper des commandes aléatoires à partir d'Internet, peu importe à quel point l'étranger (dans ce cas moi) est bien intentionné!

9
flanger001

Testé sur Ubuntu 16.04

met à niveau ssh-client vers la dernière version. met à 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

supprimez le référentiel qui a été ajouté pour 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é)

5
oneklc

Deux réponses mentionnent déjà la recompilation. La façon dont ils suggèrent que cela ne semble pas être une option sûre si vous êtes déjà connecté à ssh. En outre, ils ne suggèrent pas quoi faire avec OpenSSL 1.0.2 vs 1.1.0 problème car par défaut, ./configure trouve sur Ubuntu 14.04 LTS la version 1.1.0 de OpenSSL. Pour patcher les sources OpenSSL 7.7 afin qu'elles fonctionnent avec OpenSSL 1.1.0, voici un correctif:

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

wget http://mirror.exonetric.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 allons installer 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, éloignez-le de 22 à 1888 par exemple (assurez-vous que le port est transféré/ouvert/etc)

Et maintenant, vous pouvez démarrer le nouveau sshd

/opt/sbin/sshd

Assurez-vous que quelque chose au redémarrage (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 de sécurité obsolète et de sécurité qui manque dans openssh6.6, ou au moins arrêter le démon et le supprimer du démarrage.

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

3
dszakal

Ce n'est pas nécessaire si vous utilisez Ubuntu LTS. Il semble que l’équipe de sécurité d’Ubuntu vous envoie les correctifs! Une réponse détaillée réponse :

Des outils tels que Qualys et nmap ne sont pas très intelligents pour comprendre cela. Vous pouvez visiter le paquet changelog d'ubuntu page [Dans mon cas, le paquet était openssh-server6.6] pour voir si le correctif a été fourni. 

Au maximum pour être sûr, il suffit de lancer Sudo apt-get install --only-upgrade openssh-server pour obtenir les correctifs.

0
Pikesh Prasoon

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

cd
wget http://mirror.exonetric.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 informations d'identification habituelles, cela devrait fonctionner.

Rapport Nmap:

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

Maintenant, nous allons 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 informations d'identification habituelles, cela devrait fonctionner.

Rapport Nmap:

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

Fonctionne comme un charme, merci à @dszakal !!

0
Erwan Clügairtz