{"id":1235,"date":"2026-03-17T15:47:06","date_gmt":"2026-03-17T07:47:06","guid":{"rendered":"https:\/\/www.ddosgj.com\/?p=1235"},"modified":"2026-03-17T15:47:06","modified_gmt":"2026-03-17T07:47:06","slug":"comment-defendre-votre-serveur-contre-les-attaques-de-cc-je-vais-vous-dire-comment-je-fais","status":"publish","type":"post","link":"https:\/\/www.ddosgj.com\/fr\/1235-html","title":{"rendered":"Comment d\u00e9fendre votre serveur contre les attaques CC, je vais vous dire ce que j'ai fait !"},"content":{"rendered":"<p>Je me souviens que l'\u00e9t\u00e9 dernier, j'\u00e9tais paralys\u00e9e sur le canap\u00e9 en train de brosser un drame, le t\u00e9l\u00e9phone portable s'est soudain mis \u00e0 vibrer comme un fou - tous les serveurs se sont mis \u00e0 sonner l'alarme, le taux d'utilisation du processeur a grimp\u00e9 \u00e0 100%, le site s'ouvre aussi lentement qu'un escargot en train de ramper. J'ai maudit ma m\u00e8re, mon c\u0153ur a compris : ces quatre-vingts pour cent sont une autre attaque de CC. Pour \u00eatre honn\u00eate, apr\u00e8s tant d'ann\u00e9es de fonctionnement et de maintenance, j'ai vu beaucoup de sc\u00e8nes de ce genre, mais \u00e0 chaque fois je peux \u00eatre en col\u00e8re avec les dents, parce que les attaquants aiment toujours choisir tard dans la nuit, vous for\u00e7ant \u00e0 rester debout toute la nuit pour \u00e9teindre l'incendie.<\/p>\n<p>L'attaque CC, pour le dire cr\u00fbment, est un groupe de \u201crobots\u201d d\u00e9guis\u00e9s en utilisateurs normaux, fous de rafra\u00eechir votre page web ou de soumettre une requ\u00eate, le but n'est pas de pirater le syst\u00e8me, mais de vivre jusqu'\u00e0 ce que les ressources du serveur se tarissent, de sorte que les utilisateurs r\u00e9els ne puissent pas y acc\u00e9der. J'ai test\u00e9 et constat\u00e9 que cette chose est particuli\u00e8rement d\u00e9go\u00fbtante, parce que ce n'est pas comme le DDoS traditionnel comme un flux \u00e9norme, mais au lieu de simuler l'op\u00e9ration avec une personne r\u00e9elle comme, beaucoup de pare-feu de base tout droit \u00e0 l'arr\u00eat, pensant \u00e0 tort qu'il s'agit d'une visite normale.<\/p>\n<p>Une fois, l'une de mes stations de commerce \u00e9lectronique \u00e9tait en panne, la page de commande \u00e9tait bloqu\u00e9e, le t\u00e9l\u00e9phone de r\u00e9clamation des clients \u00e9tait presque d\u00e9croch\u00e9 et le patron s'est pr\u00e9cipit\u00e9 directement dans la salle des serveurs pour me demander si je faisais du minage.<\/p>\n<p>De nos jours, m\u00eame les CDN doivent \u00eatre \u2018\u00e0 l'\u00e9preuve des mats\", sans parler de ces astuces sournoises.<\/p>\n<p>\u00c0 l'\u00e9poque, j'avais entre les mains un serveur d\u00e9pouill\u00e9, et je comptais sur Nginx pour me porter \u00e0 bout de bras, et j'ai \u00e9t\u00e9 instantan\u00e9ment d\u00e9pass\u00e9. J'ai r\u00e9alis\u00e9 que je ne pouvais pas le faire seul, je devais faire une combinaison de choses. Ci-dessous, je d\u00e9compose les miettes pour dire comment j'ai construit pas \u00e0 pas le syst\u00e8me de d\u00e9fense, vous pouvez vous y r\u00e9f\u00e9rer, mais ne le copiez pas, parce que chaque sc\u00e9nario d'entreprise est diff\u00e9rent.<\/p>\n<p>Tout d'abord, il ne faut pas commencer \u00e0 faire n'importe quoi, il faut savoir \u00e0 quoi ressemble l'attaque. Je me suis imm\u00e9diatement connect\u00e9 au syst\u00e8me de surveillance, j'ai regard\u00e9 les journaux en temps r\u00e9el et j'ai constat\u00e9 qu'une IP avait envoy\u00e9 en quelques secondes des milliers de requ\u00eates \u00e0 la page de connexion, ce qui n'est \u00e9videmment pas normal. J'ai parcouru rapidement la ligne de commande, et voici la commande :<\/p>\n<pre><code>tail -f \/var\/log\/nginx\/access.log | awk '{print $1}' | sort | uniq -c | sort -nr | head -20<\/code><\/pre>\n<p>Cette ligne de code r\u00e9pertorie les 20 adresses IP les plus fr\u00e9quemment demand\u00e9es, ce qui permet d'identifier les suspects en un coup d'\u0153il. J'ai donc d\u00e9j\u00e0 mis en place une r\u00e8gle d'alerte dans Zabbix qui m'envoie automatiquement un message texte si une IP est demand\u00e9e plus de 50 fois par seconde. Ne croyez pas \u00e0 ces absurdit\u00e9s du genre \u201cla surveillance est facultative\u201d, sans elle, vous \u00eates comme un aveugle qui se bat, mais passivement.<\/p>\n<p>Apr\u00e8s avoir identifi\u00e9 la source de l'attaque, ma premi\u00e8re r\u00e9action est de bloquer temporairement l'IP, en utilisant iptables pour d\u00e9brancher la prise, par exemple :<\/p>\n<pre><code>iptables -A INPUT -s Adresse IP malveillante -j DROP<\/code><\/pre>\n<p>Mais cette astuce traite les sympt\u00f4mes mais pas la cause premi\u00e8re, et l'attaquant peut continuer \u00e0 s'amuser avec un segment IP diff\u00e9rent. Je me suis donc tourn\u00e9 vers la configuration de la limitation de d\u00e9bit dans Nginx, qui est la meilleure solution. J'ai ajout\u00e9 ce paragraphe au fichier nginx.conf :<\/p>\n<p>Ce param\u00e8tre signifie que chaque requ\u00eate IP peut \u00eatre envoy\u00e9e jusqu'\u00e0 10 fois par seconde, plus d'une partie du premier cache 20, puis plus du retour direct 429 d'erreur.<\/p>\n<p>J'ai test\u00e9, cela peut bloquer la plupart des attaques CC de bas rang, mais rencontrer le point avanc\u00e9, le pool IP grand, ou la lutte. Une fois, j'ai ajust\u00e9 trop fort, bloqu\u00e9 par erreur quelques crawlers de moteur de recherche, le trafic SEO a chut\u00e9 beaucoup, le patron et me trouver du th\u00e9, de sorte que les r\u00e8gles doivent \u00eatre ajust\u00e9es lentement, ne pas couper \u00e0 travers le tableau.<\/p>\n<p>&nbsp;<\/p>\n<p>Ensuite, j'ai d\u00e9cid\u00e9 de passer par un service CDN pour filtrer le trafic vers les n\u0153uds de p\u00e9riph\u00e9rie. \u00c0 ce moment-l\u00e0, j'en ai compar\u00e9 plusieurs, et j'ai finalement choisi CDN07.<\/p>\n<p>Parce que leur protection intelligente n'est vraiment pas soufflante, peut automatiquement identifier les demandes malveillantes bas\u00e9es sur l'analyse comportementale, mais aussi avec l'acc\u00e9l\u00e9ration globale, le prix est \u00e9galement abordable. La configuration est \u00e9galement simple, je coupe l'analyse du nom de domaine \u00e0 leur CNAME, puis ouvrir les r\u00e8gles de protection CC dans la console, le seuil est fix\u00e9 \u00e0 100 demandes par seconde, plus que le d\u00e9fi du code de v\u00e9rification. Apr\u00e8s utilisation, la pression du serveur a imm\u00e9diatement chut\u00e9 de 80 %, la r\u00e9ponse du service client est \u00e9galement rapide, une fois au milieu de l'attaque de nuit, ils 5 minutes pour m'aider \u00e0 ajuster les r\u00e8gles. De nos jours, un bon CDN est comme un garde du corps personnel, qui \u00e9vite bien des maux de c\u0153ur.<\/p>\n<p>Le CDN seul n'\u00e9tait pas suffisant, j'ai ajout\u00e9 un Web Application Firewall (WAF) au niveau du serveur, en utilisant le logiciel libre ModSecurity.<\/p>\n<p>Apr\u00e8s l'installation, j'ai personnalis\u00e9 certaines r\u00e8gles, comme la protection contre la force brute pour la page de connexion :<\/p>\n<p>Cette r\u00e8gle v\u00e9rifie les param\u00e8tres anormaux dans les demandes de connexion et les intercepte si le score cumul\u00e9 est \u00e9lev\u00e9. Je vous rappelle que les r\u00e8gles WAF ne doivent pas \u00eatre copi\u00e9es de l'Internet, vous devez les modifier lentement en fonction de votre propre activit\u00e9. Une fois que j'ai ajout\u00e9 une r\u00e8gle stricte, toutes les demandes d'API de mon propre APP ont \u00e9t\u00e9 bloqu\u00e9es et les utilisateurs se sont retrouv\u00e9s dans l'embarras, si bien que j'ai d\u00fb faire marche arri\u00e8re du jour au lendemain. C'est une le\u00e7on de sang et de larmes que de passer par l'environnement de test avant d'aller en ligne !<\/p>\n<p>J'ai \u00e9galement optimis\u00e9 les ressources du serveur.<\/p>\n<p>Par exemple, j'ai mis en cache les requ\u00eates de la base de donn\u00e9es et j'ai utilis\u00e9 Redis pour stocker les donn\u00e9es des hotspots afin de r\u00e9duire la pression exerc\u00e9e par le fait d'appuyer directement sur MySQL. J'ai ajout\u00e9 quelques r\u00e9ponses retard\u00e9es au code pour renvoyer de fausses donn\u00e9es pour les requ\u00eates suspectes, \u00e9puisant ainsi les ressources de l'attaquant. Cette astuce est un peu dommageable, mais efficace, j'ai \u00e9crit un simple exemple de script PHP :<\/p>\n<p>Cela ralentit la machine de l'attaquant, tandis que les utilisateurs normaux sont acc\u00e9l\u00e9r\u00e9s par le CDN et ressentent \u00e0 peine le retard. Cependant, cette m\u00e9thode doit \u00eatre utilis\u00e9e en conjonction avec la surveillance, sinon il serait d\u00e9sastreux de blesser accidentellement un ami.<\/p>\n<p>En parlant de cela, je dois me plaindre, certains tutoriels aiment toujours recommander un \u201coutil de protection en un clic\u201d, en gonflant le ciel, j'en ai essay\u00e9 quelques-uns, l'effet est in\u00e9gal, et certains sont m\u00eame accompagn\u00e9s d'une porte d\u00e9rob\u00e9e.<\/p>\n<p>Il n'y a pas de solution miracle pour se d\u00e9fendre contre les attaques CC, la cl\u00e9 est la profondeur multicouche : la couche r\u00e9seau utilise le CDN pour transporter le trafic, la couche application utilise le WAF et le filtrage des limites de taux, et la couche donn\u00e9es fait un bon travail de mise en cache pour r\u00e9duire les effets n\u00e9gatifs.<\/p>\n<p>Dans mon architecture actuelle, j'ai \u00e9galement ajout\u00e9 des exercices r\u00e9guliers, comme la simulation d'une attaque une fois par mois pour v\u00e9rifier les vuln\u00e9rabilit\u00e9s. Lors d'un exercice, j'ai d\u00e9couvert qu'une certaine interface API n'avait pas de limites et qu'elle avait failli devenir une br\u00e8che ; je me suis donc empress\u00e9 de la corriger.<\/p>\n<p>Enfin, parlons de l'\u00e9tat d'esprit. La d\u00e9fense, c'est un peu le jeu du chat et de la souris, les moyens d'attaque changent tous les jours, on ne peut pas se contenter de fixer les r\u00e8gles et de se coucher.<\/p>\n<p>J'ai pris l'habitude de consulter les r\u00e9sum\u00e9s des journaux tous les jours, de garder un \u0153il sur les nouvelles informations relatives aux menaces et d'adapter les r\u00e8gles si n\u00e9cessaire. Par exemple, l'ann\u00e9e derni\u00e8re, il y a eu une vague d'attaques sur les ressources statiques, j'ai donc limit\u00e9 la vitesse du r\u00e9pertoire d'images dans Nginx, et l'effet a \u00e9t\u00e9 imm\u00e9diat. En r\u00e9sum\u00e9, il faut rester vigilant et continuer \u00e0 apprendre, ce qui est fondamental.<\/p>\n<p>Apr\u00e8s tout cela, mon serveur est maintenant solide comme un roc et n'a plus jamais \u00e9t\u00e9 endommag\u00e9 par une attaque CC.<\/p>\n<p>Si vous venez d'entrer dans la fosse, rappelez-vous les points suivants : surveillance d'abord, r\u00e9ponse rapide ; couches de d\u00e9fense, ne pas se fier \u00e0 un seul point ; outils \u00e0 choisir fiables, tels que les fournisseurs de services CDN07 peuvent \u00e9conomiser beaucoup d'efforts ; enfin, c'est en forgeant qu'on devient forgeron, plus d'essais et plus d'ajustements.<\/p>\n<p>Le chemin de la d\u00e9fense est long, mais si vous \u00eates pr\u00eat \u00e0 le parcourir, vous trouverez toujours une m\u00e9thode qui vous conviendra.<\/p>","protected":false},"excerpt":{"rendered":"<p>Je me souviens que l'\u00e9t\u00e9 dernier, j'\u00e9tais paralys\u00e9e sur le canap\u00e9 en train de brosser un drame, le t\u00e9l\u00e9phone portable s'est soudain mis \u00e0 vibrer comme un fou - tous les serveurs se sont mis \u00e0 sonner l'alarme, le taux d'utilisation du processeur a grimp\u00e9 \u00e0 100%, le site s'ouvre aussi lentement qu'un escargot en train de ramper. J'ai maudit ma m\u00e8re, mon c\u0153ur a compris : ces quatre-vingts pour cent sont une autre attaque de CC. Pour \u00eatre honn\u00eate, apr\u00e8s tant d'ann\u00e9es de fonctionnement et de maintenance, j'ai vu beaucoup de sc\u00e8nes de ce genre, mais \u00e0 chaque fois je peux \u00eatre en col\u00e8re avec les dents, parce que les attaquants aiment toujours choisir tard dans la nuit, vous obligeant \u00e0 rester debout toute la nuit pour \u00e9teindre le feu. Les attaques CC, pour le dire cr\u00fbment, sont un groupe de \u201crobots\u201d d\u00e9guis\u00e9s en utilisateurs normaux, qui rafra\u00eechissent follement votre page web ou soumettent une requ\u00eate, le but n'est pas de pirater le syst\u00e8me, mais de vivre jusqu'\u00e0 ce que les ressources du serveur s'ass\u00e8chent, de sorte que les utilisateurs r\u00e9els ne puissent pas y acc\u00e9der. J'ai test\u00e9 et constat\u00e9 que cette chose est particuli\u00e8rement d\u00e9go\u00fbtante, car ce n'est pas comme un DDoS traditionnel sous la forme d'un \u00e9norme flux de trafic, c'est le contraire qui est vrai.<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"none","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":""},"categories":[150],"tags":[155],"collection":[],"class_list":["post-1235","post","type-post","status-publish","format-standard","hentry","category-updates","tag-155"],"_links":{"self":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts\/1235","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/comments?post=1235"}],"version-history":[{"count":2,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts\/1235\/revisions"}],"predecessor-version":[{"id":1242,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/posts\/1235\/revisions\/1242"}],"wp:attachment":[{"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/media?parent=1235"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/categories?post=1235"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/tags?post=1235"},{"taxonomy":"collection","embeddable":true,"href":"https:\/\/www.ddosgj.com\/fr\/wp-json\/wp\/v2\/collection?post=1235"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}