Catégorie : Technique

  • sslh : Couteau suisse contre les PALC

    Les PALC (proxy à la con) sont ces horreurs qu’on trouve parfois dans les grandes socié­tés. Ils filtrent, sans trop qu’on sache pourquoi, des pans entiers d’In­ter­net, avec des règles haute­ment scien­ti­fiques qui filtrent à peu près tout ce qui serait utile à consul­ter avec un applomb excep­tion­nel.

    PALC vrai­ment ALC

    Je vous laisse lire les quelques premiers liens sur le web, c’est édifiant. C’est d’au­tant plus crétin que plus c’est filtré, plus ça encou­rage le person­nel à trou­ver des moyens alter­na­tifs. J’ai eu une mission dans un service de l’état où tout le service infor­ma­tique avait un réseau paral­lèle avec un wifi à demi pirate et des postes portables person­nels pour complé­ter le dispo­si­tif.

    Là c’était assumé, mais chaque entre­prise a ses bidouilles, ou ses renon­ce­ments. Les PALC empêchent de travailler tout bon infor­ma­ti­cien, et soit on monte ses bidouilles soit on renonce et c’est l’en­tre­prise qui gagne des infor­ma­ti­ciens démo­ti­vés, inca­pables d’exé­cu­ter leur travail sans faire appel à des consul­tants externes, et tota­le­ment dépas­sés par les nouvelles tech­no­lo­gies.

    Les PALC sont les terreurs de ces consul­tants et autres pres­ta­taires. On arrive, on se retrouve à devoir résoudre des problèmes sans docu­men­ta­tion, sans aide, et parfois sans même pouvoir accé­der à ses propres mails ou contac­ter le réseau d’ex­pert des collègues. Plus que contre­pro­duc­tif, ça met sérieu­se­ment à risque la capa­cité à exécu­ter le contrat qui nous lie.

    La solu­tion

    La solu­tion de percer le proxy et outre­pas­ser les règles de sécu­rité de l’en­tre­prise. C’est mal, je ne vous recom­mande pas de le faire. Je vous décon­seille même de le faire. Si vous déclen­chez des problèmes, ça vous retom­bera dessus et vous l’au­rez bien cher­ché.

    Quelques règles toute­fois : 1– unique­ment quand c’est néces­saire et 2– unique­ment de l’en­tre­prise vers l’ex­té­rieur, jamais de lien qui permette d’injec­ter du trafic non demandé vers l’in­té­rieur de l’en­tre­prise (si vous faites ça, quelle qu’en soit la raison, vous méri­tez tout ce qui peut vous arri­vez ensuite).

    Main­te­nant quasi­ment tous les consul­tants d’ex­per­tise tech­nique que j’ai vu avaient leur solu­tion. La mienne c’était le tunnel SSH sur port 443. On me dit que certains proxy savent le bloquer ou le repé­rer mais en pratique ça ne m’est jamais arrivé malgré un nombre de situa­tions diffé­rentes très élevé.

    Not(l’état de l’art a peut être évolué depuis, je ne donne aucune garan­tie). Si ça ne fonc­tionne pas il y a d’autres méthodes plus complexes, moins détec­tables, mais pas aussi pratiques. Toujours est-il que ça a été indis­pen­sable plus d’une fois.

    Simple à mettre en oeuvre si vous avez un serveur qui tourne quelque part sur Inter­net, ça vous permet de faire tran­si­ter à peu près n’im­porte quoi comme trafic : web, messa­ge­rie, contrôle à distance, etc. Pour moi ça allait de consul­ter les sites tech­niques inter­dits par mauvais filtrage au chat avec mes collègues pour poser des ques­tions tech­niques en passant par l’ac­cès à mon webmail pro (et perso) ou par la protec­tion de données que je ne souhai­tais pas lisible par l’en­tre­prise d’ac­cueil.

    Le gadget supplé­men­taire

    Il y a deux défauts au tunnel SSH sur le port 443 : 1– Le dit port est utilisé avec SSH et ne peut plus renvoyer du HTTPS comme on le souhai­te­rait. 2– Si l’ad­mi­nis­tra­teur repère un gros volume vers votre serveur sur ce port il testera et verra qu’au­cun site HTTPS ne répond (ça ne m’est jamais arrivé, mais prévoyons).

    Le gadget magique c’est sslh. J’avais un mauvais code source en C qui faisait ça avant mais sslh fera ça bien mieux et plus complè­te­ment. Ce démon prend la place sur le port 443 et sait repé­rer si on tente d’uti­li­ser du HTTPS, du SSH, de l’OpenVPN, ou du XMPP. Il redi­ri­gera le trafic vers le bon service en fonc­tion des premiers octets de la connexion.

  • Orange va expé­ri­men­ter du QoS data diffé­ren­ciée pour les entre­prises

    Reflets arrive souvent à voir pas mal de choses concer­nant les réseaux mais j’ai l’im­pres­sion qu’ils ont ici manqué la portée de ce qu’ils révèlent.

    Quand Orange expé­ri­mente du QoS data diffé­ren­ciée pour les entre­prises, on parle de réser­ver une bande passante à ceux qui payent plus cher. Le concept même est mauvais, et Reflets le pointe très bien.

    Cela mène à une situa­tion magique : non seule­ment cela dégrade la situa­tion de tous les autres, mais cette dégra­da­tion est au béné­fice de l’opé­ra­teur qui renforce ainsi l’in­té­rêt de l’offre premium. Bref, l’offre n’a pas à venir avec une amélio­ra­tion de la qualité ou du réseau en géné­ral, on se contente de créer de la rareté pour faire payer des surcoûts en plus. C’est même encore plus magique puisqu’il devient de l’in­té­rêt de l’opé­ra­teur de dégra­der l’offre stan­dard, ce qui fait écono­mi­ser des sous : on gagne sur les deux tableaux.

    Bref, du connu. Mais j’ai l’im­pres­sion que Reflets se laisse avoir par l’idée que c’est pour l’ins­tant unique­ment une offre pro. Main­te­nant n’ou­blions pas. S’il y a 10 personnes à 1 Mb/s sur la borne 3G et qu’on offre un accès prio­ri­taire au pro pour sa télé­con­fé­rence à 4 Mb/s, ce sont tous les autres qui perdent un tiers de leur bande passante.

    Comme il n’y a pas des bornes 3G pro et des bornes 3G parti­cu­liers, si l’offre est pour les pro, elle dégrade la situa­tion de tous les autres, qui sont majo­ri­tai­re­ment des parti­cu­liers. Ces derniers font bel et bien partie de l’ex­pé­ri­men­ta­tion, malgré eux et malgré les annonces.

    Neutra­lité du net ? visi­ble­ment c’est déjà perdu.

  • France : Google privé du statut d’hé­ber­geur pour ses liens Adwords

    Le statut d’hé­ber­geur est un réel flou en France. Il permet norma­le­ment à un héber­geur ou inter­mé­diaire tech­nique d’être exonéré de respon­sa­bi­lité pour des conte­nus illé­gaux à certaines condi­tions, mais savoir qui peut en profi­ter semble faire conti­nuel­le­ment sujet à débat.

    Par le passé on l’a refusé à l’un parce qu’il avait de la publi­cité, à l’autre parce qu’il avait une caté­go­ri­sa­tion des actua­li­tés postées par les visi­teurs, à un troi­sième parce qu’il y avait une modé­ra­tion… Pas mal de ces déci­sions sont souvent jugées contes­tables par les gens du métier, moi le premier.

    Ici Google est privé du statut d’hé­ber­geur pour ses liens Adwords, parce qu’il prévoit que les demandes doivent être lancées plusieurs jours avant la prise d’ef­fet pour permettre à Google de faire des obser­va­tions, des modi­fi­ca­tions, ou des refus. Parti de là, c’est qu’il y a une revue de prévue à priori, et donc qu’il y a travail édito­rial et publi­ca­tion en connais­sance de cause, du moins telle semble être l’in­ter­pré­ta­tion du juge. On peut simple­ment dire comme dans l’ar­ticle que Google est pris à son propre jeu juri­dique, mais je serai tenté de dire que pour une fois l’in­ter­pré­ta­tion est intel­li­gente. On ne peut pas et récla­mer ne pas pouvoir vali­der les conte­nus, et impo­ser un délai préa­lable destiné à juste­ment les vali­der (ce qui n’im­plique pas que c’est fait, mais au moins qu’il est prévu que ce puisse être fait). C’est une histoire de cohé­rence et de réci­pro­cité.

  • Respon­sive image

    Il y a eu des centaines d’ar­ticles tech­niques détaillés et plus ou moins smart sur la possi­bi­lité de télé­char­ger une image plus ou moins grosse suivant la taille d’af­fi­chage, afin de ne pas utili­ser une énorme image sur mobile ou une ridi­cu­le­ment petite sur un écran 24″.

    Si vous ne devez en lire qu’un

    Le dernier pour comprendre où en sont les réflexions, c’est proba­ble­ment l’ar­ticle de Bruce Lawson. Il faut aussi lire les commen­taires.

    Tout d’abord oubliez les astuces à base de javas­cript et de noscript. Il existe des machins horribles qui résistent à peu près à tout, mais ça reste fran­che­ment bancal. Oubliez encore plus les scripts à base de cookie, qui de toutes façons ne pour­ront jamais répondre à plus du tiers de la problé­ma­tique, et encore, avec des effets de bords.

    Bruce part d’une solu­tion unique­ment basée sur des CSS, qui de plus à la bonne idée d’être théo­rique­ment déjà fonc­tion­nelle. Il suffi­rait d’amé­lio­rer le support CSS 3 des navi­ga­teurs pour que cela ne se pose plus. Pour l’ins­tant cela n’est possible qu’a­vec Opera et Chrome, et les opti­mi­sa­tions de perfor­mance de ces navi­ga­teurs risquent de faire télé­char­ger deux images au lieu d’une seule (ce qui est un peu l’op­posé du but recher­ché).

    Il propose ensuite un marquage HTML pour arri­ver au même résul­tat. C’est rétro-compa­tible avec les navi­ga­teurs actuels, et ne devrait pas être impos­sible à implé­men­ter.

    Main­te­nant ça ne me plait pas

    Tout d’abord le marquage HTML me semble le mauvais endroit pour résoudre la problé­ma­tique. On parle de répondre à des tailles d’af­fi­chage, et ça c’est typique­ment une ques­tion de présen­ta­tion, donc de CSS. Certai­ne­ment il y a des fois où un marquage HTML aura du sens, mais selon moi ce sera un cas parti­cu­lier du cas géné­ral, et utili­ser HTML est prendre le problème par le mauvais sens.

    Ensuite il y a des problé­ma­tiques qui marquent un manque de recul (pas de la personne, mais bien en rapport avec les besoins réels et les capa­ci­tés des navi­ga­teurs). Filtrer sur le fait que l’uti­li­sa­teur est en 3G est seule­ment impos­sible pour beau­coup de situa­tions (le navi­ga­teur n’a pas l’in­for­ma­tion), mais aussi n’a aucun sens. Pour une même connexion 3G je peux être à des vitesses réelles qui font presque passer mon ancien 56K pour une alter­na­tive accep­table (par exemple à cause des pertes de paquets à gogo), soit être à 7Mb/s et crâner devant la majo­rité des liai­sons ADSL de mon pays (qui est pour­tant très bien connecté). De toutes façons la vitesse de connexion sur mon propre accès est un très mauvais révé­la­teur de la vitesse réel­le­ment dispo­nible pour joindre le serveur d’en face. Le réseau peut être encom­bré chez moi, chez mon FAI, sur le serveur d’en face, ou n’im­porte où au milieu.

    Je seconde le commen­taire numéro 8 : s’il fallait vrai­ment tailler le contenu de manière fixe en fonc­tion unique­ment de taille d’écran et de vitesse de connexion, une décla­ra­tion dans les entêtes de la requête et une négo­cia­tion HTTP seraient bien plus effi­caces. L’op­tion a de plus l’avan­tage de ne poser aucun problème de compa­ti­bi­lité arrière.

    La problé­ma­tique de base

    Toute­fois, on revient au problème initial. À force de discu­ter certains ont oublié la problé­ma­tique de base : choi­sir une image en fonc­tion de la taille à affi­cher. Le méca­nisme éven­tuel ne doit prévoir que ça : permettre de spéci­fier diffé­rentes adresses (ou diffé­rents suffixes) en fonc­tion de diffé­rentes hauteurs ou largeurs.

    Charge à vous d’uti­li­ser une entête ou l’adresse IP côté serveur pour véri­fier si c’est de l’ADSL ou de la 3G (ça me semble une mauvaise idée mais vous pouvez déjà le faire). Charge à vous d’uti­li­ser des @media pour propo­ser plusieurs versions en fonc­tion de la taille de l’écran ou de son orien­ta­tion, ou de contraindre cette taille en fonc­tion. En combi­nant tout cela vous devriez pouvoir faire tout ce qui vous amuse, mais la problé­ma­tique qui nous manque c’est unique­ment celle de four­nir plusieurs URLs en fonc­tion de la taille prévue pour l’af­fi­chage. De toutes façons on ne trou­vera jamais de solu­tion qui fait le café.

    Je n’ai pas « la » solu­tion, mais selon moi (et je rejoins beau­coup le commen­taire 15) :

    • La réponse prin­ci­pale doit être côté CSS (quitte à avoir d’autres types de réponses ailleurs pour des cas niches)
    • Elle ne doit s’oc­cu­per que de propo­ser des images alter­na­tives en fonc­tion de la largeur ou hauteur prévue pour affi­cher l’image (et non de la taille du view­port ou d’autres para­mètres tiers)
    • Elle ne doit pas provoquer de double télé­char­ge­ment sur les navi­ga­teurs non compa­tibles
    • Elle doit avoir un fall­back accep­table sur les navi­ga­teurs non compa­tibles

    Le reste se fait avec les outils exis­tants, pas en les remplaçant.

    Le jeu de « ma solu­tion à moi »

    Si vrai­ment je devais créer quelque chose à chaud (ce qui se révè­lera forcé­ment une erreur), j’au­rai quelque chose comme ça :

    img.intro {
      content: content-if(attr(data-big), width > 300px),
               content-if(attr(data-small), height < 50),
               attr(src) ;
    }
    @media all and (max-width:600px) {
      img.intro {
        width: 300px ;
        height: 200px ;
      }
    }
    @media all and (max-width:320px) {
      img#thingy {
        width: 50px ;
        height : 30px ;
      }
    }

    Bon, le pseudo langage sur la condi­tion n’est proba­ble­ment pas celui qu’il faut rete­nir mais il est volon­tai­re­ment basé sur un jeu de mot clefs limité et des contraintes qui le sont tout autant (hauteur et largeur dispo­nibles, c’est tout). On peut tout à fait envi­sa­ger que cela ne fonc­tionne que si les tailles width ou height sont déter­mi­nées expli­ci­te­ment dans la CSS, histoire de ne pas rendre l’im­plé­men­ta­tion irréa­li­sable. Autre avan­tage : c’est à priori compa­tible avec l’exis­tant puisqu’au pire si content-if n’est pas supporté, c’est toute la règle qui est igno­rée. Reste au navi­ga­teur qui supporte ça de prendre la première version qui corres­pond.

  • Appel à orateurs − Sud Web 2012

    Après Paris Web, c’est le tour de Sud Web. La précé­dente édition étant un succès, ils remettent ça les 25 et 26 mai 2012 à Toulouse. À vous de propo­ser des sujets via le formu­laire de l’appel à orateurs. Si vous voulez parler de concep­tion web, c’est un des événe­ments à suivre.

  • Le déséqui­libre des échanges impose-t-il vrai­ment d’at­ten­ter à la neutra­lité du net ?

    Le billet de Ludo­vic Pénet sur le déséqui­libre des échanges réseau et la neutra­lité du net ne parle fina­le­ment que peu de déséqui­libres mais j’en profite pour m’ac­cro­cher à la discus­sion.

    Tout d’abord je suis agacé quand j’en­tends parler de ce fameux déséqui­libre. Un tuyau fait passer des données. Elles consomment une partie de la bande passante du tuyau, néces­site des ressources pour les routeurs et l’ache­mi­ne­ment, mais fina­le­ment rien dans tout ça n’est dépen­dant du sens de l’in­for­ma­tion lui-même. L’asy­mé­trie n’est en rien un « problème ».

    Fut-ce t’il d’ailleurs un problème qu’il serait fran­che­ment hypo­crite de la part des opéra­teurs de s’en plaindre. On ne peut décem­ment pas offrir un accès à l’uti­li­sa­teur 20 fois plus large en descente qu’en montée, puis râler ensuite qu’il y a plus de descente que de montée. Il faudrait rester un mini­mum cohé­rent.

    La ques­tion est par contre éven­tuel­le­ment de savoir sur quel réseau circule la donnée avant d’ar­ri­ver à son point de chute, ainsi que de savoir qui est respon­sable du trafic, et donc de son paie­ment.

    Là aussi je trouve le compor­te­ment des opéra­teurs très hypo­crite. Le contenu trans­féré l’est parce qu’il est demandé par le réseau de l’opé­ra­teur (par l’abonné). Le respon­sable est-il celui qui répond à la demande ou celui qui demande ? Fina­le­ment, ne serait-ce pas plutôt à l’opé­ra­teur de payer le four­nis­seur de service pour les ressources serveur qu’il consomme ? Ces ressources serveur coûtent certai­ne­ment plus cher que les ressources réseau.

    Ludo­vic parle de marges arrières et je pense qu’il est en plein dans le sujet. L’opé­ra­teur est bien dans une démarche de distri­bu­tion d’un contenu payé par ses clients et four­nit par d’autres. Il remplit un service qui mérite  finan­ce­ment mais sa posi­tion de force trop impor­tante finit par lui permettre des compor­te­ments nocifs pour tout le monde.

    À long terme ces compor­te­ments sont même nocifs même pour l’opé­ta­teur lui même, mais à la limite c’est peu impor­tant. Ici on touche de trop près à la  à la capa­cité de commu­niquer, d’in­for­mer, au lien social, à la capa­cité d’ac­cé­der au monde, pour qu’on ait le droit de lais­ser faire un jeu qui favo­rise certains four­nis­seurs de services (qui payent) par rapport à d’autres.

    Il faut convaincre nos poli­tiques de bouger pour faire de l’ac­cès à Inter­net un service neutre et protégé, comme peut l’être l’ac­cès à l’élec­tri­cité. Problème : ces derniers voient encore Inter­net comme un ennemi qu’il faut surveiller et contrô­ler. Leur voie se situe sur le DPI (contrôle profond du tran­sit réseau), ce qui arri­vera forcé­ment si on renforce le contrôle des opéra­teurs.

  • HTML5 Cross Brow­ser Poly­fills

    Ah, le graal de pouvoir utili­ser sur tous les navi­ga­teurs les dernières fonc­tion­na­li­tés qui sont encore en projet ou qui ne sont arri­vés que sur les toutes dernières versions…

    Javas­cript permet toute­fois de combler pas mal de manques, pour peu qu’un génie ait passé quelques semaines à réim­plé­men­ter tout à la main.

    Voici une belle liste de ce qu’on appelle les Poly­fills, pour juste­ment utili­ser les dernières nouveau­tés sur des navi­ga­teurs qui n’ont pas été prévus pour.

    Atten­tion, les perfor­mances ne sont pas toujours au rendez-vous.

  • Hotfile : Warner Bros a fait reti­rer des fichiers sans en déte­nir les droits

    Si d’au­cuns pensaient encore que les ayants droits sont des cheva­liers blancs qui luttent contre l’in­fâme contre­façon, voilà de quoi détrom­per. Via les outils anti-contre­façon propo­sés par Hotfile : Warner Bros a fait reti­rer des fichiers sans en déte­nir les droits.

    Des fichiers sont suppri­més en masse simple­ment parce qu’ils contiennent un mot du titre du dernier film sorti. On peut voir ça comme une erreur mais c’est surtout une consé­quence d’une volonté de ne pas véri­fier les objets suppri­més un à un, même pas leur titre, et de se moquer des dégâts colla­té­raux.

    On trouve aussi au moins un logi­ciel d’op­ti­mi­sa­tion de télé­char­ge­ment. Là je vois diffi­ci­le­ment une erreur et plus proba­ble­ment une volonté d’ou­tre­pas­ser ses droits en faisant justice soi même et reti­rer un logi­ciel qui leur semble globa­le­ment faci­li­ter le télé­char­ge­ment de contre­façon (même si pour le coup ça servait à tous les télé­char­ge­ments sans faire de lien spéci­fique).

    Warner Bross refuse à ce qu’on l’oblige à véri­fier un à un chaque fichier supprimé pour en véri­fier la léga­lité. Le fait que ce soit ce que juste­ment ces socié­tés cherchent pour­tant juste­ment à impo­ser aux plate­formes d’échange et de diffu­sion ne les effleurent même pas. Diffi­cile ensuite de soute­nir leur combat.

  • Finan­ce­ment FTTH

    Je propose de faire la FTTH avec une taxe sur la produc­tion cultu­relle, musique et vidéo, parce que fina­le­ment ce sont eux qui l’uti­li­se­ront le plus.

    Ce serait un juste retour des choses non ?

  • Sécu­rité sur le web avec HTTPS ? des clous !

    Le problème commence à être connu et il est malheu­reu­se­ment non résolu : Tout le modèle de sécu­ri­sa­tion des sites web par HTTPS (chif­frage SSL/TLS) est à revoir.

    Il était déjà bancal dès le départ en instau­rant des auto­ri­tés de confiance qui n’ont qu’un rôle de rentier et qui taxent tous les utili­sa­teurs, mais leur multi­pli­ca­tion et leur manque de sécu­ri­sa­tion rend tota­le­ment vide de sens la sécu­rité du système.

    En fait c’est assez simple :

    • Nous avons au grand mini­mum une compro­mis­sion d’au­to­rité de certi­fi­ca­tion par mois, et chacune permet d’usur­per n’im­porte quel site auprès de n’im­porte quel navi­ga­teur.
    • Certaines auto­ri­tés sont contrô­lées par ou en colla­bo­ra­tion avec des états, y compris auto­ri­taires ou non démo­cra­tiques, ces états ayant alors la capa­cité d’es­pion­ner ou d’in­ter­cep­ter les commu­ni­ca­tions chif­frées vers n’im­porte quel site sans que cela ne se voit.
    • L’opa­cité totale des auto­ri­tés de certi­fi­ca­tion rend impos­sible de connaître la plupart des dégâts ou des risques en jeu.

    Il est d’ailleurs impor­tant de noter qu’on ne parle pas de ques­tions théo­riques mais de procé­dés concrets qui ont été mis en jeu. On parle de certi­fi­cats illé­gi­times au nom de Google, de Yahoo ou de banques qui ont été émis pour trom­per les navi­ga­teurs, et de maté­riels qui sont réali­sés pour inter­cep­ter et espion­ner les commu­ni­ca­tions TLS pour qui (états) a des certi­fi­cats maitres à sa dispo­si­tion.

    Le fait même d’avoir mis en place un système centra­lisé me semble avoir été une erreur énorme, mais il est temps d’ar­rê­ter les frais. Il est plus que temps de passer à un modèle décen­tra­lisé qui n’aura pas toutes les quali­tés théo­riques du modèle actuel, mais qui ne sera pas autant troué. Cela demande toute­fois que les états acceptent de ne plus être en capa­cité de contrô­ler ce qu’il se passe, même indi­rec­te­ment. Mon côté para­noïaque m’en fait douter.

    Entre temps, sur Mozilla Fire­fox vous permet d’ini­tier le mouve­ment à l’aide de quelques exten­sions.