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

Est-ce que mon mot de passe a été piraté?

Est-ce que mon mot de passe a été piraté ? BitWarden Report

Salut à tous, je continue ma série sur les mots de passe aujourd’hui et plus particulièrement la réponse à la question « Est-ce que mon mot de passe a été piraté ? ». Vous connaissez have i been pwned? ? Ce service compile les données issues des principales fuites d’informations de ces dernières années et vous permet de savoir, en saisissants votre adresse mail, si cette dernière a fait partie des fuites… et se savoir ce qui a fuité surtout ! Ce qui vous permet de savoir si le mot de passe associé à ces fuites a été compromis.

Et bien le site à récemment étendu son offre avec le service have my password have been pwned? Pour savoir si votre mot de passe a été piraté. Et qui vous propose donc la même chose que havebeenpwned mais pour les mot de passe.

« Bein ouais, mais si je donne mon mot de passe à une site pour qu’ils le vérifient, ils vont connaitre mon mot de passe du coup ?

PS: t’es con ou quoi ? »
— un internaute pas trop con.

Et c’est là que c’est beau, l’auteur du service détaille dans ce post (super lecture que … Lire la suite

Support TLS 1.3 pour nginx sous Debian 9

TLS 1.3 pour nginx sous Debian 9

Salut à tous, aujourd’hui on va prendre 15 minutes pour ajouter le support de TLS 1.3 pour nginx sous Debian 9 pour geekeries.org. En effet, la nouvelle version de TLS sortie en sortie en aout 2018 commence à faire son chemin et ajouter son support à geekeries.org est parfaitement inutile, pour l’instant, il est donc totalement indispensable de le faire.

TLS1.3 pourquoi ?

TLS1.3 est une nouvelle version du protocole de chiffrement des communications HTTPS. Il s’agit du dernier rejeton de la famille SSLv2, SSLv3, TLS 1.0, TLS 1.1, TLS 1.2 et TLS 1.3 (par ordre d’apparition). Comme toute nouvelle version d’un logiciel, TLS1.3 apporte des gains de performances, de sécurité et de fonctionnalité (plus de détails ici).

TLS1.3 et nginx

Alors la bonne nouvelle c’est que nginx supporte TLS1.3 depuis sa version 1.13. Il nous suffit donc, en théorie, de rajouter la directive ci-dessous dans le fichier de configuration /etc/nginx/nginx.conf, si vous avez une version ultérieure (et de mettre à jour sinon) :

ssl_protocols TLSv1.3 TLSv1.2;

Pourtant, quand je test cette configuration chez Qualys, on s’aperçoit que le support de TLS 1.3 n’est pas actif. Mais pourquoi donc me direz-vous ?

Simplement parce que nginx n’implémente … 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