Authentification par certificat client sur nginx

Authentification par certificat client sur nginx

Salut à tous, aujourd’hui on m’a demandé de regarder comment faire de l’authentification par certificat x509 sur un serveur Nginx. Je parle bien ici du client, pas du certificat serveur que vous obtenez avec let’s encrypt par exemple. Donc pour accéder au site web l’utilisateur devra présenter un certificat valide de l’AC que vous aurez défini.

Un certifi-quoi ?

Dans les faits, vous utilisez déjà des certificats x509 (délivrés par let’s encrypt, par exemple) pour authentifier votre site auprès de vos utilisateurs (et comme base pour chiffrer la connexion en HTTPS aussi). Ici ce qu’on souhaite faire c’est l’inverse, c’est à dire que le serveur va demander aux utilisateurs de s’authentifier, en présentant un certificat, avant de les laisser accéder au site.

Alors je suis désolé pour ceux qui ne captent rien aux certificats, ce n’est pas l’objet de cet article. Je pars du postula que si vous cherchez à authentifier vos clients par certificats, c’est que vous savez déjà ce que c’est… Sinon, je vous renvoi quand même (je suis sympa) vers ces sources (ici, , , et ) qui ne sont pas trop mauvaises. Mais ne rêvez pas trop, un bon cours sur … Lire la suite

PowerRSA, implémentation de RSA en PowerShell

RSA en PowerShell

Salut à tous, une brève pour aujourd’hui avec RSA en PowerShell.. Je ne sais pas si vous vous rappelez, mais il y a quelques temps j’avais proposé sur le site quelques implémentations d’algorithmes de chiffrement en mode « tuto débutant » : César, Vigenère, et Enigma et sa cryptanalyse, et on avait été, jusqu’à DES. Aujourd’hui je vais vous pointer une implémentation home-made dans la droite lignée de ces articles : PowerRSA.

En effet, il y a quelques temps de cela, est sortie sur le technet cet article Implementing the RSA algorithm (PowerRSA) qui propose une implémentation de RSA en PowerShell… Et voilà, je ne sais pas pourquoi vous pourriez avoir besoin de ça, mais pourquoi pas ?

Cela peut être intéressant, par exemple, si vous avez besoin de décortiquer le fonctionnement de RSA pour un papier ou une présentation. PowerShell restant un langage interprété et facilement lisible ce qui permet de détricoter l’algorithme tranquillement.

Un petit exemple d’usage de PowerRSA :

> .\PowerRSA.ps1 -Method GenKeys 
Keys generating…
Keys saved in C:\Users\titi\Desktop\PowerRSA\20190212193137
> .\PowerRSA.ps1 -Method Enc -Exponent .\20190212193137\PublicKey -Modulus .\20190212093137\Modulus
Enter message to encrypt: trolololololololoo
Data saved in C:\Users\titi\Desktop\PowerRSA\20190212193444
> Get-Content .\20190212093444\Data
42950C7C3C8996C3C45FC8CB57B1AE3E6965BF00E582CCAFF77340911FA19539937D087B084379142FD546[...]
> .\PowerRSA.ps1 -Method Dec
Lire la suite

Configurer HTTPS sur NGINX… correctement !

Configurer HTTPS sur NGINX

Salut à tous, dernier TP de la série qui fait suite à la réinstallation du serveur. On va voir comment configurer HTTPS sur NGINX… correctement. Car la crypto c’est pas une affaire de néophytes et on tombe facilement sur des sites plus ou moins connus ou officiels qui ont une configuration SSL à la rue. Par exemple vous regardez si votre banque, de votre boîte, association suit les bonnes pratiques pour assurer la confidentialité de vos communications ? Ça se voit de moins en moins sur des gros sites mais au détour d’une session web on tombe parfois sur une erreur comme celles qui sont très bien mises en exemple sur badssl.com. Si vous voulez vraiment du sang des exemples : il suffit de jeter un oeil à la « Recent Worst List » chez SSLLabs-Server Test.

Bref, on va voir comment configurer HTTPS avec NGINX à l’aide de Certbot pour le certificat (Let’s Encrypt) sur une Debian 8 et ajuster la configuration de NGINX pour être bibiche sur le test de SSLLabs.

Certbot, Le nouveau Let’s Encrypt.

Alors j’ai déjà parlé de Let’s Encrypt avec le serveur précédent donc on va pas revenir dessus, par contre … Lire la suite

Certificats HTTPS, Apache2 et Let’s Encrypt Geekeries.org !

Let's Encrypt logo

Edit du 07/10/2016 :

On m’avait fait remarquer lors de la sortie de l’article que sur debian 8 le paquet certbot remplace le client let’s encrypt. Je n’ai pas corrigé ce post comme il est écrit pour debian 7. Mais du coup, comme tout vient à point à qui sait attendre, atomit.fr a écrit un article très complet sur le sujet avec NginX. Il complète très bien cet article. Et c’est par ici que ça se passe : Atomit.fr


Salut à tous, aujourd’hui on se pencher sur Let’s Encrypt, et plus particulièrement comment s’en servir avec apache2 et Debian. Si vous ne connaissez pas Let’s Encrypt c’est que vous n’êtes pas sortie de votre grotte depuis au moins un an ! Et comme un bon exemple vaut mieux qu’un long discours, pour faire ce tutoriel j’ai enrôlé le site geekeries.org dans cet article.

Let’s Encrypt ?

Comme d’habitude pour commencer, je vous invite à faire un tour sur le site du projet (et sa page Wikipédia). Ce projet date de 2014 et a ouvert en bêta fin 2015, c’est tout simplement une PKI gratuite et open-source. Depuis le début du projet le gros atout de Let’s Encrypt, c’est ses … Lire la suite