index.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <!DOCTYPE html>
  2. <!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
  3. <!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
  4. <head>
  5. <meta charset="utf-8">
  6. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  7. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  8. <link rel="shortcut icon" href="../img/favicon.ico">
  9. <title>Plan d'ensemble - Les Tutoriels du Yojik</title>
  10. <link rel="stylesheet" href="../css/theme.css" />
  11. <link rel="stylesheet" href="../css/theme_extra.css" />
  12. <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/github.min.css" />
  13. <script>
  14. // Current page data
  15. var mkdocs_page_name = "Plan d'ensemble";
  16. var mkdocs_page_input_path = "4-Plan.md";
  17. var mkdocs_page_url = null;
  18. </script>
  19. <script src="../js/jquery-2.1.1.min.js" defer></script>
  20. <script src="../js/modernizr-2.8.3.min.js" defer></script>
  21. <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/highlight.min.js"></script>
  22. <script>hljs.initHighlightingOnLoad();</script>
  23. </head>
  24. <body class="wy-body-for-nav" role="document">
  25. <div class="wy-grid-for-nav">
  26. <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
  27. <div class="wy-side-scroll">
  28. <div class="wy-side-nav-search">
  29. <a href=".." class="icon icon-home"> Les Tutoriels du Yojik</a>
  30. <div role="search">
  31. <form id ="rtd-search-form" class="wy-form" action="../search.html" method="get">
  32. <input type="text" name="q" placeholder="Search docs" title="Type search term here" />
  33. </form>
  34. </div>
  35. </div>
  36. <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
  37. <p class="caption"><span class="caption-text">Installation d'un serveur sécurisé, version Debian/Buster (en cours d'écriture)</span></p>
  38. <ul class="current">
  39. <li class="toctree-l1"><a class="reference internal" href="..">Présentation</a>
  40. </li>
  41. <li class="toctree-l1"><a class="reference internal" href="../2-Installation-de-base/">Installation de base</a>
  42. </li>
  43. <li class="toctree-l1"><a class="reference internal" href="../3-ovh/">Démarrage sur serveur OVH</a>
  44. </li>
  45. <li class="toctree-l1 current"><a class="reference internal current" href="./">Plan d'ensemble</a>
  46. <ul class="current">
  47. <li class="toctree-l2"><a class="reference internal" href="#etat-des-lieux">Etat des lieux</a>
  48. </li>
  49. <li class="toctree-l2"><a class="reference internal" href="#operations-communes">Opérations communes</a>
  50. </li>
  51. <li class="toctree-l2"><a class="reference internal" href="#operations-particulieres">Opérations particulières</a>
  52. </li>
  53. <li class="toctree-l2"><a class="reference internal" href="#nos-donnees-ce-que-nous-voulons">Nos données (ce que nous voulons):</a>
  54. </li>
  55. </ul>
  56. </li>
  57. <li class="toctree-l1"><a class="reference internal" href="../5-Premi%C3%A8re-Etape-S%C3%A9curisation/">Premières étapes de sécurisation du serveur</a>
  58. </li>
  59. </ul>
  60. </div>
  61. </div>
  62. </nav>
  63. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
  64. <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
  65. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  66. <a href="..">Les Tutoriels du Yojik</a>
  67. </nav>
  68. <div class="wy-nav-content">
  69. <div class="rst-content">
  70. <div role="navigation" aria-label="breadcrumbs navigation">
  71. <ul class="wy-breadcrumbs">
  72. <li><a href="..">Docs</a> &raquo;</li>
  73. <li>Installation d'un serveur sécurisé, version Debian/Buster (en cours d'écriture) &raquo;</li>
  74. <li>Plan d'ensemble</li>
  75. <li class="wy-breadcrumbs-aside">
  76. </li>
  77. </ul>
  78. <hr/>
  79. </div>
  80. <div role="main">
  81. <div class="section">
  82. <h1 id="plan-des-operations-a-effectuer-suivant-lutilisation-de-notre-serveur">Plan des opérations à effectuer suivant l'utilisation de notre serveur</h1>
  83. <h2 id="etat-des-lieux">Etat des lieux</h2>
  84. <ul>
  85. <li>sur les dédies/vps, le hostname est celui donné par OVH (ou autre pour vous) et est souvent un nom cabalistique, en tous les cas, pas celui que vous voulez.</li>
  86. <li>
  87. <p>le serveur SSH est troué (pas vraiment, simplement, il garde une compatibilité avec des protocoles anciens plus très sûrs).... voilà le résultat sur le serveur brut de fonderie (j'utilise l'adresse IPV6 pour qu'il soit accessible de l'extérieur par le site: <a href="https://www.ssh-audit.com/">audit ssh</a>:</p>
  88. <p>Récupération de l'adresse IPV6 de notre serveur:</p>
  89. <pre><code>eric@aldebaran:~$ ssh ericadmin@192.168.111.49
  90. ericadmin@192.168.111.49's password:
  91. Linux aijan 4.19.0-13-amd64 #1 SMP Debian 4.19.160-2 (2020-11-28) x86_64
  92. The programs included with the Debian GNU/Linux system are free software;
  93. the exact distribution terms for each program are described in the
  94. individual files in /usr/share/doc/*/copyright.
  95. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
  96. permitted by applicable law.
  97. Last login: Fri Jan 15 16:05:04 2021 from 192.168.111.150
  98. ericadmin@aijan:~$ ip a
  99. 1: lo: &lt;LOOPBACK,UP,LOWER_UP&gt; mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
  100. link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
  101. inet 127.0.0.1/8 scope host lo
  102. valid_lft forever preferred_lft forever
  103. inet6 ::1/128 scope host
  104. valid_lft forever preferred_lft forever
  105. 2: enp2s0: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc mq state UP group default qlen 1000
  106. link/ether 38:ea:a7:a6:cf:93 brd ff:ff:ff:ff:ff:ff
  107. inet 192.168.111.49/24 brd 192.168.111.255 scope global dynamic enp2s0
  108. valid_lft 37374sec preferred_lft 37374sec
  109. inet6 2a01:e0a:d0:3c20:3aea:a7ff:fea6:cf93/64 scope global dynamic mngtmpaddr
  110. valid_lft 85928sec preferred_lft 85928sec
  111. inet6 fe80::3aea:a7ff:fea6:cf93/64 scope link
  112. valid_lft forever preferred_lft forever
  113. ericadmin@aijan:~$
  114. </code></pre>
  115. <p>L'adresse est: 2a01:e0a:d0:3c20:3aea:a7ff:fea6:cf93</p>
  116. <p>Résultat de l'analyse (mauvais...)</p>
  117. <p><img alt="Résultat 1" src="../Images/audit-buster-1.png" />
  118. <img alt="Résultat 2" src="../Images/audit-buster-2.png" />
  119. <img alt="Résultat 3" src="../Images/audit-buster-3.png" />
  120. <img alt="Résultat 4" src="../Images/audit-buster-4.png" /></p>
  121. <p>C'est la même chose pour les dédiés et les vps.</p>
  122. <ul>
  123. <li>nos serveurs "at home" ont une adresse <strong>ip</strong> donnée par <strong>dhcp</strong> donc non fixe, en IPV4 et IPV6: à fixer!</li>
  124. <li>Pas de firewall</li>
  125. <li>pas de protection contre les attaques de force brute</li>
  126. </ul>
  127. </li>
  128. </ul>
  129. <h2 id="operations-communes">Opérations communes</h2>
  130. <pre><code>Pour tous nos serveurs, il y a des opérations communes à toutes les utilisations.
  131. * Mise à jour du **hostname** et de **/etc/hosts**
  132. * Sécurisation de **ssh** et de **sshd**
  133. * Sécurisation des mots de passe
  134. * Configuration du réseau
  135. * Installation d'un serveur de temps
  136. * Installation d'un pare-feux
  137. * Installation de fail2ban contre les attaques de force brute
  138. </code></pre>
  139. <h2 id="operations-particulieres">Opérations particulières</h2>
  140. <pre><code>Ensuite, l'installation de logiciels et leur configuration dépendra de l'usage auquel on réserve notre serveur:
  141. * serveur **DNS** (knot)
  142. * serveur **web** (apache)
  143. * serveur **mail** (postfix, dovecot)
  144. * serveur **git** (gogs)
  145. Des services pourront être ajoutés comme:
  146. * service de partage d'images (lufi)
  147. * serveur de partage de fichiers
  148. * serveur IRC
  149. * réseaux sociaux comme xmpp, matrix, mastodon, hubzilla, etc ...
  150. * serveur de mots de passe (bitwarden-rs)
  151. </code></pre>
  152. <h2 id="nos-donnees-ce-que-nous-voulons">Nos données (ce que nous voulons):</h2>
  153. <ul>
  154. <li>adresse IPV4 de notre serveur: 192.168.111.240</li>
  155. <li>adresse IPV6 de notre serveur: 2a01:e0a:d0:3c20::240</li>
  156. <li>hostname: aijan.yojik.net</li>
  157. <li>une unique porte d'entrée par <strong>ssh</strong> sur le port 22 (mais vous pouvez opter pour une autre adresse si vous voulez)</li>
  158. <li>un firewall</li>
  159. <li>une protection contre les attaques de force brute (fail2ban)</li>
  160. <li>un serveur de temps pour une horloge à l'heure</li>
  161. <li>des mots de passe sûrs (celui que j'ai indiqué à l'installation est temporaire, pour faciliter ma connexion, et ceux de OVH sont donnés par émail si vous n'avez pas opté pour la connexion par clef)</li>
  162. </ul>
  163. <p>Commençons par les premières étapes de sécurisation.</p>
  164. </div>
  165. </div>
  166. <footer>
  167. <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
  168. <a href="../5-Premi%C3%A8re-Etape-S%C3%A9curisation/" class="btn btn-neutral float-right" title="Premières étapes de sécurisation du serveur">Next <span class="icon icon-circle-arrow-right"></span></a>
  169. <a href="../3-ovh/" class="btn btn-neutral" title="Démarrage sur serveur OVH"><span class="icon icon-circle-arrow-left"></span> Previous</a>
  170. </div>
  171. <hr/>
  172. <div role="contentinfo">
  173. <!-- Copyright etc -->
  174. </div>
  175. Built with <a href="https://www.mkdocs.org/">MkDocs</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
  176. </footer>
  177. </div>
  178. </div>
  179. </section>
  180. </div>
  181. <div class="rst-versions" role="note" aria-label="versions">
  182. <span class="rst-current-version" data-toggle="rst-current-version">
  183. <span><a href="../3-ovh/" style="color: #fcfcfc;">&laquo; Previous</a></span>
  184. <span style="margin-left: 15px"><a href="../5-Premi%C3%A8re-Etape-S%C3%A9curisation/" style="color: #fcfcfc">Next &raquo;</a></span>
  185. </span>
  186. </div>
  187. <script>var base_url = '..';</script>
  188. <script src="../js/theme.js" defer></script>
  189. <script src="../search/main.js" defer></script>
  190. <script defer>
  191. window.onload = function () {
  192. SphinxRtdTheme.Navigation.enable(true);
  193. };
  194. </script>
  195. </body>
  196. </html>