NoNoBzH weblog - Mot-clé - padlockBlog personnel parlant de sujet variés tels que la Technologie, les Réseaux, la Photo, le Spotting ...2023-02-10T23:07:01+01:00Arnaud Tardyurn:md5:f1f679160f1a411ebeefb1b178d7e33bDotclearActiver le padlock par défaut dans OpenSSL et OpenVPNurn:md5:2c79004c606f93a141e478b2005c52782010-06-06T20:06:00+02:002010-09-22T22:13:58+02:00NoNoBzHInformatiquedediboxopensslopenvpnpadlockv3<p>Dans le <a hreflang="fr" href="https://blog.nonobzh.fr/post/2010/06/06/Activer-le-Padlock-du-VIA-Nano-%28Dedibox-V3%29-sous-Debian-64-bits">billet précédent</a>, on as vu comment faire en sorte que OpenSSL
puisse utiliser le padlock sous environnement 64 bits. C'est bien
mais pas suffisant ! Maintenant il faut qu'il soit utilisé dans toutes
les applications qui utilisent OpenSSL.</p> <br /><ul><li>OpenSSL</li>
</ul>
<p>Un ajout de quelques lignes dans le fichier de configuration d'OpenSSL (/etc/ssl/openssl.cnf) suffit pour utiliser le padlock par défaut.</p>
<p><br />Après les ligne :</p>
<blockquote><p># Extra OBJECT IDENTIFIER info:<br />#oid_file = $ENV::HOME/.oid<br />oid_section = new_oids</p>
</blockquote>
<p><br />Ajouter :</p>
<blockquote><p>openssl_conf = openssl_def<br />[openssl_def]<br />engines = openssl_engines<br />[openssl_engines]<br />padlock = padlock_engine<br />[padlock_engine]<br />default_algorithms = ALL</p>
</blockquote>
<p><br />A partir de maintenant, le padlock sera utilisé par défaut pour toutes les applications ayant besoin de SSL (scp, sftp, ssh, openvpn, ...)</p>
<br />
<ul><li>OpenVPN</li>
</ul>
<p>Petite spécificité d'OpenVPN, par défaut il utilise le cryptage blowfish qui n'est pas supporté par le padlock.<br /><br />Première chose, vérifier que OpenVPN détecte bien le padlock :<br /><code>$ openvpn --show-engines<br />OpenSSL Crypto Engines<br />VIA PadLock (no-RNG, ACE) [padlock]<br />Dynamic engine loading support [dynamic]</code></p>
<p>Dans la partie serveur uniquement, dans le fichier de configuration, rajouter :<br /><code>engine padlock</code></p>
<p>Ensuite dans les fichiers de configuration du serveur <strong>ET</strong> des clients, il faut préciser le cryptage à utiliser :<br /><code>cipher AES-256-CBC</code></p>
<p>Et voilà, vos connections VPN vont être boostées !</p>
<br /><br />
<p><a hreflang="en" href="http://ubuntuforums.org/showthread.php?t=710243">Source</a> et<a hreflang="en" href="http://www.a110wiki.de/wiki/VIA_Padlock#Configuring_OpenSSL_to_use_VIA_Padlock_all_the_time"> Source</a></p>Activer le Padlock du VIA Nano (Dedibox V3) sous Debian 64 bitsurn:md5:c400960953f26295892593ee38dbb57c2010-06-06T11:53:00+02:002010-10-05T10:27:30+02:00NoNoBzHInformatiquedebiandediboxopensslpadlockv3<p>Certains d'entre vous auront remarqués que le Padlock n'est pas activé
par défaut sous Debian 64 bits, et ce pour deux raisons.<br />Premièrement
les modules ne sont pas chargés automatiquement au démarrage.<br />Et
deuxièmement, OpenSSL ne se sert pas du Padlock en 64 bits.</p> <br /><ul><li>Chargement des modules :</li>
</ul>
Première chose à faire, charges les modules dans le kernel !<br />pour cela, tapez dans une console :<br /><br /><code>modprobe padlock-aes<br />modprobe padlock-sha<br /></code><br />Pour que ces modules soient chargés dès le démarrage de la machine tapez ceci :<br /><br /><code>echo padlock-aes >> /etc/modules && echo padlock-sha >> /etc/modules</code><br /><br /><br /><br /><ul><li>Modification d'OpenSSL :</li>
</ul>
<br />C'est la partie la plus complexe et la plus longue. En effet il va falloir modifier les sources d'OpenSSL et les recompiler pour que OpenSSL utilise le Padlock.<br />Si vous êtes sous Debian 64, en install de base Dedibox et que vous ne voulez pas tout recompiler, je met à disposition les paquets en bas de la page.<br /><br />Petite explication :<br />Le premier Padlock est apparu avec le processeur VIA C7 il y a quelques année. Il n'était que 32 bits. Quand son support a été ajouté à OpenSSL, il ne l'a été quand dans la version 32 bits !<br />Or le VIA Nano est compatible 64 bits, mais OpenSSL n'a pas encore intégré cette spécificité.<br /><br /><br />Tout d'abbord, téléchargez ce patch : <a href="https://blog.nonobzh.fr/public/openssl/centaur-openssl-padlock-x86_64.patch">centaur-openssl-padlock-x86_64.patch</a><br />Ce patch provient du <a hreflang="en" href="http://ubuntuforums.org/showpost.php?p=7167334&postcount=45">Forum Ubuntu</a> (inscription obligatoire pour le télécharger).<br /><br />On installe les pré-requis :<br /><code>aptitude install build-essential devscripts fakeroot<br />aptitude build-dep openssl</code><br /><br />On télécharge les sources d'OpenSSL :<br /><code>apt-get source openssl</code><br /><br />On entre dans le répertoire :<br /><code>cd openssl-0.9.8g</code><br />(à adapter suivant votre version d'OpenSSL)<br /><br /><del>On patch une première partie :</del><br style="text-decoration: line-through;" /><del><code>wget -q -O - http://launchpadlibrarian.net/13798833/bug119295.patch | patch -p1</code></del><br /><strong>En fait, ce n'est pas nécessaire pour les version >= 0.9.8g</strong><br /><br />On patch une deuxième partie :<br /><code>wget -q -O - http://www.logix.cz/michal/devel/padlock/contrib/openssl-0.9.8e-engine.diff | patch -p1</code><br /><br />Puis on patch la dernière partie :<br /><code>cat ../centaur-openssl-padlock-x86_64.patch | patch -p1</code><br /><br />Un petit debchange : (<strong>optionnel</strong>)<br /><code>debchange --nmu</code><br />Si nano s'ouvre : ctrl-o puis ctrl-x<br />Si vi s'ouvre : echap puis :wq<br /><br />Et là, l'étape la plus longue : la compilation + création du package :<br /><code>dpkg-buildpackage</code><br /><br />Une fois fait (environ 10-15 minutes) on installe les paquets créés (à adapter suivant votre distribution) :<br /><code>dpkg -i ../openssl_0.9.8g-15+lenny6.1_amd64.deb ../libssl0.9.8_0.9.8g-15+lenny6.1_amd64.deb ../libssl-dev_0.9.8g-15+lenny6.1_amd64.deb</code><br /><br />On vérifie qu'il est bien reconnu par OpenSSL :<br /><code>#openssl engine<br />(padlock) VIA PadLock (no-RNG, ACE)<br />(dynamic) Dynamic engine loading support</code><br />Si vous voyez la ligne avec padlock, c'est bon :)<br /><br />Et voilà ! Maintenant on peut tester tout ça :<br /><code>#openssl speed -evp aes-128-ecb [-engine padlock]<br />type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes<br />aes-128-ecb 49787.88k 53811.97k 54739.18k 55077.02k 54949.63k<br />aes-128-ecb 144205.73k 493446.57k 1107523.84k 1591005.98k 1836111.30k</code><br /><br />On voit tout de suite la différence !<br />La première ligne est en mode dynamic (sans le Padlock)<br />La deuxième est avec le Padlock.<br /><br /><br />Maintenant, il faut configurer OpenSSL pour utiliser par défaut le padlock : <a hreflang="fr" href="https://blog.nonobzh.fr/post/2010/06/06/Activer-le-padlock-par-d%C3%A9faut-dans-OpenSSL">c'est par ici</a><br /><br /><br /><a hreflang="en" href="http://ubuntuforums.org/showpost.php?p=7167334&postcount=45">Source</a> et <a hreflang="en" href="http://ubuntuforums.org/showthread.php?t=710243">Source</a>