Il y a quelques jours, j’ai eu la bonne surprise de voir ma demande a la beta de Let’s Encrypt être acceptée. A moi l’argent, la gloire et la crypto !

letsencrypt
Pour rappel, letsencrypt est une autorité de certification (CA) qui ne demande aucune validation humaine de leur part. Pas d’envoie de papiers d’identité ou autre preuves. Pour prouver que vous etes bien possesseur du domaine, il suffit que, lors de la génération du certificat, vous placiez un fichier json accessible a une url « mondomaine.com/.well-known/… ».

La procédure de génération est donnée (et risque d’évoluer d’ici la fin de la beta) mais en résumé:

Make sure your web server displays the following content at                                                                                           
http://mart-e.be/.well-known/acme-challenge/abcdef... before continuing:

{"header": ...}

Content-Type header MUST be set to application/jose+json.

If you don't have HTTP server configured, you can run the following
command on the target server (as root):

mkdir -p /tmp/letsencrypt/public_html/.well-known/acme-challenge
cd /tmp/letsencrypt/public_html
echo -n '{"header": ...}' > .well-known/acme-challenge/abcdef...
# run only once per server:
$(command -v python2 || command -v python2.7 || command -v python2.6) -c \
"import BaseHTTPServer, SimpleHTTPServer; \
SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map = {'': 'application/jose+json'}; \
s = BaseHTTPServer.HTTPServer(('', 80), SimpleHTTPServer.SimpleHTTPRequestHandler); \
s.serve_forever()"
Press ENTER to continue

Super, seulement wordpress ne me laisse pas créer des dossiers arbitraires dans mon dossier contenant le code (et c’est une bonne nouvelle en soit). Pour résoudre cela, un petit bricolage nginx s’imposait.

HTTPS sur un blog, c'est comme un éléphant-mitrailleuse. Ça ne sert pas a grand chose mais c'est cool!

HTTPS sur un blog, c’est comme un éléphant-mitrailleuse. Ça ne sert pas a grand chose mais c’est cool!


Dans la config nginx du blog, ajoutez un bloc location:

Mise à jour: Michel propose une solution plus simple sans s’ennuyer avec un serveur local en python!

server {
       listen 80;
       server_name mart-e.be;
       location ~ /.well-known {
            proxy_pass  http://127.0.0.1:7890;
       }
       
       # reste de la config pour wordpress
}

Où 7890 est un numero de port totalement arbitraire.
Ensuite, suivant +/- les conseils du wizard de letsencrypt

$ mkdir -p /tmp/letsencrypt/public_html/.well-known/acme-challenge
$ cd /tmp/letsencrypt/public_html
$ echo -n '{"header":...}  > .well-known/acme-challenge/abcdef...
$ python -c "import BaseHTTPServer, SimpleHTTPServer; SimpleHTTPServer.SimpleHTTPRequestHandler.extensions_map = {'': 'application/jose+json'}; s = BaseHTTPServer.HTTPServer(('', 7890), SimpleHTTPServer.SimpleHTTPRequestHandler); s.serve_forever()"

Notez que j’ai changé le numéro de port de 80 a 7890 dans les paramètres de HTTPServer.

On relance NGINX (nginx -s reload), continue l’exécution du wizard (press ENTER) et victoire !

Press ENTER to continue

IMPORTANT NOTES:
 - Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/mart-e.be/fullchain.pem. Your cert will
   expire on 2016-01-26. To obtain a new version of the certificate in
   the future, simply run Let's Encrypt again.

Vous pouvez tuer la commande python une fois validé et retirer la config nginx (ou commentez, le certificat beta ne vaut que 90 jours).

En bonus, la config nginx qui va bien:

ssl_certificate /etc/letsencrypt/live/mart-e.be/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mart-e.be/privkey.pem;
ssl_ciphers 'ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK';
ssl_protocols TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_dhparam /etc/nginx/dhparams.pem;

Avec le fichier dhparams.pem servant à la génération d’une clef diffie-helman, via la commande openssl dhparam -out dhparam.pem 2048

Mozilla a un super générateur de config. J’ai prit la config moderne, désolé utilisateurs de vieux soft, je décroche ainsi un beau A sur le CryptCheck un peu nazi de Aeris !

CrptCheck

Vous pouvez maintenant accéder a mart-e.be en https !

Vous avez surement entendu parler de SOPA, la loi américaine liberticide qui veut donner tout pouvoir aux gouvernement et entreprises privées pour appliquer la censure sur internet au nom du sacro-saint principe de lutte contre le piratage. Si appliquée cette loi touchera tout le monde au vu du nombre de sites internet qui tomberait sous l’influence de cette loi (et puis elle risque de donner des mauvaises idées).

Pour faire pression sur les parlementaires et montrer que, non, on préfère un internet libre plutôt qu’un réseau contrôlé d’un bout à l’autre par des grosses multinationales pour leur permettre de gagner encore plus de fric (ah on me souffle dans l’oreillette que ce serait déjà le cas), une mobilisation se développe sur internet. Des sites tels que Reddit ont annoncé mettre en place un blackout et fermer leur site pendant le 18 janvier de 8 à 20h EST (14h à 2h du matin chez nous). De nombreux autres sites ont annoncés suivre le mouvement. Wikipédia va sans doute suivre le mouvement mais rien n’est confirmé à ma connaissance. Un site Wikipediablackout a d’ailleurs été mit en place pour convaincre ce dernier. Chaque inscrit promet de donner 1€ de don si le blackout était mit en place (je n’ai pas réussi à m’inscrire à cause du javascript foireux…).

Si vous aussi vous possédez un site internet et pensez que c’est important de se mobiliser (à nous de le faire), voici la marche à suivre pour facilement mettre en place une page de blackout sans pour autant se faire pénaliser par Google ou autres bots qui désindexeraient votre site et sans devoir se prendre la tête en modifiant tous ses fichiers.
La marche à suivre ici est faite pour un site en php tournant sous apache, elle fonctionne très bien pour un site comme wordpress.

1. Créez un fichier .htaccess avec le contenu suivant

RewriteEngine On
RewriteBase /
RewriteCond %{REMOTE_ADDR} !^88.190.27.51
RewriteCond %{REQUEST_URI} !^/blackout.php$
RewriteRule ^(.*)$ http://mart-e.be/blackout.php [L]

N’oubliez pas de remplacer l’adresse ip de mon serveur par la votre ainsi que l’url à la dernière ligne.

Ce code va rediriger n’importe quelle requête (à l’exception de celles faites vers blackout.php pour éviter les boucles infinies) vers la page blackout.php

2. créez une page blackout.php




L’important se trouve dans les premières lignes php qui vont renvoyer un code HTTP 503 Service Unavailable pour indiquer aux bots cette page est temporaire et non le nouveau contenu de votre site.

Le serveur retourne un status HTTP 503

Sur cette page, vous pouvez expliquer grosso-modo pourquoi vous faites ce blackout pour sensibiliser vos visiteurs et leur faire comprendre que c’est un choix et non un problème technique. Vous pouvez voir un exemple de la mienne ici.

Page faite à l'arrache

3. Le jour B, placez ces deux fichiers à la racine de votre site. Vous pouvez déjà placer le php aujourd’hui, c’est le .htaccess qui va influencer toutes les requêtes. Attention, si vous aviez déjà un fichier .htaccess n’oubliez pas d’en faire un backup sous peine d’avoir quelques problèmes post-blackout.

4. Après le blackout, il vous suffira de supprimer le fichier .htaccess ou remplacer par l’ancien. Vous pouvez garder la page blackout.php, ça risque de servir vu les temps qui courent

Bon blackout 😉

Vous avez toujours rêvé d’avoir votre propre site de torrent mais n’avez pas les compétences pour le faire ? C’est maintenant facilement possible grâce WP-Trader.

Ce plugin WordPress, développé par Andrew Walker, va en quelques clics vous mettre en place votre annuaire de torrent avec son tracker.

Comme mentionné sur Torrentfreak, ce n’est sans doute pas une bonne idée de faire tourner un tracker torrent si vous n’avez pas les compétences nécessaire à installer quelques modules et les configurer sur un serveur mais ça peut toujours être pratique à petite échelle.

Un wordpress ecologique

16 janvier 2011

WordPress génère de nombreuses requêtes et calculs pour générer une simple page. Pas toujours pratique pour votre petit serveur ou pour celui de votre hébergeur.

Faites un geste pour l’environnement en soulageant le poids des requêtes et donc le travail coté serveur, installez l’extension WordPress Super Cache qui permettra de stocker en cache vos différentes pages.

Configuration et plus de détails sur le blog de Vanaryon

css.php