Compiler OpenSSL

Fermé
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 - 3 févr. 2019 à 23:03
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 4 mars 2019 à 11:52
Bonjour !

Voila, j'ai un probléééééme :(

Suite a une mise à jour de mon nginx+openssl pour avoir un vrai TLSv1.3 pas en draft, et une analyse https://www.ssllabs.com/ssltest/ de mon serveur, je vois ce monstrueux résultat Oo




Après une recherche sur internet, je tombe sur ce post https://github.com/ssllabs/ssllabs-scan/issues/636#issuecomment-459784624 qui indique que la seule solution est de recompiler OpenSSL
Sauf que moi, la compilation c'est pas trop mon fort. Alors j'ai bien cherché un peu, a priori je peux désactiver des "modules" (?) avec no-<alg>
<alg> is one of: aria, bf, blake2, camellia, cast, chacha,
cmac, des, dh, dsa, ecdh, ecdsa, idea, md4, mdc2, ocb,
poly1305, rc2, rc4, rmd160, scrypt, seed, siphash, siv, sm2,
sm3, sm4 or whirlpool. The "ripemd" algorithm is deprecated
Mais ducoup il va me désactiver tous les ciphers associésr, et c'est pas rééllement ce que je veux faire.

Quelqu'un a-t-il une idée ou est assez callé pour m'orienter un peu plus ?

Merci d'avance !
Des datas-poutou

Configuration: Windows 7, AMD Phenom II quad core 3,4Ghz x64, 4go RAM 1600Mhz, 2*1To disque dur WD caviar black, CrossFire Asus EAH6870

3 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
11 févr. 2019 à 10:41
Bonjour,

De manière générale, je te déconseille de te lancer dans une phase de compilation si tu peux l'éviter, car il faudra alors "mettre à jour" toi-même les composants compilés au lieu de te reposer sur les mises à jour du système. Voici ce que je te recommande de faire avant de te lancer là dedans.

1) Pour commencer, il faut vérifier que ton système est à jour et que la dernière version de
nginx
n'est pas compatible avec TLS 1.3. Supposons que tu sois sous debian stable, il serait aussi envisageable d'installer spécifiquement
nginx
en testing ou unstable pour vérifier qu'ils ne font pas le job. Précise-nous ta distribution pour plus de détails.

Sous debian, on pourrait s'en sortir en téléchargeant le paquets (et ses dépendances non satisfaites) à la main depuis packages.debian.org ou mieux, en utilisant
/etc/apt/preferences
comme expliqué ici.

2) Si aucune version empaquetée de nginx ne convient, la compilation prend son sens. Le paquet à installer est a priori
libssl-dev
. Même principe pour s'assurer que ce paquet est suffisamment récent.

Sous debian, la version 1.1 de libssl suffira (disponible de nos jours dès debian stable sous réserve que le dépôt security soit activé, comme le montre cette page).

Précise-nous quelle distribution tu utilises. Si tu es sous debian ou une distribution qui en dérive, copie-colle le contenu de
/etc/apt/sources.list
et de
/etc/apt/preferences
(s'il existe). Indique nous enfin les résultats (quitte à lancer
apt-get install aptitude
au préalable) de :

aptitude show libssl-dev | grep -i version
aptitude show libssl  | grep -i version


Bonne chance
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
14 févr. 2019 à 08:22
Bonjour Mamiemando et merci de ta réponse.

Je suis bien au courant de tout les impacts en n'utilisant pas le gestionnaire de paquets !

1)
Pour Nginx, j'utilise ce dépot :
$ apt-cache policy
500 http://ppa.launchpad.net/ondrej/nginx-mainline/ubuntu/ bionic/main amd64 Packages
release v=18.04,o=LP-PPA-ondrej-nginx-mainline,a=bionic,n=bionic,l=PPA for NGINX Mainline with HTTP/2 on Ubuntu 14.04 LTS and higher,c=main,b=amd64
origin ppa.launchpad.net
...


Ma version nginx est la suivante :
$ nginx -v
nginx version: nginx/1.15.8

qui a priori gerre le TLS 1.3 sur RFC 8446.

2) De ce que je comprend, ma problématique est lié a openssl et non nginx. OpenSSL qui gére le cipher TLS_AES_128_GCM_SHA256 (0x1301) ECDH secp384r1 (eq. 7680 bits RSA) FS encoder sur 128 bits, ce qui me donne ce résultat au niveau https://www.ssllabs.com/ssltest/ voila pourquoi je comptai le recompiler.

Je suis sur un ubuntu 18.04 (main/update/backport/security) et voici les versions libssl installés :
$ apt show libssl{1.1,-dev} |grep -e 'Package' -e 'Version'
Package: libssl1.1
Version: 1.1.1a-2+ubuntu18.04.1+deb.sury.org+1
APT-Sources: http://ppa.launchpad.net/ondrej/nginx-mainline/ubuntu/ bionic/main amd64 Packages
Package: libssl-dev
Version: 1.1.1a-2+ubuntu18.04.1+deb.sury.org+1
APT-Sources: http://ppa.launchpad.net/ondrej/nginx-mainline/ubuntu/ bionic/main amd64 Packages


Merci encore !
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
22 févr. 2019 à 11:40
Effectivement, si
libssl-dev
ne suffit pas tu devras télécharger des sources plus récentes. En théorie, plus la version est récente, plus tu pourras compiler de cipher. C'est la raison pour laquelle dans ton message initial, je n'ai pas trop compris tes craintes.

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install git
mkdir ~/git
cd ~/git
git clone https://github.com/openssl/openssl
cd ~/git/openssl


La suite de la procédure d'installation est décrite ici :

./config
make
make test
make install


Note que la dernière instruction sera plus probablement
sudo make install
. Afin d'éviter les conflits, tu peux purger le paquet
libssl-dev
:
sudo apt-get purge libssl-dev
. Il est important de conserver le paquet
libssl1.*
sous-jacent car de nombreux logiciels en dépendent sur ta machine. Tu auras donc deux librairies ssl installées : celle d'ubuntu (dans (e.g.
/usr/lib/x86_64-linux-gnu/libssl.so.1.1
) et celle que tu viens d'installer (a priori dans
/usr/local/lib
ou
/usr/local/ssl
).

Quand tu vas passer à la compilation des cipher, il faudra simplement s'assurer que c'est bien la seconde librairie qui est utilisée.

Bonne chances
0
Exileur Messages postés 1475 Date d'inscription mercredi 31 août 2011 Statut Membre Dernière intervention 16 décembre 2022 150
1 mars 2019 à 20:14
Hello,

La problématique et que si je désactive TLS AES, tous les ciphers vont étre désactivés.
Aussi bien TLS_AES_128_GCM_SHA256 que TLS_AES_256_GCM_SHA384.

Ma problématique vient de ce premier cipher codé en 128 bits. Et si je le désactive, j'ai un gros warning qui apparait sur l'analyse du serveur.

De ce que j'ai pu comprendre, ssllabs sont dans un paradoxe total est devrait étre ammener à faire des modif du coté de leur analyser donc a suivre...

Merci encore de ton implication..

Des datas bisous
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
4 mars 2019 à 11:52
Hébé pas simple tout ça :-) Moi j'avoue qu'un A+ m'aurait amplement suffi ;-)
0