A place to cache linked articles (think custom and personal wayback machine)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

index.html 39KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811
  1. <!doctype html><!-- This is a valid HTML5 document. -->
  2. <!-- Screen readers, SEO, extensions and so on. -->
  3. <html lang=fr>
  4. <!-- Has to be within the first 1024 bytes, hence before the <title>
  5. See: https://www.w3.org/TR/2012/CR-html5-20121217/document-metadata.html#charset -->
  6. <meta charset=utf-8>
  7. <!-- Why no `X-UA-Compatible` meta: https://stackoverflow.com/a/6771584 -->
  8. <!-- The viewport meta is quite crowded and we are responsible for that.
  9. See: https://codepen.io/tigt/post/meta-viewport-for-2015 -->
  10. <meta name=viewport content="width=device-width,minimum-scale=1,initial-scale=1,shrink-to-fit=no">
  11. <!-- Required to make a valid HTML5 document. -->
  12. <title>Own-Mailbox, charlatanisme ou incompétence ? (archive) — David Larlet</title>
  13. <!-- Generated from https://realfavicongenerator.net/ such a mess. -->
  14. <link rel="apple-touch-icon" sizes="180x180" href="/static/david/icons/apple-touch-icon.png">
  15. <link rel="icon" type="image/png" sizes="32x32" href="/static/david/icons/favicon-32x32.png">
  16. <link rel="icon" type="image/png" sizes="16x16" href="/static/david/icons/favicon-16x16.png">
  17. <link rel="manifest" href="/manifest.json">
  18. <link rel="mask-icon" href="/static/david/icons/safari-pinned-tab.svg" color="#5bbad5">
  19. <link rel="shortcut icon" href="/static/david/icons/favicon.ico">
  20. <meta name="apple-mobile-web-app-title" content="David Larlet">
  21. <meta name="application-name" content="David Larlet">
  22. <meta name="msapplication-TileColor" content="#da532c">
  23. <meta name="msapplication-config" content="/static/david/icons/browserconfig.xml">
  24. <meta name="theme-color" content="#f0f0ea">
  25. <!-- That good ol' feed, subscribe :p. -->
  26. <link rel=alternate type="application/atom+xml" title=Feed href="/david/log/">
  27. <meta name="robots" content="noindex, nofollow">
  28. <meta content="origin-when-cross-origin" name="referrer">
  29. <!-- Canonical URL for SEO purposes -->
  30. <link rel="canonical" href="https://blog.imirhil.fr/own-mailbox-charlatanisme-ou-incompetence.html">
  31. <style>
  32. /* http://meyerweb.com/eric/tools/css/reset/ */
  33. html, body, div, span,
  34. h1, h2, h3, h4, h5, h6, p, blockquote, pre,
  35. a, abbr, address, big, cite, code,
  36. del, dfn, em, img, ins,
  37. small, strike, strong, tt, var,
  38. dl, dt, dd, ol, ul, li,
  39. fieldset, form, label, legend,
  40. table, caption, tbody, tfoot, thead, tr, th, td,
  41. article, aside, canvas, details, embed,
  42. figure, figcaption, footer, header, hgroup,
  43. menu, nav, output, ruby, section, summary,
  44. time, mark, audio, video {
  45. margin: 0;
  46. padding: 0;
  47. border: 0;
  48. font-size: 100%;
  49. font: inherit;
  50. vertical-align: baseline;
  51. }
  52. /* HTML5 display-role reset for older browsers */
  53. article, aside, details, figcaption, figure,
  54. footer, header, hgroup, menu, nav, section { display: block; }
  55. body { line-height: 1; }
  56. blockquote, q { quotes: none; }
  57. blockquote:before, blockquote:after,
  58. q:before, q:after {
  59. content: '';
  60. content: none;
  61. }
  62. table {
  63. border-collapse: collapse;
  64. border-spacing: 0;
  65. }
  66. /* http://practicaltypography.com/equity.html */
  67. /* https://calendar.perfplanet.com/2016/no-font-face-bulletproof-syntax/ */
  68. /* https://www.filamentgroup.com/lab/js-web-fonts.html */
  69. @font-face {
  70. font-family: 'EquityTextB';
  71. src: url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff2') format('woff2'),
  72. url('/static/david/css/fonts/Equity-Text-B-Regular-webfont.woff') format('woff');
  73. font-weight: 300;
  74. font-style: normal;
  75. font-display: swap;
  76. }
  77. @font-face {
  78. font-family: 'EquityTextB';
  79. src: url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff2') format('woff2'),
  80. url('/static/david/css/fonts/Equity-Text-B-Italic-webfont.woff') format('woff');
  81. font-weight: 300;
  82. font-style: italic;
  83. font-display: swap;
  84. }
  85. @font-face {
  86. font-family: 'EquityTextB';
  87. src: url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff2') format('woff2'),
  88. url('/static/david/css/fonts/Equity-Text-B-Bold-webfont.woff') format('woff');
  89. font-weight: 700;
  90. font-style: normal;
  91. font-display: swap;
  92. }
  93. @font-face {
  94. font-family: 'ConcourseT3';
  95. src: url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff2') format('woff2'),
  96. url('/static/david/css/fonts/concourse_t3_regular-webfont-20190806.woff') format('woff');
  97. font-weight: 300;
  98. font-style: normal;
  99. font-display: swap;
  100. }
  101. /* http://practice.typekit.com/lesson/caring-about-opentype-features/ */
  102. body {
  103. /* http://www.cssfontstack.com/ Palatino 99% Win 86% Mac */
  104. font-family: "EquityTextB", Palatino, serif;
  105. background-color: #f0f0ea;
  106. color: #07486c;
  107. font-kerning: normal;
  108. -moz-osx-font-smoothing: grayscale;
  109. -webkit-font-smoothing: subpixel-antialiased;
  110. text-rendering: optimizeLegibility;
  111. font-variant-ligatures: common-ligatures contextual;
  112. font-feature-settings: "kern", "liga", "clig", "calt";
  113. }
  114. pre, code, kbd, samp, var, tt {
  115. font-family: 'TriplicateT4c', monospace;
  116. }
  117. em {
  118. font-style: italic;
  119. color: #323a45;
  120. }
  121. strong {
  122. font-weight: bold;
  123. color: black;
  124. }
  125. nav {
  126. background-color: #323a45;
  127. color: #f0f0ea;
  128. display: flex;
  129. justify-content: space-around;
  130. padding: 1rem .5rem;
  131. }
  132. nav:last-child {
  133. border-bottom: 1vh solid #2d7474;
  134. }
  135. nav a {
  136. color: #f0f0ea;
  137. }
  138. nav abbr {
  139. border-bottom: 1px dotted white;
  140. }
  141. h1 {
  142. border-top: 1vh solid #2d7474;
  143. border-bottom: .2vh dotted #2d7474;
  144. background-color: #e3e1e1;
  145. color: #323a45;
  146. text-align: center;
  147. padding: 5rem 0 4rem 0;
  148. width: 100%;
  149. font-family: 'ConcourseT3';
  150. display: flex;
  151. flex-direction: column;
  152. }
  153. h1.single {
  154. padding-bottom: 10rem;
  155. }
  156. h1 span {
  157. position: absolute;
  158. top: 1vh;
  159. left: 20%;
  160. line-height: 0;
  161. }
  162. h1 span a {
  163. line-height: 1.7;
  164. padding: 1rem 1.2rem .6rem 1.2rem;
  165. border-radius: 0 0 6% 6%;
  166. background: #2d7474;
  167. font-size: 1.3rem;
  168. color: white;
  169. text-decoration: none;
  170. }
  171. h2 {
  172. margin: 4rem 0 1rem;
  173. border-top: .2vh solid #2d7474;
  174. padding-top: 1vh;
  175. }
  176. h3 {
  177. text-align: center;
  178. margin: 3rem 0 .75em;
  179. }
  180. hr {
  181. height: .4rem;
  182. width: .4rem;
  183. border-radius: .4rem;
  184. background: #07486c;
  185. margin: 2.5rem auto;
  186. }
  187. time {
  188. display: bloc;
  189. margin-left: 0 !important;
  190. }
  191. ul, ol {
  192. margin: 2rem;
  193. }
  194. ul {
  195. list-style-type: square;
  196. }
  197. a {
  198. text-decoration-skip-ink: auto;
  199. text-decoration-thickness: 0.05em;
  200. text-underline-offset: 0.09em;
  201. }
  202. article {
  203. max-width: 50rem;
  204. display: flex;
  205. flex-direction: column;
  206. margin: 2rem auto;
  207. }
  208. article.single {
  209. border-top: .2vh dotted #2d7474;
  210. margin: -6rem auto 1rem auto;
  211. background: #f0f0ea;
  212. padding: 2rem;
  213. }
  214. article p:last-child {
  215. margin-bottom: 1rem;
  216. }
  217. p {
  218. padding: 0 .5rem;
  219. margin-left: 3rem;
  220. }
  221. p + p,
  222. figure + p {
  223. margin-top: 2rem;
  224. }
  225. blockquote {
  226. background-color: #e3e1e1;
  227. border-left: .5vw solid #2d7474;
  228. display: flex;
  229. flex-direction: column;
  230. align-items: center;
  231. padding: 1rem;
  232. margin: 1.5rem;
  233. }
  234. blockquote cite {
  235. font-style: italic;
  236. }
  237. blockquote p {
  238. margin-left: 0;
  239. }
  240. figure {
  241. border-top: .2vh solid #2d7474;
  242. background-color: #e3e1e1;
  243. text-align: center;
  244. padding: 1.5rem 0;
  245. margin: 1rem 0 0;
  246. font-size: 1.5rem;
  247. width: 100%;
  248. }
  249. figure img {
  250. max-width: 250px;
  251. max-height: 250px;
  252. border: .5vw solid #323a45;
  253. padding: 1px;
  254. }
  255. figcaption {
  256. padding: 1rem;
  257. line-height: 1.4;
  258. }
  259. aside {
  260. display: flex;
  261. flex-direction: column;
  262. background-color: #e3e1e1;
  263. padding: 1rem 0;
  264. border-bottom: .2vh solid #07486c;
  265. }
  266. aside p {
  267. max-width: 50rem;
  268. margin: 0 auto;
  269. }
  270. /* https://fvsch.com/code/css-locks/ */
  271. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  272. font-size: 1rem;
  273. line-height: calc( 1.5em + 0.2 * 1rem );
  274. }
  275. h1 {
  276. font-size: 1.9rem;
  277. line-height: calc( 1.2em + 0.2 * 1rem );
  278. }
  279. h2 {
  280. font-size: 1.6rem;
  281. line-height: calc( 1.3em + 0.2 * 1rem );
  282. }
  283. h3 {
  284. font-size: 1.35rem;
  285. line-height: calc( 1.4em + 0.2 * 1rem );
  286. }
  287. @media (min-width: 20em) {
  288. /* The (100vw - 20rem) / (50 - 20) part
  289. resolves to 0-1rem, depending on the
  290. viewport width (between 20em and 50em). */
  291. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  292. font-size: calc( 1rem + .6 * (100vw - 20rem) / (50 - 20) );
  293. line-height: calc( 1.5em + 0.2 * (100vw - 50rem) / (20 - 50) );
  294. margin-left: 0;
  295. }
  296. h1 {
  297. font-size: calc( 1.9rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  298. line-height: calc( 1.2em + 0.2 * (100vw - 50rem) / (20 - 50) );
  299. }
  300. h2 {
  301. font-size: calc( 1.5rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  302. line-height: calc( 1.3em + 0.2 * (100vw - 50rem) / (20 - 50) );
  303. }
  304. h3 {
  305. font-size: calc( 1.35rem + 1.5 * (100vw - 20rem) / (50 - 20) );
  306. line-height: calc( 1.4em + 0.2 * (100vw - 50rem) / (20 - 50) );
  307. }
  308. }
  309. @media (min-width: 50em) {
  310. /* The right part of the addition *must* be a
  311. rem value. In this example we *could* change
  312. the whole declaration to font-size:2.5rem,
  313. but if our baseline value was not expressed
  314. in rem we would have to use calc. */
  315. p, li, pre, code, kbd, samp, var, tt, time, details, figcaption {
  316. font-size: calc( 1rem + .6 * 1rem );
  317. line-height: 1.5em;
  318. }
  319. p, li, pre, details {
  320. margin-left: 3rem;
  321. }
  322. h1 {
  323. font-size: calc( 1.9rem + 1.5 * 1rem );
  324. line-height: 1.2em;
  325. }
  326. h2 {
  327. font-size: calc( 1.5rem + 1.5 * 1rem );
  328. line-height: 1.3em;
  329. }
  330. h3 {
  331. font-size: calc( 1.35rem + 1.5 * 1rem );
  332. line-height: 1.4em;
  333. }
  334. figure img {
  335. max-width: 500px;
  336. max-height: 500px;
  337. }
  338. }
  339. figure.unsquared {
  340. margin-bottom: 1.5rem;
  341. }
  342. figure.unsquared img {
  343. height: inherit;
  344. }
  345. @media print {
  346. body { font-size: 100%; }
  347. a:after { content: " (" attr(href) ")"; }
  348. a, a:link, a:visited, a:after {
  349. text-decoration: underline;
  350. text-shadow: none !important;
  351. background-image: none !important;
  352. background: white;
  353. color: black;
  354. }
  355. abbr[title] { border-bottom: 0; }
  356. abbr[title]:after { content: " (" attr(title) ")"; }
  357. img { page-break-inside: avoid; }
  358. @page { margin: 2cm .5cm; }
  359. h1, h2, h3 { page-break-after: avoid; }
  360. p3 { orphans: 3; widows: 3; }
  361. img {
  362. max-width: 250px !important;
  363. max-height: 250px !important;
  364. }
  365. nav, aside { display: none; }
  366. }
  367. ul.with_columns {
  368. column-count: 1;
  369. }
  370. @media (min-width: 20em) {
  371. ul.with_columns {
  372. column-count: 2;
  373. }
  374. }
  375. @media (min-width: 50em) {
  376. ul.with_columns {
  377. column-count: 3;
  378. }
  379. }
  380. ul.with_two_columns {
  381. column-count: 1;
  382. }
  383. @media (min-width: 20em) {
  384. ul.with_two_columns {
  385. column-count: 1;
  386. }
  387. }
  388. @media (min-width: 50em) {
  389. ul.with_two_columns {
  390. column-count: 2;
  391. }
  392. }
  393. .gallery {
  394. display: flex;
  395. flex-wrap: wrap;
  396. justify-content: space-around;
  397. }
  398. .gallery figure img {
  399. margin-left: 1rem;
  400. margin-right: 1rem;
  401. }
  402. .gallery figure figcaption {
  403. font-family: 'ConcourseT3'
  404. }
  405. footer {
  406. font-family: 'ConcourseT3';
  407. display: flex;
  408. flex-direction: column;
  409. border-top: 3px solid white;
  410. padding: 4rem 0;
  411. background-color: #07486c;
  412. color: white;
  413. }
  414. footer > * {
  415. max-width: 50rem;
  416. margin: 0 auto;
  417. }
  418. footer a {
  419. color: #f1c40f;
  420. }
  421. footer .avatar {
  422. width: 200px;
  423. height: 200px;
  424. border-radius: 50%;
  425. float: left;
  426. -webkit-shape-outside: circle();
  427. shape-outside: circle();
  428. margin-right: 2rem;
  429. padding: 2px 5px 5px 2px;
  430. background: white;
  431. border-left: 1px solid #f1c40f;
  432. border-top: 1px solid #f1c40f;
  433. border-right: 5px solid #f1c40f;
  434. border-bottom: 5px solid #f1c40f;
  435. }
  436. </style>
  437. <h1>
  438. <span><a id="jumper" href="#jumpto" title="Un peu perdu ?">?</a></span>
  439. Own-Mailbox, charlatanisme ou incompétence ? (archive)
  440. <time>Pour la pérennité des contenus liés. Non-indexé, retrait sur simple email.</time>
  441. </h1>
  442. <section>
  443. <article>
  444. <h3><a href="https://blog.imirhil.fr/own-mailbox-charlatanisme-ou-incompetence.html">Source originale du contenu</a></h3>
  445. <p><a href="https://www.own-mailbox.com">Own-Mailbox</a> est une solution se présentant comme « La boîte mail 100% confidentielle ».
  446. Surf sur la vague de la vie privée, quitte à faire du <a href="http://www.zdnet.com/article/charlatans-the-new-wave-of-privacy-profiteers/">bullshit</a>
  447. ou vraie solution de protection, une petite analyse rapide de ce nouveau projet.</p>
  448. <p>Je précise que ce produit n’étant pas encore sorti, je n’ai pas pu tester en réel ce qui va suivre et je ne me base que
  449. sur les données disponibles sur le site du projet, les commentaires d’une
  450. <a href="https://linuxfr.org/news/own-mailbox-la-boite-mail-confidentielle-qui-vous-appartient-vraiment">dépêche Linuxfr</a> et d’un
  451. <a href="http://framablog.org/2015/09/23/mon-courrier-securise-cest-dans-la-boite/">article sur Framablog</a>.
  452. Si quelqu’un du projet me donne accès à une vraie Own-Mailbox, je me ferai une joie de faire des tests et de revoir ma
  453. position.</p>
  454. <h1>Matériel &amp; logiciel</h1>
  455. <p>Sur ce point, rien à redire, Own-Mailbox semble bien basé sur du logiciel et du matériel libre, qui est le seul type de
  456. logiciel compatible avec de la sécurité ou de la protection de la vie privée.</p>
  457. <h1>Réseau</h1>
  458. <p>Own-Mailbox se présente comme une solution « plug-and-use » : vous juste branchez la machine, et ça juste tombe en
  459. marche tout seul. Sauf que le réseau, ce n’est généralement pas aussi simple que ça…</p>
  460. <p>Un équipement derrière une box ADSL n’est pas accessible directement depuis Internet, puisqu’il y a la box devant. On
  461. doit donc procéder à ce qu’on appelle une « ouverture de port » : on signale à notre box ADSL que si elle voit passer
  462. du trafic sur son port X, elle doit le transférer à la machine Y.
  463. Problème, cette procédure est 100% dépendante de votre fournisseur d’accès et du modèle de votre box ADSL.
  464. Own-Mailbox annonce vouloir supporter l’ensemble du parc existant, ce qui me semble difficile à envisager et conduira de
  465. manière quasi-certaine à une période de pré-chauffage du projet, le temps que les auteurs traitent les nouveaux cas qui
  466. vont se présenter à eux au fur et à mesure de l’arrivée de nouveaux utilisateurs et donc configurations.</p>
  467. <p>Le mail étant aussi une véritable plaie pour le réseau à cause du très gros volume de spam, la plupart des plus gros FAI
  468. (Orange, Free, Numéricable…) bloque le trafic mail sortant, afin de bloquer tous les spammeurs de leur réseau (en fait
  469. toutes les machines zombies de leur client…).
  470. Certains FAI (Free) autorisent l’utilisateur à supprimer ce blocage, d’autres non (Numéricable) ou au prix d’un passage
  471. sur des lignes professionnelles hors de prix (Orange).<br />
  472. Problème pour Own-Mailbox, un utilisateur chez un de ces fournisseurs ne pourra jamais héberger un serveur de mail chez
  473. lui, puisque tout est bloqué indépendamment de sa volonté.</p>
  474. <p>L’équipe du projet propose alors un tunnel de port : c’est eux qui vont gérer le trafic mail de votre petite boîte, et
  475. vous le transmettra via un canal non bloqué.
  476. Niveau sécurité et vie privée, cette solution pose sérieusement question…
  477. Dans ce mode, Own-Mailbox aura en effet accès à l’intégralité de votre trafic mail, qu’il soit chiffré ou non…
  478. Sachant que la majeure partie des utilisateurs de Own-Mailbox risque de se retrouver dans ce cas, les personnes étant
  479. chez les trop rares FAI ne posant pas problème (OVH, FAI associatifs…) n’ayant généralement pas besoin de Own-Mailbox
  480. pour se monter un serveur de mail sécurisé à la maison, le côté « 100% confidentiel » prend une sacrée dose de plomb
  481. dans l’aile… </p>
  482. <p>De plus, j’imagine mal Own-Mailbox dédier une adresse IP par client juste pour y héberger le port 25 (SMTP n’ayant aucun
  483. moyen de signaler l’usage d’un port alternatif, c’est forcément le port 25 pour chacun), surtout en période de pénurie
  484. IPv4, la solution technique retenue risque fort d’être un serveur mail unique hébergé chez Own-Mailbox qui relaie
  485. ensuite le mail chez le bon client en fonction de l’adresse du destinataire.
  486. Niveau centralisation du net, on se pose donc là et Own-Mailbox n’apporte plus un vrai auto-hébergement ni une
  487. décentralisation du net.</p>
  488. <h1>Nom de domaine</h1>
  489. <p>On retrouve le même genre de soucis avec le nom de domaine.
  490. Own-Mailbox ne propose que d’utiliser un de leur sous-domaine en <em>.obm.me</em>.
  491. C’est donc eux, et uniquement eux qui vont pouvoir contrôler le <a href="https://fr.wikipedia.org/wiki/Enregistrement_Mail_eXchanger">MX</a>
  492. associé à votre boîte mail, ie. la machine qui va réellement recevoir le courier en premier.
  493. Si Own-Mailbox en a envie, et même en mode vraiment auto-hébergé (cf. problème précédent), ils peuvent donc rerouter
  494. l’intégralité de votre trafic mail vers où ils le veulent…
  495. Et tout le monde sait qu’en terme de vie privée et de sécurité, les tiers de confiance, ça a <strong>toujours</strong> finit par
  496. déconner…<br />
  497. Own-Mailbox a annoncé qu’il sera sans doute possible « dans un mode expert » de gérer son propre nom de domaine, mais
  498. comme pour le tunnel de port, quelqu’un ayant les compétences pour utiliser ce mode le place de facto parmi les
  499. personnes qui ne sont <em>plus</em> le marché de Own-Mailbox…</p>
  500. <p>La position de Own-Mailbox, en plus de créer 2 <a href="https://fr.wikipedia.org/wiki/Enfermement_propriétaire">vendors-lockin</a>
  501. assez sévères, est d’autant plus surprenant qu’ils militent pour exactement l’inverse via
  502. <a href="https://www.own-mailbox.com/index-fr.php#javascript">leur FAQ sur JavaScript</a> :</p>
  503. <div class="codehilite"><pre> Le code JavaScript peut-être changé à tout moment par l&#39;entreprise proposant le service.
  504. Donc sauf si vous vérifiez le code à chaque fois que vous accédez à vos e-mails (ce qui
  505. est impossible), vous laissez tout le pouvoir à cette entreprise de casser votre
  506. chiffrement à tout moment et pour toujours, sans même que vous ne le sachiez, puisque
  507. vous ne vérifiez pas.
  508. </pre></div>
  509. <h1>GPG</h1>
  510. <p>On arrive sur la partie vraiment croustillante.</p>
  511. <p>Own-Mailbox annonce que la gestion des clefs GPG va être automatique, directement prise en charge par le boîtier.
  512. Or, tout le monde sait que dans la notion de clef privée, il y a <strong>privée</strong>, et donc qu’une telle clef ne doit se
  513. trouver qu’à un seul et unique endroit : sur la machine de l’utilisateur.
  514. Si le boîtier est volé ou égaré, vos clefs sont dans la nature.
  515. Premier point noir donc.</p>
  516. <p>Couplé aux problèmes précédents, ça peut donner des choses assez drôle.
  517. En effet, pour pouvoir gérer l’ouverture ou le tunnel de port, Own-Mailbox s’autorise à pouvoir se connecter à votre
  518. boîtier pour le configurer correctement ou agir sur votre modem.
  519. Vos clefs privées étant sur ce même boîtier, Own-Mailbox y a donc potentiellement accès… Gloups…<br />
  520. On peut imaginer encore pire.
  521. J’ai précisé au dessus que Own-Mailbox pouvait rerouter l’ensemble de votre trafic mail, y compris celui chiffré par GPG.
  522. Ils ont maintenant aussi accès à la clef privée permettant de déchiffrer les données…
  523. Confidentialité vous aviez-dit ? </p>
  524. <p>Own-Mailbox intègre aussi GPG à leur webmail.
  525. Déjà, ceci confirme bien que la clef privée est positionnée sur le boîtier, puisque le traitement ne peut alors être
  526. fait que côté serveur et pas sur la machine du client.
  527. Ensuite, les webmails ne supportent qu’un seul des modes de fonctionnement de GPG, PGP/inline (l’autre étant PGP/MIME).
  528. Or PGP/inline est le mode de fonctionnement qui protège le moins un message.
  529. Il ne chiffre rien d’autre que le corps « texte » du message. Vous avez des pièces-jointes ? Pas chiffré. Un corps
  530. « HTML » ? Pas mieux.</p>
  531. <p>L’utilisation du mode PGP/inline est confirmé par le fait que vous pourrez lire vos couriers sur smartphone. PGP/MIME
  532. n’est actuellement géré par aucun client mail Androïd (par exemple
  533. <a href="https://code.google.com/p/k9mail/issues/detail?id=5864">K9-mail</a> ou iOS et seul PGP/inline y est supporté.
  534. PGP/inline pose aussi d’autres problèmes, comme de polluer tous les lecteurs mails qui ne supportent pas du tout GPG.
  535. Pire, PGP/inline souffre de beaucoup de <a href="https://dkg.fifthhorseman.net/notes/inline-pgp-harmful/">défaut de conception</a>
  536. qui le rendent en réalité très dangereux pour une utilisation réellement critique (on peut usurper une signature, etc).<br />
  537. Si un utilisateur souhaite utiliser PGP/MIME, il devra utiliser un vrai client mail (Thunderbird+Enigmail ou Kontact par
  538. exemple), et réussir à extraire la clef privée du boîtier pour pouvoir s’en servir avec son client lourd.</p>
  539. <p>Un autre problème, qui a été soulevé par plus ou moins tous ceux qui gravitent autour de la sécurité et de la vie privée
  540. en ce moment : le mail est un protocole non fiable, qui ne <strong>peut</strong> pas être confidentiel.
  541. En effet, même avec GPG, un mail qui circule sur le réseau contient énormément de méta-données. Émetteur, destinataire,
  542. sujet du mail, pièces-jointes si on utilise PGP/inline, ces morceaux-là ne sont pas chiffrés par GPG et circulent donc
  543. en clair.
  544. Ce sont ces données dont raffole aujourd’hui la NSA et toutes les agences gouvernementales, y compris les fameuses boîtes
  545. noires françaises.
  546. Avec ou sans GPG, on finit donc à poil sur le réseau, le contenu réel d’un mail n’intéressant pas du tout les espions.
  547. Ce n’est pas pour rien que le mail et GPG ont été rayés de la carte des ateliers café-vie-privée, vous avez beaucoup
  548. trop de manières de mal l’utiliser et de vous retrouver à poil sur Internet sans le savoir.</p>
  549. <p>Bref, la gestion de GPG par Own-Mailbox semble juste catastrophique et ne peut de toute façon pas apporter la
  550. confidentialité annoncée, d’autant plus avec le mode inline de GPG…</p>
  551. <h1>Technologie « PLM »</h1>
  552. <p>Dans le cas où notre correspondant ne supporte pas GPG, Own-Mailbox a défini un mode de secours : le PLM ou « Private
  553. Link Message ».
  554. Plutôt que d’envoyer un message avec le contenu en clair, Own-Mailbox va envoyer un mail avec un lien qui permettra
  555. d’accéder au contenu réel qui lui restera bien à l’abri sur votre boîtier.</p>
  556. <p>Vu les remarques du point précédent, ce mode n’apporte <strong>strictement</strong> aucune sécurité ni confidentialité supplémentaire.
  557. En effet, le mail d’alerte circulera « en clair » dans le réseau et les agences de renseignement n’auront aucun mal à
  558. récolter le fameux lien « privé » du mail pour accéder au contenu réel.</p>
  559. <p>Même en supposant que le mail circule via le protocole <a href="https://fr.wikipedia.org/wiki/StartTLS">STARTTLS</a> qui chiffre le
  560. transport d’un mail, ce protocole est très facilement contournable par une agence NSA-like puisque son signalement dans
  561. le réseau est non authentifié et qu’il suffit simplement de supprimer les paquets réseaux contenant « STARTTLS » pour
  562. que le boîtier pense que son correspondant ne supporte pas STARTTLS et balance son mail en clair complet.</p>
  563. <h1>TLS</h1>
  564. <p>Own-Mailbox envisage d’utiliser <a href="https://letsencrypt.org/">Let’s Encrypt</a> pour la génération des certificats pour HTTPS
  565. et SMTP/STARTTLS.
  566. C’est une très bonne idée, Let’s Encrypt allant être une des trop rares autorités de certification non commerciales ou
  567. étatique (la seconde étant <a href="https://www.cacert.org/">CAcert</a>) et la seule intégrée par défaut aux navigateurs.</p>
  568. <p>TLS n’est cependant pas la panacée, et d’autant plus dans un contexte d’auto-hébergement.
  569. En effet, TLS laisse aussi passer des méta-données via <a href="https://fr.wikipedia.org/wiki/Server_Name_Indication">SNI</a>
  570. qui permettent par simple observation du réseau de savoir ce que vous visitez.
  571. Il n’y a même à nouveau rien à observer dans le cas de l’auto-hébergement, les IP source ou destination portant déjà par
  572. elles-mêmes l’identité des personnes derrière.</p>
  573. <p>Dans le cas de SMTP, TLS est aussi une protection très faible pour des raisons techniques, STARTTLS étant très facilement
  574. annulable par quelqu’un qui serait situé entre les deux extrémités du réseau (une sonde NSA par exemple) et dont on ne
  575. peut pas durcir la sécurité sous peine de problèmes avec certains serveurs mails encore (trop) présents dans le réseau.</p>
  576. <p>TLS ne permet donc que de protéger sa sécurité, et en aucun cas sa confidentialité.</p>
  577. <h1>Gestion courante d’une machine</h1>
  578. <p>Un des gros soucis de l’auto-hébergement actuel reste la gestion courante de la machine.
  579. Appliquer les patchs de sécurité, vérifier qu’on n’est pas devenu un zombi du réseau participant à l’envoi de spam ou au
  580. bruteforce de serveur, ça demande du temps et des compétences techniques, que beaucoup du cœur de marché visé par
  581. Own-Mailbox ne possédera pas.</p>
  582. <p>Cette administration n’est pas facilement automatisable, puisqu’elle dépend bien souvent de votre configuration de réseau,
  583. par exemple pour n’autoriser que vos machines locales à se connecter au service SSH ou pour bien régler fail2ban pour
  584. éviter qu’il ne blackliste par erreur votre machine.
  585. Et les différents paramètres échappent totalement à quelqu’un qui souhaite du « plug-and-use » parce qu’il n’a justement
  586. pas les compétences pour faire par lui-même…
  587. On risque donc fort d’avoir affaire à la vente de boîtier qui créeront dans un avenir proche un botnet géant au service
  588. du mal parce qu’ils auront échappé au contrôle de leur propriétaire…</p>
  589. <p>Dans les discussions que j’ai pu avoir avec les auteurs du projet, il semble qu’ils souhaitent s’orienter vers faire
  590. cette gestion par eux-même, en mode automatique.
  591. Même si cette gestion était réellement automatisable et en supposant que l’utilisateur soit en mesure de renseigner les
  592. paramètres de configuration nécessaires, cela signifie une fois de plus que le véritable maître du boîtier est plus
  593. Own-Mailbox que vous même, avec tout ce que cela implique…</p>
  594. <h1>Incompétences des développeurs Own-Mailbox</h1>
  595. <p>Au cours des différents échanges que j’ai pu avoir avec les auteurs de Own-Mailbox, une chose qui frappe assez rapidement
  596. quelqu’un du domaine est leur apparente incompétence technique.
  597. Un florilège de ce que j’ai pu relever.</p>
  598. <p><strong>« Tout d’abord en France la majorité des FAI ne bloque pas le port 25, encore moins le port entrant (Free, Numéricable: aucun problème) »</strong><br />
  599. C’est totalement faux, Free étant même le parfait contre-exemple puisque
  600. <a href="http://www.freenews.fr/freenews-edition-nationale-299/assistance-13/lutte-contre-le-spam-blocage-du-smtp-sortant-des-jeudi-4317">tout est bloqué en sortie par défaut</a>, même si effectivement ce blocage est débrayable.
  601. C’est aussi le cas <a href="http://communaute.orange.fr/t5/mon-mail-Orange/Utilisation-du-port-25-pour-acceder-à-un-autre-serveur-smtp-avec/td-p/148447">chez Orange</a>
  602. qui lui ne permet pas le déblocage, tout comme <a href="http://assistance.sfr.fr/runtime/internet-et-box/securite/filtrage-port-smtp-25.html">SFR</a>.
  603. Les seuls FAI ne bloquant pas SMTP en France sont à ma connaissance OVH et tous les FAI associatifs de la galaxie FDN.
  604. C’est encore pire pour nos amis belge, <a href="http://www.behostings.be/client/knowledgebase/6/Configuration-Serveur-mail-sortant-SMTP.html">quasiment aucun FAI ne laisse passer SMTP</a>.</p>
  605. <p><strong>« La plage d’adresses du LAN n’ont strictement aucun impact sur la conf de la Own-Mailbox »</strong><br />
  606. Ceci est tout simplement impossible si on veut faire les choses correctement avec une machine directement accessible
  607. sur Internet.
  608. La configuration du serveur SSH ou de fail2ban doit nécessairement contenir des données propres au réseau sous peine
  609. d’avoir des trous dans la raquette.</p>
  610. <p><strong>« En ce qui concerne les méta-données, l’auto-hebergement est une prérogative pour pouvoir commencer à penser à protéger les méta-données »</strong><br />
  611. C’est même totalement le contraire.
  612. Si tout le monde est chez le même prestataire pour faire du mail, le trafic mail entre chaque utilisateur passe par le
  613. réseau local du prestataire, donc sous les radars des sondes NSA &amp; cie déployées elles sur le réseau Internet public.
  614. Au contraire, plus on fait d’auto-hébergement, plus on simplifie la tache des espions, puisqu’il suffit d’intercepter
  615. un seul mail pour y associer une adresse IP d’émission et de réception et ensuite ne plus avoir besoin de s’attaquer au
  616. contenu du trafic mail pour savoir qui intervient (l’IP suffit alors).</p>
  617. <p><strong>« Faire tourner un serveur mail sur un serveur Tor et/ou envoyer les mail en SMTPS over TOR peut résoudre complétement le problème des méta-données »</strong><br />
  618. C’est aussi totalement faux.
  619. Tor ne permet que (et uniquement que) de masquer l’adresse IP de son émetteur, et l’adresse IP du destinataire dans le
  620. cas d’un <a href="https://www.torproject.org/docs/hidden-services.html">service caché</a>.
  621. Si on fait passer du trafic SMTP dans Tor, le nœud de sortie relaiera quand même le mail sur l’Internet public, donc aux
  622. sondes NSA &amp; cie avec les métadonnées accessibles voire le contenu si pas de GPG.
  623. Et on ne peut actuellement pas faire un service caché mail dans Tor, puisque Tor interdit l’usage du DNS alors que SMTP
  624. repose massivement dessus (au moins pour la détermination du MX, mais aussi pour la gestion du spam comme avec
  625. <a href="https://fr.wikipedia.org/wiki/DNS_Black_Listing">DNSBL</a>, <a href="https://fr.wikipedia.org/wiki/DomainKeys_Identified_Mail">DKIM</a>
  626. ou <a href="https://fr.wikipedia.org/wiki/Sender_Policy_Framework">SPF</a>).</p>
  627. <p><strong>« Avec un simple Capcha (sic) tu échappes avec certitude à la surveillance de masse »</strong><br />
  628. Si c’est vraiment le cas, je pense que ce n’est pas Own-Mailbox que vous devriez kickstarter…
  629. Voire même vous devriez immédiatement contacter le Ministère de l’Intérieur, je crois qu’ils ont du travail pour vous…</p>
  630. <p><strong>« Si tous le monde utilisait son serveur smtpS (chiffré en TLS) chez soit et envoyait ses mail via tor il n’y aurait pas de fuite de meta-données »</strong><br />
  631. Sur le principe, je suis d’accord. Mais ça demande de revoir <strong>tous</strong> les protocoles mail existants.
  632. SMTPS a été <a href="https://en.wikipedia.org/wiki/SMTPS">déprécié</a> au profit de STARTTLS (ce qui est possiblement une erreur
  633. vis-à-vis de la sécurité et de la vie privée, mais c’est un fait) et comme mentionné ci-dessus, SMTP n’est actuellement
  634. pas compatible avec Tor à cause du DNS inexistant.
  635. Tous les cryptologues et chercheurs en sécurité du moment sont unanimes sur un seul point : SMTP est mort et enterré si
  636. on se place d’un point de vue sécurite &amp; vie privée, mais il n’existe actuellement aucun protocole pour remplacer
  637. réellement le mail et encore moins de manière compatible.
  638. Il existe bien des solutions émergentes, type <a href="https://tox.im/">Tox</a> ou <a href="https://bitmessage.org/">Bitmessage</a>, mais ni
  639. utilisés ni utilisables à grande échelle, ou encore <a href="https://caliopen.org/">Caliopen</a>, mais ces projets sont de très
  640. grosses envergures et mettront encore des années avant d’être accessible au grand public.<br />
  641. En prime, en prenant la déclaration de Own-Mailbox au pied de la lettre, on ne peut que leur donner raison : leur projet
  642. est mort-né, ni sécurisé ni confidentiel et il faut commencer à monter quelque chose de neuf qui ne soit pas du mail. </p>
  643. <p><strong>« Oui les méta données permettent à la NSA de savoir qui sont tes amis, mais le contenu leur permet de savoir ce que tu penses et ce que tu fais, ce qui est bien plus grave »</strong><br />
  644. C’est faux aussi.
  645. Les méta-données sont
  646. <a href="https://www.eff.org/fr/deeplinks/2013/06/why-metadata-matters">aussi voire plus révélatrices que le contenu lui-même</a>.
  647. La surveillance de masse dénoncée par Edward Snowden ou le tracking publicitaire sur Internet se contre-fiche réellement
  648. de votre contenu tant que vous ne devenez pas une de leur cible prioritaire.
  649. Et si vous l’êtes réellement, GPG et TLS ne vous seront d’<a href="https://en.wikipedia.org/wiki/Tailored_Access_Operations">aucune utilité</a>.</p>
  650. <p><strong>« Though it should be said that man in the middle attack cannot be used for mass surveillance. Because Man in the middle attacks are highly detectable »</strong><br />
  651. (Commentaire caché dans le source de leur site web).
  652. La NSA appréciera donc que <a href="https://nsa.imirhil.fr/documents/media-35658/pages/5.png?size=big">ses attaques</a> soient
  653. inutilisables, en particulier leur système
  654. <a href="https://nsa.imirhil.fr/documents/media-35686/pages/21.png?size=big">BYZANTINE HADES</a>
  655. ou encore <a href="https://nsa.imirhil.fr/documents/media-35689/pages/14.png?size=big">QUANTUM</a>…</p>
  656. <h1>Conclusion</h1>
  657. <p>Charlatanisme avéré ou manque de bagage technique évident ?
  658. Je me pose encore la question…</p>
  659. <p>L’équipe semble de bonne volontée et on est à des lieux des véritables arnaques comme
  660. <a href="https://www.indiegogo.com/projects/anonabox-access-deep-web-tor-privacy-router">Anonabox</a>,
  661. <a href="https://www.kickstarter.com/projects/1052775620/wemagin-smart-usb-drive">Wemagin</a>, ou
  662. <a href="https://www.kickstarter.com/projects/916285694/webcloak-advanced-web-security-and-online-privacy">Webcloak</a>, puisqu’au
  663. pire, Own-Mailbox sera, elle, une bonne solution d’auto-hébergement.
  664. Mais elle se retrouve alors en compétition directe avec <a href="http://labriqueinter.net/">La brique Internet</a> ou
  665. <a href="https://yunohost.org/">YunoHost</a> et n’est du coup plus du tout compétitive, puisqu’elle se concentre uniquement sur
  666. le mail quand les autres proposent n’importe quel service (XMPP, blog, partage de fichiers…) et de manière beaucoup
  667. plus propre (VPN et IP dédiée).</p>
  668. <p>Les auteurs cherchent-ils à profiter de la vague Snowden pour glisser un peu de bullshit bingo et attirer la ménagère
  669. de moins de 50 ans dans leurs filets ?
  670. En tout cas sur la partie sécurité et confidentialité, pourtant mise en avant partout et reprise massivement pas la
  671. presse, ils sont autant à poil qu’un mail sur le réseau.</p>
  672. <p>En espérant qu’ils tiendront compte de l’énorme historique qu’on a déjà sur la (non-)sécurisation du mail et reverront
  673. leur campagne de communication, avant de fonder au mieux un énorme botnet et au pire un
  674. <a href="https://about.okhin.fr/posts/Crypto_parties/">futur cimetière</a> de
  675. <a href="extremiste-oui-et-meme-fier-de-letre.html#GreatPower">lanceurs d’alerte</a>…</p>
  676. <p>En bref, Own-Mailbox auto-hébergement peut-être, Own-Mailbox sécurité &amp; vie privée, définitivement non.</p>
  677. <p><em><a href="own-mailbox-la-reponse-a-la-reponse.html">La réponse à la réponse de Own-Mailbox</a></em> |
  678. <em><a href="own-mailbox-suite-et-fin.html">La conclusion</a></em></p>
  679. </article>
  680. </section>
  681. <nav id="jumpto">
  682. <p>
  683. <a href="/david/blog/">Accueil du blog</a> |
  684. <a href="https://blog.imirhil.fr/own-mailbox-charlatanisme-ou-incompetence.html">Source originale</a> |
  685. <a href="/david/stream/2019/">Accueil du flux</a>
  686. </p>
  687. </nav>
  688. <footer>
  689. <div>
  690. <img src="/static/david/david-larlet-avatar.jpg" loading="lazy" class="avatar" width="200" height="200">
  691. <p>
  692. Bonjour/Hi!
  693. Je suis <a href="/david/" title="Profil public">David&nbsp;Larlet</a>, je vis actuellement à Montréal et j’alimente cet espace depuis 15 ans. <br>
  694. Si tu as apprécié cette lecture, n’hésite pas à poursuivre ton exploration. Par exemple via les <a href="/david/blog/" title="Expériences bienveillantes">réflexions bimestrielles</a>, la <a href="/david/stream/2019/" title="Pensées (dés)articulées">veille hebdomadaire</a> ou en t’abonnant au <a href="/david/log/" title="S’abonner aux publications via RSS">flux RSS</a> (<a href="/david/blog/2019/flux-rss/" title="Tiens c’est quoi un flux RSS ?">so 2005</a>).
  695. </p>
  696. <p>
  697. Je m’intéresse à la place que je peux avoir dans ce monde. En tant qu’humain, en tant que membre d’une famille et en tant qu’associé d’une coopérative. De temps en temps, je fais aussi des <a href="https://github.com/davidbgk" title="Principalement sur Github mais aussi ailleurs">trucs techniques</a>. Et encore plus rarement, <a href="/david/talks/" title="En ce moment je laisse plutôt la place aux autres">j’en parle</a>.
  698. </p>
  699. <p>
  700. Voici quelques articles choisis :
  701. <a href="/david/blog/2019/faire-equipe/" title="Accéder à l’article complet">Faire équipe</a>,
  702. <a href="/david/blog/2018/bivouac-automnal/" title="Accéder à l’article complet">Bivouac automnal</a>,
  703. <a href="/david/blog/2018/commodite-effondrement/" title="Accéder à l’article complet">Commodité et effondrement</a>,
  704. <a href="/david/blog/2017/donnees-communs/" title="Accéder à l’article complet">Des données aux communs</a>,
  705. <a href="/david/blog/2016/accompagner-enfant/" title="Accéder à l’article complet">Accompagner un enfant</a>,
  706. <a href="/david/blog/2016/senior-developer/" title="Accéder à l’article complet">Senior developer</a>,
  707. <a href="/david/blog/2016/illusion-sociale/" title="Accéder à l’article complet">L’illusion sociale</a>,
  708. <a href="/david/blog/2016/instantane-scopyleft/" title="Accéder à l’article complet">Instantané Scopyleft</a>,
  709. <a href="/david/blog/2016/enseigner-web/" title="Accéder à l’article complet">Enseigner le Web</a>,
  710. <a href="/david/blog/2016/simplicite-defaut/" title="Accéder à l’article complet">Simplicité par défaut</a>,
  711. <a href="/david/blog/2016/minimalisme-esthetique/" title="Accéder à l’article complet">Minimalisme et esthétique</a>,
  712. <a href="/david/blog/2014/un-web-omni-present/" title="Accéder à l’article complet">Un web omni-présent</a>,
  713. <a href="/david/blog/2014/manifeste-developpeur/" title="Accéder à l’article complet">Manifeste de développeur</a>,
  714. <a href="/david/blog/2013/confort-convivialite/" title="Accéder à l’article complet">Confort et convivialité</a>,
  715. <a href="/david/blog/2013/testament-numerique/" title="Accéder à l’article complet">Testament numérique</a>,
  716. et <a href="/david/blog/" title="Accéder aux archives">bien d’autres…</a>
  717. </p>
  718. <p>
  719. On peut <a href="mailto:david%40larlet.fr" title="Envoyer un courriel">échanger par courriel</a>. Si éventuellement tu souhaites que l’on travaille ensemble, tu devrais commencer par consulter le <a href="http://larlet.com">profil dédié à mon activité professionnelle</a> et/ou contacter directement <a href="http://scopyleft.fr/">scopyleft</a>, la <abbr title="Société coopérative et participative">SCOP</abbr> dont je fais partie depuis six ans. Je recommande au préalable de lire <a href="/david/blog/2018/cout-site/" title="Attention ce qui va suivre peut vous choquer">combien coûte un site</a> et pourquoi je suis plutôt favorable à une <a href="/david/pro/devis/" title="Discutons-en !">non-demande de devis</a>.
  720. </p>
  721. <p>
  722. Je ne traque pas ta navigation mais mon
  723. <abbr title="Alwaysdata, 62 rue Tiquetonne 75002 Paris, +33.184162340">hébergeur</abbr>
  724. conserve des logs d’accès.
  725. </p>
  726. </div>
  727. </footer>
  728. <script type="text/javascript">
  729. ;(_ => {
  730. const jumper = document.getElementById('jumper')
  731. jumper.addEventListener('click', e => {
  732. e.preventDefault()
  733. const anchor = e.target.getAttribute('href')
  734. const targetEl = document.getElementById(anchor.substring(1))
  735. targetEl.scrollIntoView({behavior: 'smooth'})
  736. })
  737. })()
  738. </script>