En plein développement de la prochaine révolution informatique de ce troisième millénaire nommée GCoinCoin, The Next Generation Hardcore Mouling Agent, j'étais penché comme la tour de Pise sur le support de HTTPS dans GCoinCoin pour implémenter le Secure Hardcore Mouling le plus efficace afin de survivre dans les environnements les plus hostiles. Alors que j'étais fatigué et que j'allais m'écrouler lamentable comme les deux tours du WTC, voilà-t-il pas que je me rends compte soudainement que HTTPS n'est rien d'autre d'un dialogue HTTP encapsulé dans une connexion SSL/TLS. Ça m'a profondément choqué, j'étais abasourdi : comment peut-on permettre une chose aussi simple en février 2008 ? En janvier ou en mars 2008, passe encore, mais en février 2008, rendez-vous compte ! Je ne comprends pas. Bref, là n'est pas le débat de toute façon ...
Donc suite à cette trouvaille, pif, paf, pouf, tout s'enchaîne à une vitesse aussi allaitante que les nibards nus de Valérie Bègue nue sur la plage : je prends les informations au fin fond de ma mémoire, j'analyse, je synthétise, j'agrège, et finalement, je résulte ! Qui dit SSL/TLS, dit STunnel, un fabuleux outil qui permet de rediriger en cryptant via SSL/TLS un flux réseau. Avec STunnel, n'importe quel Mouling Agent ne supportant pas HTTPS permet tout de même de hardcore-mouler en milieu hostile pour assurer la survie de la moule !
Mise en situation. Soit une moule M qui veut hardcore-mouler sur les deux seules tribunes actuelles qui permettent de survivre en environnement hostile : 1) la tribune d'identifiant "dlfp" accessible en HTTPS via dlfp.org:443 et 2) la tribune d'identifiant "jplop" accessible en HTTPS via tifauv.homeip.net:8443 Grâce à ces informations top-moulesques, il suffit de créer un petit fichier hardcore-mouling.conf qu'on donnera à miamer à STunnel et dont voici le contenu utile et nécessaire :
; hardcore-mouling.conf ; Efficient Hardcore Mouling With STunnel ; Provided by GCoinCoin International LTD GmBh Inc. ; stunnel ne se détachera pas du terminal et ne passera ; pas en mode démoniaque. j'aime bien me rappeler qu'une ; commande tourne et je préfère avoir ses messages sur ; la console qu'inonder mes logs, surtout quand la ; commande est lancée pour être aussi bavarde qu'une ; femme. foreground = yes pid = /tmp/stunnel.pid ; Au début, ça ne fait pas de mal d'avoir autant d'infos ; que possible pour tracer les éventuels problèmes. ; Ensuite, commentez cette ligne. debug = 7 ; Notez qu'on force à TLSv1 sans quoi STunnel utilise ; SSLv3 qui merdoit ici et là. De source bien informée, ; on me signale que c'est probablement la faute à ; Jérôme Kerviel. À suivre. sslVersion = TLSv1 ; Pour ne pas avoir de compression, commentez la ; ligne suivante : compression = zlib ; On nomme les tunnels avec les identifiant des tribunes ; dans les Mouling Agent : ces [noms] sont utilisés ; par stunnel pour les messages d'infos et d'erreur : ; c'est pas inutile de garder la correspondance ; quand on a plusieurs tunnels :) [dlfp] client = yes accept = localhost:4200 connect = linuxfr.org:443 TIMEOUTclose = 0 [jplop] client = yes accept = localhost:4201 connect = tifauv.homeip.net:8443 TIMEOUTclose = 0
Ensuite, vous lancez l'exécutable STunnel via la commande :
stunnel hardcore-mouling.conf
Et enfin, vous créez une tribune "dlfp" dans votre Mouling Agent dont l'hôte est "localhost" et le port 4200 (bref, ce que vous avez mis/choisi dans la section [dlfp] de votre hardcore-mouling.conf) et une tribune "jplop" dont l'hôte est "localhost" et le port 4201. Et voilà, à vous les joies du Secure Hardcore Mouling en milieu hostile ! Notez que ça devrait fonctionner avec pyc² et wmc², et que ça juste travaille sous Linux et Win32 avec ce fabuleux Mouling Agent qu'est GCoinCoin qui devrait sortir la tête bientôt.
Pour les utilisateurschanceux de cette fabuleuse distribution GNU/Linux qu'est Ubuntu, utilisez la commande stunnel4 disponible via le paquetage stunnel4 et non pas le script stunnel. Pour les autres distributions, assurez-vous d'utiliser la commande stunnel appropriée qui DOIT être l'exécutable guenuine de STunnel, et non pas un wrapper-script à la noix de pécan comme savent le faire les distributions qui forkent à tout va les logiciels sous prétexte d'intégration (n'hésitez pas à utiliser la commande file /chemin/vers/ledit/stunnel pour vous assurer qu'il s'agit d'un exécutable ELF et non pas un script PERL ou SH).
Pour plus de renseignement sur le fichier de configuration de STunnel, consultez sa fabuleuse documentation :
-> http://www.stunnel.org/faq/stunnel.html#configuration_file
Notez que cette configuration ne vérifie pas le certificat : je publierai ultérieurement un autre journal sur la possibilité d'utiliser un certificat local pour valider l'authenticité de chaque tunnel TLSv1, mais pour l'instant, je rame comme un bureau GNOME. Si quelqu'un a une solution qui marche et qu'il a testé de lui-même (parce que bon si c'est pour me ressortir ce qu'il a lu dans la documentation de STunnel et que j'ai lue 42 fois, non merci), je suis preneur : pour l'instant, j'ai réussi à récupérer les certificats *.pem des sites (merci à mortimer< pour le plugin Firefox Cert Viewer Plus) mais l'utilisation pour chaque tunnel des directives cert=/chemin/vers/fichier.pem et verify=3 (pour une vérification locale du certificat) ne fonctionne pas.
Voilà, j'ai presque tout dit. Sinon GCoinCoin avance. Pour l'instant, il supporte les proxies HTTP sans authentification ou avec identification Basic, mais pas avec l'identification Digest vu qu'aucune moule ne semble avoir ce besoin. Je suis actuellement en train d'implémenter le Socks4/4a et peut-être Socks5 si des moules manifestent ce besoin. Donc aux moules qui hardcore-moulent ou veulent hardcore-mouler derrière un proxy, merci de profiter de ce journal pour me dire quel type de proxy vous utilisez (HTTP avec/sans authentification Basic/Digest, Proxy Socks4/4a/5).
Voilà, je rends l'antenne : merci de votre attention et à vous les studios _o/
> Lire le journal (9 commentaires, moyenne: 4,4).
Vous avez demandé le commentaire #907481.



Question
Pourquoi nommer le projet GCoinCoin si le bureau GNOME rame autant ?
N'est-ce pas se tirer un obus dans le pied ?
[^]Re: Question
GCoinCoin est un coincoin utilisant le toolkit GTK+, d'où le nom commençant par G pour signifier « GTK+ coincoin ». S'il s'agissait d'un coincoin pour GNOME, je l'aurais nommé probablement GnoCoinCoin, mais j'aurais quand même eu un doute quand à sa portabilité sur plateforme Win32 :)
[^]Re: Question
À quand KoinKoin ? :-p
[^]Re: Question
Rhalalala : http://tifauv.homeip.net/koinkoin/trac/
[^]Re: Question
KoinKoin (un c² pour KDE) est développé par mon confrère Tifauv< aussi auteur de JPlop, une tribune Javanesque dont je parle dans mon nourjal et qui existe en HTTPS. Et avant que tu le demandes, QoinQoin (un c¹ basé sur Qt uniquement) est développé par mon confrère Motodashi< aussi auteur de Tagplop, un truc pour ploper les tags comme son nom l'indique :)