Une mauvaise configuration a provoqué une défaillance qui a touché la majorité des utilisateurs de Cloudflare, entraînant une disparition de plus de la moitié des journaux de suivi normalement transmis aux clients.
Cloudflare, dans un article de blog publié récemment, informe ses clients qu’une défaillance logicielle a causé la perte de près de 55 % des journaux d’activités qui auraient dû leur être envoyés sur une durée de trois heures et demie le 14 novembre. L’entreprise précise que chaque segment de son réseau mondial de services génère des logs d’événements contenant des métadonnées détaillées relatives à ses activités. Par exemple, chaque requête envoyée au réseau de distribution de contenu (CDN) du fournisseur génère un log. L’entreprise met ces journaux à la disposition de ses clients, qui peuvent les exploiter de différentes façons, notamment pour assurer la conformité, l’observabilité et la gestion des comptes. Dans une journée ordinaire, Cloudflare envoie environ 4,5 trillions de ces journaux à ses clients. Le dysfonctionnement est survenu suite à une modification d’un système appelé Logpush, qui recueille les journaux individuels du réseau de serveurs de Cloudflare par lots et les achemine vers les clients. Même si ces derniers ont la possibilité de recevoir leurs journaux directement de chaque serveur, la plupart optent pour ne pas le faire.
« Pour simplifier, imaginez que le service postal sonne à votre porte pour chaque lettre au lieu d’une seule fois pour un ensemble de lettres », compare Cloudflare dans son article. « Avec des milliers ou des millions de lettres par seconde, le nombre de transactions distinctes deviendrait rapidement insupportable. Lorsque l’entreprise a décidé d’intégrer un autre ensemble de données à Logpush, elle a dû ajouter une nouvelle configuration à un composant appelé Logfwdr pour indiquer au système quels journaux de clients devaient être acheminés vers le nouveau flux. Un bug du système a transmis une configuration vide à Logfwdr, lui indiquant qu’aucun client n’avait de journaux à transférer. Selon l’entreprise, ce problème a été rapidement détecté et la modification a été annulée en moins de cinq minutes.
Une simple erreur de configuration de 5 minutes
Cependant, un dispositif de sécurité mis en place pour pallier ce type de problème s’est retourné contre eux. Quand la configuration de Logfwdr n’était pas disponible, le dispositif de sécurité transmettait des journaux à tous les clients. Dans ce cas précis, cette anomalie de cinq minutes a provoqué une augmentation massive du nombre de journaux à envoyer, saturant le système de mise en mémoire tampon, appelé Buftee, et le rendant hors service. Le rôle de Buftee est de fournir des tampons pour chaque tâche Logpush afin que l’échec du traitement de la tâche d’un client n’affecte pas le déroulement des autres. Il disposait de mesures de protection pour éviter ce genre de débordement, mais elles n’étaient pas configurées, explique Cloudflare.
« Une simple erreur de configuration temporaire de cinq minutes a engendré une surcharge considérable qui nous a pris plusieurs heures à résoudre et à surmonter », mentionne le blog. « Comme nos dispositifs de secours n’étaient pas correctement configurés, les systèmes sous-jacents ont été tellement surchargés que nous ne pouvions plus interagir normalement avec eux. Une réinitialisation et un redémarrage complet ont été nécessaires ». Pour prévenir la répétition de tels problèmes, « nous mettons en place des alertes pour nous assurer de ne pas manquer ces erreurs de configuration spécifiques, et nous travaillons également à corriger le bug spécifique et à effectuer les tests associés qui ont déclenché cet incident. »
0 commentaires