{"id":1426,"date":"2014-03-02T00:56:17","date_gmt":"2014-03-01T22:56:17","guid":{"rendered":"http:\/\/blog.nebule.org\/?p=1426"},"modified":"2016-03-29T19:01:52","modified_gmt":"2016-03-29T17:01:52","slug":"gestion-de-bachue","status":"publish","type":"post","link":"http:\/\/blog.nebule.org\/?p=1426","title":{"rendered":"Gestion de bachue"},"content":{"rendered":"<p style=\"text-align: justify;\">L&rsquo;entit\u00e9 <a title=\"bachue\" href=\"http:\/\/bachue.nebule.org\/\" target=\"_blank\">bachue<\/a> existe depuis un certain temps en tant que telle. Mais il est difficile de diffuser dans de bonnes conditions les objets et liens qu&rsquo;elle signe. De bonnes conditions sont ici \u00e0 interpr\u00e9ter comme conditions de s\u00e9curit\u00e9 et facilit\u00e9 d&rsquo;exploitation.<\/p>\n<p style=\"text-align: justify;\">Cette entit\u00e9 est mat\u00e9rialis\u00e9e par une cl\u00e9 RSA en deux parties, une publique et une priv\u00e9e. La cl\u00e9 priv\u00e9e doit \u00eatre manipul\u00e9e avec pr\u00e9caution dans un environnement strictement contr\u00f4l\u00e9. La perte ou la divulgation de la cl\u00e9 priv\u00e9e remettrait en question tout ce qui a \u00e9t\u00e9 diffus\u00e9e par cette entit\u00e9, surtout si c&rsquo;est du code. En terme de sensibilit\u00e9, elle est en troisi\u00e8me position derri\u00e8re <a title=\"puppetmaster\" href=\"http:\/\/puppetmaster.nebule.org\/\" target=\"_blank\">puppetmaster<\/a> et <a title=\"cerberus\" href=\"http:\/\/cerberus.nebule.org\/\" target=\"_blank\">cerberus<\/a>.<br \/>\nLes technologies employ\u00e9es actuellement ont toutes des vuln\u00e9rabilit\u00e9s en ligne \u00e0 certains moments. Si ces vuln\u00e9rabilit\u00e9s peuvent \u00eatre combl\u00e9es, il n&rsquo;en demeure pas moins une petite p\u00e9riode de temps pendant lequel elles deviennent \u00e0 la fois publiques et non encore combl\u00e9es. Le probl\u00e8me est pire encore avec les vuln\u00e9rabilit\u00e9s non publiques (0-days) contre lesquelles une machine unique ne peut pas avoir de d\u00e9fense efficace. Donc la machine qui h\u00e9berge l&rsquo;entit\u00e9 <em>bachue<\/em>, la machine h\u00f4te, ne peut \u00eatre laiss\u00e9e connect\u00e9e sur un r\u00e9seau externe.<br \/>\nTout ce qui est manipul\u00e9 par <em>nebule<\/em> supporte sans aucun probl\u00e8me les transferts via le r\u00e9seau ou via des supports amovibles et est manipulable sur des syst\u00e8mes d&rsquo;exploitations diff\u00e9rents. Il est ais\u00e9 de travailler avec des stations non connect\u00e9es et de diffuser simplement l&rsquo;information via des relais en ligne m\u00eame plus faiblement prot\u00e9g\u00e9s.<br \/>\nChaque machine \u00e0 un r\u00f4le strictement d\u00e9finit avec des r\u00e8gles de gestion en cons\u00e9quences. Toutes les machines ne sont pas install\u00e9es avec le m\u00eame syst\u00e8me d&rsquo;exploitation et toutes les machines ne reposent pas sur la m\u00eame architecture mat\u00e9riel. Des machines tournent notamment avec un processeur <a title=\"SPARC\" href=\"http:\/\/fr.wikipedia.org\/wiki\/Architecture_SPARC\" target=\"_blank\">SUN SPARC<\/a> ou un processeur <a title=\"PowerPC\" href=\"http:\/\/fr.wikipedia.org\/wiki\/PowerPC\" target=\"_blank\">PowerPC<\/a> en plus des classiques processeurs <em>Intel\/AMD<\/em> 32bits ou 64bits. <em>Microsoft Windows<\/em> a \u00e9t\u00e9 \u00e9cart\u00e9 pour sa forte pr\u00e9somption (impossible \u00e0 d\u00e9montrer ou \u00e0 r\u00e9futer) de compromission par des entit\u00e9s \u00e9tatiques.<\/p>\n<p style=\"text-align: justify;\">Voici le sch\u00e9ma de principe retenu actuellement pour la gestion des objets et liens par <em>bachue<\/em> :<\/p>\n<p style=\"text-align: center;\"><a href=\"\/wp-content\/uploads\/nebule\/2014\/03\/20140301-sync-bachue2.png\"><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-1431\" alt=\"20140301 sync bachue\" src=\"\/wp-content\/uploads\/nebule\/2014\/03\/20140301-sync-bachue2.png\" width=\"469\" height=\"696\" srcset=\"\/wp-content\/uploads\/nebule\/2014\/03\/20140301-sync-bachue2.png 469w, \/wp-content\/uploads\/nebule\/2014\/03\/20140301-sync-bachue2-404x600.png 404w\" sizes=\"(max-width: 469px) 100vw, 469px\" \/><\/a><\/p>\n<p style=\"text-align: justify;\"><strong>1 &#8211; La station de d\u00e9veloppement<\/strong> est unique mais pourra s&rsquo;\u00e9tendre \u00e0 plusieurs machines. C&rsquo;est une machine assez classique et qui sert \u00e0 bien d&rsquo;autres choses que nebule. C&rsquo;est actuellement le principal point de faiblesse, le principal point d&rsquo;entr\u00e9e d&rsquo;une attaque.<\/p>\n<p style=\"text-align: justify;\"><strong>1-&gt;2 &#8211;<\/strong> Depuis la station de d\u00e9veloppement, on exporte les liens et objets associ\u00e9s sur une cl\u00e9 USB vers la station h\u00f4te <em>bachue<\/em>.<\/p>\n<p style=\"text-align: justify;\"><strong>2 &#8211; La station h\u00f4te<\/strong> est la seule et unique machine sur laquelle sera d\u00e9verrouill\u00e9e l&rsquo;entit\u00e9 <em>bachue<\/em>. C&rsquo;est la machine la plus critique du dispositif. Les seuls vecteurs d&rsquo;attaque sont la cl\u00e9 USB et un acc\u00e8s physique frauduleux.<br \/>\nToutes les cl\u00e9s USB ins\u00e9r\u00e9es sont syst\u00e9matiquement nettoy\u00e9es. Le nettoyage consiste en la suppression de tout fichier autre que le fichier &lsquo;l&rsquo; ou ce qu&rsquo;il y a dans le dossier &lsquo;o&rsquo;. Le fichier &lsquo;l&rsquo; ne doit contenir que des caract\u00e8res imprimables. Le dossier &lsquo;o&rsquo; ne doit pas contenir de sous dossiers. Les fichiers du dossier &lsquo;o&rsquo; doivent avoir une empreinte valide.<br \/>\nSi les liens sont ceux attendus, ils sont sign\u00e9s par l&rsquo;entit\u00e9.<br \/>\nCette station ne se met pas \u00e0 jour r\u00e9guli\u00e8rement des correctifs de s\u00e9curit\u00e9. Ce processus est r\u00e9alis\u00e9 \u00e0 la main si n\u00e9cessaire. La machine est pr\u00e9par\u00e9e pour r\u00e9sister aux deux vecteurs d&rsquo;attaques connus.<\/p>\n<p style=\"text-align: justify;\"><strong>2-&gt;3 &#8211;<\/strong> Les nouveaux liens sont export\u00e9s par la m\u00eame cl\u00e9 USB vers le serveur relais.<\/p>\n<p style=\"text-align: justify;\"><strong>3 &#8211; Le serveur relais<\/strong> contient une copie de ce que l&rsquo;entit\u00e9 <em>bachue<\/em> partage publiquement. Il n&rsquo;est pas tr\u00e8s critique puisqu&rsquo;une compromission serait facilement d\u00e9tect\u00e9e dans les liens et objets. La suppression de certains objets ou liens serait facilement r\u00e9parable. Ce serveur est prot\u00e9g\u00e9 derri\u00e8re un pare-feu qui bloque toute tentative de connexion depuis Internet vers le serveur ainsi que toute connexion non r\u00e9f\u00e9renc\u00e9e depuis le serveur vers Internet.<br \/>\nToutes les cl\u00e9s USB ins\u00e9r\u00e9es sont syst\u00e9matiquement nettoy\u00e9es. Le nettoyage consiste en la suppression de tout fichier autre que le fichier &lsquo;l&rsquo; ou ce qu&rsquo;il y a dans le dossier &lsquo;o&rsquo;. Le fichier &lsquo;l&rsquo; ne doit contenir que des caract\u00e8res imprimables. Les liens dans le fichier &lsquo;l&rsquo; doivent \u00eatre de <em>bachue<\/em> uniquement et leurs signatures sont v\u00e9rifi\u00e9es. Le dossier &lsquo;o&rsquo; ne doit pas contenir de sous dossiers. Les fichiers du dossier &lsquo;o&rsquo; doivent avoir une empreinte valide.<br \/>\nCe serveur se tient automatiquement \u00e0 jour de correctifs de s\u00e9curit\u00e9 directement sur Internet.<br \/>\nLes nouveaux objets sont ajout\u00e9s aux objets d\u00e9j\u00e0 pr\u00e9sents. Les nouveaux liens sont ins\u00e9r\u00e9s dans les fichiers de liens via la librairie <em>nebule<\/em>.<\/p>\n<p style=\"text-align: justify;\"><strong>3-&gt;4 &#8211;<\/strong> L&rsquo;ensemble des objets et liens sont synchronis\u00e9s vers le serveur miroir public avec <em>rsync<\/em> encapsul\u00e9 dans <em>ssh<\/em>.<\/p>\n<p style=\"text-align: justify;\"><strong>4 &#8211; Le serveur miroir<\/strong> est un serveur web disponible en permanence sur Internet. Il n&rsquo;est pas critique dans sont contenu puisque toutes modifications des objets ou liens seront imm\u00e9diatement rejet\u00e9es par les autres entit\u00e9s. Il n&rsquo;est que peut critique en terme de disponibilit\u00e9 puisque les objets et liens peuvent \u00eatre diffus\u00e9s par d&rsquo;autres entit\u00e9s. Il n&rsquo;est pas critique non plus en terme de sensibilit\u00e9 des donn\u00e9es qu&rsquo;il partage puisque toutes les donn\u00e9es sont soit librement publiables soit chiffr\u00e9es.<br \/>\nCe serveur se tient automatiquement \u00e0 jour de correctifs de s\u00e9curit\u00e9 directement sur Internet.<\/p>\n<p style=\"text-align: justify;\"><strong>4-&gt;5 &#8211;<\/strong> Chaque entit\u00e9 peut venir consulter les liens et objets sur le serveur miroir public.<\/p>\n<p style=\"text-align: justify;\"><strong>5 &#8211; La station cliente<\/strong> est autonome. Elle g\u00e8re ses propres processus et assure sa propre protection.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>L&rsquo;entit\u00e9 bachue existe depuis un certain temps en tant que telle. Mais il est difficile de diffuser dans de bonnes conditions les objets et liens qu&rsquo;elle signe. De bonnes conditions sont ici \u00e0 interpr\u00e9ter comme conditions de s\u00e9curit\u00e9 et facilit\u00e9 d&rsquo;exploitation. Cette entit\u00e9 est mat\u00e9rialis\u00e9e par une cl\u00e9 RSA en deux parties, une publique et &hellip; <a href=\"http:\/\/blog.nebule.org\/?p=1426\" class=\"more-link\">Continuer la lecture de <span class=\"screen-reader-text\">Gestion de bachue<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[62,69,5,21],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1426"}],"collection":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1426"}],"version-history":[{"count":1,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1426\/revisions"}],"predecessor-version":[{"id":2219,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=\/wp\/v2\/posts\/1426\/revisions\/2219"}],"wp:attachment":[{"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1426"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1426"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.nebule.org\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1426"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}