Archives 2015
Wednesday, 14 January 2015
|
Écrit par
Grégory Soutadé

Je suis Charlie

Je suis Charlie. Au début on entend une vague news : attentat chez Charlie Hebdo. Où ça ? Dans la rédaction de Charlie Hebdo ! Soit. On apprend ensuite que des hommes sont venus et ont tiré dans le tas, c'est moins drôle. Les dessinateurs emblématiques, ainsi que l'équipe de rédaction, mais aussi d'autres innocents sont morts. Finalement, on suit avec de plus en plus d’assiduité la cavale et le double assaut des forces de l'ordre. C'est un drame qui s'est peu à peu découvert et, prendre un peu de recul, apprendre ce qu'il s'est réellement passé (au-delà du tapage médiatique), laisser passer l'émotion, n'est que plus bénéfique pour en tirer un article.

Je suis Charlie. Qu'est-ce que cela veut dire exactement ? ça veut dire que je suis un homme libre, que je marche droit, que je suis libre de m'exprimer. Plus encore quand on tient un blog sur internet, quand ce qui est écrit est librement accessible de New York à Tokyo, en ne passant pas par la Chine. Plus encore quand, en plus d'être auteur, on est rédacteur en chef et responsable de la publication. C'est le propre de la décentralisation : ce que j'écris, j'en suis seul responsable. Ni Facebook, ni Twitter, ni Skyblog ne pourront l'effacer !

Je suis Charlie. Pourquoi ? Cette question n'a, outre les médias à sensation, qu'une moindre importance. Charlie Hebdo, personne n'en parlait il y a une semaine à peine. Un tirage pour seulement 0,05% de la population française. Aujourd'hui, tout le monde est Charlie. Ceux qui l'aiment, ceux qui ne l'aiment pas, et surtout tous ceux qui ne le connaissent pas. Le pourquoi, c'est une pulsion, ou, à défaut, un ordre survenu brusquement. Un assaut destructeur planifié à la va vite par deux simple exécutants.

Je suis Charlie. La véritable question, c'est comment ? Comment deux jeunes hommes en sont arrivés à prendre les armes pour massacrer de sang froid une tablée d'innocents. Je pense que l'on peut trouver deux explications majeures. La première, et la plus facile pour la société, puise sa source dans ce que l'on appelle communément Al Qaida, l'État Islamique, Daesh... Ces groupes terroristes ont pris une ampleur considérable depuis 2001. Ils disposent d'importants moyens de communication (notamment via les réseaux sociaux). Mais surtout, ils ont un énorme potentiel d'endoctrinement. Sur le terrain, ils ont les financements nécessaires pour mener une guérilla terroriste. C'est le régime de la peur, régime favorisé par le chaos qui règne au moyen orient et en Afrique.

Les États-Unis et l'Europe sont en partie responsables de ce chaos. En envahissant l'Afghanistan et l'Irak, ils ont, certes, mis à mal les régimes dictatoriaux en place, mais se sont retirés sans avoir pu apporter la paix et la sérénité pour les populations locales. Un dictateur au pouvoir n'est pas une solution, le chaos l'est encore moins. La deuxième partie de ce chaos intervient avec la révolution arabe. Elle n'est pas néfaste en soit, puisqu'elle apporte aux peuples la liberté de choisir leur avenir. Mais, c'est surtout la période de transition post révolution, jusqu'à la stabilisation des nations, qui permet aux plus forts de tenter de prendre le pouvoir par les armes (ou du moins d'essayer). On peut aussi noter le silence de la ligue arabe par rapport aux conflits qui se déroulent juste à leurs frontières...

Il ne faut pas oublier non plus que, les dictateurs en place, ne le sont pas forcément par hasard. Certains ont reçu des soutiens extérieurs en échange de contrats commerciaux, avantages politiques ou simplement financiers. C'est un peu clichés, mais le film "Lord Of War" donne un bon aperçu du niveau de corruption que l'on peut trouver un peu partout dans le monde. Si on revient quelques dizaines d'années en arrière, la décolonisation des puissances Européennes a laissé place au même vide que le désengagement de l'Afghanistan et de l'Irak, rapidement comblé par des groupes armés. Ne parlons même pas de la guerre froide qui a vu une prolifération massive des armes de guerre (autant lourdes que légères) que l'on retrouve un peu partout dans le monde.

La deuxième explication est encore moins plaisante. Le massacre de Charlie Hebdo est un problème français. Les exécuteurs sont français. Ils ont le parfait profil psychologique pour mener ce genre d'opération. Des meurtriers ? Pas vraiment. Surtout des personnes en détresse, que la république a abandonnée. Ce sont les laissés pour compte du système. Quel que soit le système en place, il y aura toujours des laissés pour compte, mais, si on veut éviter un nouveau Charlie, il faut avant tout travailler sur ce point. Dans les quartiers où l'état n'a plus d'emprise, construit pour parquer les immigrés au sortir de la seconde guerre mondiale, citoyens de seconde classe, où règne la loi du plus fort, la loi de la délinquance, où les gens grandissent dans un chaos social et familial, dans la haine permanente, exclus (à tort ou à raison) du système, il est facile d'attiser encore plus ces sentiments. Plus encore quand on invoque un motif religieux. On l'oublie souvent, mais la religion (quelle qu'elle soit) est un repère. Un repère là où il n'y en a plus. C'est l'arme des recruteurs, donner l'espoir qu'un homme puisse faire quelque chose d'utile, venger ses frères qui tombent sous les balles. Charlie, malgré sa faible audience, était un symbole, du pain béni (si je puis dire) auprès des recruteurs pour attiser la haine et renforcer ce sentiment de victimisation des combattants radicaux.

Mais, si mourir en martyr est un honneur, assassiner des innocents n'est pas un acte de foi. Les assassins ne sont pas des martyrs, ce sont des assassins. Invoquer le nom de dieu pour tuer, c'est le salir.

À Marseille, il y a eu un règlement de compte par mois en 2014. La violence du procédé est la même. Ne parlons même pas de ce qui se passe en Afrique et au Moyen Orient (Syrie en tête). C'est devenu tellement banal, que l'on n'y prête plus attention. De plus, la censure médiatique existe dans nombre de pays et pourtant, la mobilisation internationale est relativement faible. C'est un peu l'hypocrisie que dénonce certains dessinateurs.

À l'opposé, la tentation de renforcer les contrôles au niveau de la vie privée/liberté informatique est forte. Pourtant, c'est tout le contraire qu'il faut faire ! Les agissements de la NSA, en collaboration avec les services secrets internationaux, sont contre-productifs. Au lieu de se consacrer sur des cibles, tout le monde est espionné. Résultat, tout le monde augmente le niveau de sécurité de ses connexions ! Donc, il est de plus en plus difficile de capter et tracer ce genre d'attentat. Le groupe Anonymous, en réalisant des DDoS de sites islamiques radicaux, ainsi que des défaçages n'ont rien compris non plus. Il faut continuer à garder ces sites en vie et tracer les utilisateurs. Qu'ils en fassent tomber un et dix renaîtrons, c'est exactement la même chose pour les sites pirates dont ils sont les gestionnaires !

Tomber dans la haine n'est pas la solution. D'un côté, ceux qui profitent de cette aubaine pour commettre des actes islamophobes et, de l'autre, ceux qui approuvent ces attentats. Il faut expliquer, surtout aux plus jeunes, ce qu'il en est. Expliquer ce que sont réellement les caricatures, leur contenu, plutôt que de laisser entrer l'idée dans leurs têtes que "le prophète a été insulté" sans autre argument. Expliquer que l'Islam est, au même titre que les autres, une bonne religion. Le point positif que l'on a pu voir lors des manifestations, est le rejet par la majorité de ces actes ainsi que le non amalgame entre Islam et terrorisme. Mais, comme pour les groupes terroristes, c'est toujours une minorité haineuse qui entache la majorité.

La conclusion de la semaine qui vient de s'écouler ? Peut être une prise de conscience de l'aspect global des choses. Moi, en tant que citoyen français, en tant que citoyen européen, en tant que citoyen du monde, que puis-je apporter pour infléchir ce mouvement ? Mais aussi Charlie ? Que va-t-il devenir une fois que le souffle médiatique sera retombé ? Le plus dur reste à faire et le chemin est loin d'être facile !

Wednesday, 07 January 2015
|
Écrit par
Grégory Soutadé

Aujourd'hui, un petit tutoriel sur la génération de certificats SSL/TLS auto signé avec openssl. Il en existe déjà des dizaines sur le web. Celui-ci n'apporte pas grand chose de nouveau, si ce n'est me permettre de garder la procédure sous le coude (qui a dit égoïste ?).

SSL/TLS Quèsaco ?

Pour rappel, SSL (Secure Socket Layer) et son remplaçant TLS (Transport Layer Security) sont des protocoles permettant de chiffrer (personne ne peut lire les échanges client/serveur) et d'authentifier (on est sûr de parler à la bonne personne) une connexion réseau. C'est le mécanisme qui est mis en oeuvre lorsqu'on accède à un site via https:// (entre autres).

Chaine de confiance

Le modèle SSL/TLS repose sur une chaîne de confiance. C'est à dire que chacun des maillons va signer le suivant (jusqu'au final). Donc, si on est sûr du maillon initial (racine), on peut vérifier la chaîne de bout en bout. C'est la faiblesse théorique du protocole : celui qui a la clé privée du certificat racine (l'autorité de certification ou Certificate Authority (CA) en anglais) peut faire ce qu'il veut, comme générer une chaîne complète. Les certificats racines de confiance (partie publique uniquement) étant enregistrés dans un répertoire du navigateur (Firefox, Chrome...) lors de l'installation et mis à jour régulièrement (certains sont même révoqués avant leur date d'expiration).

Cela paraît un peu flou ? Exemple simple, mais néanmoins courant : votre entreprise construit son propre certificat racine et l'enregistre dans votre navigateur (ceci est tout à fait légal), elle pourra générer à la volée un certificat pour *.google.com et ainsi pouvoir lire tous vos mails de mail.google.com (gmail) sans que le navigateur ne détecte d'erreurs !

Hiérarchie de certificats

Certificat auto-signé, pourquoi ?

Le marché du certificat est très juteux. Pour assurer votre sécurité, les autorités de certification vendent chaque certificat plusieurs centaines d'euros par an (une dizaine pour un particulier). Pourtant, le travail de certification est relativement simple. Il existe cependant des autorités gratuites telles que CACert, mais, très peu d'entres elles voient leurs certificats racines intégrés aux navigateurs.

Jadis, j'utilisais un certificat OVH (signé par Symantec Corporation), puis un certificat Gandi (COMODO CA Ltd), mais, au delà de l'aspect pécunier, j'ai décidé de vouloir maîtriser ma chaîne de bout en bout car, quitte à ne pas être reconnu par les navigateurs, autant que je puisse vérifier que je ne suis pas espionné.

Générer un certificat, la pratique

La première chose à faire est de générer la clé privée et le certificat racine de notre autorité de certification (CA). Pour cela, je choisis de générer un certificat d'une validité de 10 ans avec une taille de clé 4096 bits. La clé privée (protégée par un mot de passe) sera contenue dans soutade-ca.key, et le certificat racine (partie publique) dans soutade-ca.crt

    openssl req -new -x509 -extensions v3_ca -keyout soutade_ca.key -out soutade_ca.crt -days 3650 -newkey rsa:4096

    Enter PEM pass phrase:
    Verifying - Enter PEM pass phrase:

    Country Name (2 letter code) [AU]:FR
    State or Province Name (full name) [Some-State]:France
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Soutade CA
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:
    Email Address []:

    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:

Maintenant que nous avons notre autorité, nous allons passer au certificat final (on pourrait en avoir des intermédiaires) pour tout soutade.fr. Il faut répéter la procédure à partir de cette étape lors du renouvellement annuel.

Il faut commencer par créer une clé privée (2048 bits dans cet exemple) :

    openssl genrsa -out soutade.fr.key 2048

La requête de signature (sans mot de passe)

    openssl req -key soutade.fr.key -new -out soutade.fr.csr

    Country Name (2 letter code) [AU]:FR
    State or Province Name (full name) [Some-State]:France
    Locality Name (eg, city) []:
    Organization Name (eg, company) [Internet Widgits Pty Ltd]:Soutade
    Organizational Unit Name (eg, section) []:
    Common Name (e.g. server FQDN or YOUR name) []:*.soutade.fr
    Email Address []:

    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:

Enfin, le certificat final (signé par notre autorité) et valide 1 an (maximum recommandé)

    openssl x509 -req -days 365 -in soutade.fr.csr -CA soutade_ca.crt -CAkey soutade_ca.key -out soutade.fr.cert -CAcreateserial -CAserial soutade_ca.srl

Accessoirement, on peut supprimer les requêtes de signature

    rm -f *.csr

L'option -CAcreateserial va créer le fichier soutade_ca.srl. C'est important pour ne pas regénérer un certificat avec le même numéro de série.

IMPORTANT : Maintenant, il faut stocker la clé privée de l'autorité racine dans un lieu SÛR. Je conseille de faire un GPG du tar.gz et de le copier sur plusieurs supports !

Configuration pour nginx

La première étape est d'installer les certificats sur le système (exemple sur Debian)

    sudo cp soutade.fr.key soutade.fr.cert /etc/ssl/

Deuxième étape, configurer nginx. Dans /etc/nginx/sites-available/default

    listen   80 default; ## listen for ipv4
    listen   443 ssl; ## listen for ipv4

    server_name  soutade.fr *.soutade.fr;
    ssl_certificate     /etc/ssl/soutade.fr.cert;
    ssl_certificate_key /etc/ssl/soutade.fr.key;

    ssl_session_timeout  5m;

    ssl_protocols   TLSv1.2;
    ssl_ciphers  HIGH;
    ssl_prefer_server_ciphers   on;

On pourra noter que je n'active que TLSv1.2 avec les algorithmes de chiffrement les plus hauts et en préférant ceux du serveur. À la vue des dernières découvertes autour de SSL/TLS, les experts en sécurité conseillent fortement de désactiver les versions (obsolètes) de SSL (v3) et TLS (v1), quitte à ne pas supporter les vieux navigateurs (TLSv1.2 est quand même sorti en 2008).

Installation dans Firefox

Pour ce faire, il faut copier soutade-ca.crt en soutade-ca.pem, puis (dans Firefox) : Édition-> Préférences -> Avancé -> Afficher les certificats -> Importer...

Conclusion

Maintenant nos connexions sont protégées des vils pirates ? Pas forcément ! Comme dans l'exemple, il y a toujours la possibilité de générer à la volée un certificat à partir d'une autorité de certification que l'on maîtrise. Le seul moyen pour ne pas se faire avoir est de vérifier l'empreinte du certificat quand nous nous connectons, mais en général, l'autorité de certification ne mentionnera pas "Soutade CA" comme émetteur (plus facile à contrôler).

Nine nine nine nine. Are you sure that's random ? That's the problem with randomness : you can never be sure