all-in-one privacy solution":["Proton Unlimited est une solution tout-en-un respectueuse de la vie privée"],"Black Friday":["Black Friday"],"No ads. Privacy by default.":["Aucune publicité, le respect de la vie privée comme règle absolue"],"People before profits":["Les individus passent avant les profits"],"Security through transparency":["Notre engagement de transparence"],"The best Proton Mail ${ BLACK_FRIDAY } deals":["Les meilleures offres ${ BLACK_FRIDAY } de Proton Mail"],"The world’s only community- supported email service":[" La seule messagerie au monde soutenue par la communauté"]},"specialoffer:limited":{"${ hours } hour":["${ hours } heure","${ hours } heures"],"${ hoursLeft }, ${ minutesLeft } and ${ secondsLeft } left":["Temps restant : ${ hoursLeft }, ${ minutesLeft }, ${ secondsLeft }"],"${ minutes } minute":["${ minutes } minute","${ minutes } minutes"],"${ seconds } second":["${ seconds } seconde","${ seconds } secondes"],"Limited time offer":["Offre à durée limitée"]},"specialoffer:listitem":{"Create multiple addresses":["Créez plusieurs adresses"],"Hide-my-email aliases":["Alias « hide-my-email »"],"Quickly unsubscribe from newsletters":["Désabonnez-vous rapidement des newsletters"],"Use your own domain name":["Utilisez votre propre nom de domaine"]},"specialoffer:logos":{"As featured in":["Ils en parlent"]},"specialoffer:metadescription":{"Get an encrypted email that protects your privacy":["Choisissez une messagerie électronique chiffrée qui protège votre vie privée"]},"specialoffer:metatitle":{"Proton Mail Black Friday Sale - Up to 40% off":["Offre Proton Mail Black Friday - Jusqu'à 40 % de réduction"]},"specialoffer:newmetadescription":{"Get up to 40% off Proton Mail subscriptions this Black Friday. Find great deals on our secure end-to-end encrypted email plans.":["Obtenez jusqu'à 40 % de réduction sur les abonnements Proton Mail à l'occasion du Black Friday. Profitez d'offres exceptionnelles sur nos abonnements de messagerie électronique sécurisée et chiffrée de bout en bout."]},"specialoffer:newmetatitle":{"Proton Mail Black Friday sale | Up to 40% off secure email":["Offre Black Friday Proton Mail | Jusqu'à 40 % de réduction"]},"specialoffer:note":{"* Billed at ${ TOTAL_SUM } for the first year":["* Facturé ${ TOTAL_SUM } pour la première année"],"*Billed at ${ TOTAL_SUM } for the first 2 years":["*Facturé ${ TOTAL_SUM } pour les 2 premières années"],"30-day money-back guarantee":["Garantie satisfait ou remboursé pendant 30 jours"],"Billed at ${ TOTAL_SUM } for the first 2 years":["Facturé ${ TOTAL_SUM } pour les 2 premières années"],"Billed at ${ TOTAL_SUM } for the first year":["Facturé ${ TOTAL_SUM } pour la première année"],"You save ${ SAVE_SUM }":["Vous économisez ${ SAVE_SUM }"]},"specialoffer:off":{"${ PERCENT_OFF } off":["-${ PERCENT_OFF }"]},"specialoffer:testimonial":{"I love my ProtonMail":["J'adore mon ProtonMail"],"My favorite email service":["Ma messagerie électronique préférée"],"Thanks Proton for keeping us all safe in the complicated internet universe.":["Merci Proton de nous garder en sécurité dans l'univers complexe d'internet."],"You get what you pay for. In the case of big tech, if you pay nothing, you get used. I quit using Gmail and switched to @ProtonMail":["Vous avez ce pour quoi vous payez. Avec les Big Tech, si vous ne payez rien, vous êtes utilisé. J'ai arrêté d'utiliser Gmail et je suis passée @ProtonMail"]},"specialoffer:time":{"Days":["Jours"],"Hours":["Heures"],"Min":["Min"]},"specialoffer:title":{"And much more":["Et aussi"],"Safe from trackers":["À l'abri des traqueurs"],"Stay organized":["Restez organisé(e)"],"Black Friday email deals":["Offres Black Friday pour la messagerie électronique"],"Don’t just take our word for it":["Ce qu'en disent nos utilisateurs"],"Make your inbox yours":["Appropriez-vous totalement votre boîte de réception"],"Our story":["Notre histoire"],"Transfer your data from Google in one click":["Transférez vos données depuis Google en un clic"]},"specialoffer:tooltip":{"Access blocked content and browse privately. Includes ${ TOTAL_VPN_SERVERS }+ servers in ${ TOTAL_VPN_COUNTRIES }+ countries, connect up to 10 devices, access worldwide streaming services, malware and ad-blocker, and more.":["Accédez aux contenus bloqués et naviguez en toute confidentialité. Comprend plus de ${ TOTAL_VPN_SERVERS } serveurs dans plus de ${ TOTAL_VPN_COUNTRIES } pays, la possibilité de connecter jusqu'à 10 appareils, l'accès aux services de streaming dans le monde entier, un bloqueur de logiciels malveillants et de publicités et bien plus encore."],"Easily share your calendar with your family, friends or colleagues, and view external calendars.":["Partagez facilement votre calendrier avec votre famille, vos amis ou collègues et consultez des calendriers externes."],"Includes support for 1 custom email domain, 10 email addresses, 10 hide-my-email aliases, calendar sharing, and more.":["Comprend la prise en charge de 1 domaine de messagerie personnalisé, de 10 adresses e-mail, de 10 alias « hide-my-email », du partage de calendriers et bien d'autres fonctionnalités."],"Includes support for 3 custom email domains, 15 email addresses, unlimited hide-my-email aliases, calendar sharing, and more.":["Comprend la prise en charge de 3 domaines de messagerie personnalisés, de 15 adresses e-mail, d'un nombre illimité d'alias « hide-my-email », du partage de calendriers et bien d'autres fonctionnalités."],"Manage up to 25 calendars, mobile apps, secured with end-to-end encryption, 1-click calendar import from Google, and more.":["Jusqu'à 25 calendriers, des applications mobiles, la sécurité avec le chiffrement de bout en bout, l'importation de calendrier en un clic depuis Google..."]},"Status banner":{"Learn more":["En savoir plus"],"Please note that at the moment we are experiencing issues with the ${ issues[0] } service.":["Nous rencontrons actuellement des problèmes avec le service ${ issues[0] }."],"We are experiencing issues with one or more services at the moment.":["Nous rencontrons actuellement des problèmes avec un ou plusieurs services."]},"Status Banner":{"At the moment we are experiencing issues with the Proton VPN service":["Nous rencontrons actuellement des problèmes avec le service Proton VPN."],"Learn more":["En savoir plus"]},"steps":{"Step":["Étape"]},"suggestions":{"Suggestions":["Suggestions"]},"Support":{"Sub category":["Sous-catégorie","Sous-catégories"]},"Support article":{"${ readingTime } min":["${ readingTime } minute","${ readingTime } minutes"],"Category":["Catégorie","Catégories"],"Didn’t find what you were looking for?":["Vous ne trouvez pas ce que vous cherchez ?"],"General contact":["Contact - Général"],"Get help":["Obtenir de l'aide"],"Legal contact":["Contact - Juridique"],"Media contact":["Contact - Média"],"Partnerships contact":["Contact - Partenariats"],"Reading":["Lecture"]},"Support Form Platform option":{"VPN for Android TV":["VPN pour Android TV"],"VPN for Apple TV":["VPN pour Apple TV"],"VPN for Chromebook":["VPN pour Chromebook"]},"Support troubleshooting":{"App version":["Version de l'application"],"Browser":["Navigateur"],"Check if this helps":["Vérifiez si cela vous aide."],"Choose a product":["Choisir un produit"],"Did this solve your issue?":["Cela a-t-il résolu votre problème ?"],"Faster assistance is just a few clicks away":["Quelques clics suffisent pour obtenir une assistance plus rapide"],"How can we help?":["Comment pouvons-nous vous aider ?"],"No, contact support":["Non, contacter le support"],"Please fill out one field after another":["Veuillez remplir les champs l'un après l'autre"],"Please make your selections":["Veuillez faire vos sélections"],"Proton account":["Compte Proton"],"Proton for Business":["Proton for Business"],"Thank you for your feedback":["Nous vous remercions pour votre commentaire."],"What can we help with?":["En quoi pouvons-nous vous aider ?"],"Yes":["Oui"]},"support_modal_search_query":{"Search query":["Recherche"]},"support_search_button":{"Search":["Rechercher"]},"support_search_i_am_looking_for":{"I'm looking for":["Je recherche des informations sur..."]},"SupportForm":{"For a faster resolution, please report the issue from the Bridge app: Help > Report a problem.":["Pour que le problème soit résolu plus rapidement, vous pouvez le signaler à partir de l'application Bridge : Aide > Signaler un bug."],"Information":["Informations"]},"SupportForm:option":{"Account Security":["Sécurité du compte"],"Contacts":["Contacts"],"Custom email domain":["Domaine de messagerie personnalisé"],"Email delivery and Spam":["Distribution des messages et indésirables/spam"],"Encryption":["Chiffrement"],"Login and password":["Identifiant et mot de passe"],"Merge aliases and accounts":["Fusion des alias et des comptes"],"Migrate to Proton":["Migration vers Proton"],"Notifications":["Notifications"],"Other":["Autre"],"Plans and billing":["Abonnements et facturation"],"Proton for Business":["Proton for Business"],"Sign up":["Inscription"],"Storage":["Espace de stockage"],"Users, addresses, and identities":["Utilisateurs, adresses et identités"]},"SupportForm:optionIntro":{"Select a topic":["Choisissez un sujet"]},"Testimonial":{"Awards":["Récompenses"],"Customers":["Clients"],"Featured":["Ils en parlent"],"Go to testimonial source":["Accéder aux commentaires"],"Open source of award":["Voir l'information originale concernant ce prix"],"Open source of quote":["Voir l'information originale concernant cette citation"],"Reviews":["Avis"],"Videos":["Vidéos"],"Watch on TikTok":["Regarder sur TikTok"],"Watch on YouTube":["Regarder sur YouTube"]},"TestimonialCategory":{"Awards":["Récompenses"],"Customers":["Clients"],"Featured":["Ils en parlent"],"Media":["Média"],"Reviews":["Avis"],"Videos":["Des vidéos"]},"Text":{"If you need help, check out our ${ supportLink }.":["Si vous avez besoin d'aide, consultez notre ${ supportLink }."],"The page you’re looking for might have been removed, or it could be an\nold link.":["La page recherchée a peut-être été retirée ou le lien utilisé n'est plus valide."],"Your question may already have an answer in our knowledge base:":["La réponse à votre question se trouve peut-être déjà dans notre base de connaissances :"]},"Title":{"On this page":["Sur cette page"],"Related articles":["Articles similaires"],"Share ${ thisPage }":["Partagez ${ thisPage }"],"Switch to Proton Pass - Contact us":["Passez à Proton Pass - Contactez-nous"],"Thank you!":["Merci !"],"this page":["cette page"]},"tooltip_vpn":{"Access blocked content and browse privately. Includes ${ TOTAL_VPN_SERVERS }+ servers in ${ TOTAL_VPN_COUNTRIES }+ countries, highest VPN speed, ${ TOTAL_VPN_CONNECTIONS } VPN connections, worldwide streaming services, malware and ad-blocker, and more.":["Accédez aux contenus bloqués et naviguez en toute confidentialité. Comprend plus de ${ TOTAL_VPN_SERVERS } serveurs dans plus de ${ TOTAL_VPN_COUNTRIES } pays, la vitesse VPN la plus élevée, ${ TOTAL_VPN_CONNECTIONS } connexions VPN, l'accès aux services de streaming dans le monde entier, un bloqueur de logiciels malveillants et de publicités et bien plus encore."]},"vpn_servers":{"Get Proton VPN Plus":["Je choisis Proton VPN Plus"]},"wallet_signup_2024:Action":{"Get Proton Wallet":["Obtenir Proton Wallet"]},"wallet_signup_2024:Homepage hero product link title":{"Wallet":["Wallet"]},"wallet_signup_2024:Homepage product navigation bar":{"Wallet":["Wallet"]},"wallet_signup_2024:menu item":{"Bitcoin guide":["Guide de Bitcoin"],"Proton Wallet news":["Actualités Proton Wallet"],"Proton Wallet support":["Support Proton Wallet"]},"wallet_signup_2024:Pricing":{"Includes everything in Proton Unlimited and":["Comprend tout ce qui est inclus dans Proton Unlimited et"],"Limited availability":["Disponibilité limitée"],"The easiest way to securely own, send, and receive Bitcoin":["Le moyen le plus simple et sécurisé pour détenir et échanger des bitcoins"]},"wallet_signup_2024:ProductRange":{"Discover Proton Wallet":["Découvrez Proton Wallet"],"Store and transact Bitcoin privately with an encrypted self-custody wallet.":["Conservez et échangez des bitcoins en toute sécurité grâce à notre portefeuille chiffré en auto-gestion."]},"wallet_signup_2024:wallet bitcoin":{"Learn about Bitcoin, the Internet's value network.":["Découvrez le monde du Bitcoin, le réseau de valeur sur Internet."]},"wallet_signup_2024:wallet overview":{"Ensure you're always in control of your Bitcoin.":["Restez maître de vos bitcoins en toutes circonstances."]},"wallet_signup_2024:wallet security":{"The encrypted, open-source wallet that puts you in control.":["Contrôlez vos bitcoins de A à Z avec notre portefeuille chiffré open source."]}}},"base":"blog","cdn":{"enabledForAssets":true,"enabledForImages":true,"url":"https://pmecdn.protonweb.com/"},"unleashApi":"https://account.proton.me/api"};
window.frameworkContext = frameworkContext;
const context = frameworkContext.base === '' ? '' : `${frameworkContext.base}/`;
window.__toAssetUrl = (filename) => {
if (frameworkContext.cdn !== undefined && frameworkContext.cdn.enabledForAssets === true) {
return `${frameworkContext.cdn.url}${context}${filename}`;
} else {
return `/${context}${filename}`;
}
};
})();
Analyse de la perturbation de service de Proton en juillet | Proton
À partir du lundi 11 juillet et jusqu’au mercredi 13 juillet, Proton Mail, Proton VPN(nouvelle fenêtre) et Proton Drive ont connu des perturbations de service intermittentes, dont certaines ont touché certains utilisateurs pendant une heure ou plus. Ceci a résulté d’une erreur inattendue, et non d’une attaque ou d’une autre activité malveillante.
Cela ne respecte pas les normes que nous nous imposons, ni ce que la communauté Proton attend de nous. Nous vous prions de nous excuser, et nous avons pris des mesures pour rendre ces types d’interruptions beaucoup moins probables à l’avenir. Ci-dessous, nous expliquons ce qui s’est passé, comment nous avons stabilisé la situation et ce que nous avons fait pour prévenir de futures perturbations.
Arrière-plan
Au cours des derniers mois, notre équipe de base de données a mis à jour nos bases de données relationnelles pour les rendre plus fiables, plus rapides et plus évolutives. Nous avons largement testé ces mises à jour et, jusqu’à présent, nous en avons effectuées des dizaines sans incident.
Nous avons terminé la dernière mise à jour le matin du dimanche 10 juillet. Nous avons réservé cette base de données particulière pour la fin car elle est la source ultime de vérité pour les informations du compte et de l’adresse e-mail des membres de la communauté. Elle est aussi très, très sollicitée. Nous avions identifié le taux d’utilisation élevé de cette base de données comme un risque. Nous avions déjà plusieurs initiatives en cours pour réduire sa charge de travail et améliorer ses performances afin de rendre l’ensemble du système plus résilient et évolutif.
Nous avons décidé de mettre à jour la base de données avant que ces initiatives ne soient terminées, car les tests approfondis et notre expérience des mises à jour précédentes indiquaient que la nouvelle base de données serait plus rapide. Dans le cadre de cette mise à jour, nous avons également déplacé la base de données vers un serveur plus récent et plus rapide. Nous pensions que cette combinaison de nouveau logiciel et matériel améliorerait les performances et nous donnerait une marge supplémentaire pour appliquer en toute sécurité nos optimisations de base de données les plus invasives.
L’incident
Tous les services et indicateurs étaient normaux jusqu’au lundi 11 juillet, à 14h35 UTC. À mesure que le trafic augmentait, les nouvelles connexions à la nouvelle base de données ont commencé à échouer, activant des mesures de protection automatiques qui empêchaient de nouvelles connexions. Nous avons travaillé pour comprendre ce qui n’allait pas et réduire la charge de la base de données en désactivant des services optionnels ou de faible priorité, comme les notifications de message.
En général, si un problème comme celui-ci se présente, nous annulerions simplement la mise à jour et reviendrions à la version précédente du logiciel. Malheureusement, cette mise à jour particulière était irréversible car elle impliquait de changer les formats de données de la base de données, et nous avions déjà enregistré plus de 24 heures de changements avec la nouvelle version. Cela signifiait que nous étions pressés de réduire les symptômes que nous avons observés, de trouver la cause profonde et de trouver un moyen permanent d’avancer.
Nous savons maintenant que le logiciel de base de données était plus rapide après la mise à jour, mais les nouvelles connexions à cette base de données ne l’étaient pas. Une partie de cette latence de connexion supplémentaire était inhérente au nouveau code de base de données, mais chaque nouvelle connexion avait également un aller-retour de communication réseau supplémentaire, augmentant la pression sur une pile réseau déjà chargée.
Cette communication aller-retour supplémentaire a été causée par un nouveau paramètre d’authentification introduit dans un patch récent du logiciel de base de données. Cela peut ne pas sembler beaucoup, mais cette base de données traite tellement de connexions que les deux paquets supplémentaires ajoutés par le nouveau processus d’authentification et la latence de connexion inhérente étaient suffisants pour submerger le serveur aux niveaux réseau MySQL et noyau.
Notre réponse
À la fin de lundi, nous n’avions pas découvert ces paquets supplémentaires, donc tout en continuant d’enquêter, nous avons également travaillé pour réduire le taux de connexion de la base de données. Les mesures que nous avons prises comprenaient :
Déplacer davantage de charges de travail en lecture seule loin du serveur de base de données en écriture
Mise en cache supplémentaire d’objets et de requêtes courantes lorsque cela est possible
Différer les e-mails de faible priorité pour lisser les pics de livraison
Nous avons confirmé le problème d’authentification le mercredi 13 juillet à 1h00 UTC. Pour l’atténuer, notre équipe a travaillé pour mettre en ligne de nouveaux serveurs, que nous avons utilisés pour répartir la charge sur plusieurs serveurs afin d’éviter que l’un d’eux ne soit submergé.
À 8h42 UTC, nous avons restauré le paramètre d’authentification à la valeur par défaut utilisée dans la version précédente. Cela a contribué à réduire la charge d’activité sur le serveur de base de données et, avec les optimisations déjà effectuées, a essentiellement éliminé les erreurs et alertes que nous avons reçues au cours des deux derniers jours.
Cependant, nous avons découvert un problème secondaire à 14h14 UTC qui a commencé lorsque nous avons réparti la charge de travail sur plusieurs serveurs. Ces nouveaux serveurs réplicas consacraient plus de 50 % de leur puissance de traitement à vérifier leur synchronisation avec la base de données principale modifiable. Cela signifiait qu’aux heures d’activité maximales, le nombre de connexions submergerait les serveurs de répliques, provoquant la redirection du trafic vers la base de données principale, ce qui créait à son tour une instabilité et interrompait occasionnellement le service jusqu’à ce que les niveaux d’activité diminuent.
Nous avons éliminé cette charge de synchronisation (en mettant en cache) peu avant 16h00 UTC et stabilisé les bases de données réplicas, résolvant ainsi définitivement l’instabilité intermittente.
À l’avenir
Dans les jours qui ont suivi l’incident, nous avons développé, validé et exécuté le premier d’un certain nombre de découpages prévus de cette base de données pour réduire de manière permanente sa charge de travail. Notre équipe a mis en œuvre ces découpages avec succès sans perturber notre service. Nous avons également des initiatives en cours pour améliorer notre gestion des connexions afin que ce problème spécifique ne se reproduise plus à l’avenir.
Ces mesures, bien que nécessaires, ne sont pas suffisantes. Elles nous rendent mieux préparés à lutter contre la dernière guerre, mais elles n’anticipent pas les problèmes futurs ni n’abordent le processus de prise de décision qui a conduit à cet incident.
Pour atteindre cet objectif, nos équipes d’infrastructure et d’application réalisent un examen approfondi en plusieurs étapes de tous les services et systèmes afin de mieux comprendre les modes d’échec possibles et comment nous pouvons les atténuer. Les examinateurs se composent de responsables de services et d’autres membres de l’équipe pour garantir que nous avons l’expertise pertinente et des perspectives nouvelles. L’accent de cet examen est de prévenir les failles mais aussi de localiser les défaillances potentielles et d’empêcher les cascades et les interruptions de service à grande échelle dans la mesure du possible. Certaines corrections seront rapides, et d’autres sont structurelles et prendront du temps, mais nous nous engageons à rendre les services Proton aussi fiables que ce que la communauté Proton attend et mérite.
Du côté de la prise de décision, nous avons disséqué le processus et les éléments qui ont conduit à la décision de procéder à la mise à jour avant la séparation pour garantir que nous prenions la bonne décision la prochaine fois. Très, très peu de changements que nous apportons, que ce soit à l’infrastructure ou au code de l’application, sont irréversibles, et pour de bonnes raisons. En fait, c’est le seul changement de ce type au cours des dernières années. Dans ce cas, tenter de rendre le changement réversible n’aurait pas été faisable. Mais le fait qu’il soit irréversible aurait dû déclencher un processus d’approbation des changements plus prudent, et le bon bilan de réussite de la mise à jour nous a rendus trop confiants que cette base de données se comporterait de la même manière, malgré sa charge de travail beaucoup plus lourde.
C’est une occasion pour nous de réévaluer notre approche en matière d’infrastructure, et cela nous rendra finalement plus résilients et mieux préparés à l’avenir. Merci à tous dans la communauté Proton pour votre patience pendant la perturbation du service. Nous avons appris de nombreuses leçons qui nous seront utiles alors que nous travaillons à créer un internet où la confidentialité est la norme, et nous vous remercions encore pour votre soutien.