Monday, 08 January 2018
|
Écrit par
Grégory Soutadé

Logo Let's encrypt

Au revoir 2017, bonjour 2018 ! Alors que l'actualité brûlante du moment tourne autour de la faille de sécurité trouvées sur différents processeurs supportant l'exécution spéculative (faille non triviale à exploiter), j'ai pour ma part choisi de passer à Let's Encrypt. Il s'agit d'une organisation à but non lucratif dont l'objectif est de promouvoir l'utilisation de connexions sécurisées (SSL/TLS) sur internet. Pour ce faire, elle propose la génération gratuite (et scriptée) de certificats pour le protocole HTTPS. Elle trouve de plus en plus les faveurs des webmasters, surtout quand on sait qu'un certificat coûte entre 15€ et plusieurs milliers d'euros par an (avec des garanties, tout ça, tout ça).

Leurs certificats sont déployés depuis plus de deux ans maintenant et il faut dire que ça marche plutôt bien ! Auparavant, j'utilisais ma propre autorité de certification, ce qui permet de contrôler finement les paramètres du certificat final, vérifier que l'on n'est pas attaqué... Mais il faut reconnaître que pour la navigation courante et surtout pour gPass, avoir un certificat reconnu de base est devenu une nécessitée.

Surtout que let's encrypt fourni l'utilitaire certbot (disponible dans les paquets Debian) qui s'occupe de (re-)générer, valider, configurer automatiquement tout ce qu'il faut. Il n'y a qu'à renseigner une adresse mail valide ainsi que la liste des domaines concernés.

J'ai eu deux erreurs lors de cette procédure. La première :

Domain: denote.soutade.fr
Type:   unauthorized
Detail: Incorrect validation certificate for tls-sni-01 challenge.
Requested
605840d8f5902f3f5f9b465e90fefda9.5e9055daac5e4439a0d768344e093378.acme.invalid
from 89.95.86.199:443. Received 1 certificate(s), first certificate
had names
"58d2ce91621ca3bc9dad2ae778ba8110.6f005c32f7a4345e14b2120f34d7e6c7.acme.invalid,
dummy"

Et la seconde concernant le nom de domaine teamazurevasion.fr que j'héberge également sur le même serveur (le DNS pointe vers soutade.fr, ça ne plaît pas trop au robot).

Domain: teamazurevasion.fr
Type:   unknownHost
Detail: No valid IP addresses found for teamazurevasion.fr

Il faut dire que ma configuration est un peu particulière puisque j'ai un premier serveur web/proxy (tournant sous nginx) qui s'occupe des sites statiques ainsi que de la liaison sécurisée (TLS). Il communique par socket avec un second serveur (Apache) pour toute la partie dynamique (PHP, Django). La solution consiste donc à stopper le service nginx et utiliser le mode standalone (une fois le port 443 libéré) pour (re-)générer mes certificats :

service nginx stop
certbot certonly --standalone --expand -d soutade.fr -d www.soutade.fr -d blog.soutade.fr
-d demo-gpass.soutade.fr -d denote.soutade.fr -d dynastie.soutade.fr -d gpass.soutade.fr
-d gpass-demo.soutade.fr -d iwla.soutade.fr -d music.soutade.fr
service nginx start

Une petite entrée de plus dans /etc/crontab et voilà, je n'ai plus à me soucier de la gestion de mes certificats ! Bon, j'aurais également pu déployer des scripts dans /etc/letsencrypt/renewal-hooks/.

J'attendais avec impatiente l'arrivée des wildcards (*.nom.de.domaine) qui devaient être intégrés à partir du 4 janvier, mais étant donné que certbot ne génère qu'un seul fichier certificat (embarquant tous les noms de domaines), j'ai finalement sauté le pas. Bien sûr, un wildcard sera plus pratique pour tout ce qui n'est pas configuré explicitement au niveau de mes serveurs webs. Activation prévue fin février, attendons de voir.

Wednesday, 27 December 2017
|
Écrit par
Grégory Soutadé

Logo Kubiac

Petit coup de projecteur sur le groupe Kubiac. Non, je ne parle pas de Francis Lawrence Kubiac, personnage emblématique de la série Parker Lewis ne perd jamais, mais d'un petit groupe de punk Niçois.

Composé de quatre membres, Kubiac a vu le jour il y a quelques années maintenant. Cependant, comme la plupart des formations qui ne vivent pas de leur musique, il faut en profiter avant qu'ils ne disparaissent.

Leur première démo Pizzapocalypse sortie en 2015 est disponible sur Bandcamp à prix libre. 6 morceaux et demi de punk qui groove grave ! Sur un son énergique, mais néanmoins très propre, avec quelques teintes métal, rock, blues, reggae, Kubiac déblatère des textes satyriques, teintés d'humour. L'objectif est clair : se faire plaisir, pas de prise de tête. La technique (plutôt riche) est vraiment maîtrisée, ce qui change de pas mal de beaucoup de groupes punk/grunge Français qui deviennent rapidement inaudibles.

D'après le quatuor, un album est en préparation (les morceaux de la démo seront inclus), et comme "un tiens vaut mieux que deux tu l'auras", je conseille d'investir maintenant.

Pour ceux qui ont la chance d'être dans le coin, ils semblent tourner assez régulièrement. Pas encore en tête d'affiche, mais aux côtés de groupes plutôt connus dans la région (Park In Son, I.M.O.D.I.U.M notamment).

Friday, 15 December 2017
|
Écrit par
Grégory Soutadé

Logo gPass

Mise à jour mineure de gPass suite à la "violation" des règles d'utilisation de Google : il manquait les informations concernant la gestion des données utilisateurs (vie privée/privacy policy). J'en profite pour pousser deux autres changements :

  • Léger changement dans l'algorithme de génération des wildcards côté client (*.nomde.domain), qui ne fonctionnait pas pour des noms de domaines courts (<= 3 caractères)
  • Côté serveur, l'affichage descend automatiquement lors de l'ajout d'une nouvelle entrée (pratique quand on a beaucoup de mots de passes)
Friday, 01 December 2017
|
Écrit par
Grégory Soutadé

Tux, the Linux mascot

For some projects I have to work inside Linux kernel code and, as a developer, I have my own preferences for coding rules (not stable for variable/function naming in facts...) . Especially, I prefer 4 spaces for indentation, curly brackets at a newline. But, the kernel is full of narcissists dictatorscoders and a strict set of coding rules has been determined some years ago. It can be found in Documentation/CodingStyle. Linux is a big project with thousands of people working on it, so I agree that it requires some code normalization for all contribution. Even if you don't plan to verse your patches into upstream, it's good to follow these rules. Here is some tips to comply with it.

First, as an emacs user I have my own rules in my ~/.emacs configuration file. But, when I work on Linux kernel, I want "linux" rules to be applied. A tip from emacswiki allows to automatically switch when a file with "linux" in its path name is found :

(defun maybe-linux-style ()
  (when (and buffer-file-name
         (string-match "linux" buffer-file-name))
    (c-set-style "Linux")
    (c-set-indentation-style "linux")
    (indent-tabs-mode t)
    ))
(add-hook 'c-mode-hook 'maybe-linux-style)
(add-hook 'before-save-hook 'delete-trailing-whitespace)

Another tip I use is a modified pre-commit hook that will checks my modifications before validate the commit. Edit you .git/hooks/pre-commit with the following lines :

#!/bin/sh
#
# An example hook script to verify what is about to be committed.
# Called by "git commit" with no arguments.  The hook should
# exit with non-zero status after issuing an appropriate message if
# it wants to stop the commit.
#
# To enable this hook, rename this file to "pre-commit".

temp_file=`mktemp`
files=`git diff --name-only`
to_diff=""
for file in ${files} ; do
    # Filter .c and .h files
    echo ${file} | grep ".h$" > /dev/null 2>&1
    if [ $? -ne 0 ] ; then
    echo ${file} | grep ".c$" > /dev/null 2>&1
    if [ $? -ne 0 ] ; then
        continue
    fi
    fi
    # Add not deleted file
    if [ -f ${file} ] ; then
    to_diff="${to_diff} ${file}"
    fi
done
git diff --no-color -u --summary ${to_diff} > ${temp_file}
./scripts/checkpatch.pl --no-signoff --min-conf-desc-length=0 --no-summary --mailback ${temp_file}
ret=$?
rm -f ${temp_file}
exit $ret

Don't forget chmod +x .git/hooks/pre-commit

Unfortunately, this hook can't be stored into the central repository and have to be copied each time you clone it (or install a server hook). If you want to bypass it (for some reasons), just commit with "--no-verify" option.

Finally, when you already have a custom codebase ready and commited, you can use some scripts provided by the kernel team to check for coding rules. The first is scripts/Lindent that will indent your file following the kernel coding rules via indent util (needs to be installed). The second is scripts/cleanfile which remove unnecessary whitespaces. The third is scripts/checkpatch.pl -f that will checks the whole file (and not just a patch).

Tuesday, 28 November 2017
|
Écrit par
Grégory Soutadé

Logo Cross Amnesty International

L'édition 2017 du cross Amnesty International se déroulera le dimanche 10 décembre place Bermond. Comme l'année dernière, une collecte de vos anciennes chaussures de sport sera réalisée au profit des réfugiés. Le site a fait peau neuve, pas le principe : 4 parcours de 1km, 4km et 11km (compte pour le challenge 06) dans la forêt Valbonnaise. Les départs seront donnés à 10h, 10h30 et 11h15. Le tout pour la modique somme de 10€ (12€ sur place), excepté pour le 1km qui est gratuit.

PS : N'oubliez pas le certificat médical !

Retour : Félicitation aux 137 + 39 + 16 participants, ainsi qu'aux courageux organisateurs ! Météofrance avait annoncé des pluies éparses pour ce dimanche et j'avais espéré passer entre les gouttes. Mais la pluie discontinue a eu raison de mon optimisme.

Dernier gif les joies du code Quand un collègue m’interrompt en pleine réflexion