tag:linuxfr.org,2005:/tags/ssl/publicLinuxFr.org : les contenus étiquetés avec « ssl »2023-10-21T12:00:33+02:00/favicon.pngtag:linuxfr.org,2005:Bookmark/73742023-10-20T16:46:26+02:002023-10-20T16:46:26+02:00Interception de traffic sur les serveurs jabber.ru xmpp.ru<a href="http://notes.valdikss.org.ru/jabber.ru-mitm/">http://notes.valdikss.org.ru/jabber.ru-mitm/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/133694/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/pulkomandy/liens/interception-de-traffic-sur-les-serveurs-jabber-ru-xmpp-ru#comments">ouvrir dans le navigateur</a>
</p>
pulkomandyhttps://linuxfr.org/nodes/133694/comments.atomtag:linuxfr.org,2005:Bookmark/53382022-11-01T18:43:12+01:002022-11-01T18:43:12+01:00Ce 1er Novembre, OpenSSL 3.0.7 corrige une faille critique<a href="https://www.openssl.org/blog/blog/2022/11/01/email-address-overflows/">https://www.openssl.org/blog/blog/2022/11/01/email-address-overflows/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/129179/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/ted/liens/ce-1er-novembre-openssl-3-0-7-corrige-une-faille-critique#comments">ouvrir dans le navigateur</a>
</p>
tedhttps://linuxfr.org/nodes/129179/comments.atomtag:linuxfr.org,2005:Post/430062022-07-07T01:17:02+02:002022-07-07T01:17:02+02:00TLSv1 Record Layer: Alert (Level: Fatal, Description: Handshake Failure)<p>Bonsoir a tous,</p>
<p>Je m-apelle Catalin, et je besoin d'aide. Ca c'ete tout ma Francais, car je puex expliquer mieux en Anglais. :)</p>
<p>Recently, I had to switch from http to https. I have modified the IP tables of Linux server to block http and allow https.<br>
As we are running on geo-redundancy we have 2 similar servers with the same function.<br>
After this change, I'm able to access by https only one server out of 2. </p>
<p>Taking a dump, I can observe that after Client Hello, I get, Alert: Handshake Failure.<br>
For successfull one TLS V1.2 is used<br>
For unsuccessful one TLS V1.0 is used<br>
(how can I make sure that same TLS V1.2 is used for unsuccessful example)</p>
<p>I'm using the same browser IE for both servers.</p>
<p>Extrachecks:<br>
On firewall, both destinations are part of the same zone.<br>
I have compared ssl.conf file between the two servers and there is no difference.</p>
<p>Merci beaucoup,<br>
Catalin</p>
<div><a href="https://linuxfr.org/forums/linux-general/posts/tlsv1-record-layer-alert-level-fatal-description-handshake-failure.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/128227/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-general/posts/tlsv1-record-layer-alert-level-fatal-description-handshake-failure#comments">ouvrir dans le navigateur</a>
</p>
Catalinhttps://linuxfr.org/nodes/128227/comments.atomtag:linuxfr.org,2005:Diary/393172020-08-29T18:26:54+02:002020-08-29T18:26:54+02:00ovh.fr , exemple de ce qu'il ne faut pas faire avec un certificatLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Je suis actuellement au Québec, donc quand je vais sur ovh.com je suis redirigé sur la version canadienne du site (avec tarifs en dollars &co). Naïvement je me suis dit qu'en tapant <code>ovh.fr</code> j'arriverais sur la version destinée à la France. Surprise !</p>
<blockquote>
<h2 id="toc-warning-potential-security-risk-ahead">Warning: Potential Security Risk Ahead</h2>
<p>Firefox detected an issue and did not continue to ovh.fr. The website is either misconfigured or your computer clock is set to the wrong time.</p>
</blockquote>
<p>En fait <code>http://ovh.fr</code> redirige vers <code>https://www.ovhtelecom.fr/</code> mais le certificat de <code>https://ovh.fr</code> a expiré depuis le 08/08/2020… OK je dois faire partie de la minorité qui tape encore ses URL plutôt que de passer par Google mais un certificat expiré depuis 21 jours je trouve que ça la fout mal pour "le géant français du Cloud Computing"</p>
<div><a href="https://linuxfr.org/users/faya/journaux/ovh-fr-exemple-de-ce-qu-il-ne-faut-pas-faire-avec-un-certificat.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/121442/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/faya/journaux/ovh-fr-exemple-de-ce-qu-il-ne-faut-pas-faire-avec-un-certificat#comments">ouvrir dans le navigateur</a>
</p>
Fayahttps://linuxfr.org/nodes/121442/comments.atomtag:linuxfr.org,2005:Bookmark/18722020-08-10T13:23:25+02:002020-08-10T13:23:25+02:00Le grand firewall chinois bloque le trafic HTTPS utilisant TLS 1.3<a href="https://www.lemondeinformatique.fr/actualites/lire-le-grand-firewall-chinois-bloque-le-trafic-https-utilisant-tls-13-79983.html">https://www.lemondeinformatique.fr/actualites/lire-le-grand-firewall-chinois-bloque-le-trafic-https-utilisant-tls-13-79983.html</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/121279/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/hitmanu/liens/le-grand-firewall-chinois-bloque-le-trafic-https-utilisant-tls-1-3#comments">ouvrir dans le navigateur</a>
</p>
hitmanuhttps://linuxfr.org/nodes/121279/comments.atomtag:linuxfr.org,2005:Bookmark/18082020-07-19T21:36:30+02:002020-07-20T06:47:39+02:00cryptcheck : vérifiez la qualité cryptographique de vos sites Internet et internes<a href="https://git.imirhil.fr/aeris/cryptcheck">https://git.imirhil.fr/aeris/cryptcheck</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/121115/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/quinton/liens/cryptcheck-verifiez-la-qualite-cryptographique-de-vos-sites-internet-et-internes#comments">ouvrir dans le navigateur</a>
</p>
Marc Quintonhttps://linuxfr.org/nodes/121115/comments.atomtag:linuxfr.org,2005:Post/406372019-11-07T18:51:59+01:002019-11-09T19:40:31+01:00Accès ssh défaillant suite à migration Debian 9 > 10 (résolu)<p>Avé tout le monde.</p>
<p>Je vous soumets un problème qui doit sans doute être peu compliqué pour un veritable admin, mais qui me gâche la fête depuis hier.</p>
<p>J'ai migré avec succès de Debian 9 à 10. Tout s'est bien passé sauf : </p>
<p><strong>mon accès ssh/sftp ne marche plus, le serveur ssh ne répond pas OU refuse la connexion</strong>, malgré mes précautions (j'avais demandé de garder le fichier de config existant). ssh/sftp marchait bien sous Debian 9.</p>
<p>Message PuTTY :</p>
<blockquote>
<p>"Network error : connection refused"</p>
</blockquote>
<p>Message de Core FTP LE : </p>
<blockquote>
<p>"Resolving xx.xxx.xxx.xxx…<br><br>
xx.xxx.xxx.xxx [22] connecting…<br><br>
SFTP connection error - Connection timed out<br>
Can't establish connection --> xx.xxx.xxx.xxx:22 @ Thu Nov 07 15:24:34 2019 (10038-10060) : </p>
</blockquote>
<p>Mon serveur chez OVH :</p>
<pre><code class="sh">Operating system Debian Linux <span class="m">10</span>
Webmin version <span class="m">1</span>.930
Kernel and CPU Linux <span class="m">3</span>.8.13-xxxx-grs-ipv6-64-vps on x86_64
Processor information AMD Opteron<span class="o">(</span>tm<span class="o">)</span> Processor <span class="m">6128</span>, <span class="m">4</span> cores
PHP <span class="m">7</span>.2.24-1+0~20191026.31+debian8~1.gbpbbacde <span class="o">(</span>cli<span class="o">)</span> <span class="o">(</span>built: Oct <span class="m">26</span> <span class="m">2019</span> <span class="m">16</span>:08:53<span class="o">)</span> <span class="o">(</span> NTS <span class="o">)</span>
Copyright <span class="o">(</span>c<span class="o">)</span> <span class="m">1997</span>-2018 The PHP Group
Zend Engine v3.2.0, Copyright <span class="o">(</span>c<span class="o">)</span> <span class="m">1998</span>-2018 Zend Technologies
with Zend OPcache v7.2.24-1+0~20191026.31+debian8~1.gbpbbacde, Copyright <span class="o">(</span>c<span class="o">)</span> <span class="m">1999</span>-2018, by Zend Technologies</code></pre>
<p>J'ai donc desinstallé openssh-server et openssh-client </p>
<pre><code class="sh">apt-get remove openssh-server openssh-client --purge</code></pre>
<p>et nettoyé</p>
<pre><code class="sh">apt-get autoremove
sudo apt-get autoclean</code></pre>
<p>avant de rechercher à nouveau ces deux packages </p>
<pre><code class="sh">apt-get update</code></pre>
<p>Voici ce qui se passe quand je reinstalle openssh-server et openssh-client ("-y --force-yes -f" permet de passer la confirmation de continuation au script, dans webmin)</p>
<pre><code class="sh">apt-get -y --force-yes -f install openssh-server openssh-client
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
libxmuu1 openssh-sftp-server xauth
Suggested packages:
keychain libpam-ssh monkeysphere ssh-askpass molly-guard rssh ufw
The following NEW packages will be installed:
libxmuu1 openssh-client openssh-server openssh-sftp-server xauth
<span class="m">0</span> upgraded, <span class="m">5</span> newly installed, <span class="m">0</span> to remove and <span class="m">0</span> not upgraded.
<span class="m">4</span> not fully installed or removed.
Need to get <span class="m">64</span>.1 kB/1243 kB of archives.
After this operation, <span class="m">5375</span> kB of additional disk space will be used.
Get:1 http://cdn-fastly.deb.debian.org/debian buster/main amd64 libxmuu1 amd64 <span class="m">2</span>:1.1.2-2+b3 <span class="o">[</span><span class="m">23</span>.9 kB<span class="o">]</span>
Get:2 http://cdn-fastly.deb.debian.org/debian buster/main amd64 xauth amd64 <span class="m">1</span>:1.0.10-1 <span class="o">[</span><span class="m">40</span>.3 kB<span class="o">]</span>
debconf: unable to initialize frontend: Dialog
debconf: <span class="o">(</span>TERM is not set, so the dialog frontend is not usable.<span class="o">)</span>
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: <span class="o">(</span>This frontend requires a controlling tty.<span class="o">)</span>
debconf: falling back to frontend: Teletype
dpkg-preconfigure: unable to re-open stdin:
Fetched <span class="m">64</span>.1 kB in 0s <span class="o">(</span><span class="m">341</span> kB/s<span class="o">)</span>
<span class="o">(</span>Reading database ...
<span class="o">(</span>Reading database ... <span class="m">5</span>%
<span class="o">[</span>...<span class="o">]</span>
<span class="o">(</span>Reading database ... <span class="m">100</span>%
<span class="o">(</span>Reading database ... <span class="m">76387</span> files and directories currently installed.<span class="o">)</span>
Preparing to unpack .../openssh-client_1%3a7.9p1-10+deb10u1_amd64.deb ...
Unpacking openssh-client <span class="o">(</span><span class="m">1</span>:7.9p1-10+deb10u1<span class="o">)</span> ...
Selecting previously unselected package libxmuu1:amd64.
Preparing to unpack .../libxmuu1_2%3a1.1.2-2+b3_amd64.deb ...
Unpacking libxmuu1:amd64 <span class="o">(</span><span class="m">2</span>:1.1.2-2+b3<span class="o">)</span> ...
Selecting previously unselected package openssh-sftp-server.
Preparing to unpack .../openssh-sftp-server_1%3a7.9p1-10+deb10u1_amd64.deb ...
Unpacking openssh-sftp-server <span class="o">(</span><span class="m">1</span>:7.9p1-10+deb10u1<span class="o">)</span> ...
Preparing to unpack .../openssh-server_1%3a7.9p1-10+deb10u1_amd64.deb ...
Unpacking openssh-server <span class="o">(</span><span class="m">1</span>:7.9p1-10+deb10u1<span class="o">)</span> ...
Selecting previously unselected package xauth.
Preparing to unpack .../xauth_1%3a1.0.10-1_amd64.deb ...
Unpacking xauth <span class="o">(</span><span class="m">1</span>:1.0.10-1<span class="o">)</span> ...
Setting up openssh-client <span class="o">(</span><span class="m">1</span>:7.9p1-10+deb10u1<span class="o">)</span> ...
Setting up grub-pc <span class="o">(</span><span class="m">2</span>.02+dfsg1-20<span class="o">)</span> ...
debconf: unable to initialize frontend: Dialog
debconf: <span class="o">(</span>TERM is not set, so the dialog frontend is not usable.<span class="o">)</span>
debconf: falling back to frontend: Readline
Installing <span class="k">for</span> i386-pc platform.
Installation finished. No error reported.
Generating grub configuration file ...
/etc/grub.d/06_OVHkernel: line <span class="m">6</span>: /usr/lib/grub/update-grub_lib: No such file or directory
dpkg: error processing package grub-pc <span class="o">(</span>--configure<span class="o">)</span>:
installed grub-pc package post-installation script subprocess returned error <span class="nb">exit</span> status <span class="m">1</span>
Setting up keyboard-configuration <span class="o">(</span><span class="m">1</span>.193~deb10u1<span class="o">)</span> ...
debconf: unable to initialize frontend: Dialog
debconf: <span class="o">(</span>TERM is not set, so the dialog frontend is not usable.<span class="o">)</span>
debconf: falling back to frontend: Readline
cat: <span class="s1">'/sys/bus/usb/devices/*:*/bInterfaceClass'</span>: No such file or directory
cat: <span class="s1">'/sys/bus/usb/devices/*:*/bInterfaceSubClass'</span>: No such file or directory
cat: <span class="s1">'/sys/bus/usb/devices/*:*/bInterfaceProtocol'</span>: No such file or directory
/var/lib/dpkg/info/keyboard-configuration.postinst: <span class="m">108</span>: /var/lib/dpkg/info/keyboard-configuration.postinst: cannot create /etc/default/keyboard: Permission denied
dpkg: error processing package keyboard-configuration <span class="o">(</span>--configure<span class="o">)</span>:
installed keyboard-configuration package post-installation script subprocess returned error <span class="nb">exit</span> status <span class="m">2</span>
Setting up libxmuu1:amd64 <span class="o">(</span><span class="m">2</span>:1.1.2-2+b3<span class="o">)</span> ...
Setting up openssh-sftp-server <span class="o">(</span><span class="m">1</span>:7.9p1-10+deb10u1<span class="o">)</span> ...
dpkg: dependency problems prevent configuration of console-setup:
console-setup depends on keyboard-configuration <span class="o">(=</span> <span class="m">1</span>.193~deb10u1<span class="o">)</span><span class="p">;</span> however:
Package keyboard-configuration is not configured yet.
dpkg: error processing package console-setup <span class="o">(</span>--configure<span class="o">)</span>:
dependency problems - leaving unconfigured
Setting up openssh-server <span class="o">(</span><span class="m">1</span>:7.9p1-10+deb10u1<span class="o">)</span> ...
debconf: unable to initialize frontend: Dialog
debconf: <span class="o">(</span>TERM is not set, so the dialog frontend is not usable.<span class="o">)</span>
debconf: falling back to frontend: Readline
rescue-ssh.target is a disabled or a static unit, not starting it.
Job <span class="k">for</span> ssh.service failed because the control process exited with error code.
See <span class="s2">"systemctl status ssh.service"</span> and <span class="s2">"journalctl -xe"</span> <span class="k">for</span> details.
invoke-rc.d: initscript ssh, action <span class="s2">"restart"</span> failed.
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded <span class="o">(</span>/lib/systemd/system/ssh.service<span class="p">;</span> enabled<span class="p">;</span> vendor preset: enabled<span class="o">)</span>
Active: activating <span class="o">(</span>auto-restart<span class="o">)</span> <span class="o">(</span>Result: exit-code<span class="o">)</span> since Thu <span class="m">2019</span>-11-07 <span class="m">15</span>:21:08 CET<span class="p">;</span> 9ms ago
Docs: man:sshd<span class="o">(</span><span class="m">8</span><span class="o">)</span>
man:sshd_config<span class="o">(</span><span class="m">5</span><span class="o">)</span>
Process: <span class="m">30350</span> <span class="nv">ExecStartPre</span><span class="o">=</span>/usr/sbin/sshd -t <span class="o">(</span><span class="nv">code</span><span class="o">=</span>exited, <span class="nv">status</span><span class="o">=</span><span class="m">255</span>/EXCEPTION<span class="o">)</span>
dpkg: error processing package openssh-server <span class="o">(</span>--configure<span class="o">)</span>:
installed openssh-server package post-installation script subprocess returned error <span class="nb">exit</span> status <span class="m">1</span>
Setting up xauth <span class="o">(</span><span class="m">1</span>:1.0.10-1<span class="o">)</span> ...
dpkg: dependency problems prevent configuration of console-setup-linux:
console-setup-linux depends on keyboard-configuration <span class="o">(=</span> <span class="m">1</span>.193~deb10u1<span class="o">)</span><span class="p">;</span> however:
Package keyboard-configuration is not configured yet.
dpkg: error processing package console-setup-linux <span class="o">(</span>--configure<span class="o">)</span>:
dependency problems - leaving unconfigured
Processing triggers <span class="k">for</span> systemd <span class="o">(</span><span class="m">241</span>-7~deb10u1<span class="o">)</span> ...
Processing triggers <span class="k">for</span> man-db <span class="o">(</span><span class="m">2</span>.8.5-2<span class="o">)</span> ...
Processing triggers <span class="k">for</span> libc-bin <span class="o">(</span><span class="m">2</span>.28-10<span class="o">)</span> ...
Errors were encountered <span class="k">while</span> processing:
grub-pc
keyboard-configuration
console-setup
openssh-server
console-setup-linux
W: --force-yes is deprecated, use one of the options starting with --allow instead.
E: Sub-process /usr/bin/dpkg returned an error code <span class="o">(</span><span class="m">1</span><span class="o">)</span></code></pre>
<pre><code class="sh">service ssh restart
Job <span class="k">for</span> ssh.service failed because the control process exited with error code.
See <span class="s2">"systemctl status ssh.service"</span> and <span class="s2">"journalctl -xe"</span> <span class="k">for</span> details.</code></pre>
<pre><code class="sh">systemctl status ssh.service
ssh.service - OpenBSD Secure Shell server
Loaded: loaded <span class="o">(</span>/lib/systemd/system/ssh.service<span class="p">;</span> enabled<span class="p">;</span> vendor preset: enabled<span class="o">)</span>
Active: failed <span class="o">(</span>Result: exit-code<span class="o">)</span> since Thu <span class="m">2019</span>-11-07 <span class="m">15</span>:24:53 CET<span class="p">;</span> 18s ago
Docs: man:sshd<span class="o">(</span><span class="m">8</span><span class="o">)</span>
man:sshd_config<span class="o">(</span><span class="m">5</span><span class="o">)</span>
Process: <span class="m">31292</span> <span class="nv">ExecStartPre</span><span class="o">=</span>/usr/sbin/sshd -t <span class="o">(</span><span class="nv">code</span><span class="o">=</span>exited, <span class="nv">status</span><span class="o">=</span><span class="m">255</span>/EXCEPTION<span class="o">)</span>
Nov <span class="m">07</span> <span class="m">15</span>:24:53 vps129566 systemd<span class="o">[</span><span class="m">1</span><span class="o">]</span>: ssh.service: Service <span class="nv">RestartSec</span><span class="o">=</span>100ms expired, scheduling restart.
Nov <span class="m">07</span> <span class="m">15</span>:24:53 vps129566 systemd<span class="o">[</span><span class="m">1</span><span class="o">]</span>: ssh.service: Scheduled restart job, restart counter is at <span class="m">5</span>.
Nov <span class="m">07</span> <span class="m">15</span>:24:53 vps129566 systemd<span class="o">[</span><span class="m">1</span><span class="o">]</span>: Stopped OpenBSD Secure Shell server.
Nov <span class="m">07</span> <span class="m">15</span>:24:53 vps129566 systemd<span class="o">[</span><span class="m">1</span><span class="o">]</span>: ssh.service: Start request repeated too quickly.
Nov <span class="m">07</span> <span class="m">15</span>:24:53 vps129566 systemd<span class="o">[</span><span class="m">1</span><span class="o">]</span>: ssh.service: Failed with result <span class="s1">'exit-code'</span>.
Nov <span class="m">07</span> <span class="m">15</span>:24:53 vps129566 systemd<span class="o">[</span><span class="m">1</span><span class="o">]</span>: Failed to start OpenBSD Secure Shell server.</code></pre>
<p>Je sais qu'il y a des erreurs pour d'autres modules, mais n'ont toutefois pas causé des problèmes tout au long de la migration Debian 7 > 8 > 9 : </p>
<blockquote>
<p>grub-pc<br>
keyboard-configuration<br>
console-setup<br>
console-setup-linux</p>
</blockquote>
<p>(mais je peux me tromper !)<br>
A rectifier … une fois que mon accès ssh/sftp remarche !</p>
<p>Merci de vos lumières, et de votre précieuse assistance !</p>
<p>Christian</p>
<div><a href="https://linuxfr.org/forums/linux-debutant/posts/acces-ssh-defaillant-suite-a-migration-debian-9-10-resolu.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/118569/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debutant/posts/acces-ssh-defaillant-suite-a-migration-debian-9-10-resolu#comments">ouvrir dans le navigateur</a>
</p>
Kreegohttps://linuxfr.org/nodes/118569/comments.atomtag:linuxfr.org,2005:Post/404722019-09-17T07:54:59+02:002019-09-17T07:54:59+02:00activation ssl en local<h2 id="toc-activation-ssl-en-local">activation ssl en local</h2>
<p>Bonjour,<br>
J’ai installé Debian en local, et mise en place la solution <strong>lamp</strong> plus <strong>phpMyAdmin</strong> pour gérer mes sites web.<br>
Enfin, j'ai installé <strong>LetSenCrypt</strong> pour crypter mes données entre mon serveur et celle des clients pour une meilleurs sécurités et protections sensibles de mes utilisateurs.<br>
Mais seulement voilà, lorsque je tente d'activer le certificat <strong>ssl</strong> de mes noms de domaine, mes sites sont par la suite inaccessibles que ce soit en http qu’en https.</p>
<p>Alors j'ai tenté de le faire chez mon hébergeur, j'ai fait la même chose que j'ai fait en local, l'installation de lamp et de phpMyAdmin et là, j'arrive à avoir le certificat <strong>ssl</strong> qui fonctionne bien, mes noms de domaines passent bien ssl et je peux donc y accéder à mes sites via https.</p>
<p>Ma question est, pour qu'elle raison mes activations en <strong>ssl</strong> de mes noms de domaine fonctionne t'ils <strong>chez l'hébergeur "ovh"</strong> et non pas en local chez moi.</p>
<div><a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/activation-ssl-en-local.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/118134/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-debian-ubuntu/posts/activation-ssl-en-local#comments">ouvrir dans le navigateur</a>
</p>
gerardhttps://linuxfr.org/nodes/118134/comments.atomtag:linuxfr.org,2005:Bookmark/2332018-08-14T16:23:16+02:002018-08-14T16:23:16+02:00TLS1.3 apporte davantage de sécurité<a href="https://www.ietf.org/blog/tls13/">https://www.ietf.org/blog/tls13/</a> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/115081/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/pamputt/liens/tls1-3-apporte-davantage-de-securite#comments">ouvrir dans le navigateur</a>
</p>
pamputthttps://linuxfr.org/nodes/115081/comments.atomtag:linuxfr.org,2005:Diary/380092018-07-05T00:44:01+02:002018-07-05T00:44:01+02:00chexpire, un nouveau Logiciel LibreLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Un logiciel est considéré comme « libre » si il est publié sous une licence libre (GPL, BSD, etc.) mais à mon humble avis ce n'est pas suffisant. En effet, si l'on se contente de fournir le code source dans un <em>tar.gz</em> sans utiliser de dépôt public et sans Changelog, est-ce que cela donne véritablement la liberté de l'étudier ? Sans l'historique des commits, est-ce que cela permet facilement d'écrire un patch ?</p>
<p>Un Logiciel Libre doit pouvoir être étudié et modifié, et je pense que cela implique :<br>
- d'avoir dépôt public<br>
- de rédiger des messages de commit clairs<br>
- d'avoir un bug tracker public<br>
- d'avoir des canaux de communication publics (IRC, listes de diffusion)<br>
- de publier la Roadmap<br>
- de faciliter la contribution (contributing guidelines)</p>
<p>Cela paraît évident pour beaucoup, et j'oublie sûrement des critères, mais l'idée générale est qu'un Logiciel Libre doit favoriser la contribution. Il y a trop d'entreprises qui agitent les termes "Logiciel Libre" et "Open Source" sans encourager la collaboration…</p>
<p>Dans cette optique, un élément important pour inciter les contributions est d'ouvrir au plus tôt les outils, que cela soit transparent dès le début, permettant ainsi aux personnes intéressées de donner des idées, de reporter des bugs, d'écrire de la documentation, de traduire, de contribuer au code, etc.</p>
<p>Il y a quelques mois, <a href="https://twitter.com/jlecour">Jéremy Lecour</a> et moi avons eu l'idée de créer un Logiciel Libre pour surveiller les expirations de noms de domaine et de certificats SSL. À l'heure de l'explosion du chiffrement SSL/TLS, détecter l'expiration des certificats est important (cf <a href="//linuxfr.org/news/un-incident-et-des-operations-de-maintenance-sur-le-site">l'incident récent sur linuxfr</a>). Et pour les noms de domaine, quand vous avez plusieurs registrars, il est pratique d'avoir une centralisation des dates d'expiration et des notifications sur mesure.</p>
<p>Après discussions, on a fixé le cadre de ce projet : se baser sur les informations publiques (requêtes TLS, WHOIS), avoir une interface web, permettre des notifications avancées par email et faire un « vrai Logiciel Libre ». L'objectif est de créer un logiciel simple et ergonomique, qui permette d'avoir des installations publiques utilisées par plusieurs utilisateurs.</p>
<p>Le projet a débuté il y a quelques jours, nous avons fait les premiers choix techniques, comme l'utilisation de <a href="https://rubyonrails.org/">Ruby on Rails</a> ou la licence <a href="https://www.gnu.org/licenses/agpl-3.0.fr.html">AGPLv3</a>, et passé quelques heures à écrire les premières lignes de code. Ça n'est évidemment pas utilisable pour l'instant mais dans l'optique expliquée plus haut <strong>nous voulons rendre transparent dès le début cet embryon de projet et encourager les contributions</strong> !</p>
<p><a href="https://github.com/Evolix/chexpire">Le dépôt et le bug tracker : https://github.com/Evolix/chexpire</a><br>
Canal de communication : IRC #chexpire sur Freenode<br>
<a href="https://github.com/Evolix/chexpire/milestones">Roadmap (en cours de rédaction)</a></p>
<div><a href="https://linuxfr.org/users/gcolpart/journaux/chexpire-un-nouveau-logiciel-libre.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114836/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/gcolpart/journaux/chexpire-un-nouveau-logiciel-libre#comments">ouvrir dans le navigateur</a>
</p>
Gregory Colparthttps://linuxfr.org/nodes/114836/comments.atomtag:linuxfr.org,2005:Post/393412018-07-03T13:36:50+02:002018-07-03T13:36:50+02:00Squid : Certains sites TLS ne traversent pas<p>Bonjour,</p>
<p>Je rencontre un problème avec mon serveur Squid pour afficher quelques sites en HTTPS.<br>
Je n'arrive pas à comprendre la logique car la plupart passent bien et d'autre me retournent une erreur type "Échec de la connexion sécurisée".</p>
<p>Quelques exemples de sites qui ne traversent pas le proxy : <a href="https://bitly.com">https://bitly.com</a>, <a href="https://www.velomacchi.com">https://www.velomacchi.com</a>, <a href="https://www.raise3d.com/">https://www.raise3d.com/</a></p>
<p>J'imagine que leur configuration TLS est différente d'autres sites mais je ne sais pas en quoi.</p>
<p>Je remarque des différences avec Wget et openssl connect.</p>
<p>Est-ce que quelqu'un peut éclairer ma lanterne ?</p>
<p>Merci d'avance </p>
<pre><code>root@cache:~# wget https://bitly.com
--2018-07-03 13:23:20-- https://bitly.com/
Résolution de bitly.com (bitly.com)… 67.199.248.15, 67.199.248.14
Connexion à bitly.com (bitly.com)|67.199.248.15|:443… connecté.
GnuTLS: The TLS connection was non-properly terminated.
Incapable d'établir une connexion SSL.
root@cache:~# wget https://www.lemonde.fr
--2018-07-03 13:24:33-- https://www.lemonde.fr/
Résolution de www.lemonde.fr (www.lemonde.fr)… 93.184.220.239
Connexion à www.lemonde.fr (www.lemonde.fr)|93.184.220.239|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 382094 (373K) [text/html]
Sauvegarde en : « index.html »
index.html 100%[=======================>] 373,14K --.-KB/s in 0,01s
2018-07-03 13:24:33 (37,2 MB/s) — « index.html » sauvegardé [382094/382094]
root@cache:~# openssl s_client -connect bitly.com:443
CONNECTED(00000003)
write:errno=0
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 176 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : 0000
Session-ID:
Session-ID-ctx:
Master-Key:
PSK identity: None
PSK identity hint: None
SRP username: None
Start Time: 1530617494
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: no
---
root@cache:~# openssl s_client -connect www.lemonde.fr:443
CONNECTED(00000003)
depth=2 C = US, O = DigiCert Inc, OU = www.digicert.com, CN = DigiCert Global Root CA
verify return:1
depth=1 C = US, O = DigiCert Inc, CN = DigiCert SHA2 Secure Server CA
verify return:1
depth=0 C = US, ST = California, L = Los Angeles, O = "Verizon Digital Media Services, Inc.", OU = Technology, CN = www.atanar.net
verify return:1
---
Certificate chain
0 s:/C=US/ST=California/L=Los Angeles/O=Verizon Digital Media Services, Inc./OU=Technology/CN=www.atanar.net
i:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
1 s:/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
2 s:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
i:/C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert Global Root CA
---
Server certificate
-----BEGIN CERTIFICATE-----
MIIJhjCCCG6gAwIBAgIQAk5Lhyx585PuXtDh5H4U3zANBgkqhkiG9w0BAQsFADBN
MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMScwJQYDVQQDEx5E
aWdpQ2VydCBTSEEyIFNlY3VyZSBTZXJ2ZXIgQ0EwHhcNMTgwNTA4MDAwMDAwWhcN
MjAwODA5MTIwMDAwWjCBlTELMAkGA1UEBhMCVVMxEzARBgNVBAgTCkNhbGlmb3Ju
aWExFDASBgNVBAcTC0xvcyBBbmdlbGVzMS0wKwYDVQQKEyRWZXJpem9uIERpZ2l0
YWwgTWVkaWEgU2VydmljZXMsIEluYy4xEzARBgNVBAsTClRlY2hub2xvZ3kxFzAV
BgNVBAMTDnd3dy5hdGFuYXIubmV0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
CgKCAQEAoaZTuJc3tyHTYw5T+YFUK95otmnAjKEkOB+yITkQIfKB/4LdqLIoTyKt
K4jwUkz8UeNr1SssxXrfK0bJHFmkoMh+yPvdHXt+Cax8+bHIXMJ5ilegtQ4a3/LT
tiaDQTORRkHhGgp0NCAFcFFqYD+csz9GiXnqDy95K2RyfDrIDg3tO+W1lGq5qEBk
z3yvdaXa+sZXuAWXAyUaNTp+0Ck5z50d/09O0ttQm0VZJm0DejywrXXE3sgQxZFg
11bzfOAe95w7Ui3oxp5gXWxXtmmzepjzBTRmXjABDT1ggtPPdajj/MQbpaBt84Gc
a+8pazppVwXSJkcuyYyFavNpT+Ub6QIDAQABo4IGFzCCBhMwHwYDVR0jBBgwFoAU
D4BhHIIxYdUvKOeNRji0LOHG2eIwHQYDVR0OBBYEFDs0L7cJdKbrchz19ACWWvLT
sOdUMIICYQYDVR0RBIICWDCCAlSCDnd3dy5hdGFuYXIubmV0ggtzMS5sZW1kZS5m
coILczIubGVtZGUuZnKCEmFib25uZXMubGVtb25kZS5mcoIOd3d3LmxlbW9uZGUu
ZnKCH2lkbS5zbWFydC1kaWdpdGFsLXNvbHV0aW9ucy5jb22CEHd3dy5zd2lzc2lu
Zm8uY2iCG29wbS1kbnguZGlzbmV5bGFuZHBhcmlzLmNvbYIVb2JqZWN0cy5haXJm
cmFuY2UuY29tgghhLmYxZy5mcoIIaS5mMWcuZnKCFHd3dy1hY3Auc3dpc3NpbmZv
LmNogghwLmYxZy5mcoITaW1hZ2UubWVkaWFib25nLmNvbYIUc3RhdGljLm1lZGlh
Ym9uZy5jb22CF3d3dy5zY2llbmNlc2V0YXZlbmlyLmZyghF3d3cuY2hhbGxlbmdl
cy5mcoIWd3d3LnBvdXJxdW9pZG9jdGV1ci5mcoIabXktcnVuLmRpc25leWxhbmRw
YXJpcy5jb22CGW15LXJ1bi5kaXNuZXlsYW5kcGFyaXMuZnKCHGJvb2stcnVuLmRp
c25leWxhbmRwYXJpcy5jb22CG2Jvb2stcnVuLmRpc25leWxhbmRwYXJpcy5mcoIM
aW1nLmxlbWRlLmZyghZ3d3cuc3RhZ2luZy5haXJidXMuY29tghxzdGF0aWMuYm9v
a2luZy53ZWVrZW5kZXNrLmZygg5hc3NldC5sZW1kZS5mcoIXYW5udWFscmVwb3J0
LmFpcmJ1cy5jb22CG2Nkbi5mci5zaG9wcGluZy5yYWt1dGVuLmNvbTAOBgNVHQ8B
Af8EBAMCBaAwHQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMGsGA1UdHwRk
MGIwL6AtoCuGKWh0dHA6Ly9jcmwzLmRpZ2ljZXJ0LmNvbS9zc2NhLXNoYTItZzYu
Y3JsMC+gLaArhilodHRwOi8vY3JsNC5kaWdpY2VydC5jb20vc3NjYS1zaGEyLWc2
LmNybDBMBgNVHSAERTBDMDcGCWCGSAGG/WwBATAqMCgGCCsGAQUFBwIBFhxodHRw
czovL3d3dy5kaWdpY2VydC5jb20vQ1BTMAgGBmeBDAECAjB8BggrBgEFBQcBAQRw
MG4wJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBGBggrBgEF
BQcwAoY6aHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0U0hBMlNl
Y3VyZVNlcnZlckNBLmNydDAMBgNVHRMBAf8EAjAAMIIB9AYKKwYBBAHWeQIEAgSC
AeQEggHgAd4AdQCkuQmQtBhYFIe7E6LMZ3AKPDWYBPkb37jjd80OyA3cEAAAAWM+
2SaEAAAEAwBGMEQCIFyzDAbldNty+dVr0fmC5Qb4UPgNnDrobJaO8IzUAm6bAiBs
TKSkuV4wRo5VIWIWu6eYPy0a7kgmhs2S7VmIfbLjvwB2AG9Tdqwx8DEZ2JkApFEV
/3cVHBHZAsEAKQaNsgiaN9kTAAABYz7ZKCIAAAQDAEcwRQIhAPIa5xsQZ09fTO1T
GLFidBm2Ru+YUtajWR2M0+3dfbvGAiACd1F/v5t7ch/WNLFqbZKnSFG0kVRnzJwa
A/2MTxq/jQB1ALvZ37wfinG1k5Qjl6qSe0c4V5UKq1LoGpCWZDaOHtGFAAABYz7Z
J4IAAAQDAEYwRAIgLsJJTHPeLGN7qnlr/og+BN3LGaGn8NznsWE8oSIk9tICIEuC
WG+AvIJFddp3XmdZ550TuclW0Mlj7xs/dfUdg8P/AHYAVYHUwhaQNgFK6gubVzxT
8MDkOHhwJQgXL6OqHQcT0wwAAAFjPtkpugAABAMARzBFAiBahXGGMpVV04a2cyzR
cl4Yr9Q/LDG49gU+w8+vJNsu/gIhAND6nP7MCionuv+aE33qfuXEuIJa8uD/AtnZ
ayvgL0i/MA0GCSqGSIb3DQEBCwUAA4IBAQBLfLrbD6yqybqhZOur9NkkHE0Ds7nk
tCDj/C/e0eOFh2dxoajHYmn3SG41bL0Ve5dYio5aQPGk0vR0uIztnZjCRC37/Ig/
7QeT3Luj2tMxQgL0hQ55N/eEYMy84rnLxxyv1A73Q3It1bgSsz163CyON9DLMy8m
3ZZaAi6cOSlsHM239+GU+6EJ6xGVq+TOa2cZkUMFN7T/zoxk1CvF6lDhYbysjdhu
68OHOkJc5RMvtkvV8qJS6ZM0qVmvsKTriobIJkU8cH8o9JoTEH8rMy9xSQokR01M
/Sjr0meD2NSutI85lzAaQq74mmFqqAliPKQ2bwW9f3UVNHCGbE8KunFY
-----END CERTIFICATE-----
subject=/C=US/ST=California/L=Los Angeles/O=Verizon Digital Media Services, Inc./OU=Technology/CN=www.atanar.net
issuer=/C=US/O=DigiCert Inc/CN=DigiCert SHA2 Secure Server CA
---
No client certificate CA names sent
Peer signing digest: SHA512
Server Temp Key: ECDH, P-256, 256 bits
---
SSL handshake has read 5229 bytes and written 302 bytes
Verification: OK
---
New, TLSv1.2, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
Protocol : TLSv1.2
Cipher : ECDHE-RSA-AES128-GCM-SHA256
Session-ID: 0E51A945BFF7BD5964A4092BF29390DFCF0C734F75B9FE1DA4A2920A66F03F3A
Session-ID-ctx:
Master-Key: 5754E8D5C100C3FF354B19A1B5504FA762F9E16765FEB769CF7A517F80F645A164C0D2EB02A9A72F1B7FCAD00D7FBC98
PSK identity: None
PSK identity hint: None
SRP username: None
TLS session ticket lifetime hint: 7200 (seconds)
TLS session ticket:
0000 - 8d c5 b5 6c 88 e7 47 58-bf e7 be 8f bb c6 6d d3 ...l..GX......m.
0010 - a4 f3 bb 0e 87 62 c7 1f-ae 4d e6 7b 94 9d 77 2c .....b...M.{..w,
0020 - 7d f6 8c 21 62 3b bb 11-05 c3 ea 1c c4 2c fe 72 }..!b;.......,.r
0030 - 55 a9 f4 b5 b9 b1 86 e2-a5 68 e4 08 3b 36 85 c2 U........h..;6..
0040 - 27 5c 9f bf 97 31 ae fe-b1 cd f7 56 be a7 60 c3 '\...1.....V..`.
0050 - a5 78 42 dc 8b f8 6b b7-30 94 d9 6d 4c 5a 19 e0 .xB...k.0..mLZ..
0060 - aa 67 cb 47 fd ca 68 19-3c 27 31 3c 5a 84 69 5d .g.G..h.<'1<Z.i]
0070 - 07 4f 30 5a 2e ff 7d bc-36 d1 90 f8 28 06 09 58 .O0Z..}.6...(..X
0080 - 26 a8 4d ff 87 36 ab 44-27 33 f8 2f b3 05 70 1d &.M..6.D'3./..p.
0090 - 45 3e c1 ab 85 c8 c4 55-89 5b 01 44 b7 39 02 b0 E>.....U.[.D.9..
Start Time: 1530617635
Timeout : 7200 (sec)
Verify return code: 0 (ok)
Extended master secret: yes
---
</code></pre>
<div><a href="https://linuxfr.org/forums/linux-general/posts/squid-certains-sites-tls-ne-traversent-pas.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114829/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/linux-general/posts/squid-certains-sites-tls-ne-traversent-pas#comments">ouvrir dans le navigateur</a>
</p>
Adminrezohttps://linuxfr.org/nodes/114829/comments.atomtag:linuxfr.org,2005:Post/391982018-04-27T11:59:47+02:002018-04-27T11:59:47+02:00Utiliser SSLv3 avec la bibliothque ssl en python 2 <p>Bonjour, je cherche à faire un programme en python 2.7 (en utilisant uniquement des bibliothèque de la librairie standard) afin de déterminer les versions de SSL/TLS supportés par un site web.</p>
<p>Voici mon code (en mode un peu brouillon). Pour des soucis de clarté, je teste uniquement le cipher suite RC4-SHA ici</p>
<pre><code> #encoding=utf-8
import ssl
import socket
import traceback
import logging
import sys
import json
class AnalyseSSL:
cipher_list="RC4-SHA".split(":")
list_version_ssl_tls = [
("SSLv2", ssl.OP_ALL | ssl.OP_NO_SSLv3 | ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_TLSv1_2),
("SSLv3", ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_TLSv1_2),
("TLSv1", ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 | ssl.OP_NO_TLSv1_1 | ssl.OP_NO_TLSv1_2),
("TLSv1_1", ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 | ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_2),
("TLSv1_2", ssl.OP_ALL | ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 | ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1),
]
def __init__(self, hostname, port):
self.hostname = hostname
self.port = port
# try to connect to the hostname with all cipher suite for each SSL/TLS version
def try_all_ssl_tls_version(self):
logging.warning("---------------------------------------- %s", port)
nb_tentative_max = 5
cpt_tentative_max = 0
resultat = {}
try:
print 'hostname : ', hostname
for version in self.list_version_ssl_tls: # Pour chaque version de SSL/TLS
cpt_nb_tentative_max = 0
is_version_supported = False
if cpt_tentative_max >= 5:
break;
for cipher_suite in self.cipher_list: # Pour chaque cipher suite
print cipher_suite
context = ssl.create_default_context(ssl.Purpose.SERVER_AUTH) # création du context
context.check_hostname = False
context.verify_mode = ssl.CERT_NONE
context.options = version[1] # on spécifie la version de SSL/TLS qu'on veut utiliser
print context.options
try:
context.set_ciphers(cipher_suite) # on spécifie la cipher suite à utiliser
except Exception as e:
print "Exception : ", e
pass
traceback.print_exc(e)
s_ = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s = context.wrap_socket(s_)
#s = context.wrap_socket(s_, server_hostname=hostname)
#print "timeout : ", s.gettimeout()
s.settimeout(5)
#print "timeout : ", s.gettimeout()
try:
s.connect((hostname, port)) # on tente de se connecter
if (is_version_supported == False):
print version[0], "supporté"
is_version_supported = True
print s.cipher()
#logging.info("---------------------------------------- %s %s", %(version[0], s.cipher()))
s.close()
except socket.timeout:
cpt_tentative_max += 1
if cpt_tentative_max >= 5:
break;
except Exception as e: # si la connexion a échoué
#print "[version ", version[0], " with ", cipher_suite, " :: ", e
#print s.getpeercert()
#traceback.print_exc(e)
print e
pass
if is_version_supported == False:
print version[0], "non supporté"
print "\n"
except Exception as e:
print e
traceback.print_exec(e)
pass
hostname = 'PUT YOUR IP HERE'
port = 443
A = AnalyseSSL(hostname, port)
A.try_all_ssl_tls_version()
</code></pre>
<p>Le problème c'est que je ne peux jamais établir de connection utilisant SSL3. J'ai une ip dont je suis sur à 1000% qu'elle accepte du SSL3 avec le cipher suite RC4-SHA (testé avec d'autre outils comme sslyze, testssl nottament).<br>
Mais impossible avec mon script d'établir une connexion SSL 3 avec ce cipher suite depuis mon script.<br>
Mon script fonctionne bien pour toutes les versions de TLS, mais dès que je veux utiliser SSL, j'ai l'erreur suivante :</p>
<pre><code>[SSL: UNSUPPORTED_PROTOCOL] unsupported protocol (_ssl.c:581)
```Pourquoi ne puis-je pas utiliser SSL3 ? (j'ai recompiler la librairie openssl en ajoutant les flags me permettant justement d'utiliser ssl3). La preuve, lorsque je lance la commande suivante sur la même ip, j'arrive bien a me connecter.
</code></pre>
<p>openssl s_client -connect IP -ssl3 -ciphers RC4-SHA<br>
```Comment suis-je sensé résoudre ce problème ?</p>
<p>Cordialement </p><div><a href="https://linuxfr.org/forums/programmation-python/posts/utiliser-sslv3-avec-la-bibliothque-ssl-en-python-2.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/114341/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/forums/programmation-python/posts/utiliser-sslv3-avec-la-bibliothque-ssl-en-python-2#comments">ouvrir dans le navigateur</a>
</p>
mademhttps://linuxfr.org/nodes/114341/comments.atomtag:linuxfr.org,2005:Diary/374252017-07-27T22:34:27+02:002017-07-27T22:34:27+02:00Let's Encrypt, OVH et la sécuritéLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Bonjour Nal,</p>
<p>Depuis quelques temps, OVH permet à tout leurs clients d'avoir des certificats SSL gratuits grâce à <a href="https://fr.wikipedia.org/wiki/Let's_Encrypt">Let's Encrypt</a>. C'est automatisé, y'a rien à faire, et c'est bien!</p>
<p>Mais quel est l'intérêt si pour envoyer des fichiers sur mon hébergement, je n'ai aucune sécurité? En effet, depuis toujours, les <a href="https://www.ovh.com/fr/hebergement-web/">hébergements Perso</a> n'ont qu'un simple accès FTP, avec mot de passe non chiffré.<br>
Pour Héberger mon blog, je n'ai pas besoin de 250 Go d'espace, ou de 100 comptes mail de 5Go, ou d'une base SQL de 2Go. Mais une connexion sécurisée, c'est juste essentiel, parce que ni mon FAI, ni l'administrateur du MC Donald ou ses clients, ni l’hôtel qui m'héberge, n'ont à connaître mon mot de passe. La sécurité ne devrait pas être une option.</p>
<p>En l'état actuel, n'importe qui pourrait poster n'importe quoi sur mon hébergement, mais ne vous inquiétez pas: la connexion entre le serveur et votre navigateur est chiffrée.</p>
<p>Qu'en pense tu, Nal? Bon trolldi</p><div><a href="https://linuxfr.org/users/ted/journaux/let-s-encrypt-ovh-et-la-securite.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/112381/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/ted/journaux/let-s-encrypt-ovh-et-la-securite#comments">ouvrir dans le navigateur</a>
</p>
tedhttps://linuxfr.org/nodes/112381/comments.atomtag:linuxfr.org,2005:Diary/371322017-02-14T10:18:32+01:002017-02-14T11:23:44+01:00Déploiement et automatisation avec Puppet 4.9 - partie 1 Licence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<h2 class="sommaire">Sommaire</h2>
<ul class="toc">
<li>
<a href="#installation">Installation</a><ul>
<li>
<a href="#master--puppetserver">MASTER / </a><a href="https://github.com/puppetlabs/puppetserver">puppetserver</a>
</li>
<li><a href="#slave--puppet-agent-node">SLAVE / puppet-agent (node)</a></li>
</ul>
</li>
<li>
<a href="#un-peu-de-configuration">Un peu de configuration</a><ul>
<li><a href="#puppetconf">puppet.conf</a></li>
</ul>
</li>
<li>
<a href="#ajouter-un-node-au-master">Ajouter un node au master</a><ul>
<li><a href="#sur-le-slave">sur le SLAVE</a></li>
<li><a href="#sur-le-master">Sur le MASTER</a></li>
</ul>
</li>
<li><a href="#troubleshooting-install">Troubleshooting (install)</a></li>
<li>
<a href="#premier-manifest">Premier manifest</a><ul>
<li><a href="#sur-le-master-1">sur le MASTER</a></li>
</ul>
</li>
</ul><ul>
<li>partie 1 : installation et 1er manifest.</li>
<li>original : <a href="https://www.cyphercat.eu/deploiement-et-automatisation-avec-puppet-partie-1/">www.cyphercat.eu/deploiement-et-automatisation-avec-puppet-partie-1</a>
</li>
</ul><p>Puppet est l'outil de gestion de configuration le plus connu, il a vu le jour en 2005, bien avant ses principaux concurrents (2009 pour <a href="https://en.wikipedia.org/wiki/Chef_(software)">Chef</a>, 2011 pour <a href="https://en.wikipedia.org/wiki/Salt_(software)">Salt</a>, 2012 pour <a href="https://en.wikipedia.org/wiki/Ansible_(software)">Ansible</a>). Il propose depuis maintenant longtemps une solution open-source en parallèle de la version entreprise (qui est évidemment payante) et il a eu le temps de grandir pour atteindre une taille plus que respectable.</p>
<p>Au contraire d'Ansible où ça reste plutôt simple pour le moment, les premières recherches que vous allez faire ont toutes les chances de vous laisser quelque part entre "mais je commence par quoi bordel ?!" et "mais… mais… c'est horriblement compliqué". Parce que oui, évidemment, en plus de 10 ans le logiciel a eu le temps de se développer, sa communauté aussi et quand on parle maintenant de puppet certains termes comme <a href="https://github.com/puppetlabs/control-repo">control-repo</a>, <a href="https://github.com/puppetlabs/r10k">R10K</a>, <a href="https://docs.puppet.com/puppetdb/">puppetdb</a>, <a href="https://docs.puppet.com/hiera/">hiera</a>, <a href="https://puppet.com/blog/unit-testing-rspec-puppet-for-beginners">rspec</a>, <a href="https://forge.puppet.com/">modules</a>, <a href="http://librarian-puppet.com/">librarian-puppet</a> reviennent souvent.</p>
<p>Si vous vous posez la question, oui, c'est le bon moment pour se faire un thé (et je veux bien un <a href="https://www.tripadvisor.com/Restaurant_Review-g187147-d1174565-Reviews-Maison_des_trois_thes-Paris_Ile_de_France.html">rubis birman</a> pendant que l'on y est).</p>
<p>Avant de continuer, n'oubliez pas que :</p>
<ul>
<li>il y a une seule chose importante à retenir pour le moment : la documentation est sur <a href="https://docs.puppet.com/puppet/4.8/install_pre.html">docs.puppet.com</a>.</li>
<li>mon serveur "master" se nomme <code>master.cyphercat.eu</code>
</li>
<li>mon serveur "slave1" ou "node1" s'appelle <code>slave1.cyphercat.eu</code>
</li>
</ul><p>N'oubliez donc pas de changer les noms des serveurs avez les vôtres au fur et à mesure de cet article. <strong>Je vous déconseille BEAUCOUP de tenter le coup avec des configurations dans <code>/etc/hosts</code></strong>, vous avez toutes les chances que ça foutent une pagaille mémorable avec les certificats (je viens de tester chez <a href="https://www.scaleway.com/">scaleway</a>).</p>
<h2 id="installation">Installation</h2>
<p>Nous allons installer un <code>puppet-server</code> (que l'on pourrait appeler serveur maitre), c'est lui qui s'occupera de tout orchestrer. Puis, sur chaque node, on installera <code>puppet-agent</code>, ce qui leur permettra de communiquer avec le master.</p>
<p>PuppetLabs met à disposition <a href="https://docs.puppet.com/puppet/4.9/puppet_collections.html">puppet-collection</a> pour les installations, c'est un <a href="https://puppet.com/blog/welcome-to-puppet-collections">ensemble d'outils</a> (par exemple facter, hiera, ruby, openssl et mcollective pour puppet-agent) packagés. En utilisant ceci, nous sommes donc sûr d'avoir des logiciels compatibles entre eux.</p>
<h3 id="master--puppetserver">MASTER / <a href="https://github.com/puppetlabs/puppetserver">puppetserver</a>
</h3>
<p>Vous pouvez voir les détails sur <a href="https://docs.puppet.com/puppetserver/2.7/install_from_packages.html">puppet-server</a> et sur <a href="https://docs.puppet.com/puppet/latest/puppet_collections.html">puppet_collections</a>, nous allons faire ici une installation la plus simple possible (ah ah) sur une debian 8 (Jessie).</p>
<pre><code class="bash">root@master:# wget https://apt.puppetlabs.com/puppetlabs-release-pc1-jessie.deb
dpkg -i puppetlabs-release-pc1-jessie.deb
root@master:# apt-get update
root@master:# apt-get install puppetserver</code></pre>
<p>Puis on démarre le service (si ça plante, allez voir la section "<em><a href="https://docs.puppet.com/puppetserver/2.7/install_from_packages.html#memory-allocation">memory allocation</a></em>") :</p>
<pre><code class="bash">root@master:# service puppetserver start</code></pre>
<p><strong>Attention !</strong> <code>dpkg -l|grep puppet</code> nous donne les résultats suivants :</p>
<pre><code class="bash">puppet-agent <span class="m">1</span>.9.1-1jessie
puppetlabs-release-pc1 <span class="m">1</span>.1.0-4jessie
puppetserver <span class="m">2</span>.7.2-1puppetlabs1</code></pre>
<p>On pourrait donc croire que l'on se retrouve avec un puppet v2.7 (on en est à la v4)… mais point du tout : <a href="https://docs.puppet.com/puppetserver/">Puppet Server 2.x supporte Puppet 4, alors que Puppet Server 1.x supporte Puppet 3.x et supérieur</a>.</p>
<h3 id="slave--puppet-agent-node">SLAVE / puppet-agent (node)</h3>
<p>Vous pouvez voir les détails sur <a href="https://docs.puppet.com/puppet/4.8/install_linux.html">puppet-agent</a>, l'installation se passe aussi sur une Debian 8 (Jessie) :</p>
<pre><code class="bash">root@slave1:# wget https://apt.puppetlabs.com/puppetlabs-release-pc1-jessie.deb
root@slave1:# dpkg -i puppetlabs-release-pc1-jessie.deb
root@slave1:# apt-get update
root@slave1:# apt-get install puppet-agent</code></pre>
<h2 id="un-peu-de-configuration">Un peu de configuration</h2>
<p>Voici une bonne chose de faite. En lisant la doc vous verrez que les <a href="https://docs.puppet.com/puppet/4.8/install_linux.html#confirm-you-can-run-puppet-executables">exécutables de puppet</a> sont maintenant dans <code>/opt/puppetlabs/bin/</code> (ce qui n'est pas dans notre <a href="https://fr.wikipedia.org/wiki/Variable_d%27environnement#.3CPATH.3E_pour_l.27emplacement_des_ex.C3.A9cutables">PATH</a> par défaut). Pour régler ce problème pour le moment :</p>
<pre><code class="bash">root@slave1:# <span class="nv">PATH</span><span class="o">=</span>/opt/puppetlabs/bin:<span class="nv">$PATH</span></code></pre>
<h3 id="puppetconf">puppet.conf</h3>
<blockquote>
<p>Pour les détails sur le fichier <code>puppet.conf</code>, voir <a href="https://docs.puppet.com/puppet/4.9/config_file_main.html">config_file_main.html</a></p>
<ul>
<li><a href="https://docs.puppet.com/puppet/4.9/config_file_main.html#example-agent-config">exemple de configuration pour un agent</a></li>
<li><a href="https://docs.puppet.com/puppet/4.9/config_file_main.html#example-master-config">exemple de configuration pour un master</a></li>
</ul>
</blockquote>
<p>Par <a href="https://docs.puppet.com/puppet/4.8/config_important_settings.html#settings-for-agents-all-nodes">défaut</a>, un node recherche son master sur un serveur qui s’appelle "puppet". Nous allons donc ajouter deux lignes pour spécifier notre configuration dans <code>/etc/puppetlabs/puppet/puppet.conf</code>sur le slave pour y ajouter ces deux lignes :</p>
<ul>
<li><strong>sur le MASTER</strong></li>
</ul><pre><code class="bash"><span class="o">[</span>main<span class="o">]</span>
<span class="nv">certname</span> <span class="o">=</span> master.cyphercat.eu
<span class="nv">server</span> <span class="o">=</span> puppetmaster
<span class="o">[</span>master<span class="o">]</span>
<span class="nv">dns_alt_names</span> <span class="o">=</span> puppet,puppetmaster,master.cyphercat.eu
<span class="nv">vardir</span> <span class="o">=</span> /opt/puppetlabs/server/data/puppetserver
<span class="nv">logdir</span> <span class="o">=</span> /var/log/puppetlabs/puppetserver
<span class="nv">rundir</span> <span class="o">=</span> /var/run/puppetlabs/puppetserver
<span class="nv">pidfile</span> <span class="o">=</span> /var/run/puppetlabs/puppetserver/puppetserver.pid
<span class="nv">codedir</span> <span class="o">=</span> /etc/puppetlabs/code</code></pre>
<ul>
<li><strong>sur le SLAVE</strong></li>
</ul><pre><code class="bash"><span class="o">[</span>main<span class="o">]</span>
<span class="nv">certname</span> <span class="o">=</span> slave1.cyphercat.eu
<span class="nv">server</span> <span class="o">=</span> master.cyphercat.eu
<span class="nv">environment</span> <span class="o">=</span> production</code></pre>
<h2 id="ajouter-un-node-au-master">Ajouter un node au master</h2>
<p>Vous êtes prêt-e-s ? Il existe <a href="https://docs.puppet.com/puppet/4.8/install_linux.html#start-the-puppet-service">2 méthodes</a> pour dire à un node de se connecter au master, la première en "tâche de fond", et la seconde "à la main" que l'on peut mettre en <a href="https://fr.wikipedia.org/wiki/Cron">cron</a>.</p>
<h3 id="sur-le-slave">sur le SLAVE</h3>
<p>Utilisons la commande manuelle pour voir ce qui se passe :</p>
<pre><code class="bash">root@slave1:# /opt/puppetlabs/bin/puppet agent --test
Info: Creating a new SSL key <span class="k">for</span> slave1.cyphercat.eu
Info: Caching certificate <span class="k">for</span> ca
Info: csr_attributes file loading from /etc/puppetlabs/puppet/csr_attributes.yaml
Info: Creating a new SSL certificate request <span class="k">for</span> slave1.cyphercat.eu
Info: Certificate Request fingerprint <span class="o">(</span>SHA256<span class="o">)</span>: <span class="m">55</span>:A1:EE:A6:1D:D2:85:9D:7F:5F:69:72:7E:BF:54:BA:74:BD:7F:8E:43:0D:AC:A1:D1:1B:4A:FF:4A:F6:54:3B
Info: Caching certificate <span class="k">for</span> ca
Exiting<span class="p">;</span> no certificate found and waitforcert is disabled</code></pre>
<p>Ce qui veut dire que :</p>
<ol>
<li>slave1 a créé un certificat pour lui et il arrive à se connecter au master</li>
<li>le master ne veut pas de lui vu qu'il ne le connaît pas, nous allons donc régler ça.</li>
</ol><h3 id="sur-le-master">Sur le MASTER</h3>
<pre><code class="bash">root@master:# /opt/puppetlabs/bin/puppet cert list
<span class="s2">"slave1.cyphercat.eu"</span> <span class="o">(</span>SHA256<span class="o">)</span> <span class="m">55</span>:A1:EE:A6:1D:D2:85:9D:7F:5F:69:72:7E:BF:54:BA:74:BD:7F:8E:43:0D:AC:A1:D1:1B:4A:FF:4A:F6:54:3B</code></pre>
<p>Bonne nouvelle, le premier contact a vraiment eu lieu ! Le MASTER a bien reçu le certificat de SLAVE, et il nous attend pour le <a href="https://docs.puppet.com/puppet/4.8/install_linux.html#sign-certificates-on-the-ca-master">valider</a> avec la commande suivante :</p>
<pre><code class="bash">/opt/puppetlabs/bin/puppet cert sign slave1.cyphercat.eu
Signing Certificate Request <span class="k">for</span>:
<span class="s2">"slave1.cyphercat.eu"</span> <span class="o">(</span>SHA256<span class="o">)</span> <span class="m">55</span>:A1:EE:A6:1D:D2:85:9D:7F:5F:69:72:7E:BF:54:BA:74:BD:7F:8E:43:0D:AC:A1:D1:1B:4A:FF:4A:F6:54:3B
Notice: Signed certificate request <span class="k">for</span> slave1.cyphercat.eu
Notice: Removing file Puppet::SSL::CertificateRequest slave1.cyphercat.eu at <span class="s1">'/etc/puppetlabs/puppet/ssl/ca/requests/slave1.cyphercat.eu.pem'</span></code></pre>
<p>Et si on relance notre <code>puppet agent -t</code> sur le slave :</p>
<pre><code class="bash">root@slave1:# /opt/puppetlabs/bin/puppet agent --test
Info: Caching certificate <span class="k">for</span> slave1.cyphercat.eu
Info: Caching certificate_revocation_list <span class="k">for</span> ca
Info: Caching certificate <span class="k">for</span> slave1.cyphercat.eu
Info: Using configured environment <span class="s1">'production'</span>
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog <span class="k">for</span> slave1.cyphercat.eu
Info: Applying configuration version <span class="s1">'1486920585'</span>
Info: Creating state file /opt/puppetlabs/puppet/cache/state/state.yaml
Notice: Applied catalog in <span class="m">0</span>.07 seconds</code></pre>
<h2 id="troubleshooting-install">Troubleshooting (install)</h2>
<p>Vous avez peut être rencontré des problèmes au cours de cette installation, je vous conseille de regarder les points suivants pour vous aider à trouver une solution :</p>
<ul>
<li>
<a href="https://docs.puppet.com/puppet/latest/config_important_settings.html#basics-1">dns_alt_names</a> : liste de noms que votre <strong>master</strong> peut utiliser? Le nom que vos nodes utilisent (puppet, puppetmaster, master.cyphercat.eu…) <strong>DOIT</strong> etre inclus dedans ainsi que dans son certificat (voir aussi <a href="https://docs.puppet.com/puppet/latest/configuration.html#dnsaltnames">dnsaltnames</a>),</li>
<li><a href="https://docs.puppet.com/puppet/4.9/config_file_main.html">puppet.conf</a></li>
<li>Configuration: <a href="https://docs.puppet.com/puppet/4.9/config_important_settings.html">Short list of important settings</a>
</li>
<li>
<a href="https://www.cyphercat.eu/puppet-troubleshooting/">puppet troubleshooting</a> ou l'<a href="https://docs.google.com/presentation/d/1AT2j97HV_y2QNH_HFKwZ6ExQDKvfC_lt6qBZaai4ATo/edit#slide=id.p">original</a> (bon courage)</li>
</ul><h2 id="premier-manifest">Premier manifest</h2>
<p>Personnellement, j'aime bien avoir <a href="https://www.puppetcookbook.com/posts/install-multiple-packages.html">mes outils</a> sur mes serveurs, ainsi que quelques raccourcis, commençons donc par ça :</p>
<h3 id="sur-le-master-1">sur le MASTER</h3>
<pre><code class="bash"><span class="nb">cd</span> /etc/puppetlabs/code/environments/production/manifests</code></pre>
<ul>
<li>Nous créons le fichier <code>site.pp</code> pour <a href="https://docs.puppet.com/puppet/4.8/lang_node_definitions.html">déclarer notre node</a> et ce qu'il devra utiliser :</li>
</ul><pre><code class="bash"><span class="c1"># /etc/puppetlabs/puppet/manifests/site.pp</span>
node <span class="s1">'slave1.cyphercat.eu'</span> <span class="o">{</span>
include common
<span class="o">}</span></code></pre>
<ul>
<li>et nous allons faire notre premier manifest pour installer des paquets dans le fichier <code>common.pp</code> que nous créons aussi :</li>
</ul><pre><code class="bash">class common <span class="o">{</span>
<span class="nv">$packages_list</span> <span class="o">=</span> <span class="o">[</span>
<span class="s1">'apt-transport-https'</span>,
<span class="s1">'bzip2'</span>,
<span class="s1">'curl'</span>,
<span class="s1">'deborphan'</span>,
<span class="s1">'htop'</span>,
<span class="s1">'less'</span>,
<span class="s1">'lsof'</span>,
<span class="s1">'ncdu'</span>,
<span class="s1">'pbzip2'</span>,
<span class="s1">'pigz'</span>,
<span class="s1">'pwgen'</span>,
<span class="s1">'rpl'</span>,
<span class="s1">'screen'</span>,
<span class="s1">'strace'</span>,
<span class="s1">'sudo'</span>,
<span class="s1">'tar'</span>,
<span class="s1">'unzip'</span>,
<span class="s1">'vim'</span>,
<span class="s1">'wget'</span>,
<span class="s1">'whois'</span>,
<span class="s1">'zip'</span>
<span class="o">]</span>
package <span class="o">{</span>
<span class="nv">$packages_list</span>:
<span class="nv">ensure</span> <span class="o">=</span>> <span class="s1">'installed'</span>
<span class="o">}</span>
<span class="o">}</span></code></pre>
<p>Puis nous relançons notre commande <code>/opt/puppetlabs/bin/puppet agent -t</code> sur notre slave1. Si vous n'avez pas d'erreurs, vous devriez voir quelque comme ceci qui s'affiche :</p>
<pre><code>Info: Using configured environment 'production'
Info: Retrieving pluginfacts
Info: Retrieving plugin
Info: Caching catalog for slave1.cyphercat.eu
Info: Applying configuration version '1486926845'
Notice: /Stage[main]/Common/Package[deborphan]/ensure: created
Notice: /Stage[main]/Common/Package[ncdu]/ensure: created
Notice: /Stage[main]/Common/Package[pbzip2]/ensure: created
Notice: /Stage[main]/Common/Package[pigz]/ensure: created
Notice: /Stage[main]/Common/Package[pwgen]/ensure: created
Notice: /Stage[main]/Common/Package[rpl]/ensure: created
Notice: /Stage[main]/Common/Package[strace]/ensure: created
Notice: /Stage[main]/Common/Package[unzip]/ensure: created
Notice: /Stage[main]/Common/Package[whois]/ensure: created
Notice: /Stage[main]/Common/Package[zip]/ensure: created
Notice: Applied catalog in 39.43 seconds
</code></pre>
<p>Et voilà pour aujourd'hui !</p>
<p>À noter que :</p>
<ul>
<li>Vous pouvez utiliser la commande <code>puppet parser validate common.pp</code> si vous voulez voir si vous avez fait des erreurs de syntaxe.</li>
<li>Vous pouvez utiliser <a href="http://puppet-lint.com/">puppet-lint</a> pour voir si vous avez fait des erreurs de style.</li>
</ul><div><a href="https://linuxfr.org/users/skhaen/journaux/deploiement-et-automatisation-avec-puppet-4-9-partie-1.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/111251/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/skhaen/journaux/deploiement-et-automatisation-avec-puppet-4-9-partie-1#comments">ouvrir dans le navigateur</a>
</p>
skhaenhttps://linuxfr.org/nodes/111251/comments.atomtag:linuxfr.org,2005:Diary/368712016-09-27T15:18:46+02:002016-10-16T17:03:03+02:00Qui traite des autorités SSL WoSign, Startcom et du peu de professionnalisme qui a causé leur perteLicence CC By‑SA http://creativecommons.org/licenses/by-sa/4.0/deed.fr<p>Chers lectrices, lecteurs, auditrices et auditeurs pour les éventuel(le)s aveugles et autres malvoyant(e)s qui utilisent un lecteur d’écran,<br>
<br>
<br>
<br>
Je souhaite aujourd’hui vous parler de <a href="https://docs.google.com/document/d/1C6BlmbeQfn4a9zydVi2UvjBGv6szuSB4sMYUcVrR8vQ/preview">ce que vient d’annoncer Mozilla</a> (en anglais et avec JavaScript, <em>cookies</em> et tout le bataclan, disponible ici en <a href="https://img.sauf.ca/pictures/2016-09-26/331148e2d57ee669caecf59f064b7e9e.pdf">PDF</a> ou en <a href="https://img.sauf.ca/pictures/2016-09-26/331148e2d57ee669caecf59f064b7e9e.png">PNG</a> pour les réfractaires à l’<em>overkill</em>) au sujet de Starcom et WoSign.</p>
<p> </p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f652f65332f417374657269736d652e7376672f323470782d417374657269736d652e7376672e706e67/24px-Asterisme.svg.png" alt="***" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Asterisme.svg/24px-Asterisme.svg.png"></p>
<p> </p>
<p>Pour ceux qui ignoreraient l’identité de ces deux organismes, Startcom est une autorité de certification SSL, pendant longtemps elle a été la seule à délivrer des certificats gratuits. Malgré une interface assez absconse, voire imbitable, c’était bien pratique de pouvoir obtenir gratuitement des certificats SSL pour les projets perso.</p>
<p>WoSign est une autre autorité, plus récente, qui elle aussi propose des certificats gratuits, avec moins de restrictions puisqu’à une époque on pouvait demander des certificats avec une centaine de domaines et valides trois ans. En revanche, outre le fait qu’elle soit basée en Chine (ce qui peut faire peur à certains quand il s’agit de sécurité, mais en réalité lorsqu’on génère une CSR soi‐même, il n’y a pas de risque particulier), elle a commis un certain nombre d’erreurs ces derniers temps, en particulier la <a href="https://www.schrauger.com/the-story-of-how-wosign-gave-me-an-ssl-certificate-for-github-com">délivrance de certificats sans vérifier correctement le contrôle des domaines associés</a> (ici, des certificats valides pour <code>github.com</code> délivrés gratuitement à n’importe quel particulier !).</p>
<p>Jusqu’à l’apparition récente de <em>Let’s Encrypt</em>, ces deux autorités étaient les seules proposant des certificats gratuits. Aujourd’hui encore (mais pas pour longtemps !), elles restent le seul moyen d’obtenir un certificat gratuit pour un nom de domaine contenant des accents (comme <a href="https://up.%C3%BF.fr">https://up.ÿ.fr</a>).</p>
<p> </p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f652f65332f417374657269736d652e7376672f323470782d417374657269736d652e7376672e706e67/24px-Asterisme.svg.png" alt="***" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Asterisme.svg/24px-Asterisme.svg.png"></p>
<p> </p>
<p>Bref, toujours est-il que WoSign a fait une série de grossières erreurs, certainement en se croyant à l’abri de répercussions, ou par simple bêtise. En particulier :</p>
<ul>
<li>à partir de janvier 2016, après que les certificats SHA-1 <a href="https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/2-R4XziFc7A/YO0ZSrX_X4wJ">aient été</a> <a href="https://blog.mozilla.org/security/2015/10/20/continuing-to-phase-out-sha-1-certificates/">dépréciés</a>, WoSign a continué à délivrer des certificats SHA-1 antidatés pour que les navigateurs continuent à les accepter ;</li>
<li>en juin 2015, un utilisateur a pu obtenir des certificats SSL pour GitHub et même après avoir été mis au courant, WoSign n’a pas révoqué automatiquement tous les certificats délivrés à tort ;</li>
<li>fin 2015, WoSign a acheté Startcom, sans le rendre public et, pire, en le niant après que la question ait été posée ;</li>
<li>et tout un tas d’autres problèmes listés ici par Mozilla : <a href="https://wiki.mozilla.org/CA:WoSign_Issues">https://wiki.mozilla.org/CA:WoSign_Issues</a> .</li>
<li>la suggestion de WoSign a été de demander à Mozilla de continuer à faire confiance à ses certificats seulement en Chine (où WoSign a quelque chose comme 50 % de parts de marché)</li>
</ul><p> </p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f652f65332f417374657269736d652e7376672f323470782d417374657269736d652e7376672e706e67/24px-Asterisme.svg.png" alt="***" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Asterisme.svg/24px-Asterisme.svg.png"></p>
<p> </p>
<p>La conclusion de Mozilla, qui sera vraisemblablement suivie aussi par Google et Microsoft, et, espérons‐le, par Apple est donc de ne plus accepter les certificats émis par WoSign et Startcom à partir d’une certaine date (pas tout de suite, mais dans le futur proche), tout en continuant à considérer valides les certificats déjà émis. Au minimum un an plus tard, WoSign serait autorisé à repasser le processus d’autorisation pour redevenir une autorité de confiance. À côté de ça, Mozilla ne considérera plus les audits de la branche Hong‐Kong de Ernst & Young comme valables (ce qui n’est pas anodin, Ernst & Young étant parmi les plus grosses boîtes d’audit du monde).</p>
<p> </p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f652f65332f417374657269736d652e7376672f323470782d417374657269736d652e7376672e706e67/24px-Asterisme.svg.png" alt="***" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/e/e3/Asterisme.svg/24px-Asterisme.svg.png"></p>
<p> </p>
<p>Somme toute, ça me semble être une solution plutôt intelligente, puisqu’elle ne pénalise que l’autorité véreuse elle‐même et non ses utilisateurs, qui sont innocents dans cette histoire.</p>
<p>Et pour finir, si jamais vous prévoyez de demander un certificat gratuit pour un nom de domaine avec des accents, je vous conseille de le faire immédiatement <a href="https://buy.wosign.com/free/">chez WoSign</a> tant que Mozilla n’a pas encore mis sa décision en application. Même si WoSign n’est pas une autorité respectable pour beaucoup de raisons, un certificat délivré par eux a la même utilité et offre la même sécurité qu’un certificat délivré par n’importe quelle autre autorité (tant que vous générez votre CSR de votre côté). Sinon, il ne vous restera qu’à attendre que <em>Let’s Encrypt</em> les supporte : théoriquement <a href="https://letsencrypt.org/upcoming-features/">avant novembre 2016</a>, mais rien n’est garanti (d’autant plus qu’à ma connaissance, les détails d’implémentation n’ont toujours pas été définis).</p>
<p>En ce qui me concerne, j’attends aussi le support des certificats pour le <code>.onion</code>, les services cachés de Tor, mais j’ai bien peur que ça n’arrive nulle part prochainement.</p>
<p> <br>
<br>
</p>
<p><img src="//img.linuxfr.org/img/68747470733a2f2f75706c6f61642e77696b696d656469612e6f72672f77696b6970656469612f636f6d6d6f6e732f7468756d622f642f64652f4465636f5f706167352e7376672f31353070782d4465636f5f706167352e7376672e706e67/150px-Deco_pag5.svg.png" alt="~~~" title="Source : https://upload.wikimedia.org/wikipedia/commons/thumb/d/de/Deco_pag5.svg/150px-Deco_pag5.svg.png"></p><div><a href="https://linuxfr.org/users/see/journaux/qui-traite-des-autorites-ssl-wosign-startcom-et-du-peu-de-professionnalisme-qui-a-cause-leur-perte.epub">Télécharger ce contenu au format EPUB</a></div> <p>
<strong>Commentaires :</strong>
<a href="//linuxfr.org/nodes/110139/comments.atom">voir le flux Atom</a>
<a href="https://linuxfr.org/users/see/journaux/qui-traite-des-autorites-ssl-wosign-startcom-et-du-peu-de-professionnalisme-qui-a-cause-leur-perte#comments">ouvrir dans le navigateur</a>
</p>
못 옷 홋 ♨https://linuxfr.org/nodes/110139/comments.atom