index.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334
  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. <title>Contrer les attaques de brute-force avec fail2ban - The Yojik Server Installation Guide</title>
  9. <link rel="shortcut icon" href="../img/favicon.ico">
  10. <link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
  11. <link rel="stylesheet" href="../css/theme.css" type="text/css" />
  12. <link rel="stylesheet" href="../css/theme_extra.css" type="text/css" />
  13. <link rel="stylesheet" href="../css/highlight.css">
  14. <script>
  15. // Current page data
  16. var mkdocs_page_name = "Contrer les attaques de brute-force avec fail2ban";
  17. var mkdocs_page_input_path = "6-six.md";
  18. var mkdocs_page_url = "/6-six/";
  19. </script>
  20. <script src="../js/jquery-2.1.1.min.js"></script>
  21. <script src="../js/modernizr-2.8.3.min.js"></script>
  22. <script type="text/javascript" src="../js/highlight.pack.js"></script>
  23. <script src="../js/theme.js"></script>
  24. </head>
  25. <body class="wy-body-for-nav" role="document">
  26. <div class="wy-grid-for-nav">
  27. <nav data-toggle="wy-nav-shift" class="wy-nav-side stickynav">
  28. <div class="wy-side-nav-search">
  29. <a href=".." class="icon icon-home"> The Yojik Server Installation Guide</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" />
  33. </form>
  34. </div>
  35. </div>
  36. <div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
  37. <ul class="current">
  38. <li>
  39. <li class="toctree-l1 ">
  40. <a class="" href="..">Home</a>
  41. </li>
  42. <li>
  43. <li>
  44. <li class="toctree-l1 ">
  45. <a class="" href="../1-un/">Installation d'un serveur Debian/Stretch sécurisé</a>
  46. </li>
  47. <li>
  48. <li>
  49. <li class="toctree-l1 ">
  50. <a class="" href="../2-deux/">Premières étapes de sécurisation du serveur</a>
  51. </li>
  52. <li>
  53. <li>
  54. <li class="toctree-l1 ">
  55. <a class="" href="../3-trois/">Configuration du réseau</a>
  56. </li>
  57. <li>
  58. <li>
  59. <li class="toctree-l1 ">
  60. <a class="" href="../4-quatre/">Installation d'un serveur de temps</a>
  61. </li>
  62. <li>
  63. <li>
  64. <li class="toctree-l1 ">
  65. <a class="" href="../5-cinq/">Installation d'un pare-feu</a>
  66. </li>
  67. <li>
  68. <li>
  69. <li class="toctree-l1 current">
  70. <a class="current" href="./">Contrer les attaques de brute-force avec fail2ban</a>
  71. <ul>
  72. <li class="toctree-l3"><a href="#contrer-les-attaques-de-brute-force-avec-fail2ban">Contrer les attaques de brute-force avec fail2ban</a></li>
  73. <li><a class="toctree-l4" href="#installation">Installation</a></li>
  74. <li><a class="toctree-l4" href="#parametrage-de-fail2ban">Paramétrage de fail2ban</a></li>
  75. </ul>
  76. </li>
  77. <li>
  78. <li>
  79. <li class="toctree-l1 ">
  80. <a class="" href="../7-sept/">Installation d'un serveur de courrier basique</a>
  81. </li>
  82. <li>
  83. <li>
  84. <li class="toctree-l1 ">
  85. <a class="" href="../8-huit/">Installation du serveur DNS</a>
  86. </li>
  87. <li>
  88. <li>
  89. <li class="toctree-l1 ">
  90. <a class="" href="../9-neuf/">Installation d'un serveur web</a>
  91. </li>
  92. <li>
  93. <li>
  94. <li class="toctree-l1 ">
  95. <a class="" href="../10-dix/">Installation de dovecot et de l'authentification</a>
  96. </li>
  97. <li>
  98. <li>
  99. <li class="toctree-l1 ">
  100. <a class="" href="../11-onze/">Installation des certificats letsencrypt</a>
  101. </li>
  102. <li>
  103. <li>
  104. <li class="toctree-l1 ">
  105. <a class="" href="../12-douze/">Ajout des enregistrements SPF et DKIM au fichier de zone DNS</a>
  106. </li>
  107. <li>
  108. <li>
  109. <li class="toctree-l1 ">
  110. <a class="" href="../17-dixsept/">Installation de programmes de surveillance du serveur</a>
  111. </li>
  112. <li>
  113. <li>
  114. <li class="toctree-l1 ">
  115. <a class="" href="../18-dixhuit/">Installation d'un webmail</a>
  116. </li>
  117. <li>
  118. <li>
  119. <li class="toctree-l1 ">
  120. <a class="" href="../19-dixneuf/">Installation de git et de gogs</a>
  121. </li>
  122. <li>
  123. </ul>
  124. </div>
  125. &nbsp;
  126. </nav>
  127. <section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
  128. <nav class="wy-nav-top" role="navigation" aria-label="top navigation">
  129. <i data-toggle="wy-nav-top" class="fa fa-bars"></i>
  130. <a href="..">The Yojik Server Installation Guide</a>
  131. </nav>
  132. <div class="wy-nav-content">
  133. <div class="rst-content">
  134. <div role="navigation" aria-label="breadcrumbs navigation">
  135. <ul class="wy-breadcrumbs">
  136. <li><a href="..">Docs</a> &raquo;</li>
  137. <li>Contrer les attaques de brute-force avec fail2ban</li>
  138. <li class="wy-breadcrumbs-aside">
  139. </li>
  140. </ul>
  141. <hr/>
  142. </div>
  143. <div role="main">
  144. <div class="section">
  145. <p></p>
  146. <h2 id="contrer-les-attaques-de-brute-force-avec-fail2ban">Contrer les attaques de <em>brute-force</em> avec <strong>fail2ban</strong></h2>
  147. <p>Fail2ban est un programme qui surveille les logs des services en place et détecte les tentatives d'attaques <em>brute-force</em>. Il mets automatiquement en quarantaine les IP attaquantes.</p>
  148. <h3 id="installation">Installation</h3>
  149. <hr />
  150. <pre><code>root@atom:/home/ericadmin# apt install fail2ban
  151. Lecture des listes de paquets... Fait
  152. Construction de l'arbre des dépendances
  153. Lecture des informations d'état... Fait
  154. The following additional packages will be installed:
  155. python3-pyinotify python3-systemd whois
  156. Paquets suggérés :
  157. monit python-pyinotify-doc
  158. Les NOUVEAUX paquets suivants seront installés :
  159. fail2ban python3-pyinotify python3-systemd whois
  160. 0 mis à jour, 4 nouvellement installés, 0 à enlever et 0 non mis à jour.
  161. Il est nécessaire de prendre 423 ko dans les archives.
  162. Après cette opération, 1 897 ko d'espace disque supplémentaires seront utilisés.
  163. Souhaitez-vous continuer ? [O/n] o
  164. Réception de:1 http://deb.debian.org/debian stretch/main i386 fail2ban all 0.9.6-2 [288 kB]
  165. Réception de:2 http://deb.debian.org/debian stretch/main i386 python3-pyinotify all 0.9.6-1 [26,9 kB]
  166. Réception de:3 http://deb.debian.org/debian stretch/main i386 python3-systemd i386 233-1 [34,4 kB]
  167. Réception de:4 http://deb.debian.org/debian stretch/main i386 whois i386 5.2.17~deb9u1 [73,8 kB]
  168. 423 ko réceptionnés en 0s (1 996 ko/s)
  169. Sélection du paquet fail2ban précédemment désélectionné.
  170. (Lecture de la base de données... 31956 fichiers et répertoires déjà installés.)
  171. Préparation du dépaquetage de .../fail2ban_0.9.6-2_all.deb ...
  172. Dépaquetage de fail2ban (0.9.6-2) ...
  173. Sélection du paquet python3-pyinotify précédemment désélectionné.
  174. Préparation du dépaquetage de .../python3-pyinotify_0.9.6-1_all.deb ...
  175. Dépaquetage de python3-pyinotify (0.9.6-1) ...
  176. Sélection du paquet python3-systemd précédemment désélectionné.
  177. Préparation du dépaquetage de .../python3-systemd_233-1_i386.deb ...
  178. Dépaquetage de python3-systemd (233-1) ...
  179. Sélection du paquet whois précédemment désélectionné.
  180. Préparation du dépaquetage de .../whois_5.2.17~deb9u1_i386.deb ...
  181. Dépaquetage de whois (5.2.17~deb9u1) ...
  182. Paramétrage de fail2ban (0.9.6-2) ...
  183. Created symlink /etc/systemd/system/multi-user.target.wants/fail2ban.service → /lib/systemd/system/fail2ban.service.
  184. Paramétrage de whois (5.2.17~deb9u1) ...
  185. Paramétrage de python3-systemd (233-1) ...
  186. Traitement des actions différées (« triggers ») pour systemd (232-25+deb9u1) ...
  187. Traitement des actions différées (« triggers ») pour man-db (2.7.6.1-2) ...
  188. Paramétrage de python3-pyinotify (0.9.6-1) ...
  189. root@atom:/home/ericadmin#
  190. </code></pre>
  191. <hr />
  192. <h3 id="parametrage-de-fail2ban">Paramétrage de <strong>fail2ban</strong></h3>
  193. <p>Pour fail2ban, il n'a rien à configurer pour l'instant. Seul ssh est surveillé.</p>
  194. <hr />
  195. <p>Ici, pour l'utilisation avec ufw.</p>
  196. <p>Avec Debian, le fichier à configurer est: /etc/fail2ban/jail.d/defaults-debian.conf</p>
  197. <p>Par défaut, il contient</p>
  198. <hr />
  199. <pre><code>[sshd]
  200. enabled = true
  201. </code></pre>
  202. <hr />
  203. <p>Il va falloir l'éditer (n'oubliez pas de faire une sauvegarde avant!), pour obtenir ceci:</p>
  204. <hr />
  205. <pre><code>[sshd]
  206. enabled = false
  207. [ssh-with-ufw]
  208. enabled = true
  209. port = 22
  210. filter = sshd
  211. action = ufw[application=&quot;OpenSSH&quot;, blocktype=reject]
  212. logpath = /var/log/auth.log
  213. maxretry = 3
  214. </code></pre>
  215. <hr />
  216. <p>En effet, <strong>fail2ban</strong> fonctionne par défaut avec <strong>iptables</strong>. Il faut donc activer le fonctionnement avec <strong>ufw</strong>.</p>
  217. <p>On crée une nouvelle règle, appelée [ssh-with-ufw]. L'action <strong>ufw</strong> existe déjà par défaut dans l'installation.</p>
  218. </div>
  219. </div>
  220. <footer>
  221. <div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
  222. <a href="../7-sept/" class="btn btn-neutral float-right" title="Installation d'un serveur de courrier basique">Next <span class="icon icon-circle-arrow-right"></span></a>
  223. <a href="../5-cinq/" class="btn btn-neutral" title="Installation d'un pare-feu"><span class="icon icon-circle-arrow-left"></span> Previous</a>
  224. </div>
  225. <hr/>
  226. <div role="contentinfo">
  227. <!-- Copyright etc -->
  228. </div>
  229. Built with <a href="http://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>.
  230. </footer>
  231. </div>
  232. </div>
  233. </section>
  234. </div>
  235. <div class="rst-versions" role="note" style="cursor: pointer">
  236. <span class="rst-current-version" data-toggle="rst-current-version">
  237. <span><a href="../5-cinq/" style="color: #fcfcfc;">&laquo; Previous</a></span>
  238. <span style="margin-left: 15px"><a href="../7-sept/" style="color: #fcfcfc">Next &raquo;</a></span>
  239. </span>
  240. </div>
  241. </body>
  242. </html>