[{"uuid":"88340b94-e18a-4fef-8ff6-792a8512865e","slug":"20231127-blender-ddos-mitigation","title":"Attaque DDOS chez Blender.org","category":"Journal geek","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-11-24 23:10:30","created_at":"2023-11-24 23:10:30","updated_at":"2023-11-24 23:10:30","tags":[],"plain":"En novembre 2023, le site blender.org a subi une attaque DDoS majeure, qui a provoqué des interruptions intermittentes. L'équipe a finalement résolu le problème en se déplaçant derrière un service de mitigation DDoS. Les responsables de l'attaque et leurs motivations sont inconnus, mais aucune donnée de projet ou d'utilisateur n'a été compromise. Une attaque DDoS (Distributed Denial of Service) est une forme d'attaque informatique dans laquelle un grand nombre d'ordinateurs ou de dispositifs connectés, souvent rassemblés dans un botnet, envoient simultanément un grand volume de demandes de manière coordonnée vers un serveur ou un site web cible. L'objectif principal d'une attaque DDoS est de submerger la cible avec un trafic excessif, de sorte que les ressources du serveur sont épuisées, ce qui rend le service indisponible pour les utilisateurs légitimes. Cela peut entraîner des interruptions de service, des ralentissements ou même des pannes complètes du site web ou du serveur ciblé. Les attaques DDoS sont souvent utilisées pour perturber les services en ligne ou pour causer des nuisances à des organisations ou des individus. Il est possible de mettre en place des mesures pour se prémunir contre les attaques DDoS (Distributed Denial of Service). Voici quelques mesures que l'on peut prendre pour se protéger contre les attaques DDoS : 1. Utiliser des services de mitigation DDoS : Les services de mitigation DDoS sont conçus pour détecter et atténuer automatiquement les attaques DDoS en filtrant le trafic malveillant avant qu'il n'atteigne le serveur cible. De nombreuses entreprises proposent des solutions de mitigation DDoS, et il est judicieux d'envisager leur utilisation. 2. Surveillance du trafic réseau : Surveillez attentivement le trafic réseau pour détecter toute anomalie ou augmentation soudaine du trafic. Un système de détection des intrusions peut vous aider à repérer les signes d'une attaque en cours. 3. Mise à jour des systèmes et logiciels : Assurez-vous que vos systèmes et logiciels sont à jour avec les derniers correctifs de sécurité pour réduire les vulnérabilités qui pourraient être exploitées lors d'une attaque. 4. Plan de continuité d'activité : Élaborez un plan de continuité d'activité pour être prêt à réagir en cas d'attaque réussie. Ce plan devrait inclure des procédures pour restaurer rapidement les services après une interruption. 5. Limiter l'accès aux ressources : Restreignez l'accès aux ressources critiques en utilisant des pare-feu, des listes de contrôle d'accès et d'autres mécanismes de sécurité pour réduire la surface d'attaque potentielle. 6. Utilisation de la répartition de charge : Utilisez des solutions de répartition de charge pour distribuer le trafic entrant sur plusieurs serveurs, ce qui peut aider à atténuer l'impact des attaques en répartissant la charge de manière équilibrée. 7. Surveillance en temps réel : Mettez en place une surveillance en temps réel de vos systèmes et réseaux pour pouvoir réagir rapidement en cas d'attaque et prendre des mesures pour atténuer ses effets. Aucune mesure de sécurité n'est totalement infaillible, mais en combinant plusieurs de ces stratégies, vous pouvez réduire considérablement le risque et l'impact des attaques DDoS sur des services en ligne. Apache HTTP Server n'est pas spécifiquement conçu pour fonctionner comme un mitigateur DDoS, mais il peut être utilisé en conjonction avec d'autres solutions pour aider à atténuer les attaques DDoS dans une certaine mesure. Voici quelques méthodes que vous pourriez envisager : 1. Rate Limiting et modsecurity : Apache peut être configuré pour limiter le nombre de requêtes par seconde (Rate Limiting) en utilisant des modules tels que ou . Vous pouvez également utiliser le module pour détecter et bloquer les comportements de requête malveillants en fonction de règles définies. 2. Répartition de charge (Load Balancing) : Apache peut être configuré pour répartir la charge entre plusieurs serveurs backend. Cela peut aider à répartir la charge des attaques DDoS sur plusieurs serveurs et à réduire l'impact sur un seul serveur. Modproxybalancer est un module Apache qui permet de mettre en place une répartition de charge entre plusieurs serveurs backend. Voici un exemple de configuration de base : Dans cet exemple, nous avons configuré un serveur virtuel (VirtualHost) qui écoute sur le port 80 et répartit la charge entre trois serveurs backend (backend1.example.com, backend2.example.com et backend3.example.com) sur le port 8080. Vous pouvez ajouter ou supprimer des serveurs backend en utilisant la directive BalancerMember. Assurez-vous d'activer le module modproxy et modproxybalancer en utilisant a2enmod si ce n'est pas déjà fait. 3. Mise en cache (Caching) : L'utilisation de mécanismes de mise en cache, tels que , peut aider à réduire la charge sur le serveur en servant des copies mises en cache de pages web au lieu de générer dynamiquement chaque page à chaque demande. 4. Monitoring et alertes : Vous pouvez mettre en place des outils de surveillance pour surveiller le trafic entrant et être alerté en cas d'augmentation soudaine du trafic. Cela peut vous permettre de réagir rapidement à une attaque DDoS. Apache propose des modules qui permettent de surveiller les performances du serveur. L'un des modules les plus couramment utilisés est modstatus. Voici comment l'activer : Cette configuration permet d'accéder à la page de status en utilisant l'URL http:votre-serveur/server-status depuis localhost. Assurez-vous que le module est activé (utilisez sous Debian/Ubuntu). Pour une surveillance plus avancée et des alertes, vous pouvez utiliser des outils tiers tels que Nagios, Zabbix, Munin, ou d'autres solutions de monitoring. Ces outils permettent de surveiller les métriques du serveur Apache et de définir des alertes en fonction de seuils spécifiques. Par exemple, vous pouvez surveiller la charge CPU, l'utilisation de la mémoire, les requêtes par seconde, etc.\n- Cependant, ces mesures ne sont pas aussi robustes qu'un service de mitigation DDoS dédié. Les attaques DDoS peuvent être très sophistiquées et volumineuses, et un service de mitigation DDoS spécialisé est généralement mieux équipé pour faire face à de telles attaques. Il existe plusieurs solutions open source de mitigation DDoS que vous pouvez envisager d'utiliser pour renforcer la sécurité de votre infrastructure en ligne. Voici quelques-unes d'entre elles : 1. Fail2ban : Fail2ban est un outil de prévention des intrusions qui peut être utilisé pour surveiller les journaux de connexion et bloquer automatiquement les adresses IP qui génèrent un trafic malveillant ou excessif. Vous pouvez créer des règles personnalisées dans le fichier de configuration de Fail2ban pour surveiller les journaux de connexion et définir des actions à prendre en cas de détection d'activité malveillante. Par exemple, pour bloquer une adresse IP après un certain nombre de tentatives de connexion échouées, vous pouvez ajouter une règle dans le fichier de configuration de Fail2ban. 2. ModSecurity : ModSecurity est un pare-feu d'application web open source qui peut être utilisé pour détecter et bloquer les attaques DDoS au niveau de l'application web en utilisant des règles personnalisées. ModSecurity utilise des règles pour détecter et bloquer les attaques au niveau de l'application web. Vous pouvez personnaliser ces règles en fonction de vos besoins. Par exemple, vous pouvez configurer des règles pour détecter des requêtes HTTP suspectes ou des tentatives d'injection SQL. 3. Snort : Snort est un système de détection d'intrusion (IDS) open source qui peut être configuré pour surveiller le trafic réseau à la recherche de comportements malveillants, y compris les attaques DDoS. Snort est configuré en utilisant des règles définies dans des fichiers de configuration. Vous pouvez créer ou personnaliser des règles pour détecter des signatures d'attaques DDoS spécifiques ou d'autres types de comportements malveillants. 4. Nginx : Bien que Nginx soit principalement un serveur web, il peut également être utilisé pour atténuer les attaques DDoS en limitant le nombre de connexions par adresse IP ou en utilisant des modules de sécurité tels que et pour contrôler le trafic entrant. 5. HAProxy : HAProxy est un équilibreur de charge et un proxy TCP/HTTP qui peut être configuré pour atténuer les attaques DDoS en limitant le nombre de connexions par IP, en utilisant des listes de blocage, et en distribuant la charge sur plusieurs serveurs. Ces serveurs peuvent être configurés pour atténuer les attaques DDoS en limitant le nombre de connexions par adresse IP, en utilisant des listes de blocage, en configurant des seuils de débit, etc. Vous devrez modifier le fichier de configuration de Nginx ou HAProxy pour définir ces paramètres en fonction de vos besoins. 6. iptables : Vous pouvez utiliser les règles iptables sur un serveur Linux pour filtrer et bloquer le trafic indésirable en fonction de certaines conditions, telles que le nombre de connexions par seconde. Vous pouvez utiliser des règles iptables pour filtrer et bloquer le trafic en fonction de divers critères, tels que l'adresse IP source, le port de destination, etc. Par exemple, pour limiter le nombre de connexions par seconde à un port spécifique, vous pouvez ajouter une règle iptables appropriée. Crédit image : *//"},{"uuid":"586c5ab7-e960-465b-b499-83e0209890fe","slug":"quand-alt-ne-repond-plus-anatomie-d-un-bug-clavier-sous-gnome-wayland","title":"Quand Alt ne répond plus : anatomie d'un bug clavier sous GNOME/Wayland","category":"informatique","author":"cedric@abonnel.fr","cover":"cover.png","published":true,"published_at":"2026-05-25 07:27","created_at":"2026-05-12 13:35:47","updated_at":"2026-05-12 13:40:34","tags":[],"plain":"Comment une option de clavier a priori anodine peut désactiver Alt+Tab, Alt+F4 et tous les raccourcis Alt — et comment diagnostiquer ce genre de problème de façon méthodique.\r\n\r\nLe symptôme\r\n\r\nUn beau matin, les raccourcis clavier ne répondent plus. Pas tous : seulement ceux qui utilisent la touche Alt gauche.\r\nne change plus de fenêtre\r\nne ferme plus l'application active\r\nDans un terminal, les raccourcis (édition de ligne readline, raccourcis dans une applicaiton, navigation tmux…) restent sans effet\r\nLa touche AltGr (Alt droite), elle, fonctionne toujours : on peut taper , , , les caractères normalement obtenus via Alt droite sur un clavier français azerty\r\n\r\nPremier réflexe naturel : « Le clavier est cassé ». Sauf que la touche physique répond bien — elle ne déclenche simplement plus ce qu'on attend d'elle.\r\n\r\nComprendre ce qui se passe (sans connaître Linux par cœur)\r\n\r\nPour saisir le bug, il faut comprendre un détail qu'on ignore généralement : une touche physique du clavier et la fonction qu'elle déclenche sont deux choses différentes.\r\n\r\nQuand on appuie sur la touche marquée « Alt » à gauche du clavier, le système reçoit d'abord un signal matériel — un code brut, sous Linux. Ce signal est ensuite traduit en une fonction logique par une couche logicielle appelée xkb (X Keyboard Extension). C'est xkb qui décide que signifie « modificateur Alt gauche » (le fameux ).\r\n\r\nMais xkb peut être configuré pour faire autre chose de ce même signal. Et c'est exactement ce qui s'était passé ici. Une option xkb nommée indiquait à la couche de traduction :\r\n« Quand tu reçois , ne génère pas . Génère à la place. »\r\n\r\n, c'est le nom technique de AltGr : la touche modificatrice qui permet d'accéder au « troisième niveau » d'une touche (le au-dessus du , le au-dessus du , etc.). En clair, l'option transformait Alt gauche en un deuxième AltGr.\r\n\r\nConséquence : du point de vue des applications, personne n'appuie jamais sur Alt. Le gestionnaire de fenêtres (mutter, dans GNOME) attend un événement qui ne vient jamais ; le terminal attend un préfixe Alt qui ne vient jamais non plus ; AltGr fonctionne toujours parce que c'est lui le « vrai » Level 3 Shift sur azerty, par défaut.\r\n\r\nC'est l'analogie d'un interrupteur dont on aurait inversé deux fils dans le mur : l'interrupteur marche, mais il commande une autre lampe.\r\n\r\nLa cause exacte\r\n\r\nSous GNOME, les options xkb sont stockées dans la base de configuration dconf, accessible via la commande . La clé concernée :\r\n\r\n\r\n\r\nSur le système concerné, la commande retournait :\r\n\r\n\r\n\r\nD'où venait cette option ? Plusieurs hypothèses plausibles :\r\nSélectionnée par erreur dans Paramètres → Clavier → Options de disposition lors d'une configuration ancienne\r\nImportée depuis une ancienne machine via la synchronisation du profil\r\nActivée par un script ou un outil de personnalisation (GNOME Tweaks, dconf-editor)\r\nHéritée d'une habitude QWERTY où certains préfèrent un second AltGr à gauche\r\n\r\nSur un clavier français azerty, cette option n'a aucun intérêt pratique : AltGr est déjà sur la touche Alt droite, là où l'index droit peut l'atteindre naturellement. Ajouter un second AltGr sur la touche Alt gauche revient à perdre Alt sans gagner quoi que ce soit.\r\n\r\nLe diagnostic, étape par étape\r\n\r\nVoici la séquence de commandes pour confirmer le problème — utile à mémoriser parce qu'elle s'applique à tout symptôme similaire sur GNOME/Wayland.\r\n\r\n1. Confirmer l'environnement de session. Les commandes qui suivent supposent GNOME sous Wayland ; sous X11 ou KDE, le diagnostic diffère.\r\n\r\n\r\n\r\n2. Inspecter les options xkb. C'est le test diagnostic principal pour ce genre de panne.\r\n\r\n\r\n\r\nSi la sortie n'est pas (liste vide) ou une option clairement intentionnelle, on tient probablement le coupable. Les options les plus susceptibles de casser des raccourcis :\r\n— transforme Alt gauche en AltGr (le cas présent)\r\n— échange Alt et Super (la touche Windows)\r\n— échange Caps Lock et Échap (anodin pour Alt, mais peut surprendre)\r\n, — transforment Caps Lock en Ctrl\r\n\r\n3. Vérifier que les raccourcis WM sont bien définis. Cela permet d'éliminer une mauvaise piste : si ne marchait pas parce que le raccourci avait été effacé, ce serait visible ici.\r\n\r\n\r\n\r\nLa sortie attendue est ou équivalent. Si y figure, le gestionnaire de fenêtres est correctement configuré — la panne est ailleurs.\r\n\r\n4. Vérifier les options d'accessibilité. Les touches rémanentes (StickyKeys), touches lentes (SlowKeys) ou touches rebonds (BounceKeys) peuvent provoquer des comportements clavier surprenants quand elles sont activées par erreur.\r\n\r\n\r\n\r\nToutes les trois doivent normalement renvoyer sauf besoin spécifique.\r\n\r\n5. Tester au niveau matériel si rien d'autre n'explique. Si toutes les vérifications logicielles sont propres, on vérifie que la touche envoie bien un signal au noyau :\r\n\r\n\r\n\r\nL'outil demande de choisir un périphérique (le clavier), puis affiche en direct chaque événement reçu. En appuyant sur Alt gauche, une ligne contenant doit apparaître. Si rien ne s'affiche, le problème est matériel ou dans le pilote — ce qui sort du cadre de cette fiche.\r\n\r\nLa correction\r\n\r\nUne seule commande suffit dans le cas présent :\r\n\r\n\r\n\r\nL'effet est immédiat : mutter recharge la configuration clavier à la volée, sans qu'on ait besoin de fermer sa session. Si pour une raison ou une autre l'effet ne se voit pas (vieux processus qui a mis en cache la configuration, terminal récalcitrant…), une déconnexion/reconnexion de la session GNOME suffit à tout réinitialiser.\r\n\r\nPour vérifier que la valeur est bien revenue à vide :\r\n\r\n\r\n\r\nEt si on voulait vraiment garder l'option ?\r\n\r\nPour information, la commande inverse est :\r\n\r\n\r\n\r\nÀ réserver aux cas où l'on tape énormément de caractères de troisième niveau de la main gauche et où on accepte de perdre Alt+Tab.\r\n\r\nLa méthode à retenir, au-delà de ce bug précis\r\n\r\nL'intérêt de cette fiche n'est pas tant la solution — une ligne de commande — que la logique de diagnostic. Quand une touche cesse de fonctionner sous Linux, on remonte la chaîne des responsabilités, du plus haut niveau au plus bas :\r\n\r\n1. Le gestionnaire de fenêtres a-t-il bien le raccourci ? ()\r\n2. Les options d'accessibilité ne brouillent-elles pas la frappe ? ()\r\n3. La couche xkb traduit-elle correctement la touche en modificateur ? ()\r\n4. Le noyau reçoit-il un signal matériel quand on appuie ? ()\r\n\r\nÀ chaque étage, une commande, une sortie attendue, et un verdict clair. La grande force de Linux dans ce genre de situation, c'est que chaque couche est inspectable séparément. Le réflexe à acquérir n'est pas « ça ne marche pas, je redémarre » mais « ça ne marche pas, je trouve quelle couche ment ».\r\n\r\nChecklist mémo\r\n\r\nModificateur (Alt / Super / Ctrl) qui ne répond plus sous GNOME/Wayland :\r\n\r\n1. — surveiller , , , \r\n2. — confirmer que le raccourci existe\r\n3. (puis , )\r\n4. → choisir le clavier → presser la touche → doit afficher le bon code (, , etc.)\r\n\r\nQuatre commandes, quatre couches, et 95 % des bugs clavier de session graphique sont localisés."},{"uuid":"3f750a3a-fad0-4089-98e5-79c8b4287ea2","slug":"esp8266ex-restore-commandes-at","title":"Réinitialisation d'un ESP-01 : restauration du firmware AT","category":"Électronique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2020-12-13 14:35","created_at":"2020-12-13 14:35:26","updated_at":"2026-05-13 18:15:11","tags":[],"plain":"Introduction\r\n\r\nL'ESP-01 est un petit module Wi-Fi très répandu, construit autour du microcontrôleur ESP8266EX fabriqué par Espressif. À sa sortie d'usine, il est livré avec un firmware (le programme interne du circuit) qui permet de le piloter à l'aide de commandes textuelles simples appelées commandes AT. Ce firmware peut être effacé ou corrompu, par exemple après avoir téléversé un programme Arduino ou MicroPython sur le module. Ce document explique comment remettre l'ESP-01 dans son état d'origine afin de retrouver l'usage des commandes AT.\r\n\r\nQuelques notions préalables\r\n\r\nAvant de commencer, il est utile de clarifier quelques termes.\r\n\r\nUn firmware est le logiciel embarqué dans un composant électronique. Contrairement à un programme installé sur un ordinateur, il s'écrit directement dans la mémoire flash du microcontrôleur et s'exécute au démarrage du circuit.\r\n\r\nUn fichier binaire (extension ) est le résultat de la compilation d'un code source écrit dans un langage évolué, généralement le C. Une fois compilé, le fichier ne contient plus que des instructions destinées au processeur, illisibles directement par un humain. Il n'est pas nécessaire de les modifier : ils se téléversent tels quels dans le microcontrôleur.\r\n\r\nLa mémoire flash de l'ESP8266EX est divisée en zones. Chaque binaire doit être écrit à une adresse mémoire précise, sans quoi le module ne saura pas où trouver le code à exécuter au démarrage. Sur l'ESP-01, la mémoire est généralement organisée en 512k + 512k, ce qui signifie que la flash totale de 8 Mbit (1 Mo) est partagée en deux zones de 512 ko : l'une pour le programme actif, l'autre réservée aux mises à jour à distance (OTA).\r\n\r\nÉtape 1 — Télécharger le firmware AT officiel\r\n\r\nLe firmware est mis à disposition par Espressif sur son site officiel :\r\n\r\nhttps://www.espressif.com/en/products/socs/esp8266ex/resources\r\n\r\n\r\n\r\nDans la section , choisir la version ou plus récente. L'archive ZIP téléchargée contient plusieurs binaires destinés à l'ESP8266EX.\r\n\r\nQuatre fichiers sont particulièrement importants :\r\nbootv1.7.bin — le chargeur de démarrage (bootloader), premier programme exécuté à la mise sous tension ;\r\nuser1.1024.new.2.bin — le programme AT proprement dit, qui interprète les commandes envoyées par la liaison série ;\r\nespinitdatadefaultv08.bin — les données d'initialisation (paramètres radio, calibration) ;\r\nblank.bin — un fichier rempli de zéros, utilisé pour réinitialiser certaines zones de la flash.\r\n\r\nUne copie de ces binaires pour la configuration ESP8266EX 512k+512k est disponible ici :\r\n\r\nhttps://gitlab.com/cedricAbonnel/esp/-/tree/master/esp01/esp8266exatbin\r\n\r\nÉtape 2 — Identifier le port série de l'ESP-01\r\n\r\nL'ESP-01 ne se connecte pas directement à un port USB : il faut passer par un adaptateur USB-série (souvent un module FTDI ou CH340). Une fois branché, l'ordinateur expose ce périphérique sous la forme d'un fichier dans .\r\n\r\nPour repérer ce fichier, exécuter dans un terminal :\r\n\r\n\r\n\r\nParmi les entrées affichées, celle qui nous intéresse est généralement /dev/ttyUSB0 (parfois si plusieurs adaptateurs sont branchés, ou selon le modèle).\r\n\r\nUne astuce utile : exécuter la commande une première fois sans l'adaptateur, puis une seconde fois après l'avoir branché. La nouvelle entrée qui apparaît est celle du module.\r\n\r\nÉtape 3 — Préparer le téléversement avec esptool.py\r\n\r\nesptool.py est l'outil officiel d'Espressif, écrit en Python, qui permet de communiquer avec la mémoire flash de l'ESP8266EX. S'il n'est pas déjà installé, on peut l'obtenir via :\r\n\r\n\r\n\r\nAvant le téléversement, l'ESP-01 doit être placé en mode programmation : la broche GPIO0 doit être reliée à la masse (GND) au moment de la mise sous tension. Sans cette manipulation, le module démarre normalement et refuse l'écriture en flash.\r\n\r\nÉtape 4 — Téléverser les binaires\r\n\r\nLa commande suivante écrit les quatre binaires aux bonnes adresses mémoire :\r\n\r\n\r\n\r\nDécortiquons les options :\r\nindique le port série identifié à l'étape précédente ;\r\nest la sous-commande d'écriture en mémoire flash ;\r\nprécise le mode d'accès à la flash (Quad I/O, le plus rapide, supporté par l'ESP-01).\r\n\r\nChaque valeur hexadécimale (, , etc.) qui précède un nom de fichier indique l'adresse mémoire à laquelle l'écriture doit commencer. La table de correspondance officielle pour une flash de 8 Mbit organisée en 512k+512k est la suivante :\r\n\r\n\r\n\r\nL'adresse correspond aux paramètres système, et à la zone RF système : les remplir de zéros () garantit un démarrage propre.\r\n\r\nSi tout se passe bien, esptool affiche la progression du téléversement et confirme la réussite de l'opération. C'est le moment d'apprécier le travail accompli :\r\n\r\n\r\n\r\nÉtape 5 — Vérifier le bon fonctionnement\r\n\r\nAprès le téléversement, retirer la connexion entre GPIO0 et la masse, puis redémarrer le module. Ouvrir une console série (par exemple avec , ou la console série de l'IDE Arduino) à la vitesse 115200 bauds :\r\n\r\n\r\n\r\nTaper la commande suivie d'un retour à la ligne. Le module doit répondre . La commande retourne la version du firmware installé, ce qui permet de confirmer la réussite de la réinitialisation.\r\n\r\n\r\n\r\nEn cas de problème\r\n\r\nQuelques pistes si la procédure échoue :\r\nAucune réponse d'esptool : vérifier que GPIO0 est bien reliée à GND au moment de l'alimentation, et que l'adaptateur USB-série fournit assez de courant (l'ESP-01 demande des pics jusqu'à 300 mA).\r\nRéponses illisibles dans la console série : la vitesse par défaut a pu changer selon la version du firmware. Essayer 9600, 74880 ou 115200 bauds.\r\nErreur de checksum ou de mode flash** : essayer à la place de , certains clones d'ESP-01 ne supportent pas le mode Quad I/O.\r\n\r\nConclusion\r\n\r\nCette procédure restaure un ESP-01 dans son état d'origine, prêt à recevoir des commandes AT depuis n'importe quel système capable de dialoguer en série : ordinateur, Arduino, Raspberry Pi, etc. Elle constitue également un bon exercice d'introduction aux notions de firmware, de mémoire flash et de programmation bas-niveau des microcontrôleurs."},{"uuid":"055737c8-5d2f-4cac-b8cd-13bfc0a2b193","slug":"20231229-ssh-brutforce","title":"Attaques Cryptographiques Sur Les Serveurs Linux : Mineurs Malveillants et Vulnérabilités SSH","category":"Journal geek","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-12-29 18:58:21","created_at":"2023-12-29 18:58:21","updated_at":"2023-12-29 18:58:21","tags":[],"plain":"Une vague de cyberattaques cible spécifiquement les serveurs Linux en les intégrant de force dans des réseaux de minage de cryptomonnaies et en propageant simultanément des attaques par déni de service distribué. Selon le rapport récent du AhnLab Security Emergency Response Center (ASEC), des cybercriminels exploitent des failles de sécurité en devinant les identifiants SSH à travers des attaques par force brute, communément appelées attaques par dictionnaire. Ces intrusions permettent l'installation de scanners de ports et de logiciels malveillants variés, dont DDOSbot et CoinMiner. Après installation, ces programmes malveillants scrutent le réseau à la recherche de nouveaux serveurs à compromettre, amplifiant ainsi la portée de l'attaque. Parallèlement, les informations d'accès obtenues (IP et identifiants) sont souvent vendues sur le dark web, augmentant le risque de violations futures. L'ASEC souligne que l'outil d'attaque semble provenir d'un collectif nommé PRG old Team, bien que modifié pour ces opérations spécifiques. Ces attaques ciblent principalement des systèmes exposant le port 22, le port par défaut pour les connexions SSH, exploitant ainsi les faiblesses des politiques de mots de passe et de sécurité. En réponse, il est vivement recommandé aux administrateurs et utilisateurs de renforcer les mots de passe, d'assurer une mise à jour constante des systèmes, et si possible, de déplacer le service SSH vers un port moins conventionnel que le port 22. Ces mesures préventives sont d'autant plus cruciales à la suite des récentes attaques de Terrapin (CVE-2023-48795), visant spécifiquement le protocole SSH à travers une technique de troncature de préfixe. Face à la menace persistante des attaques de Terrapin, une mobilisation des chercheurs a mené à contacter près de 30 fournisseurs de services SSH. Ils signalent que le processus de mise à jour et de correction des vulnérabilités peut être long, mettant en lumière la nécessité d'une vigilance et d'une adaptation continues face aux évolutions des menaces cybernétiques. Source : https:www.linux-magazine.com/Online/News/Linux-Machines-with-Poorly-Secured-SSH-Servers-are-Under-Attack // Configurer une alerte par mail\nPour configurer un serveur afin qu'il envoie un email chaque fois qu'une connexion SSH se produit sur un compte particulier, vous pouvez utiliser les scripts de shell et la fonctionnalité de notification par e-mail du système. Voici une méthode générale que vous pourriez suivre, en supposant que vous avez déjà une configuration de serveur de messagerie ou un service SMTP que vous pouvez utiliser pour envoyer des e-mails: 1. Configurer le Serveur de Messagerie: Assurez-vous que votre système est capable d'envoyer des emails. Cela peut être fait via , , ou un client SMTP comme ou relié à un service à un fournisseur SMTP. 2. Créer un Script de Notification: Créez un script shell ( par exemple) qui envoie un email lorsque quelqu'un se connecte via SSH. Voici un exemple de ce à quoi le script pourrait ressembler: 3. Modifier le Fichier de Configuration SSH: Éditez le fichier de configuration SSH situé normalement dans . Ajoutez ou modifiez la ligne pour l'utilisateur spécifique ou globalement pour exécuter le script à chaque connexion. Par exemple: 4. Rendre le Script Exécutable et Redémarrer le SSHD: Assurez-vous que le script est exécutable : . Redémarrez le service SSH pour appliquer les modifications : ou selon votre système. 5. Testez la Configuration: Testez en vous connectant via SSH pour voir si vous recevez un email. Notes importantes\nAssurez-vous que le script et la configuration ne nuisent pas à la capacité de se connecter en SSH. Testez cela soigneusement.\nSoyez conscient de la sécurité et des implications de la confidentialité de l'envoi d'informations par e-mail.\nCette méthode envoie une notification pour chaque connexion SSH, pas seulement pour les connexions réussies. Vous pouvez affiner le script pour répondre à des besoins plus spécifiques. C'est une approche de base."},{"uuid":"7d8fcf3f-b9ef-4bfa-9c3f-5c55c5d63cc9","slug":"fail2ban","title":"Fail2ban contre les attaques brutes-force","category":"Informatique","author":"cedric@abonnel.fr","cover":"","published":true,"published_at":"2023-02-10 22:48:50","created_at":"2023-02-10 22:48:50","updated_at":"2023-02-10 22:48:50","tags":[],"plain":"Si vous être propriétaire d’un serveur quelconque connecté à Internet, vous n’êtes pas sans savoir qu’il est exposé à de nombreuses attaques. Parmi elles, le brute-force. Cette attaque consiste à trouver votre mot de passe SSH en les essayant tous les uns à la suite des autres ou en utilisant des dictionnaires (ce sont des listes contenant les mots de passe les plus utilisés comme admin, 123456, etc…). Ces attaques sont généralement menées par des robots qui visent des dizaines de serveurs en même temps. Il se connectent sans cesse à votre serveur grâce à votre port SSH et essayent beaucoup de combinaisons de mot de passe jusqu’à trouver le bon (généralement, une tentative est menée toutes les 2 à 3 secondes). Enfin, fois que les pirates ont accès à un serveur, ils peuvent par exemple s’en approprier pour exécuter d’autres attaques brute-force contre d’autres serveurs, ou bien utiliser votre serveur pour spammer des gens (par mail, par exemple). De plus, le responsable, si il y a une plainte car des attaques ont été menées depuis votre serveur, c’est vous (à moins que vous ne démontriez que vous avez vous-même été victime d’attaque et que vous n’avez plus le contrôle sur votre serveur, d’où l’importance de conserver vos logs). Il existe beaucoup de solutions, celle que je vais vous présenter aujourd’hui, c’est Fail2ban (d’autres méthodes seront proposés dans de futurs articles). Fail2ban est un programme qui analyse vos logs système afin de détecter les attaques brute-force et ainsi bloquer l’adresse IP attaquante. Vous pouvez consulter la manuel en anglais Fail2Ban Configuration Installer Fail2ban\nLa commande suivante permet d'installer fail2ban avec les systèmes Debian et dérivées : Configurer fail2ban\nÉditons le fichier Liste des fichiers et dossier de configuration par défaut de fail2ban sous Raspbian 10 : Il y a deux fichiers principaux de configuration pour fail2ban : et . D'autres fichiers complémentaires peuvent être dans et est le fichier de configuration pour le paramétrage du démon fail2ban. Il s'agit des paramètres loglevel, fichier log, port, socket et pid. est le fichier des recettes avec des filtres et des actions. Il permet de définir les règles de bannissements. Les filtres qui spécifient les règles de détections d'échec d'identification sont à ajouter au dossier filter.d Les actions qui définissent les règles de bannissement ou non des adresses IP sont à ajouter au dossier filter.d Il est vivement conseillé d'apporter des modifications de configuration dans des fichiers nommés fail2ban.local et jail.local. Ou ajoutez des fichiers aux dossiers et . L'ordre de chargement des fichiers de configuration est le suivant :\n1. jail.conf\n1. jail.d/.conf (dans l'ordre alphabétique)\n1. jail.local\n1. jail.d/.\n1. local (dans l'ordre alphabétique). Modifications apportées à fail2ban\n sudo nano /etc/fail2ban/jail.local Pour ajouter les options suivantes : \nAvec ignoreip, les IPs qui seront spécifiées sur cette ligne ne seront par bloquées. Je vous conseille de laisser l’adresse actuelle (qui doit être 127.0.0.1/8), d’y ajouter un espace afin de la séparer et d’y mettre votre adresse (ainsi que celles de toutes les personnes qui sont susceptibles d’accéder à votre serveur sans pour autant l’attaquer) bantime est le nombre de secondes qu’une adresse va être bloquée si elle attaque votre serveur. 10 minutes est très peu suffisant, un rapide calcul vous permet d’en être sûr. Admettons que vous êtes attaqué par 20 machines différentes, toutes à 1 mot de passe toutes les 2 secondes. Vous avez donc 10 tentatives par seconde. Si fail2ban bloque au bout de 6 tentatives par IP, 120 mots de passe sont essayés toutes les 10 minutes, soit 16 800 par jour. Donc, 10 minutes ne représentent pas grand chose face au nombre de machines qui vous attaquent. maxretry est le nombre de tentatives auxquelles a le droit un utilisateur avant de se faire bloquer. destemail est l’adresse mail à laquelle seront envoyés les mails de notification (quand une adresse sera bloquée) action permet d'effectuer des actions.\\\\\n permet de bannir et d'envoyer un mail avec le pays ou l’email d’abuse concernant l’IP qui a été bannie.\\\\\n ajoute les lignes de logs ou apparaissent l’IP correspondante Ajouter les règles spécifiques N'oubliez pas de redémarrer le service"}]