{"id":24679,"date":"2026-09-16T16:56:39","date_gmt":"2026-09-16T16:56:39","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/guide-securite-infrastructure-base\/"},"modified":"2026-09-16T16:56:39","modified_gmt":"2026-09-16T16:56:39","slug":"guide-securite-infrastructure-base","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/","title":{"rendered":"Guide de s\u00e9curit\u00e9\u00a0: comment prot\u00e9ger votre infrastructure des attaques les plus courantes"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">G\u00e9rer votre infrastructure dans une configuration s\u00e9curis\u00e9e est une t\u00e2che ardue, m\u00eame pour les professionnels de la s\u00e9curit\u00e9. Ce guide fournit des conseils pratiques pour aider l&rsquo;\u00e9quipe d&rsquo;ing\u00e9nierie \u00e0 concevoir une infrastructure respectant les bonnes pratiques de s\u00e9curit\u00e9, afin qu&rsquo;elle puisse d\u00e9ployer ses services sur l&rsquo;Internet public en toute confiance et r\u00e9duire le risque de compromission. Ce guide cible sp\u00e9cifiquement les syst\u00e8mes bas\u00e9s sur Linux\u00a0; cependant, les bonnes pratiques s&rsquo;appliquent \u00e0 tous les syst\u00e8mes informatiques.<\/p>\n\n\n\r\n    <nav data-content-type=\"longform\" class=\"toc-block longform-spacings px-5 py-6 px-md-6 px-lg-7 py-md-7 bg-light fs-sm rounded-lg\" aria-labelledby=\"toc-title-4371\"><p class=\"h5 m-0\" id=\"toc-title-4371\">Table des mati\u00e8res<\/p><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">01<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#check-list-de-securite-reseau\">Check-list de s\u00e9curit\u00e9 r\u00e9seau<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">02<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#vulnerabilites-logicielles\">Vuln\u00e9rabilit\u00e9s logicielles<\/a><a class=\"scrollme link-body-color\" href=\"#comment-se-proteger-contre-les-vulnerabilites-logicielles\">Comment se prot\u00e9ger contre les vuln\u00e9rabilit\u00e9s logicielles<\/a><a class=\"scrollme link-body-color\" href=\"#comment-reduire-les-dommages-lies-aux-vulnerabilites-logicielles\">Comment r\u00e9duire les dommages li\u00e9s aux vuln\u00e9rabilit\u00e9s logicielles<\/a><a class=\"scrollme link-body-color\" href=\"#resume\">R\u00e9sum\u00e9<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">03<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#durcissement-du-reseau\">Durcissement du r\u00e9seau<\/a><a class=\"scrollme link-body-color\" href=\"#quest-ce-que-le-durcissement-du-reseau\">Qu&rsquo;est-ce que le durcissement du r\u00e9seau\u00a0?<\/a><a class=\"scrollme link-body-color\" href=\"#comment-reduire-les-dommages-grace-au-durcissement-du-reseau\">Comment r\u00e9duire les dommages gr\u00e2ce au durcissement du r\u00e9seau<\/a><a class=\"scrollme link-body-color\" href=\"#resume\">R\u00e9sum\u00e9<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">04<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#securite-du-pare-feu-reseau\">S\u00e9curit\u00e9 du pare-feu r\u00e9seau<\/a><a class=\"scrollme link-body-color\" href=\"#comment-examiner-les-regles-du-pare-feu\">Comment examiner les r\u00e8gles du pare-feu<\/a><a class=\"scrollme link-body-color\" href=\"#resume\">R\u00e9sum\u00e9<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">05<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#connexion-a-distance\">Connexion \u00e0 distance<\/a><a class=\"scrollme link-body-color\" href=\"#description\">Description<\/a><a class=\"scrollme link-body-color\" href=\"#resume\">R\u00e9sum\u00e9<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">06<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#limites-de-confiance\">Limites de confiance<\/a><a class=\"scrollme link-body-color\" href=\"#description\">Description<\/a><a class=\"scrollme link-body-color\" href=\"#renforcement-du-point-de-terminaison-de-lapi\">Renforcement du point de terminaison de l&rsquo;API<\/a><a class=\"scrollme link-body-color\" href=\"#renforcement-du-point-de-terminaison-du-service-et-de-tout-le-reste\">Renforcement du point de terminaison du service (et de tout le reste)<\/a><a class=\"scrollme link-body-color\" href=\"#resume\">R\u00e9sum\u00e9<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">07<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#surveillance-et-journalisation\">Surveillance et journalisation<\/a><a class=\"scrollme link-body-color\" href=\"#description\">Description<\/a><a class=\"scrollme link-body-color\" href=\"#journaux-generaux-des-applications\">Journaux g\u00e9n\u00e9raux des applications<\/a><a class=\"scrollme link-body-color\" href=\"#journaux-systeme\">Journaux syst\u00e8me<\/a><a class=\"scrollme link-body-color\" href=\"#resume\">R\u00e9sum\u00e9<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">08<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#utilisation-de-la-cryptographie\">Utilisation de la cryptographie<\/a><a class=\"scrollme link-body-color\" href=\"#description\">Description<\/a><a class=\"scrollme link-body-color\" href=\"#resume\">R\u00e9sum\u00e9<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">09<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#sauvegardes\">Sauvegardes<\/a><a class=\"scrollme link-body-color\" href=\"#description\">Description<\/a><a class=\"scrollme link-body-color\" href=\"#resume\">R\u00e9sum\u00e9<\/a><\/div><\/div><\/nav>\n\n\n<p class=\"wp-block-paragraph\">G\u00e9rer votre infrastructure dans une configuration s\u00e9curis\u00e9e est une t\u00e2che ardue, m\u00eame pour les professionnels de la s\u00e9curit\u00e9. Ce guide fournit des conseils pratiques pour aider l&rsquo;\u00e9quipe d&rsquo;ing\u00e9nierie \u00e0 concevoir une infrastructure respectant les bonnes pratiques de s\u00e9curit\u00e9, afin qu&rsquo;elle puisse d\u00e9ployer ses services sur l&rsquo;Internet public en toute confiance et r\u00e9duire le risque de compromission. Ce guide cible sp\u00e9cifiquement les syst\u00e8mes bas\u00e9s sur Linux\u00a0; cependant, les bonnes pratiques s&rsquo;appliquent \u00e0 tous les syst\u00e8mes informatiques.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">G\u00e9rer une infrastructure en toute confiance implique de comprendre contre quoi et contre qui vous la prot\u00e9gez. Ce guide comportera \u00e0 terme trois versions, Base, Interm\u00e9diaire et Avanc\u00e9e, chacune \u00e9tant ax\u00e9e sur la d\u00e9fense de votre infrastructure contre un type d&rsquo;attaquant diff\u00e9rent. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous lisez la version de Base, qui vise \u00e0 vous prot\u00e9ger contre les attaques automatis\u00e9es et les apprentis pirates qui comprennent les outils d&rsquo;exploitation plut\u00f4t que les techniques d&rsquo;exploitation. Ce type d&rsquo;attaquant est opportuniste plut\u00f4t que cibl\u00e9, et passe rapidement \u00e0 des cibles plus faciles. <b>Si vous g\u00e9rez un projet parall\u00e8le ou cr\u00e9ez une entreprise, c&rsquo;est le meilleur point de d\u00e9part pour vous aider \u00e0 b\u00e2tir des fondations solides.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En lisant ce guide, r\u00e9fl\u00e9chissez au type d&rsquo;attaquant et aux types d&rsquo;attaques contre lesquels vous souhaitez vous d\u00e9fendre. Les bonnes pratiques que vous appliquez ou non d\u00e9pendent de ce que vous essayez de d\u00e9fendre et contre qui vous essayez de vous d\u00e9fendre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Check-list de s\u00e9curit\u00e9 r\u00e9seau<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Ce guide suit ces principes directeurs dans son approche de la s\u00e9curit\u00e9 des logiciels\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><b>D\u00e9fendre, d\u00e9tecter et r\u00e9agir. <\/b>Cela signifie appliquer de bonnes pratiques de s\u00e9curit\u00e9 pour d\u00e9fendre votre infrastructure, mais aussi journaliser tout comportement suspect et, en cas de compromission, restaurer l&rsquo;\u00e9tat de s\u00e9curit\u00e9.<\/li>\n\n\n\n<li><b>Tout logiciel peut \u00eatre exploit\u00e9.<\/b> Tout logiciel non trivial comporte des failles qui permettent \u00e0 un attaquant suffisamment motiv\u00e9 de les exploiter.<\/li>\n\n\n\n<li><b>La simplicit\u00e9, c&rsquo;est la s\u00e9curit\u00e9. <\/b>Les syst\u00e8mes trop complexes deviennent plus difficiles \u00e0 appr\u00e9hender pour l&rsquo;\u00e9quipe de d\u00e9veloppement et plus faciles \u00e0 exploiter pour un attaquant. Les syst\u00e8mes plus simples et compr\u00e9hensibles sont souvent plus s\u00e9curis\u00e9s. Ne d\u00e9ployez pas une solution de s\u00e9curit\u00e9 que vous ne comprenez pas.<\/li>\n\n\n\n<li><b>L&rsquo;obscurit\u00e9 n&rsquo;est pas la s\u00e9curit\u00e9. <\/b>Fiez-vous \u00e0 la s\u00e9curit\u00e9 des protocoles que vous utilisez pour d\u00e9fendre votre infrastructure, et non \u00e0 des ports obscurs et autres astuces pour tenter de dissimuler des protocoles non s\u00e9curis\u00e9s.<\/li>\n\n\n\n<li><b>Consid\u00e9rez toutes les saisies utilisateur comme hostiles. <\/b>Consid\u00e9rez toutes les saisies accept\u00e9es de la part des utilisateurs comme hostiles, et v\u00e9rifiez rigoureusement ce que vous acceptez.<\/li>\n\n\n\n<li><b>Principe du moindre privil\u00e8ge. <\/b>Fournissez les privil\u00e8ges minimums n\u00e9cessaires \u00e0 l&rsquo;ex\u00e9cution d&rsquo;une op\u00e9ration. Si un processus ou un syst\u00e8me est exploit\u00e9, vous ne voulez pas permettre \u00e0 un attaquant d&rsquo;obtenir plus d&rsquo;acc\u00e8s que le strict minimum.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Vuln\u00e9rabilit\u00e9s logicielles<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Comment se prot\u00e9ger contre les vuln\u00e9rabilit\u00e9s logicielles<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Appliquer de mani\u00e8re agressive des mises \u00e0 jour de s\u00e9curit\u00e9 pour des logiciels que vous n&rsquo;avez pas \u00e9crits peut sembler une mauvaise fa\u00e7on de prot\u00e9ger votre infrastructure, voire inutile. Cependant, c&rsquo;est l&rsquo;un des meilleurs investissements en temps que vous puissiez faire d&rsquo;un point de vue de la s\u00e9curit\u00e9. Voici deux exemples de probl\u00e8mes de s\u00e9curit\u00e9 r\u00e9cents que <b>des attaquants inexp\u00e9riment\u00e9s utilisant des outils automatis\u00e9s peuvent exploiter si vous n&rsquo;avez pas mis \u00e0 jour vos serveurs<\/b> avec les derniers correctifs de s\u00e9curit\u00e9\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><i>Heartbleed<\/i>\u00a0: permet \u00e0 un attaquant de voler vos certificats priv\u00e9s et de d\u00e9chiffrer le trafic chiffr\u00e9<\/li>\n\n\n\n<li><i>Shellshock<\/i>\u00a0: permet \u00e0 un attaquant d&rsquo;ex\u00e9cuter \u00e0 distance du code arbitraire sur vos serveurs<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Ces deux probl\u00e8mes suffiraient \u00e0 donner \u00e0 un attaquant le contr\u00f4le total de toute votre infrastructure. Heureusement, att\u00e9nuer ces bugs n&rsquo;est <b>pas difficile<\/b>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comment r\u00e9duire les dommages li\u00e9s aux vuln\u00e9rabilit\u00e9s logicielles <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Appliquez syst\u00e9matiquement les mises \u00e0 jour de s\u00e9curit\u00e9 fournies par le fournisseur de votre syst\u00e8me d&rsquo;exploitation. La plupart des fournisseurs proposent une m\u00e9thode automatis\u00e9e. Par exemple, pour les syst\u00e8mes bas\u00e9s sur Debian, vous pouvez utiliser\u00a0<a href=\"https:\/\/wiki.debian.org\/UnattendedUpgrades\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>Unattended Upgrades<\/i><\/a><i>,<\/i>et pour les syst\u00e8mes bas\u00e9s sur Red Hat, vous pouvez utiliser \u00a0<a href=\"http:\/\/fedoraproject.org\/wiki\/AutoUpdates\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>AutoUpdates<\/i><\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;application automatis\u00e9e de correctifs est excellente, cependant, elle pr\u00e9sente un inconv\u00e9nient potentiel (pour votre entreprise) si vous ne testez pas vos logiciels avant d&rsquo;appliquer les correctifs sur les serveurs de production\u00a0: <b>des pannes inattendues peuvent survenir<\/b>. Bien que les responsables des paquets essaient de s&rsquo;assurer que les mises \u00e0 jour de s\u00e9curit\u00e9 ne contiennent pas de modifications majeures, ils ne peuvent pas tester toutes les combinaisons possibles avant le d\u00e9ploiement. C&rsquo;est pourquoi il est important de disposer d&rsquo;un syst\u00e8me de test d&rsquo;int\u00e9gration continue\/d\u00e9ploiement continu (CI\/CD) ou de tester manuellement les mises \u00e0 jour de s\u00e9curit\u00e9 avant de les d\u00e9ployer sur les serveurs de production.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cependant, il ne suffit pas d&rsquo;appliquer ces mises \u00e0 jour de s\u00e9curit\u00e9. Si le probl\u00e8me se trouve dans une biblioth\u00e8que partag\u00e9e, vous continuerez d&rsquo;utiliser son ancienne version et resterez vuln\u00e9rable aux attaques jusqu&rsquo;\u00e0 ce que vous red\u00e9marriez le processus qui y est li\u00e9. Pour v\u00e9rifier si des binaires doivent \u00eatre red\u00e9marr\u00e9s, vous pouvez utiliser\u00a0<a href=\"http:\/\/manpages.debian.org\/cgi-bin\/man.cgi?query=checkrestart\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>checkrestart<\/i><\/a>\u00a0pour les syst\u00e8mes bas\u00e9s sur Debian et\u00a0<a href=\"http:\/\/man7.org\/linux\/man-pages\/man1\/needs-restarting.1.html\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>needs-restarting<\/i><\/a>\u00a0pour les syst\u00e8mes bas\u00e9s sur Red Hat.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c0 FAIRE\u00a0: mettez vos serveurs \u00e0 jour pour les prot\u00e9ger contre les derni\u00e8res vuln\u00e9rabilit\u00e9s de s\u00e9curit\u00e9.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: utilisez les mises \u00e0 jour automatiques du fournisseur de votre syst\u00e8me d&rsquo;exploitation chaque fois que possible.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: red\u00e9marrez les services qui s&rsquo;appuient sur des biblioth\u00e8ques partag\u00e9es ayant \u00e9t\u00e9 mises \u00e0 jour.<\/li>\n\n\n\n<li>\u00c0 NE PAS FAIRE\u00a0: ne d\u00e9ployez pas de mises \u00e0 jour sur un serveur sans effectuer de tests au pr\u00e9alable.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Durcissement du r\u00e9seau<b> <\/b><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Qu&rsquo;est-ce que le durcissement du r\u00e9seau\u00a0? <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Le durcissement de votre application \u00e0 l&rsquo;aide des outils du syst\u00e8me d&rsquo;exploitation est une approche efficace pour <b>limiter l&rsquo;\u00e9tendue des dommages que les attaquants peuvent causer<\/b> apr\u00e8s avoir exploit\u00e9 une vuln\u00e9rabilit\u00e9 dans votre application. Cette section se concentre sur l&rsquo;utilisation des outils traditionnels de contr\u00f4le d&rsquo;acc\u00e8s Unix, que la plupart des utilisateurs connaissent, afin de restreindre votre application \u00e0 l&rsquo;ensemble minimal d&rsquo;acc\u00e8s dont elle a besoin pour fonctionner. Ces outils sont les autorisations sur les fichiers, l&rsquo;identifiant utilisateur (UID) et l&rsquo;acc\u00e8s root.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;objectif de cette section n&rsquo;est pas de durcir votre application au point qu&rsquo;un attaquant ne puisse pas la compromettre. C&rsquo;est un objectif presque impossible. Le but est de limiter ce qu&rsquo;un attaquant peut faire une fois que votre application a \u00e9t\u00e9 compromise. Apr\u00e8s avoir exploit\u00e9 votre application, un attaquant pourra effectuer des actions en tant que cette application, et potentiellement \u00e9lever ses privil\u00e8ges au niveau root, ce qui lui donne un acc\u00e8s total et complet \u00e0 votre syst\u00e8me d&rsquo;exploitation. Le but est plut\u00f4t de <b>restreindre les actions que votre application peut effectuer au strict n\u00e9cessaire pour fonctionner<\/b>, ce qui restreint par cons\u00e9quent l&rsquo;attaquant.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Comment r\u00e9duire les dommages gr\u00e2ce au durcissement du r\u00e9seau <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vous devez restreindre votre application de mani\u00e8re \u00e0 ce que, m\u00eame si un attaquant a exploit\u00e9 votre processus et peut ex\u00e9cuter du code en tant que ce compte utilisateur, ce dernier ait des droits d&rsquo;acc\u00e8s limit\u00e9s sur le syst\u00e8me de fichiers. Le m\u00eame concept s&rsquo;applique au processus sous lequel le compte est ex\u00e9cut\u00e9\u00a0: restreignez le temps de processeur, la m\u00e9moire et le nombre de descripteurs de fichier pour att\u00e9nuer les attaques de type DoS o\u00f9 l&rsquo;attaquant \u00e9puise vos ressources. Le but est d&rsquo;<b>obliger l&rsquo;attaquant \u00e0 utiliser une attaque par \u00e9l\u00e9vation de privil\u00e8ges<\/b> (exploiter une autre partie de votre syst\u00e8me d&rsquo;exploitation pour \u00e9lever ses privil\u00e8ges au-del\u00e0 de l&rsquo;application en cours d&rsquo;ex\u00e9cution) <b>pour effectuer une action significative sur votre syst\u00e8me.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour restreindre le compte sous lequel votre application s&rsquo;ex\u00e9cute, suivez les directives suivantes\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>N&rsquo;ex\u00e9cutez jamais votre application en tant que root ou utilisateur ayant des capacit\u00e9s sudo. Si votre application est exploit\u00e9e, cela signifie en pratique que l&rsquo;attaquant peut obtenir les privil\u00e8ges root.<\/li>\n\n\n\n<li>Si vous avez plusieurs applications et que chacune acc\u00e8de \u00e0 des donn\u00e9es sensibles diff\u00e9rentes, envisagez d&rsquo;ex\u00e9cuter chacune sous son propre compte, puis d&rsquo;utiliser les privil\u00e8ges du syst\u00e8me de fichiers pour isoler l&rsquo;acc\u00e8s aux donn\u00e9es sensibles des unes et des autres. Cela signifie que les donn\u00e9es sensibles de l&rsquo;application ne doivent jamais avoir d&rsquo;autres autorisations configur\u00e9es pour permettre des autorisations de lecture et d&rsquo;\u00e9criture \u00e0 quiconque. Par exemple, ne d\u00e9finissez jamais les autorisations sur une valeur telle que <code>0777<\/code>\u00a0; utilisez plut\u00f4t une valeur telle que <code>0660<\/code>.<\/li>\n\n\n\n<li>Assurez-vous que l&rsquo;utilisateur et le groupe de l&rsquo;application disposent de privil\u00e8ges limit\u00e9s. Cela implique de cr\u00e9er un nouvel utilisateur et un nouveau groupe limit\u00e9s pour le compte, sans donner de shell \u00e0 l&rsquo;utilisateur. Supposons que vous ayez une application nomm\u00e9e <code>foo<\/code>. Cr\u00e9ez un utilisateur nomm\u00e9 <code>fooapp <\/code>et d\u00e9finissez son r\u00e9pertoire de base sur <code>\/var\/appdata\/fooapp<\/code>\u00a0: <code>sudo useradd -r -s \/bin\/false --home \/var\/appdata\/fooapp fooapp sudo mkdir \/var\/appdata\/fooapp sudo chown fooapp:fooapp \/var\/appdata\/fooapp<\/code><\/li>\n\n\n\n<li>Transformez votre application en d\u00e9mon pour qu&rsquo;elle d\u00e9marre automatiquement sous un utilisateur particulier. Il existe deux approches g\u00e9n\u00e9rales pour r\u00e9soudre ce probl\u00e8me. La premi\u00e8re consiste \u00e0 utiliser les outils du syst\u00e8me d&rsquo;exploitation (comme les scripts d&rsquo;initialisation System V (<a href=\"https:\/\/blog.hazrulnizam.com\/create-init-script-centos-6\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Red Hat<\/a> \/ <a href=\"https:\/\/wiki.debian.org\/Daemon\" target=\"_tabs\" rel=\"noopener noreferrer\">Debian<\/a>) ou systemd (<a href=\"https:\/\/access.redhat.com\/documentation\/en-US\/Red_Hat_Enterprise_Linux\/7\/html\/System_Administrators_Guide\/chap-Managing_Services_with_systemd.html\" target=\"_tabs\" rel=\"noopener noreferrer\">Red Hat<\/a>\/ <a href=\"https:\/\/wiki.debian.org\/systemd\" target=\"_tabs\" rel=\"noopener noreferrer\">Debian<\/a>) pour d\u00e9marrer et arr\u00eater votre application, puis utiliser un outil de surveillance des processus (comme  <a href=\"https:\/\/mmonit.com\/monit\" target=\"_tabs\" rel=\"noopener noreferrer\">monit<\/a>) pour red\u00e9marrer votre application si elle plante. L&rsquo;autre approche consiste \u00e0 utiliser un syst\u00e8me de contr\u00f4le des processus (comme  <a href=\"http:\/\/supervisord.org\" target=\"_tabs\" rel=\"noopener noreferrer\">supervisord<\/a>, <a href=\"http:\/\/skarnet.org\/software\/s6\" target=\"_tabs\" rel=\"noopener noreferrer\">skarnet s6<\/a>, <a href=\"http:\/\/cr.yp.to\/daemontools.html\" target=\"_tabs\" rel=\"noopener noreferrer\">daemontools<\/a>) qui lancera votre application en tant que processus enfant et la red\u00e9marrera \u00e9galement si elle plante. Ces deux approches sont tout \u00e0 fait valables, et le choix d\u00e9pend de celle qui s&rsquo;int\u00e8gre le mieux \u00e0 votre flux de travail.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Pour restreindre le processus ex\u00e9cutant votre application, <b>suivez les directives suivantes<\/b>\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Attribuez des limites par processus \u00e0 l&rsquo;aide du fichier <code>\/etc\/security\/limits.conf <\/code>. Par exemple, si vous souhaitez limiter le nombre de descripteurs de fichiers ouverts \u00e0 dix et la m\u00e9moire \u00e0 1 Go, ajoutez les lignes suivantes au fichier <code>\/etc\/security\/limits.conf <\/code>\u00a0:<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><code>fooapp hard nofile 10  # limite de dix descripteurs de fichiers ouverts fooapp hard as 1000000 # limite de 1 Go<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ne liez pas votre application \u00e0 un port inf\u00e9rieur. En g\u00e9n\u00e9ral, vous devez ex\u00e9cuter votre application avec des privil\u00e8ges d&rsquo;administrateur pour ce faire. Liez-la plut\u00f4t \u00e0 un num\u00e9ro de port sup\u00e9rieur et utilisez un proxy inverse pour transf\u00e9rer vos requ\u00eates vers votre application. Utilisez ensuite les capacit\u00e9s de Linux pour permettre \u00e0 votre proxy inverse de se lier \u00e0 un port inf\u00e9rieur sans aucun autre privil\u00e8ge. Par exemple, si vous avez un proxy inverse dans\u00a0<code>\/opt\/rproxy<\/code>, vous pouvez d\u00e9finir ses capacit\u00e9s comme suit\u00a0:<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><code>setcap 'cap_net_bind_service=+ep' \/opt\/rproxy<\/code><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Enfin, envisagez d&rsquo;utiliser <code>chroot<\/code>, mais gardez \u00e0 l&rsquo;esprit que cela implique une surcharge de maintenance. <code>chroot <\/code>vous permet de limiter la port\u00e9e de ce qu&rsquo;un processus peut voir sur le syst\u00e8me de fichiers\u00a0; plus pr\u00e9cis\u00e9ment, il modifie votre r\u00e9pertoire racine pour le d\u00e9finir sur le r\u00e9pertoire de votre choix. Par exemple, si vous d\u00e9finissez <code>\/var\/chroot <\/code>comme nouveau r\u00e9pertoire racine, les processus verront les fichiers sous <code>\/var\/chroot <\/code>comme \u00e9tant sous <code>\/<\/code>. Bien que ce soit plus s\u00e9curis\u00e9, cela signifie que toutes les biblioth\u00e8ques partag\u00e9es que votre processus pourrait utiliser doivent \u00eatre copi\u00e9es et r\u00e9sider dans <code>\/var\/chroot<\/code>. Par cons\u00e9quent, chaque fois que vous appliquez des mises \u00e0 jour de s\u00e9curit\u00e9, vous devez \u00e9galement recopier les biblioth\u00e8ques partag\u00e9es mises \u00e0 jour. V<b>ous pouvez \u00e9viter cette maintenance avec des liens physiques, mais vous offrez alors un chemin vers l&rsquo;ext\u00e9rieur qu&rsquo;un attaquant pourrait exploiter. <\/b>D&rsquo;autres approches (bas\u00e9es sur les cgroups) offrant des avantages similaires seront abord\u00e9es dans la version interm\u00e9diaire de ce guide.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c0 FAIRE\u00a0: cr\u00e9ez un compte restreint pour ex\u00e9cuter votre application, ce qui implique de ne pas avoir de shell et de limiter l&rsquo;acc\u00e8s au syst\u00e8me de fichiers.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: liez votre application \u00e0 un port sup\u00e9rieur, ce qui vous permet de l&rsquo;ex\u00e9cuter en tant qu&rsquo;utilisateur non privil\u00e9gi\u00e9.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: utilisez les capacit\u00e9s au lieu de root chaque fois que possible.<\/li>\n\n\n\n<li>\u00c0 NE PAS FAIRE\u00a0: n&rsquo;utilisez pas chroot, \u00e0 moins d&rsquo;\u00eatre pr\u00eat \u00e0 assumer la surcharge de maintenance.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">S\u00e9curit\u00e9 du pare-feu r\u00e9seau <\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Comment examiner les r\u00e8gles du pare-feu <\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Des r\u00e8gles de pare-feu strictes vous permettent de d\u00e9finir quelles communications entrantes et sortantes sont autoris\u00e9es depuis vos serveurs. Commencer par une politique de refus par d\u00e9faut et n&rsquo;autoriser que du trafic sp\u00e9cifique entrant et sortant vous oblige \u00e0 r\u00e9fl\u00e9chir \u00e0 l&rsquo;ensemble minimal de services que vous souhaitez exposer, ce qui peut r\u00e9duire votre risque d&rsquo;attaque. <b>Un processus errant ne peut pas exposer toute votre infrastructure au grand public, \u00e0 moins que vous ne l&rsquo;ayez express\u00e9ment autoris\u00e9.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette section se concentre sur les r\u00e8gles de pare-feu entrant et les param\u00e8tres de la pile TCP\/IP. Bien que les r\u00e8gles de pare-feu sortant soient tr\u00e8s efficaces pour limiter jusqu&rsquo;o\u00f9 un attaquant peut aller apr\u00e8s s&rsquo;\u00eatre introduit dans votre infrastructure, la prochaine version de ce guide se concentrera sur celles-ci.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Att\u00e9nuation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Premi\u00e8res r\u00e8gles de pare-feu. Lorsque vous cr\u00e9ez un script pour les r\u00e8gles de pare-feu, utilisez les principes directeurs suivants\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Supprimez les r\u00e8gles de pare-feu existantes. Lors de l&rsquo;\u00e9laboration de r\u00e8gles de pare-feu, vous devez avoir une id\u00e9e coh\u00e9rente de ce que vous bloquez et autorisez. Supprimer toutes les r\u00e8gles existantes et repartir de z\u00e9ro permet d&rsquo;y parvenir.<\/li>\n\n\n\n<li>D\u00e9finissez la r\u00e8gle par d\u00e9faut pour le trafic entrant sur DROP. Cela respecte le <b><i>principe du moindre privil\u00e8ge<\/i><\/b>. Apr\u00e8s avoir d\u00e9fini la politique par d\u00e9faut sur DROP, vous pouvez ouvrir progressivement votre r\u00e9seau, \u00e9l\u00e9ment par \u00e9l\u00e9ment.<\/li>\n\n\n\n<li>Autorisez le libre acc\u00e8s \u00e0 l&rsquo;interface de bouclage. Contrairement aux interfaces externes, lier votre processus \u00e0 localhost est g\u00e9n\u00e9ralement bon pour la s\u00e9curit\u00e9. Par cons\u00e9quent, restreindre l&rsquo;acc\u00e8s \u00e0 l&rsquo;interface de bouclage cause plus de tort que de bien. Cela vous expose effectivement \u00e0 une attaque d&rsquo;un utilisateur local, mais c&rsquo;est un risque que vous devez \u00e9valuer par vous-m\u00eame.<\/li>\n\n\n\n<li>Ne coupez aucune connexion \u00e9tablie. Vous voulez \u00e9viter de couper votre propre connexion SSH \u00e0 un serveur, et vous assurer que toute requ\u00eate en cours puisse aboutir avant d&rsquo;\u00eatre interrompue.<\/li>\n\n\n\n<li>Ne restreignez pas tout le trafic Internet Control Message Protocol (ICMP). Autoriser l&rsquo;ICMP est essentiel au fonctionnement d&rsquo;Internet\u00a0; les routeurs et les h\u00f4tes l&rsquo;utilisent pour communiquer des informations critiques comme la disponibilit\u00e9 des services, la taille des paquets et la pr\u00e9sence des h\u00f4tes. Les types 3 et 4 (Destination Unreachable et Source Quench) sont critiques, et <b>les restreindre causera plus de probl\u00e8mes que d&rsquo;avantages \u00e0 l&rsquo;avenir.<\/b> Si vous craignez de permettre \u00e0 un attaquant de cartographier votre r\u00e9seau, un compromis raisonnable consiste d&rsquo;abord \u00e0 limiter le d\u00e9bit de tout le trafic ICMP, puis \u00e0 n&rsquo;autoriser qu&rsquo;un sous-ensemble limit\u00e9 de ce trafic sur vos h\u00f4tes de p\u00e9riph\u00e9rie, tout en permettant un acc\u00e8s sans entrave pour la communication interne entre h\u00f4tes.<\/li>\n\n\n\n<li>Appliquez des contr\u00f4les de s\u00e9curit\u00e9 de base. Certains trafics entrants n&rsquo;ont aucune utilit\u00e9 l\u00e9gitime\u00a0; restreignez-les. Si vous \u00eates fr\u00e9quemment la cible d&rsquo;attaques par un type de trafic particulier, il peut \u00eatre utile d&rsquo;en faire une cha\u00eene d\u00e9di\u00e9e si vous devez souvent ajouter des r\u00e8gles \u00e0 cette section.<\/li>\n\n\n\n<li>\u00c0 moins que vous n&rsquo;utilisiez r\u00e9ellement l&rsquo;IPv6 et ne pr\u00e9voyiez de cr\u00e9er des r\u00e8gles de pare-feu pour le trafic IPv6, <b>restreignez tout trafic IPv6 entrant<\/b>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un script comment\u00e9 qui remplit tous ces objectifs\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Voici un petit script pour le trafic IPv6\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ces r\u00e8gles sont d\u00e9sormais ex\u00e9cut\u00e9es en m\u00e9moire, et vous devez vous assurer qu&rsquo;elles seront charg\u00e9es au prochain red\u00e9marrage de votre syst\u00e8me d&rsquo;exploitation. Pour les syst\u00e8mes bas\u00e9s sur Debian, cela signifie soit ajouter vos r\u00e8gles de pare-feu \u00e0\u00a0<a href=\"https:\/\/wiki.debian.org\/iptables\" target=\"_tabs\" rel=\"noopener noreferrer\">\/etc\/network\/ip-pre-up.d\/<\/a>\u00a0soit ajouter une commande pre-up \u00e0\u00a0<a href=\"https:\/\/help.ubuntu.com\/community\/IptablesHowTo\" target=\"_tabs\" rel=\"noopener noreferrer\">\/etc\/network\/interfaces<\/a>. Pour les syst\u00e8mes Red Hat, cela se fait g\u00e9n\u00e9ralement en utilisant la commande\u00a0<a href=\"http:\/\/docs.fedoraproject.org\/en-US\/Fedora\/html\/Security_Guide\/sect-Security_Guide-IPTables-Saving_IPTables_Rules.html\" target=\"_tabs\" rel=\"noopener noreferrer\">\/sbin\/service iptables<\/a>\u00a0save.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">De plus, il est recommand\u00e9 de durcir et d&rsquo;optimiser la pile TCP\/IP comme suit\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si vous utilisez des r\u00e8gles de pare-feu \u00e0 \u00e9tat, comme dans l&rsquo;exemple pr\u00e9c\u00e9dent, veillez \u00e0 augmenter le nombre maximum de connexions que vous pouvez suivre. Dans le cas contraire, un attaquant peut utiliser une attaque par d\u00e9ni de service distribu\u00e9 (DDoS) contre vous.<\/li>\n\n\n\n<li>Utilisez les cookies SYN pour pr\u00e9venir les attaques DoS par inondation SYN. <a href=\"http:\/\/security.stackexchange.com\/a\/20917\" target=\"_tabs\" rel=\"noopener noreferrer\">Thomas Pornin explique tr\u00e8s bien ce que sont les attaques par inondation SYN <\/a> et comment les cookies SYN permettent d&rsquo;att\u00e9nuer ce type d&rsquo;attaque.<\/li>\n\n\n\n<li>Journalisez tous les  <a href=\"https:\/\/en.wikipedia.org\/wiki\/Martian_packet\" target=\"_tabs\" rel=\"noopener noreferrer\">paquets martiens<\/a>  car tout paquet provenant d&rsquo;une adresse source ou de destination non routable est tr\u00e8s probablement malveillant.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez tester tous les param\u00e8tres ci-dessus avec le script suivant\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour que ces param\u00e8tres soient conserv\u00e9s apr\u00e8s un red\u00e9marrage, mettez \u00e0 jour\u00a0<code>\/etc\/sysctl.conf<\/code>\u00a0:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c0 FAIRE\u00a0: refusez le trafic par d\u00e9faut. N&rsquo;autorisez explicitement que le trafic dont vous savez qu&rsquo;il doit traverser votre r\u00e9seau.<\/li>\n\n\n\n<li>\u00c0 NE PAS FAIRE\u00a0: ne restreignez pas unilat\u00e9ralement l&rsquo;ICMP.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: autorisez le libre acc\u00e8s \u00e0 l&rsquo;interface de bouclage.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: imposez des contr\u00f4les de s\u00e9curit\u00e9 de base.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: assurez-vous que vos r\u00e8gles sont charg\u00e9es au red\u00e9marrage.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: optimisez votre pile TCP\/IP pour augmenter le nombre de connexions suivies et prot\u00e9ger contre les inondations SYN.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Connexion \u00e0 distance<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Description<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">En mati\u00e8re de connexion \u00e0 distance, vous devez vous assurer non seulement que les communications avec vos serveurs sont chiffr\u00e9es, mais aussi que seuls les utilisateurs autoris\u00e9s y ont acc\u00e8s. Voici les objectifs typiques de la s\u00e9curisation des connexions \u00e0 distance\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Accordez <b>un acc\u00e8s limit\u00e9 aux utilisateurs<\/b> afin que la compromission d&rsquo;un compte ne compromette pas toute votre infrastructure.<\/li>\n\n\n\n<li>Une cryptographie forte garantit qu&rsquo;un indiscret ne puisse pas lire vos communications.<\/li>\n\n\n\n<li>Les attaquants ne doivent pas pouvoir utiliser des techniques de force brute pour se connecter \u00e0 vos serveurs.<\/li>\n\n\n\n<li>M\u00eame si votre cl\u00e9 est compromise, un attaquant ne doit pas pouvoir acc\u00e9der \u00e0 votre infrastructure.<\/li>\n\n\n\n<li>Un attaquant qui utilise des techniques de force brute <b>ne doit pas pouvoir \u00e9puiser les ressources du serveur<\/b>.<\/li>\n\n\n\n<li>Seuls les utilisateurs autoris\u00e9s doivent avoir acc\u00e8s \u00e0 vos serveurs.<\/li>\n\n\n\n<li>Il ne doit exister aucune connexion pour les comptes d&rsquo;administration \u00e0 usage g\u00e9n\u00e9ral. Toutes les actions d&rsquo;administration doivent \u00eatre effectu\u00e9es via une forme d&rsquo;\u00e9l\u00e9vation de privil\u00e8ges (<code>sudo<\/code>) afin de journaliser les actions r\u00e9alis\u00e9es.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Le non-respect de l&rsquo;un de ces objectifs peut constituer un risque pour la s\u00e9curit\u00e9. Une cryptographie faible (ou inexistante) peut permettre \u00e0 un attaquant de consulter vos communications. Une authentification faible peut permettre \u00e0 des utilisateurs non autoris\u00e9s d&rsquo;acc\u00e9der \u00e0 vos syst\u00e8mes.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Heureusement, Secure Shell (SSH) att\u00e9nue la plupart de ces risques, et avec quelques ajustements mineurs sur vos syst\u00e8mes, tous peuvent \u00eatre \u00e9vit\u00e9s.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Att\u00e9nuation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Pour commencer, g\u00e9n\u00e9rez correctement votre cl\u00e9 SSH en vous assurant d&rsquo;utiliser une taille de cl\u00e9 suffisamment grande, et en prot\u00e9geant votre cl\u00e9 par une phrase secr\u00e8te. Vous pouvez le faire en utilisant\u00a0<code>ssh-keygen<\/code>\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>ssh-keygen -t rsa -b 4096 -C foo@example.com  <\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ensuite, \u00e0 l&rsquo;invite, saisissez une phrase secr\u00e8te\u00a0! Une phrase secr\u00e8te garantit que m\u00eame si quelqu&rsquo;un vole votre cl\u00e9, il ne pourra pas l&rsquo;utiliser sans la conna\u00eetre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">OpenSSH dispose d&rsquo;une configuration par d\u00e9faut raisonnable et plut\u00f4t s\u00e9curis\u00e9e. Cependant, certaines distributions peuvent affaiblir ces param\u00e8tres par d\u00e9faut pour assurer l&rsquo;interop\u00e9rabilit\u00e9 d&rsquo;OpenSSH avec des serveurs plus anciens. La configuration suivante permet simplement de s&rsquo;assurer que ces <b>param\u00e8tres par d\u00e9faut raisonnables sont appliqu\u00e9s par votre version d&rsquo;OpenSSH<\/b>. Pour plus d&rsquo;informations d\u00e9taill\u00e9es sur la configuration d&rsquo;OpenSSH, consultez le \u00a0<a href=\"https:\/\/wiki.mozilla.org\/Security\/Guidelines\/OpenSSH\" target=\"_tabs\" rel=\"noopener noreferrer\">Guide de configuration de Mozilla pour OpenSSH<\/a>\u00a0et la page\u00a0<a href=\"http:\/\/wiki.centos.org\/HowTos\/Network\/SecuringSSH\" target=\"_tabs\" rel=\"noopener noreferrer\">Securing SSH<\/a>\u00a0 pour CentOS. Ce sont deux excellentes ressources, et nous nous appuierons sur ces configurations dans les prochaines versions de ce guide.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Sur le serveur, assurez-vous que les lignes suivantes figurent dans le fichier\u00a0<code>\/etc\/ssh\/sshd_config<\/code>\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette configuration permet d&rsquo;atteindre les objectifs suivants\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le Protocole 2 garantit que vous utilisez une version s\u00e9curis\u00e9e du protocole SSH. <a href=\"http:\/\/www.snailbook.com\/faq\/ssh-1-vs-2.auto.html\" target=\"_tabs\" rel=\"noopener noreferrer\">La version 1 du protocole pr\u00e9sente plusieurs probl\u00e8mes et est consid\u00e9r\u00e9e comme obsol\u00e8te <\/a>.<\/li>\n\n\n\n<li><code>PasswordAuthentication no <\/code>et <code>PubkeyAuthentication yes <\/code>vous obligent \u00e0 utiliser la cryptographie \u00e0 cl\u00e9 publique, et non des mots de passe, pour vous authentifier sur vos serveurs. Bien que vous puissiez avoir un mot de passe fort, s&rsquo;il s&rsquo;agit d&rsquo;un mot de passe de 2\u00a0048 bits g\u00e9n\u00e9r\u00e9 al\u00e9atoirement et encod\u00e9 en ASCII, <a href=\"https:\/\/www.yahoo.com\/tech\/here-are-500-passwords-you-probably-shouldnt-be-using-96467697789.html\" target=\"_tabs\" rel=\"noopener noreferrer\">la plupart des mots de passe sont mauvais<\/a> et <b>les longueurs de mot de passe couramment utilis\u00e9es offrent un espace de recherche bien plus r\u00e9duit qu&rsquo;une grande cl\u00e9<\/b>.<\/li>\n\n\n\n<li><code>PermitRootLogin no <\/code>d\u00e9sactive la possibilit\u00e9 de se connecter \u00e0 distance en tant qu&rsquo;utilisateur root. Bien que ce ne soit pas un probl\u00e8me directement exploitable, la d\u00e9sactivation de cette connexion \u00e0 distance vous aide \u00e0 conserver de bons journaux d&rsquo;audit pour comprendre ce qui se passe sur vos serveurs. Le compte root agit comme un compte d&rsquo;administration partag\u00e9, ce qui limite votre capacit\u00e9 \u00e0 v\u00e9rifier quel utilisateur effectue quelle action privil\u00e9gi\u00e9e. Si vous obligez tous les utilisateurs \u00e0 passer par leur propre compte, <b>vous disposerez d&rsquo;une trace v\u00e9rifiable de qui a effectu\u00e9 quelle action<\/b>. Des d\u00e9tails sur la configuration de la journalisation d&rsquo;audit sont fournis dans une section ult\u00e9rieure.<\/li>\n\n\n\n<li><code>LogLevel VERBOSE <\/code>journalise l&rsquo;utilisateur et l&#8217;empreinte de la cl\u00e9 qui ont tent\u00e9 de s&rsquo;authentifier. L\u00e0 encore, ce param\u00e8tre n&rsquo;att\u00e9nue pas directement un exploit, mais est utile pour les audits.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Sur le client, assurez-vous que les lignes suivantes figurent dans le fichier\u00a0<code>\/etc\/ssh\/ssh_config<\/code>\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette configuration permet d&rsquo;atteindre les objectifs suivants\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le Protocole 2 garantit que vous utilisez une version s\u00e9curis\u00e9e du protocole SSH. <a href=\"http:\/\/www.snailbook.com\/faq\/ssh-1-vs-2.auto.html\" target=\"_tabs\" rel=\"noopener noreferrer\">La version 1 du protocole pr\u00e9sente plusieurs probl\u00e8mes et est consid\u00e9r\u00e9e comme obsol\u00e8te <\/a>.<\/li>\n\n\n\n<li><code>HashKnownHosts yes <\/code>hache les noms d&rsquo;h\u00f4tes et les adresses dans votre fichier <code>~\/.ssh\/known_hosts <\/code>. M\u00eame si un attaquant vole votre fichier known hosts, il ne peut pas simplement \u00e9num\u00e9rer les h\u00f4tes auxquels vous vous connectez avec votre cl\u00e9.<\/li>\n\n\n\n<li><code>StrictHostKeyChecking ask <\/code>v\u00e9rifie la cl\u00e9 qui vous est pr\u00e9sent\u00e9e par rapport \u00e0 celle de votre fichier <code>~\/.ssh\/known_hosts <\/code>et, si elle a chang\u00e9 (ou si c&rsquo;est la premi\u00e8re fois que vous visitez cet h\u00f4te), vous demande si vous l&rsquo;acceptez. <b>Cela permet d&rsquo;att\u00e9nuer les attaques de l&rsquo;homme du milieu.<\/b><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Enfin, accordez aux utilisateurs un acc\u00e8s limit\u00e9 \u00e0 votre infrastructure. Par exemple, tous les utilisateurs n&rsquo;ont pas besoin d&rsquo;acc\u00e9der \u00e0 vos serveurs de sauvegarde\u00a0; ne donnez acc\u00e8s qu&rsquo;\u00e0 ceux qui savent r\u00e9ellement comment restaurer \u00e0 partir des sauvegardes. Cela garantit que m\u00eame si le compte d&rsquo;un utilisateur non habilit\u00e9 pour les sauvegardes est compromis, l&rsquo;int\u00e9grit\u00e9 de vos sauvegardes n&rsquo;est pas remise en cause.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour y parvenir, deux des approches les plus courantes sont\u00a0:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Les comptes utilisateurs locaux. Dans cette approche, vous cr\u00e9ez des comptes Unix locaux pour vos utilisateurs et ne les cr\u00e9ez que sur les serveurs auxquels ils doivent acc\u00e9der. Vous pouvez utiliser les commandes <code>newusers <\/code>et <code>userdel <\/code>pour ce faire, et automatiser\/orchestrer cela \u00e0 l&rsquo;aide d&rsquo;outils de gestion de configuration comme  <a href=\"https:\/\/www.chef.io\" target=\"_tabs\" rel=\"noopener noreferrer\">Chef<\/a> ou <a href=\"http:\/\/www.ansible.com\" target=\"_tabs\" rel=\"noopener noreferrer\">Ansible<\/a>.<\/li>\n\n\n\n<li>Un service d&rsquo;authentification centralis\u00e9 comme  <a href=\"https:\/\/en.wikipedia.org\/wiki\/Lightweight_Directory_Access_Protocol\" target=\"_tabs\" rel=\"noopener noreferrer\">LDAP<\/a>. Avec cette approche, les serveurs auxquels chaque utilisateur a acc\u00e8s sont d\u00e9finis et stock\u00e9s dans la configuration du serveur LDAP.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c0 FAIRE\u00a0: prot\u00e9gez votre cl\u00e9 avec une phrase secr\u00e8te.<\/li>\n\n\n\n<li>\u00c0 NE PAS FAIRE\u00a0: ne supposez pas que votre distribution a des param\u00e8tres par d\u00e9faut acceptables\u00a0; d\u00e9finissez rigoureusement ce qui est important pour votre infrastructure.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: utilisez la cryptographie \u00e0 cl\u00e9 publique pour l&rsquo;authentification plut\u00f4t que l&rsquo;authentification par mot de passe.<\/li>\n\n\n\n<li>\u00c0 NE PAS FAIRE\u00a0: n&rsquo;accordez pas un acc\u00e8s libre \u00e0 tous les utilisateurs\u00a0; limitez l&rsquo;acc\u00e8s aux parties de votre infrastructure qui sont n\u00e9cessaires.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Limites de confiance<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Description<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Les limites de confiance sont un endroit courant o\u00f9 se produisent les vuln\u00e9rabilit\u00e9s de s\u00e9curit\u00e9. La limite entre le monde ext\u00e9rieur et votre infrastructure interne est sacr\u00e9e, et vous devez faire tout votre possible pour la d\u00e9fendre et vous assurer que seuls les utilisateurs autoris\u00e9s peuvent la franchir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Vous devriez vous pr\u00e9occuper de deux limites de confiance principales.<\/b> La premi\u00e8re est la limite entre l&rsquo;Internet public et le point de terminaison de votre API\u00a0; c&rsquo;est celle que votre client\u00e8le franchira chaque jour en utilisant votre service. La seconde est un point d&rsquo;acc\u00e8s pour votre \u00e9quipe de d\u00e9veloppement et d&rsquo;administration syst\u00e8me, qui servira \u00e0 d\u00e9ployer et entretenir votre application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la limite de confiance de l&rsquo;API que votre client\u00e8le traversera, vous devez consid\u00e9rer chaque saisie utilisateur comme hostile, et pr\u00e9sumer que chaque requ\u00eate est en fait une tentative d&rsquo;exploitation de votre infrastructure. En consid\u00e9rant les requ\u00eates des utilisateurs sous cet angle, il devient \u00e9vident que vous devez r\u00e9duire au maximum la surface d&rsquo;attaque que vous leur offrez, et isoler les dommages pouvant survenir lorsqu&rsquo;un utilisateur finit par exploiter votre service.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour la limite de confiance que vous franchissez pour assurer le service de vos applications, vous devez isoler tous vos services afin qu&rsquo;ils ne soient pas expos\u00e9s \u00e0 l&rsquo;Internet public, puis obliger les utilisateurs qui y acc\u00e8dent depuis Internet \u00e0 traverser un point d&rsquo;acc\u00e8s bien gard\u00e9 que vous pouvez d\u00e9fendre (appelons cela un h\u00f4te bastion). Vous pouvez concentrer toutes vos ressources sur ce point d&rsquo;acc\u00e8s unique et vous soucier moins de la fa\u00e7on dont vos services communiquent entre eux lorsqu&rsquo;ils se trouvent dans cette limite de confiance.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Att\u00e9nuation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Pour att\u00e9nuer ces probl\u00e8mes de limite de confiance, vous devez imaginer les bo\u00eetes distinctes dans lesquelles vous pouvez placer l&rsquo;Internet public et votre infrastructure (voir le sch\u00e9ma suivant). Une fois cela fait, vous pouvez commencer \u00e0 r\u00e9fl\u00e9chir \u00e0 la mani\u00e8re de d\u00e9fendre votre infrastructure.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La premi\u00e8re grande bo\u00eete est l&rsquo;Internet public. Vous ne devriez jamais faire confiance \u00e0 qui que ce soit ou \u00e0 quoi que ce soit sur l&rsquo;Internet public. En fait, vous devriez consid\u00e9rer tous les acteurs sur l&rsquo;Internet public comme hostiles, m\u00eame lorsqu&rsquo;il s&rsquo;agit de vos propres employ\u00e9s se connectant en SSH \u00e0 vos serveurs.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La deuxi\u00e8me grande bo\u00eete est votre infrastructure interne. Ce sont vos h\u00f4tes de confiance. Les services ex\u00e9cut\u00e9s sur ces serveurs ne doivent \u00e9couter que sur des interfaces r\u00e9seau priv\u00e9es dans la mesure du possible, et ne pas \u00eatre directement expos\u00e9s \u00e0 l&rsquo;Internet public.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Les deux bo\u00eetes qui chevauchent les deux sont votre h\u00f4te de rebond et vos h\u00f4tes d&rsquo;API. <\/b>Ces h\u00f4tes doivent avoir acc\u00e8s \u00e0 la fois \u00e0 l&rsquo;Internet public et \u00e0 votre infrastructure interne. \u00c9tant donn\u00e9 qu&rsquo;ils sont directement expos\u00e9s \u00e0 l&rsquo;Internet public, ils doivent \u00eatre durcis et ex\u00e9cuter l&rsquo;ensemble minimal de services requis pour effectuer leurs t\u00e2ches.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Renforcement du point de terminaison de l&rsquo;API<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bien que nous ne puissions pas nous attendre \u00e0 ce qu&rsquo;un service soit exempt de bugs, nous pouvons limiter dans quelle mesure un attaquant peut exploiter votre infrastructure s&rsquo;il parvient \u00e0 exploiter votre service. C&rsquo;est pourquoi nous recommandons d&rsquo;isoler les services qui acceptent les requ\u00eates entrantes et de les ex\u00e9cuter sur leurs propres serveurs d\u00e9di\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez y parvenir en <b>divisant les requ\u00eates entrantes en deux parties<\/b>\u00a0: l&rsquo;\u00e9quilibrage de charge et la terminaison TLS (Transport Layer Security) des requ\u00eates entrantes, ainsi que le traitement de la requ\u00eate par votre service lui-m\u00eame. Ces deux \u00e9l\u00e9ments devraient au minimum constituer des processus distincts, voire s&rsquo;ex\u00e9cuter sur des serveurs diff\u00e9rents, avec l&rsquo;\u00e9quilibrage de charge et la terminaison TLS sur la limite non approuv\u00e9e\/approuv\u00e9e. Cette section se concentrera sur l&rsquo;\u00e9quilibrage de charge et la terminaison (le durcissement de l&rsquo;application a \u00e9t\u00e9 abord\u00e9 dans une section pr\u00e9c\u00e9dente).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">En s\u00e9parant l&rsquo;\u00e9quilibrage de charge et la terminaison TLS de votre application, vous limitez la possibilit\u00e9 qu&rsquo;un bug dans votre \u00e9quilibreur de charge ou votre logiciel TLS ne d\u00e9g\u00e9n\u00e8re en une exploitation de l&rsquo;ensemble de votre application, qui contiendra g\u00e9n\u00e9ralement des informations sensibles charg\u00e9es en m\u00e9moire. Cela vous donne \u00e9galement un point de maintenance (et de d\u00e9faillance) unique \u00e0 corriger lorsqu&rsquo;une vuln\u00e9rabilit\u00e9 est d\u00e9tect\u00e9e et que vous devez mettre \u00e0 niveau votre biblioth\u00e8que TLS, une t\u00e2che de plus en plus courante.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par exemple, supposons qu&rsquo;un attaquant exploite un bug d&rsquo;ex\u00e9cution de code \u00e0 distance (RCE) comme GHOST ou un bug de lecture arbitraire de la m\u00e9moire (comme Heartbleed) dans votre serveur HTTP ou votre logiciel TLS. Si votre serveur HTTP, la terminaison TLS et la logique de l&rsquo;application se trouvent tous dans le m\u00eame processus, un bug dans l&rsquo;un d&rsquo;eux donne \u00e0 l&rsquo;attaquant acc\u00e8s \u00e0 des informations sensibles dans les autres composants. Par exemple, un bug dans OpenSSL peut donner \u00e0 un attaquant acc\u00e8s aux cl\u00e9s sensibles que votre application a charg\u00e9es en m\u00e9moire. \u00c0 l&rsquo;inverse, un bug dans votre application peut potentiellement donner \u00e0 un attaquant acc\u00e8s \u00e0 vos certificats SSL. <b>Cependant, si vous s\u00e9parez ces \u00e9l\u00e9ments, l&rsquo;exploitation de l&rsquo;un n&rsquo;affecte pas l&rsquo;autre, et vous ne perdez que\u00a0<\/b><b><i>quelques<\/i><\/b><b>\u00a0donn\u00e9es sensibles.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour l&rsquo;\u00e9quilibrage de charge, les choix courants sont NGINX,\u00a0<a href=\"http:\/\/www.haproxy.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">HAProxy<\/a>, et\u00a0<a href=\"http:\/\/httpd.apache.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Apache<\/a>. La terminaison TLS s&rsquo;effectue g\u00e9n\u00e9ralement avec\u00a0<a href=\"https:\/\/www.openssl.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">OpenSSL<\/a>\u00a0; cependant, des alternatives comme\u00a0<a href=\"http:\/\/www.libressl.org\/\" target=\"_tabs\" rel=\"noopener noreferrer\">LibreSSL<\/a>\u00a0et\u00a0<a href=\"https:\/\/developer.mozilla.org\/en-US\/docs\/Mozilla\/Projects\/NSS\" target=\"_tabs\" rel=\"noopener noreferrer\">Mozilla NSS<\/a>\u00a0 existent. Une autre alternative consiste \u00e0 utiliser une solution comme\u00a0<a href=\"https:\/\/github.com\/mailgun\/vulcand\" target=\"_tabs\" rel=\"noopener noreferrer\">vulcand<\/a>, qui agit comme un \u00e9quilibreur de charge et utilise la biblioth\u00e8que Go TLS pour la terminaison TLS.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Renforcement du point de terminaison du service (et de tout le reste)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez renforcer votre point de terminaison de service en restreignant l&rsquo;acc\u00e8s \u00e0 vos serveurs depuis l&rsquo;Internet public et en obligeant toutes les authentifications \u00e0 passer par un\u00a0<i>h\u00f4te de rebond<\/i>. Cette restriction est g\u00e9n\u00e9ralement obtenue en n&rsquo;exposant pas directement votre infrastructure \u00e0 l&rsquo;Internet public, et en cr\u00e9ant \u00e0 la place une sorte de r\u00e9seau interne accessible uniquement via l&rsquo;h\u00f4te bastion.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Il existe de nombreuses fa\u00e7ons de cr\u00e9er un r\u00e9seau interne, et votre approche d\u00e9pendra en grande partie de la <b>fa\u00e7on dont votre infrastructure est configur\u00e9e<\/b> par votre fournisseur de services et de vos pr\u00e9f\u00e9rences.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Par exemple, supposons que vous h\u00e9bergiez vos serveurs sur Amazon Web Services (AWS). Vous pouvez alors commencer par un\u00a0<a href=\"http:\/\/aws.amazon.com\/vpc\" target=\"_tabs\" rel=\"noopener noreferrer\">Virtual Private Cloud<\/a>\u00a0(VPC) avec un seul sous-r\u00e9seau public. Vos serveurs seront isol\u00e9s des autres serveurs sur AWS et r\u00e9sideront dans leur propre bloc CIDR\u00a0<code>10.0.0.0\/16<\/code>. Cependant, ils auront toujours un acc\u00e8s libre \u00e0 Internet. Pour restreindre l&rsquo;acc\u00e8s depuis Internet, cr\u00e9ez des \u00a0<a href=\"http:\/\/docs.aws.amazon.com\/AWSEC2\/latest\/UserGuide\/using-network-security.html\" target=\"_tabs\" rel=\"noopener noreferrer\">groupes de s\u00e9curit\u00e9<\/a> qui isolent \u00e0 la fois les ports ouverts et les serveurs pouvant y acc\u00e9der. Par exemple, vous configureriez vos h\u00f4tes de travail pour accepter les connexions sur les ports 22 et 80, mais uniquement depuis votre h\u00f4te de rebond et votre \u00e9quilibreur de charge, respectivement. Votre serveur de rebond, en revanche, accepterait les connexions sur le port 22 depuis n&rsquo;importe quel serveur sur l&rsquo;Internet public.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Si votre fournisseur de services ne propose pas ces outils, vous pouvez accomplir les m\u00eames choses \u00e0 condition qu&rsquo;il prenne en charge un type de r\u00e9seau priv\u00e9, partag\u00e9 ou d\u00e9di\u00e9, qui vous permette d&rsquo;isoler le trafic public et priv\u00e9. Cette fonctionnalit\u00e9 est g\u00e9n\u00e9ralement propos\u00e9e par la plupart des fournisseurs\u00a0: comme mentionn\u00e9 pr\u00e9c\u00e9demment, Amazon l&rsquo;appelle VPC, Rackspace l&rsquo;appelle\u00a0<a href=\"http:\/\/www.rackspace.com\/knowledge_center\/frequently-asked-question\/what-is-servicenet\" target=\"_tabs\" rel=\"noopener noreferrer\">ServiceNet<\/a>, et Digital Ocean l&rsquo;appelle\u00a0<a href=\"https:\/\/www.digitalocean.com\/blog\/introducing-private-networking\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Private Networking<\/a>. Tous offrent fondamentalement la m\u00eame capacit\u00e9\u00a0: <b>lorsque vous cr\u00e9ez votre serveur virtuel, vous pouvez le lier \u00e0 l&rsquo;interface publique, \u00e0 l&rsquo;interface priv\u00e9e ou aux deux<\/b>. Si votre fournisseur de services ne dispose pas de cette capacit\u00e9 au moment de la cr\u00e9ation, vous pouvez activer et d\u00e9sactiver ces interfaces vous-m\u00eame dans le fichier\u00a0<code>\/etc\/network\/interfaces<\/code>\u00a0sur un syst\u00e8me bas\u00e9 sur Debian, et dans le fichier\u00a0<code>\/etc\/sysconfig\/network-scripts\/ifcfg*<\/code>\u00a0sur un syst\u00e8me bas\u00e9 sur Red Hat.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois que vous avez des serveurs disposant d&rsquo;interfaces publiques et priv\u00e9es, utilisez\u00a0<code>iptables<\/code>\u00a0pour restreindre le trafic entrant sur les interfaces accessibles publiquement aux serveurs agissant comme h\u00f4tes de rebond ou ex\u00e9cutant l&rsquo;API accessible publiquement. Les serveurs g\u00e9rant tous les services internes, comme votre application et votre serveur de base de donn\u00e9es, n&rsquo;autorisent aucun trafic entrant vers les interfaces publiques, et restreignent le trafic entrant sur les interfaces priv\u00e9es \u00e0 l&rsquo;ensemble des serveurs de confiance.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Une fois que vous avez accompli cela, la seule fa\u00e7on pour un attaquant d&rsquo;exploiter votre infrastructure depuis l&rsquo;Internet public est de passer par votre h\u00f4te bastion durci ou d&rsquo;exploiter votre API d&rsquo;une mani\u00e8re ou d&rsquo;une autre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Enfin, pour acc\u00e9der \u00e0 ces serveurs, n&rsquo;utilisez pas\u00a0<code>ssh-agent<\/code>\u00a0; utilisez plut\u00f4t\u00a0<code>ProxyCommand<\/code>. Bien que\u00a0<code>ssh-agent<\/code>\u00a0ait son utilit\u00e9, ce n&rsquo;est pas une bonne solution pour ce cas d&rsquo;utilisation sp\u00e9cifique. Si vous l&rsquo;utilisiez, quiconque disposant d&rsquo;un exploit d&rsquo;\u00e9l\u00e9vation de privil\u00e8ges local pour votre serveur bastion pourrait acc\u00e9der \u00e0 n&rsquo;importe quel serveur de votre infrastructure en se faisant passer pour toute personne dont les cl\u00e9s sont actuellement charg\u00e9es en m\u00e9moire par\u00a0<code>ssh-agent<\/code>. \u00c0 l&rsquo;inverse, avec\u00a0<code>ProxyCommand<\/code>, vos cl\u00e9s ne seront pas laiss\u00e9es en m\u00e9moire \u00e0 la port\u00e9e d&rsquo;un vol, et votre cl\u00e9 priv\u00e9e r\u00e9sidera exclusivement sur votre poste de travail local\u00a0; <b>seule votre cl\u00e9 publique sera copi\u00e9e sur chaque serveur auquel vous devez acc\u00e9der.<\/b><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pour utiliser\u00a0<code>ProxyCommand<\/code>, copiez votre cl\u00e9 publique dans\u00a0<code>~\/.ssh\/authorized_hosts<\/code>\u00a0sur tous les serveurs auxquels vous devez acc\u00e9der. Ensuite, sur votre poste de travail, mettez \u00e0 jour votre fichier\u00a0<code>~\/.ssh\/config<\/code>\u00a0avec les informations suivantes\u00a0:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cette configuration vous permet d&rsquo;acc\u00e9der \u00e0\u00a0<code>server1.example.com<\/code>\u00a0et\u00a0<code>server2.example.com<\/code>\u00a0depuis\u00a0<code>workstation.example.com<\/code>\u00a0via SSH sur leurs interfaces priv\u00e9es en \u00ab\u00a0rebondissant\u00a0\u00bb par jump.example.com, qui a acc\u00e8s aux interfaces publiques et priv\u00e9es. Il vous suffit de taper\u00a0<code>ssh server1.example.com<\/code>\u00a0ou\u00a0<code>ssh server2.example.com<\/code> pour vous connecter.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c0 FAIRE\u00a0: utilisez un \u00e9quilibreur de charge pour s\u00e9parer le serveur HTTP de votre application de votre serveur HTTP public.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: terminez le TLS au niveau de l&rsquo;\u00e9quilibreur de charge.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: utilisez un h\u00f4te de rebond durci pour contr\u00f4ler l&rsquo;acc\u00e8s \u00e0 votre infrastructure.<\/li>\n\n\n\n<li>\u00c0 NE PAS FAIRE\u00a0: n&rsquo;utilisez pas l&rsquo;agent SSH, si possible. Cela risque d&rsquo;exposer toutes vos cl\u00e9s si quelqu&rsquo;un dispose d&rsquo;un exploit d&rsquo;\u00e9l\u00e9vation de privil\u00e8ges local.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: utilisez les interfaces publiques et priv\u00e9es fournies par votre fournisseur de services pour isoler vos services internes de l&rsquo;Internet public.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Surveillance et journalisation<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Description<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Toute mesure de s\u00e9curit\u00e9 peut \u00eatre et sera contourn\u00e9e \u00e0 un moment donn\u00e9. Puisqu&rsquo;aucune mesure de s\u00e9curit\u00e9 pratique ne peut offrir de garanties infaillibles, il est important de disposer de solides outils de surveillance et de journalisation pour vous aider \u00e0 comprendre o\u00f9 et comment vos syst\u00e8mes ont \u00e9t\u00e9 compromis. Mieux vous comprendrez comment fonctionnent vos syst\u00e8mes et ce qui s&rsquo;y ex\u00e9cute, mieux vous serez en mesure de d\u00e9tecter un comportement anormal. De la m\u00eame mani\u00e8re qu&rsquo;une banque installe des cam\u00e9ras de s\u00e9curit\u00e9 tout en s\u00e9curisant ses coffres, disposer de bons outils de surveillance est essentiel pour attraper ces hackers astucieux qui ont d\u00e9jou\u00e9 vos mesures de s\u00e9curit\u00e9.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>La surveillance et la journalisation prennent deux formes<\/b>. La premi\u00e8re est la surveillance en direct, qui vous permet de voir ce qui se passe sur votre syst\u00e8me \u00e0 tout moment. Cela englobe tout, des sockets r\u00e9seau ouverts aux processus en cours d&rsquo;ex\u00e9cution. La seconde correspond aux donn\u00e9es de journalisation des actions qui ont d\u00e9j\u00e0 \u00e9t\u00e9 effectu\u00e9es. Cela couvre tout, de la journalisation de la logique d&rsquo;application aux journaux syst\u00e8me.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Dans cette section, nous aborderons la consultation des journaux syst\u00e8me sur les serveurs individuels eux-m\u00eames. Dans la version interm\u00e9diaire de ce guide, nous parlerons de l&rsquo;agr\u00e9gation des journaux et des alertes.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Att\u00e9nuation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Les outils suivants sont inclus dans la plupart des syst\u00e8mes d&rsquo;exploitation bas\u00e9s sur Unix. Ils sont utiles lorsque vous soup\u00e7onnez qu&rsquo;un incident de s\u00e9curit\u00e9 est en cours, mais il est \u00e9galement essentiel de les utiliser en amont afin de comprendre leur sortie normale.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Surveillance en direct<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Voici quelques commandes et leurs r\u00e9sultats attendus dans des conditions de fonctionnement normales. Ces exemples illustrent ce \u00e0 quoi la sortie devrait ressembler sur votre syst\u00e8me<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>who<\/code>\u00a0\u2013 Indique qui est connect\u00e9 en ce moment. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>last -a\u00a0<\/code>\u2013 Affiche une liste des derniers utilisateurs connect\u00e9s. Affiche le nom d&rsquo;utilisateur, l&rsquo;heure de connexion, ainsi que les adresses IP utilis\u00e9es pour la connexion.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>netstat -plntu<\/code>\u00a0\u2013 Affiche les noms des processus et les ports sur lesquels ils \u00e9coutent les connexions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>netstat -ap<\/code>\u00a0\u2013 Affiche un flux en direct de toutes les connexions, y compris les connexions sortantes \u00e9tablies.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>find \/ -mtime -1 -ls | head -n 20<\/code>\u00a0\u2013 R\u00e9pertorie les 20 premiers fichiers modifi\u00e9s au cours des 24 derni\u00e8res heures.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>faillog -a<\/code>\u00a0pour voir un r\u00e9sum\u00e9 des \u00e9checs de connexion. Cela est \u00e9galement utile pour limiter le nombre maximal d&rsquo;\u00e9checs de connexion pour un utilisateur.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>tcpdump -i eth1 -s 0 -A tcp port http <\/code>\u2013 Capture tout le trafic HTTP sur l&rsquo;interface <code>eth1<\/code>. Cela est utile si vous avez trouv\u00e9 quelque chose de suspect en utilisant <code>netstat <\/code>et que vous souhaitez approfondir. Ce guide ne peut pas vous donner tous les tenants et aboutissants de <code>tcpdump<\/code>, <b>mais il existe une <\/b><a href=\"http:\/\/bencane.com\/2014\/10\/13\/quick-and-practical-reference-for-tcpdump\" target=\"_tabs\" rel=\"noopener noreferrer\"><b>vari\u00e9t\u00e9 de ressources<\/b><\/a><b> sur Internet pour vous aider \u00e0 comprendre <\/b><b><code>tcpdump<\/code><\/b>.<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Surveillance des journaux<\/h5>\n\n\n\n<p class=\"wp-block-paragraph\">Voici quelques r\u00e8gles g\u00e9n\u00e9rales sur la gestion de la journalisation des applications et des indications sur les journaux syst\u00e8me importants.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Journaux g\u00e9n\u00e9raux des applications<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Regroupez les journaux de votre application dans un emplacement central, qu&rsquo;il s&rsquo;agisse d&rsquo;un fichier journal ou d&rsquo;un r\u00e9pertoire unique. L&rsquo;approche courante consiste \u00e0 utiliser\u00a0<a href=\"https:\/\/en.wikipedia.org\/wiki\/Syslog\" target=\"_tabs\" rel=\"noopener noreferrer\"><i>syslog<\/i><\/a>\u00a0pour cela. L&rsquo;utilisation de syslog facilitera l&rsquo;envoi des journaux vers un serveur de journalisation central \u00e0 l&rsquo;avenir.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><b>Conservez vos journaux aussi longtemps que l&rsquo;espace disque le permet<\/b>. Conserver les journaux jusqu&rsquo;\u00e0 90 jours sur le disque n&rsquo;est pas d\u00e9raisonnable si vous en avez la place.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Journaux syst\u00e8me<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Tout comme pour la surveillance en direct, il est recommand\u00e9 de consulter r\u00e9guli\u00e8rement les fichiers journaux syst\u00e8me suivants afin de d\u00e9finir une bonne base de r\u00e9f\u00e9rence de la sortie attendue. Disposer d&rsquo;une base de r\u00e9f\u00e9rence permet de rep\u00e9rer beaucoup plus facilement les comportements suspects par la suite. Voici une liste partielle des journaux syst\u00e8me int\u00e9ressants \u00e0 surveiller\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>\/var\/log\/auth.log <\/code>\u2013 Journaux d&rsquo;authentification du syst\u00e8me.<\/li>\n\n\n\n<li><code>\/var\/log\/syslog <\/code>\u2013 Si vous n&rsquo;envoyez pas les journaux \u00e0 une installation syslog particuli\u00e8re, ils se trouveront ici.<\/li>\n\n\n\n<li><code>\/var\/log\/messages <\/code>\u2013 Messages g\u00e9n\u00e9raux du journal syst\u00e8me.<\/li>\n\n\n\n<li><code>~\/.bash_history <\/code>\u2013 Liste des commandes Bash qui ont \u00e9t\u00e9 ex\u00e9cut\u00e9es par l&rsquo;utilisateur. Ce journal peut \u00eatre facilement manipul\u00e9 ou effac\u00e9 par des attaquants exp\u00e9riment\u00e9s.<\/li>\n\n\n\n<li><code>\/var\/log\/utmp <\/code>et <code>\/var\/log\/wtmp <\/code>\u2013 Ces journaux contiennent les utilisateurs actuellement connect\u00e9s et l&rsquo;historique de tous les utilisateurs connect\u00e9s. Utilisez <code>last -f  <\/code> pour afficher ces fichiers.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Apprenez quelques commandes de base qui peuvent vous aider \u00e0 comprendre ce qui se passe actuellement sur vos serveurs. Ces commandes incluent <code>who<\/code>, <code>last<\/code>, <code>lsof<\/code>, <code>netstat<\/code>, <code>faillog<\/code> et <code>find<\/code>.<\/li>\n\n\n\n<li>D\u00e9terminez ce que vous devez journaliser. Les journaux ne sont d&rsquo;aucune utilit\u00e9 s&rsquo;ils ne capturent pas les \u00e9v\u00e9nements critiques pour la s\u00e9curit\u00e9. Au minimum, surveillez les fichiers suivants\u00a0: <code>\/var\/log\/auth.log<\/code>, <code>\/var\/log\/syslog<\/code> et <code>\/var\/log\/messages<\/code>.<\/li>\n\n\n\n<li>Commencez \u00e0 centraliser vos journaux le plus t\u00f4t possible. Utiliser syslog d\u00e8s maintenant plut\u00f4t qu&rsquo;un framework de journalisation personnalis\u00e9 facilitera l&rsquo;envoi des journaux vers un serveur de journalisation central \u00e0 l&rsquo;avenir.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Utilisation de la cryptographie<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Description<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">La cryptographie est un sujet complexe qui devrait \u00eatre trait\u00e9 \u00e0 part enti\u00e8re. M\u00eame les oublis ou les erreurs les plus infimes peuvent entra\u00eener la compromission totale de la s\u00e9curit\u00e9 d&rsquo;un produit. C&rsquo;est pourquoi le mantra \u00ab\u00a0ne cr\u00e9ez pas votre propre cryptographie\u00a0\u00bb est si souvent r\u00e9p\u00e9t\u00e9. Deux bonnes sources \u00e0 lire avant de commencer avec la cryptographie sont\u00a0<a href=\"https:\/\/www.crypto101.io\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Crypto101<\/a>\u00a0\u00e9crit par Laurens Van Houtven (lvh) et\u00a0<a href=\"http:\/\/cryptopals.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">les d\u00e9fis cryptographiques matasano<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cela \u00e9tant dit, la s\u00e9curisation de votre infrastructure <b>n\u00e9cessite une certaine utilisation de la cryptographie<\/b>, et il existe des mod\u00e8les courants pouvant \u00eatre utilis\u00e9s en toute s\u00e9curit\u00e9. Cette section couvre l&rsquo;un de ces mod\u00e8les\u00a0: comment stocker des donn\u00e9es sensibles dans le code source (ou sur le disque).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Att\u00e9nuation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Lorsque vous stockez des identifiants, que ce soit dans le contr\u00f4le de code source ou sur disque, ne les stockez pas en clair (non chiffr\u00e9s). Vous pourriez penser que vos mots de passe sont en s\u00e9curit\u00e9 si vous utilisez un d\u00e9p\u00f4t priv\u00e9 GitHub, mais il ne faut pas s&rsquo;en remettre uniquement \u00e0 GitHub pour prot\u00e9ger toute votre infrastructure des attaquants. Si vous chiffrez vos identifiants, vous pouvez pr\u00e9server votre s\u00e9curit\u00e9 m\u00eame si GitHub est compromis.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Lorsque vous recherchez un outil ou une biblioth\u00e8que pour chiffrer de petites quantit\u00e9s de donn\u00e9es, tenez compte des recommandations suivantes\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Utilisez un algorithme de chiffrement sym\u00e9trique moderne. Deux candidats couramment sugg\u00e9r\u00e9s sont AES et Salsa20 (NaCl).<\/li>\n\n\n\n<li>Si votre chiffrement sym\u00e9trique prend en charge diff\u00e9rents modes, choisissez-le avec soin. Par exemple, CBC est un bon mode \u00e0 utiliser avec AES, mais pas ECB.<\/li>\n\n\n\n<li>Utilisez un code d&rsquo;authentification de message (MAC) pour vous assurer que les donn\u00e9es chiffr\u00e9es n&rsquo;ont pas \u00e9t\u00e9 alt\u00e9r\u00e9es. HMAC-SHA-512 ou Poly1305 sont de bons candidats.<\/li>\n\n\n\n<li>Utilisez une source d&rsquo;entropie de haute qualit\u00e9, ce qui signifie g\u00e9n\u00e9ralement utiliser <code>\/dev\/urandom <\/code>pour obtenir les nombres al\u00e9atoires employ\u00e9s dans les cl\u00e9s, les sels et les nonces.<\/li>\n\n\n\n<li>Si la biblioth\u00e8que ou l&rsquo;outil fonctionne avec des phrases secr\u00e8tes, assurez-vous qu&rsquo;il utilise une KDF pour transformer la phrase secr\u00e8te en cl\u00e9.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Vous pouvez cr\u00e9er vous-m\u00eame un outil de chiffrement, cependant comme mentionn\u00e9, <b>cela peut \u00eatre d\u00e9licat et n&rsquo;est pas recommand\u00e9<\/b>. Cependant, si vous tenez absolument \u00e0 le faire, utilisez une biblioth\u00e8que comme \u00a0<a href=\"http:\/\/nacl.cr.yp.to\/\" target=\"_tabs\" rel=\"noopener noreferrer\">NaCl<\/a>\u00a0ou\u00a0<a href=\"https:\/\/www.cryptography.io\/\" target=\"_tabs\" rel=\"noopener noreferrer\">cryptography.io<\/a>\u00a0qui se chargera au moins de la cryptographie pour vous. Cependant, il est encore pr\u00e9f\u00e9rable d&rsquo;utiliser une \u00ab\u00a0recette\u00a0\u00bb con\u00e7ue \u00e0 cet effet par quelqu&rsquo;un d&rsquo;autre, telle que\u00a0<a href=\"http:\/\/github.com\/mailgun\/lemma\" target=\"_tabs\" rel=\"noopener noreferrer\">lemma<\/a>\u00a0ou\u00a0<a href=\"https:\/\/cryptography.io\/en\/latest\/fernet\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Fernet<\/a>\u00a0qui exposent toutes deux une API simple que vous pouvez utiliser pour chiffrer et d\u00e9chiffrer des donn\u00e9es en toute s\u00e9curit\u00e9.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c0 NE PAS FAIRE\u00a0: ne choisissez pas au hasard le mode de votre algorithme de chiffrement sym\u00e9trique.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: utilisez un algorithme de chiffrement sym\u00e9trique authentifi\u00e9 avec un MAC.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: utilisez <code>\/dev\/urandom <\/code>pour g\u00e9n\u00e9rer des \u00e9l\u00e9ments al\u00e9atoires.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: utilisez une \u00ab\u00a0recette\u00a0\u00bb telle que ou si vous le pouvez.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Sauvegardes<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">Description<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Bien que les sauvegardes puissent ne pas sembler appartenir \u00e0 la m\u00eame cat\u00e9gorie que les autres sujets abord\u00e9s dans ce guide, elles sont tout aussi importantes pour la s\u00e9curit\u00e9 de l&rsquo;infrastructure. Les sauvegardes ont deux objectifs principaux\u00a0: restaurer en cas de d\u00e9faillance mat\u00e9rielle non malveillante, et restaurer en cas de compromission de votre infrastructure par un attaquant. N&rsquo;oubliez pas, en cas de compromission, <b>il est pr\u00e9f\u00e9rable d&rsquo;effacer votre serveur et d&rsquo;en cr\u00e9er un nouveau plut\u00f4t que d&rsquo;essayer de supprimer les logiciels malveillants<\/b>, ce qui peut s&rsquo;av\u00e9rer difficile, voire impossible, pour un novice. C&rsquo;est pourquoi les sauvegardes sont essentielles en cas de compromission pour remettre votre infrastructure en \u00e9tat de fonctionnement s\u00e9curis\u00e9.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Att\u00e9nuation<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Les approches suivantes constituent une bonne strat\u00e9gie g\u00e9n\u00e9rale \u00e0 suivre lorsque vous travaillez avec des sauvegardes\u00a0:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ne n\u00e9gligez pas la s\u00e9curit\u00e9 de vos sauvegardes sous pr\u00e9texte qu&rsquo;elles ne semblent pas critiques pour votre service. Les attaquants ciblent fr\u00e9quemment l&rsquo;infrastructure de sauvegarde pr\u00e9cis\u00e9ment pour cette raison.<\/li>\n\n\n\n<li>Sauvegardez aussi souvent que n\u00e9cessaire en fonction des besoins de votre entreprise. Une fois par jour est raisonnable.<\/li>\n\n\n\n<li>Vos serveurs de sauvegarde doivent avoir un acc\u00e8s limit\u00e9, et les comptes existants doivent utiliser des m\u00e9canismes d&rsquo;authentification et d&rsquo;autorisation diff\u00e9rents de ceux utilis\u00e9s pour le reste de votre infrastructure. Par exemple, vos serveurs de sauvegarde doivent utiliser une cl\u00e9 SSH diff\u00e9rente pour la connexion. Si vous suivez ces recommandations et que votre environnement principal est compromis, vous disposerez <b>toujours de sauvegardes de confiance<\/b> \u00e0 partir desquelles vous pourrez restaurer.<\/li>\n\n\n\n<li>Si vous ne souhaitez pas g\u00e9rer votre propre infrastructure de sauvegarde, sauvegardez vers un entrep\u00f4t de donn\u00e9es tiers comme Amazon S3. Notez que si vous comptez utiliser un service tiers, vous devez chiffrer vos sauvegardes avant de leur envoyer vos donn\u00e9es. Travaillez en partant du principe que votre entrep\u00f4t de donn\u00e9es est public, et utilisez le chiffrement pour prot\u00e9ger vos donn\u00e9es. En adoptant cette approche, m\u00eame si votre h\u00f4te est compromis, vos donn\u00e9es sont en s\u00e9curit\u00e9.<\/li>\n\n\n\n<li>Si vous utilisez Amazon S3 ou Rackspace CloudFiles, utilisez une recette de chiffrement authentifi\u00e9 telle que  <a href=\"http:\/\/github.com\/mailgun\/lemma\" target=\"_tabs\" rel=\"noopener noreferrer\">lemma<\/a> ou <a href=\"https:\/\/cryptography.io\/en\/latest\/fernet\" target=\"_tabs\" rel=\"noopener noreferrer\">Fernet<\/a>. Si vous ne voulez pas vous soucier de la cryptographie, utilisez un service qui chiffre vos donn\u00e9es c\u00f4t\u00e9 client et n&rsquo;envoie que des blobs chiffr\u00e9s \u00e0 son service, comme  <a href=\"http:\/\/www.tarsnap.com\" target=\"_tabs\" rel=\"noopener noreferrer\">Tarsnap<\/a>.<\/li>\n\n\n\n<li>Sauvegardez vos d\u00e9p\u00f4ts de code source, tous les logiciels tiers que votre application utilise et votre base de donn\u00e9es. L&rsquo;exemple r\u00e9cent de FoundationDB illustre l&rsquo;importance de sauvegarder tout logiciel que vous utilisez. <b>Les t\u00e9l\u00e9chargements de logiciels peuvent \u00eatre r\u00e9voqu\u00e9s par l&rsquo;\u00e9quipe de d\u00e9veloppement \u00e0 tout moment et pour n&rsquo;importe quelle raison.<\/b><\/li>\n\n\n\n<li>Bien que les syst\u00e8mes de contr\u00f4le de version distribu\u00e9s (DVCS) comme Git offrent une certaine redondance, ils ne remplacent pas les v\u00e9ritables sauvegardes. Il ne faut pas d\u00e9pendre de la pr\u00e9sence d&rsquo;une branche particuli\u00e8re sur le poste de travail d&rsquo;un coll\u00e8gue pour assurer la continuit\u00e9 de l&rsquo;activit\u00e9.<\/li>\n\n\n\n<li>Sauvegardez votre base de donn\u00e9es en utilisant la m\u00e9thode prescrite par celle-ci.<\/li>\n\n\n\n<li>Restaurez \u00e0 partir des sauvegardes aussi souvent que vous les ex\u00e9cutez. Les sauvegardes ne sont d&rsquo;aucune utilit\u00e9 si elles ne sont pas utilisables. Id\u00e9alement, vous devriez pouvoir ex\u00e9cuter sur vos sauvegardes restaur\u00e9es certains services auxiliaires qui ne n\u00e9cessitent pas les donn\u00e9es les plus r\u00e9centes. Ainsi, si quelque chose se passe mal, vous le saurez imm\u00e9diatement.<\/li>\n\n\n\n<li>Assurez-vous que <b>plusieurs membres de votre \u00e9quipe<\/b> sont capables de restaurer \u00e0 partir des sauvegardes. Vous pourrez peut-\u00eatre trouver comment restaurer vos sauvegardes, ou peut-\u00eatre pas. Cela peut prendre une heure ou dix heures. Il est pr\u00e9f\u00e9rable de consacrer quelques heures par trimestre \u00e0 examiner votre infrastructure de sauvegarde avec un ou une coll\u00e8gue.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">R\u00e9sum\u00e9<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>\u00c0 NE PAS FAIRE\u00a0: n&rsquo;utilisez pas les m\u00eames comptes pour les sauvegardes que pour votre environnement principal.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: sauvegardez les d\u00e9p\u00f4ts sources, les logiciels tiers et les bases de donn\u00e9es.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: tentez de restaurer \u00e0 partir de sauvegardes aussi souvent que vous ex\u00e9cutez la proc\u00e9dure de sauvegarde.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: ex\u00e9cutez des services auxiliaires \u00e0 partir des sauvegardes restaur\u00e9es si vous le pouvez.<\/li>\n\n\n\n<li>\u00c0 NE PAS FAIRE\u00a0: ne cr\u00e9ez pas de point de d\u00e9faillance unique\u00a0; assurez-vous que plusieurs membres de votre \u00e9quipe sont capables d&rsquo;effectuer la restauration.<\/li>\n\n\n\n<li>\u00c0 FAIRE\u00a0: chiffrez vos sauvegardes avec un algorithme de chiffrement authentifi\u00e9. Utilisez un outil comme\u00a0<a href=\"http:\/\/github.com\/mailgun\/lemma\" target=\"_tabs\" rel=\"noopener noreferrer\">lemma<\/a>\u00a0ou\u00a0<a href=\"https:\/\/cryptography.io\/en\/latest\/fernet\" target=\"_tabs\" rel=\"noopener noreferrer\">Fernet<\/a>, ou une solution h\u00e9berg\u00e9e comme\u00a0<a href=\"http:\/\/www.tarsnap.com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Tarsnap<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>G\u00e9rer votre infrastructure dans une configuration s\u00e9curis\u00e9e est une t\u00e2che ardue, m\u00eame pour les professionnels de la s\u00e9curit\u00e9. Ce guide fournit des conseils pratiques pour aider l&rsquo;\u00e9quipe d&rsquo;ing\u00e9nierie \u00e0 concevoir une infrastructure respectant les bonnes pratiques de s\u00e9curit\u00e9, afin qu&rsquo;elle puisse d\u00e9ployer ses services sur l&rsquo;Internet public en toute confiance et r\u00e9duire le risque de compromission. Ce guide cible sp\u00e9cifiquement les syst\u00e8mes bas\u00e9s sur Linux\u00a0; cependant, les bonnes pratiques s&rsquo;appliquent \u00e0 tous les syst\u00e8mes informatiques.<\/p>\n","protected":false},"author":13,"featured_media":4843,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog_category":[23],"class_list":["post-24679","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-it-and-engineering"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Comment prot\u00e9ger votre infrastructure contre les attaquants - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Mailgun passe en revue quelques conseils pratiques pour aider l&#039;\u00e9quipe d&#039;ing\u00e9nierie \u00e0 cr\u00e9er des infrastructures s\u00e9curis\u00e9es pour des d\u00e9ploiements en toute confiance.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Comment prot\u00e9ger votre infrastructure contre les attaquants - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Mailgun passe en revue quelques conseils pratiques pour aider l&#039;\u00e9quipe d&#039;ing\u00e9nierie \u00e0 cr\u00e9er des infrastructures s\u00e9curis\u00e9es pour des d\u00e9ploiements en toute confiance.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"29 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/it-and-engineering\\\/guide-securite-infrastructure-base\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/it-and-engineering\\\/guide-securite-infrastructure-base\\\/\",\"name\":\"Comment prot\u00e9ger votre infrastructure contre les attaquants - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/it-and-engineering\\\/guide-securite-infrastructure-base\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/it-and-engineering\\\/guide-securite-infrastructure-base\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-IT-Engineering.png\",\"datePublished\":\"2026-09-16T16:56:39+00:00\",\"description\":\"Mailgun passe en revue quelques conseils pratiques pour aider l'\u00e9quipe d'ing\u00e9nierie \u00e0 cr\u00e9er des infrastructures s\u00e9curis\u00e9es pour des d\u00e9ploiements en toute confiance.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/it-and-engineering\\\/guide-securite-infrastructure-base\\\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/it-and-engineering\\\/guide-securite-infrastructure-base\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/it-and-engineering\\\/guide-securite-infrastructure-base\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-IT-Engineering.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-IT-Engineering.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/it-and-engineering\\\/guide-securite-infrastructure-base\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Guide de s\u00e9curit\u00e9\u00a0: comment prot\u00e9ger votre infrastructure des attaques les plus courantes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Des API d\u2019emails transactionnels puissantes qui vous permettent d'envoyer, de recevoir et de suivre des emails, con\u00e7ues pour les d\u00e9veloppeurs. En savoir plus d\u00e8s aujourd'hui !\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/fr\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Comment prot\u00e9ger votre infrastructure contre les attaquants - Transactional Email API Service For Developers | Mailgun","description":"Mailgun passe en revue quelques conseils pratiques pour aider l'\u00e9quipe d'ing\u00e9nierie \u00e0 cr\u00e9er des infrastructures s\u00e9curis\u00e9es pour des d\u00e9ploiements en toute confiance.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/","og_locale":"fr_FR","og_type":"article","og_title":"Comment prot\u00e9ger votre infrastructure contre les attaquants - Transactional Email API Service For Developers | Mailgun","og_description":"Mailgun passe en revue quelques conseils pratiques pour aider l'\u00e9quipe d'ing\u00e9nierie \u00e0 cr\u00e9er des infrastructures s\u00e9curis\u00e9es pour des d\u00e9ploiements en toute confiance.","og_url":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"29 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/","url":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/","name":"Comment prot\u00e9ger votre infrastructure contre les attaquants - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","datePublished":"2026-09-16T16:56:39+00:00","description":"Mailgun passe en revue quelques conseils pratiques pour aider l'\u00e9quipe d'ing\u00e9nierie \u00e0 cr\u00e9er des infrastructures s\u00e9curis\u00e9es pour des d\u00e9ploiements en toute confiance.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/fr\/blog\/it-and-engineering\/guide-securite-infrastructure-base\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/fr\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/fr\/blog\/"},{"@type":"ListItem","position":3,"name":"Guide de s\u00e9curit\u00e9\u00a0: comment prot\u00e9ger votre infrastructure des attaques les plus courantes"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/fr\/#website","url":"https:\/\/www.mailgun.com\/fr\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Des API d\u2019emails transactionnels puissantes qui vous permettent d'envoyer, de recevoir et de suivre des emails, con\u00e7ues pour les d\u00e9veloppeurs. En savoir plus d\u00e8s aujourd'hui !","publisher":{"@id":"https:\/\/www.mailgun.com\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/fr\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.mailgun.com\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/fr\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog\/24679","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":0,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog\/24679\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/media\/4843"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/media?parent=24679"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/fr\/wp-json\/wp\/v2\/blog_category?post=24679"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}