PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Pierre-Alain Bandinelli : Let's Encrypt, comment l'usage d'un reverse proxy permet l'obtention de certificats sans se soucier nullement de la nature du service sous-jacent, cas pratique avec Pound et Apache

mercredi 19 octobre 2016 à 17:15

Quand on utilise un reverse proxy, il est possible de grandement simplifier l'usage de Let's Encrypt pour protéger tous ses accès avec HTTPS.

Méthodologie

Pour mémoire, afin de vérifier la bonne possession d'un domaine abc.tld, Let's Encrypt appelle l'adresse 'abc.tld/.well-known/acme-challenge/X' où X correspond à un nom de fichier unique que le client Let's Encrypt (par exemple certbot) aura créé lors du challenge ACME. Si le test réussit, c'est que l'utilisateur qui revendique le domaine en a pleinement la possession puisqu'il est capable de créer et rendre visible un fichier à sa racine ; le certificat est alors accordé et créé.

Dès lors : créons une règle sur le reverse proxy qui redirige toutes les requêtes de l'ACME challenge vers un seul emplacement dans lequel le client Let's Encrypt écrira !

En pratique avec Pound comme reverse proxy

Ajoutons un paragraphe en tête de la configuration de Pound :

        Service
                URL "/.well-known/acme-challenge/.*"
                BackEnd
                        Address 1.2.3.4
                        Port 8000
                End
        End

Désormais, toute requête de type ACME challenge est envoyé vers le serveur 1.2.3.4 sur le port 8000.

Imaginons que ce serveur soit un Apache. Paramétrons-le comme suit :


        DocumentRoot /var/www/letsencrypt
        
                Options FollowSymLinks MultiViews
                AllowOverride All
		Require all granted
        

Dès lors, tout appel à

certbot certonly --renew-by-default -a webroot --webroot-path /var/www/letsencrypt/ -d mondomaine.tld

devra aboutir à la génération du certificat souhaité, quelque soit le service sous-jacent !

En pratique avec un autre reverse proxy ?

La même stratégie est possible ! Seule la configuration du reverse proxy changera. On pourra également utiliser tout autre serveur web (même le micro-serveur web fourni dans python) pour servir les fichiers du ACME challenge !

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Pierre-Alain Bandinelli : Grafana & InfluxDB en HTTPS avec Let's Encrypt

mercredi 19 octobre 2016 à 16:51

Grafana et InfluxDB forment une jolie paire quand il s'agit de stocker et d'analyser des flux de données. J'ai donc voulu en sécuriser l'accès pour mes utilisateurs en permettant une connexion en HTTPS grâce aux certificats de Let's Encrypt.

Méthodologie

Pour Grafana comme InfluxDB, je n'ai pas réussi à faire accepter un dossier .well-known aux serveurs web empaquetés avec chacun des outils. J'ai donc fait intervenir le reverse proxy placé devant Grafana et InfluxDB.

Sommairement:

  1. toute requête de la forme http://url.de.grafana/.well-known/... ou http://url.de.influxdb/.well-known/... est renvoyée vers un hôte virtuel d'un serveur Apache
  2. toute autre requête est envoyée comme il se doit au serveur Grafana ou au serveur InfluxDB

Ainsi, quand Let's Encrypt effectue le test de possession du domaine, il trouve aux adresses http://url.de.grafana/.well-known/... ou http://url.de.influxdb/.well-known/... le fichier qu'il recherche et accepte alors la génération des certificats.

En pratique

La pratique dépend du reverse proxy. Dans mon cas, le reverse proxy est Pound. Dès lors on ajoute à la configuration de Pound le paragraphe suivant (avant les autres pour capturer la requête avant envoi vers un autre service) :

        Service
                HeadRequire "Host: .*(url.de.influxdb).*"
                URL "/.well-known/acme-challenge/.*"
                BackEnd
                        Address 1.2.3.4
                        Port    8000
                End
        End

avec 1.2.3.4 un serveur (par exemple Apache) qui répond sur le port 8000 en retournant le contenu de /var/www/pour-letsencrypt.

Il suffit alors d'appeler

certbot certonly --renew-by-default -a webroot --webroot-path /var/www/pour-letsencrypt/ -d url.de.influxdb

pour générer le certificat valide que l'on pourra ensuite utiliser pour protéger l'accès à InfluxDB ou Grafana !

Gravatar de Pierre-Alain Bandinelli
Original post of Pierre-Alain Bandinelli.Votez pour ce billet sur Planet Libre.

Articles similaires

Tuxicoman : Pulseaudio noise cancelling

mardi 18 octobre 2016 à 07:03

Est ce que vous saviez que Pulseaudio possède un filtre de réduction de bruit et d’écho? (noise cancelling et echo cancelling) ?

pour l’activer, lancez cette commande:

$ pacmd load-module module-echo-cancel aec_method=webrtc sink_master=alsa_output.pci-0000_00_1b.0.analog-stereo source_master=alsa_input.pci-0000_00_1b.0.analog-stereo

L’argument « aec_method » permet de choisir le code de Google destiné aux conversations par webrtc. Il est, semble-t-il, la meilleure implémentation disponible pour Pulseaudio.
Dans « sink-master » mettez votre interface de sortie du son. Et dans « source-master », votre entrée micro.

Les commandes suivantes peuvent vous aider à les identifier:

$ pacmd list-sinks
$ pacmd list-sources

C’est important de bien choisir les bonnes interfaces puisque la réduction de bruit se base sur le bruit de fond enregistré.

Vous verrez alors 2 nouvelles interfaces dans Pulseaudio etiquetées « echo cancelled with … »

pulseaudio-noise-cancelling

Si vous les utilisez et enregistrez un son, vous noterez un son bien plus propre.
C’est dommage que ce ne soit pas disponible plus simplement.

Related Posts:

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.

Articles similaires

Tuxicoman : Moteurs de recherche « anonymes » : attention au proxy d’images

lundi 17 octobre 2016 à 22:10

Sur la plupart des instances Searx, le proxy d’images n’est pas actif par défaut. Ce faisant, lorsqu’un utilisateur recherche des images, son navigateur va télécharger directement les images sur les moteurs de recherche et donc donner son cookie, son IP et les images recherchées aux moteurs de recherche dont on cherche à se cacher… On a vu plus anonyme.

C’est très visible avec le plugin RequestPolicy pour Firefox ou juste en ouvrant la console réseau de Firefox.

Exemple avec framabee :

framabee

A comparer avec mysearch :

mysearch

On peut activer le proxy d’images dans Searx (https://framabee.org/preferences -> images -> proxy d’images -> activer) pour arriver au même résultat. Mais bon, c’est mieux de protéger automatiquement par défaut à mon avis.

Related Posts:

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.

Articles similaires

alterlibriste : Blogs en https, c'est bien mais...

lundi 17 octobre 2016 à 18:21

Encore un billet dans lequel je ne vais pas aller dans le sens du vent. Car si le https est à étendre petit à petit à l’ensemble du web, encore faut-il que cela soit fait correctement.

L’année 2016 a vu l’arrivée de certificats libres et gratuits grâce à Let’s Encrypt et ce fût le moyen de mettre en place le https sur les sites personnels à peu de frais. En effet, auparavant, il n’y avait comme possibilités que le passage à la caisse,un peu onéreux, ou l’auto-certification, chose peu appréciée par les navigateurs qui ne considèrent pas cela comme un gage de sécurité suffisant.

Je ne vais pas revenir sur l’intérêt de la communication en https, mes lecteurs doivent être au courant, mais en bref, il s’agit simplement de mettre en place une connexion sécurisée avec un site afin que les échanges entre celui-ci et l’utilisateur soient chiffrés. Le cadenas vert avant l’adresse du site témoigne de cette sécurité. Bien que certains politiques à la ramasse condamnent tout chiffrement, il est absolument indispensable pour tout échange bancaire et commercial afin que les numéros de compte ne se baladent pas dans la nature. En ce qui concerne les connexions aux données personnelles (qu’elles soient en cloud ou auto-hébergées), ce protocole https me semble également plus que recommandable (et c’est ce que je me suis empressé d’utiliser pour tous les services mis en place sur mon serveur personnel).

On en vient maintenant à la question des blogs. Au détour de commentaires sur le blog de Cyrille, j’avais innocemment posé la question de l’intérêt de chiffrer des échanges qui seront en principe rendus publics (billets ou commentaires). Pour ma gouverne, j’avais appris que cela permettait de se connecter à l’administration du site sans faire passer les identifiants en clair. Certes. Genma (qui va finir par croire que je lui en veux) avait aussi insisté sur le fait que le chiffrement des échanges évite de pouvoir nous tracer lorsque l’on consulte des articles pouvant révéler des informations sur nos tendances politiques, sexuelles, ou autres choses que l’on aurait à cacher en cas de changement de régime politique par exemple.

À vous de juger de la pertinence de ce dernier argument, il est pour moi valable pour des sites généralistes ou d’information (presse, wikipédia, ...) mais pour ce qui est des blogs, même si on ne sait pas ce qui transite entre le blog de Genma et moi, ça parle sans doute de sécurité informatique, si en plus les flux rss sont relevés régulièrement et que cela fait longtemps, c’est que je m’intéresse à ce sujet sur le fond. Si quelqu’un consulte son site depuis peu et a eu beaucoup d’échanges, c’est qu’il s’intéresse à mettre en place des outils pour avoir des communications sécurisées, espérons qu’il passe vite à TOR et qu’il ne soit pas classable parmi les auto-radicalisés sinon les boîtes noires risquent de le repérer.

Bref, l’intérêt du https pour les blogs et petits sites perso est assez relatif pour les visiteurs (même s’il est à encourager). Lorsqu’il est permis par l’hébergeur, il n’y a aucune raison de ne pas le faire car c’est facile (une case à cocher) et en principe bien fait. Pour ce qui est de la certification par Let’s Encrypt par exemple, ce n’est pas aussi évident mais on finit par trouver la bonne commande et éventuellement à peaufiner les choses afin que cela soit bien fait.

Là ou le bats blesse, c’est qu’il faut penser à renouveler les certificats et là, je dirais que c’est un peu l’hécatombe. Pourtant, avec la commande que j’ai utilisée, à savoir (remplacer -.- par des doubles tirets que le blog prend pour du barré) :
letsencrypt-auto certonly -.-server https://acme-v01.api.letsencrypt.org/directory -.-standalone -d -.-renew-by-default -.-agree-tos -.-email
je suis prévenu par mail une vingtaine de jours avant l’expiration et ensuite, il me suffit de faire :
sudo systemctl stop apache2
cd ~/letsencrypt
sudo ./letsencrypt-auto renew
sudo systemctl start apache2
Pour renouveler tous les certificats présents sur la machine (parce que j’ai fait des sous-domaines pour les services). Ça m’a pris 10 minutes pour trouver la procédure la première fois, les suivantes ce sera quelques secondes et les plus pointilleux auront mis en place un script d’automatisation qui se lancera à intervalle régulier.

Pour les autres qui ont été attirés par le https parce que c’est bien il faut le faire mais n’ont pas trop suivi la chose ensuite ou laissent un peu traîner les choses, on tombe là-dessus :
Capture_du_2016-10-17_16_12_10.png

Et là, le lecteur lambda va passer son chemin voire sans doute avoir peur que sa machine ne se fasse véroler. Quand on sait de quoi il s’agit, on passe outre en autorisant malgré tout la connexion (moyennant 3 clics quand même) mais je pense que c’est assez rédhibitoire pour beaucoup de monde. Plus gênant, les flux rss vont tomber en erreur, les lecteurs abonnés ne vont plus pouvoir lire les nouveaux articles et en tant qu’administrateur du Planet-Libre je vois passer plein de sites qui tombent en erreur à cause de cela et sont désactivés après une semaine donc encore une perte potentielle de lecteurs et il faut demander à réactiver le flux une fois que le certificat est renouvelé.

Ma conclusion est qu’il faut aller vers une sécurisation des connexions mais pour ce qui est des blogs, l’intérêt est limité. Lorsqu’on en prend la voie, il faut faire les choses dans les règles de l’art et s’y tenir sinon il vaut mieux considérer ses écrits comme rapidement hors de vue pour les lecteurs potentiels.
Et en plus ça casse franchement les pieds de tomber sur ce genre d’alerte, non ?

Gravatar de alterlibriste
Original post of alterlibriste.Votez pour ce billet sur Planet Libre.