Le serveur qui n’aurait jamais dû exister
(it-notes.dragas.net)- Après la mort du fondateur, l’entreprise familiale fonctionnait presque sans contrôle de l’information ni visibilité comptable ; malgré d’importants flux de trésorerie, les comptes restaient déficitaires, au point de faire craindre une faillite
- Le nouveau système centralisait le stockage de fichiers, l’archivage documentaire et le contrôle de l’usage d’Internet sur un serveur basé sur NetBSD avec des VM XEN, Samba NAS, Archivista, Squid et DansGuardian
- Dès le début de cette centralisation, une personne influente de longue date a exigé le mot de passe administrateur et la suppression du serveur, en visant tout particulièrement « ce serveur » pour faire disparaître l’outil de contrôle
- Quelques jours plus tard, après une panne d’UPS, un mauvais rebranchement électrique et une coupure réseau, le serveur a été retrouvé avec ses disques disparus, mais les données de l’époque ont été préservées grâce à une sauvegarde externe séparée
- Un technicien peut construire des systèmes, mais sans les droits et la coopération nécessaires dans une organisation minée par la défiance et les pressions internes, il ne peut pas résoudre tous les problèmes
L’absence de contrôle révélée après la mort du fondateur
- Il y a environ 16 ans, le fondateur d’une entreprise familiale qui gérait et possédait plusieurs sociétés est décédé soudainement
- Avec la disparition de la personne qui concentrait toutes les décisions et toutes les informations, la famille restante s’est retrouvée dans l’incapacité de gérer sereinement l’activité
- Un des fils a choisi de se retirer de l’entreprise familiale pour se concentrer sur sa propre carrière
- D’autres membres de la famille ont continué à participer aux opérations quotidiennes
- Son épouse âgée, déjà retraitée, a pris la tête de l’entreprise, mais la situation dépassait ses capacités
- Le plus gros problème était l’absence de circulation de l’information
- L’entreprise ne disposait d’aucun véritable système numérique
- Les employés utilisaient chacun leur propre PC ou ordinateur portable personnel
- Les données comptables et administratives étaient dispersées sur des machines individuelles, parfois même emportées à domicile après le travail
- Du point de vue des propriétaires, d’importants flux de trésorerie entraient dans l’entreprise, mais les comptes restaient constamment dans le rouge, avec une inquiétude croissante : « à ce rythme, la faillite pourrait survenir en quelques années »
Mise en place d’un serveur central et d’un système de gestion documentaire
- La solution consistait à déployer un véritable système informatique rendant la gestion des données transparente et traçable
- L’achat de routeurs, switches, divers équipements réseau et d’un serveur doté de plusieurs disques a été approuvé immédiatement
- Comme à son habitude à l’époque, il a choisi NetBSD comme système d’exploitation
- Plusieurs VM ont été configurées avec XEN
- Une VM jouait le rôle de NAS basé sur Samba, afin que les PC enregistrent leurs fichiers dans un dépôt central
- Une autre VM exécutait Archivista
- L’interface d’Archivista n’étant pas encore localisée en italien, une traduction a aussi été réalisée pour la rendre plus facile à utiliser
- Comme c’était courant à l’époque, un proxy de cache Squid et le filtre de contenu DansGuardian ont également été ajoutés
- La liaison Internet était très lente et s’effondrait souvent sous la charge
- Les logs montraient qu’une grande partie de la charge provenait d’usages de loisir, comme le téléchargement de films pendant les heures de bureau
- Il n’existait aucun dispositif de supervision, et l’usage d’Internet n’était pas contrôlé
La centralisation provoque une levée de boucliers
- Une fois le système en production, une formation a été dispensée aux employés, et beaucoup ont bien accueilli le fait que les fichiers soient regroupés au même endroit et que la gestion documentaire soit centralisée
- L’OCR, l’archivage et la gestion centralisée des documents faisaient gagner un temps considérable et amélioraient l’efficacité
- Une partie du personnel comptable restait sceptique
- La personne qui s’y opposait le plus fermement était l’ancien bras droit du fondateur décédé
- Il affirmait que le nouveau système était inutile
- Son mode de vie avait changé brutalement, et certains achats incompatibles avec son salaire constituaient des signaux d’alerte
- L’entreprise ne disposait d’aucun dispositif de supervision et les transactions en espèces y étaient nombreuses
- Une fois le système stabilisé, une personne se présentant comme le responsable technique de la suite logicielle utilisée par l’entreprise a pris contact pour exiger le schéma complet de l’infrastructure serveur ainsi que les mots de passe administrateur
- Il partait du principe que le serveur fonctionnait sous Windows, alors qu’en réalité il s’agissait de NetBSD hébergeant des VM NetBSD et Linux
- Prétextant un manque de temps, il a déclaré qu’il effacerait le serveur concerné dès le lendemain pour y installer Windows
- La suppression du serveur aurait été catastrophique pour l’ensemble du nouveau workflow
- Même une proposition de fournir un serveur séparé en quelques heures a été refusée
- L’ingénieur a interprété cela comme une tentative de supprimer le système de fichiers central et les mécanismes de contrôle
La pression pour obtenir « ce serveur »
- Désemparés par leur manque d’expérience et leur incapacité à gérer la situation, les propriétaires ont même envisagé de le laisser effacer le serveur, puis de payer plus tard un nouveau matériel et le coût du travail nécessaire
- L’ingénieur a refusé cette proposition
- Le nouveau serveur et le système de fichiers central constituaient un mécanisme de contrôle permettant aux propriétaires et aux auditeurs de voir les données comptables
- Il estimait que des milliers d’euros disparaissaient chaque jour via des « transactions »
- La personne opposée au projet a fini par préciser qu’elle n’avait pas besoin de « n’importe quel serveur », mais bien de ce serveur-là
- Elle a exercé une pression en laissant entendre qu’en cas de refus de coopérer, il deviendrait difficile de travailler dans cette région
- L’ingénieur a répondu qu’il n’avait ni clients ni envie d’en avoir dans cette zone, et qu’il préférait faire correctement son travail pour ses amis plutôt que courir après de nouveaux clients
- Au cours de l’échange, l’ingénieur a révélé qu’il connaissait son interlocuteur depuis l’enfance
- L’autre personne l’a reconnu tardivement et a changé d’attitude
- Elle s’est excusée, a dit qu’elle chercherait une autre solution, puis a raccroché
- Elle n’a plus jamais repris contact ensuite
Des disques disparus, mais des sauvegardes intactes
- Après avoir annoncé aux propriétaires que le problème était réglé, le serveur a connu en quelques jours une série d’« incidents malheureux »
- L’UPS est tombé en panne
- Le serveur a été « débranché par erreur », puis rebranché incorrectement
- Il a fini par ne plus répondre sur le réseau
- En ouvrant le serveur, ils ont découvert que les disques durs avaient disparu
- Heureusement, une sauvegarde distincte, connue des seuls propriétaires, fonctionnait déjà
- Les données du serveur étaient sauvegardées à l’extérieur sur un petit boîtier PCEngines Alix discrètement installé au domicile des propriétaires
- Cet équipement fonctionnait avec NetBSD et deux clés USB
- Le matériel et les disques étaient lents, mais fiables
- La machine fonctionne encore aujourd’hui ailleurs sous FreeBSD, où elle fournit toujours des services
- L’ingénieur a remis aux propriétaires les données disponibles à cette date et leur a demandé quelle conduite tenir ensuite
- Les propriétaires ont réfléchi pendant plusieurs jours, voire plusieurs semaines
- Ils ont finalement évoqué la possibilité d’examiner s’il existait des motifs pour signaler un vol
- Il n’a ensuite plus rien entendu à propos de cette affaire
Une proposition refusée et des limites qui demeurent
- Par la suite, l’entreprise lui a proposé une rémunération élevée pour prendre en charge la gestion de l’infrastructure réseau et la refonte des procédures internes
- Elle promettait de payer suffisamment pour compenser l’achat d’une maison plus éloignée et l’abandon d’autres clients
- Un ami commun lui recommandait d’accepter, expliquant que l’entreprise brassait beaucoup de trésorerie, mais que trop de personnes en profitaient à cause de l’absence de contrôle, et qu’il pourrait y apporter une aide considérable
- L’ingénieur a refusé immédiatement
- Cela l’aurait obligé à renoncer à l’orientation de sa vie et de son travail
- Il aurait dû mener un combat qu’il n’aimait pas, sans garantie de pouvoir le gagner
- Il pensait aussi que, parfois, les gens malhonnêtes finissent par l’emporter
- D’après ce qu’il a appris par la suite, les propriétaires se sont progressivement retirés
- Une autre demande est arrivée plus tard, et même lorsque tout était prêt, un nouveau blocage est apparu
- Il a finalement été contraint de partir
- On ne lui avait pas donné les outils ni l’autorité nécessaires pour faire ce qu’il fallait
- Les propriétaires étaient dépassés et mal préparés, cédant souvent aux pressions de ceux qui leur faisaient du tort
- Des lecteurs ont supposé une implication du crime organisé, mais la situation était surtout profondément problématique et malhonnête, sans relever du crime organisé
- « Le pire » tenait aux dynamiques internes, aux abus de confiance et aux comportements inappropriés
- Pour des raisons de confidentialité et parce que le récit est déjà lourd, les détails ne sont pas donnés
- Un technicien peut résoudre des problèmes, mais lorsque les personnes concernées cherchent à les protéger au lieu de les corriger, il ne peut pas tout résoudre
1 commentaires
Avis de Hacker News
J’ai travaillé autrefois dans une organisation à but non lucratif, et le niveau de captation d’intérêts qui se faisait dans les limites de la légalité était hallucinant.
Une fois, nous avons été audités par une agence gouvernementale, et cette agence elle-même subissait énormément de contraintes opérationnelles à cause du lobbying du secteur non lucratif.
Après l’audit, le responsable de l’agence a publié un communiqué en substance : « Nous devrions pouvoir rendre publics non seulement les cas manifestement illégaux, mais aussi les constats liés aux standards que les citoyens attendent des organisations à but non lucratif. Les gens devraient savoir quelle part des dons va réellement aux missions déclarées, et quelle part revient en pratique aux administrateurs et aux employés comme des cadeaux. » Cela résumait bien l’essentiel.
Les abus continuent ; ils se contentent de trouver des voies légales.
Grosso modo : trust → grosse assurance-vie sur mesure → l’assurance-vie finance le nouveau trust et les assurances-vie de la génération suivante → le reliquat des anciens trusts, qu’on ne peut pas extraire de manière fiscalement efficace, est donné à une fondation contrôlée par la famille → cette fondation soutient des organisations à but non lucratif contrôlées par la famille.
Dans ce type de montage, l’organisation à but non lucratif finit par devenir une sorte de caisse privilégiée, et un moyen de faire passer ses intérêts personnels via des postes confortables d’employés ou d’administrateurs, ou plus rarement via des activités caritatives alignées sur les objectifs économiques de la famille.
Ce qui ressemble ici à de l’abus est la vraie valeur, et ce qui ressemble à de la charité est plutôt le coût payé à la place des impôts sur cette pile d’argent.
Le vrai problème, c’est que ce genre de comportement devient aussi possible dans des organismes caritatifs qui fonctionnent avec les dons collectés auprès de gens ordinaires.
Cela a donc beaucoup changé ma façon de voir l’ensemble de ces organisations.
Ceux qui créent les contraintes, ce sont les fonctionnaires et les élus, pas les lobbyistes, qui ne peuvent pas les forcer à faire quoi que ce soit.
Si les décideurs sont corrompus et n’agissent pas dans l’intérêt général, c’est à eux qu’il faut demander des comptes.
Que ce soit sur HN ou dans la vraie vie, je vois très rarement des gens dire qu’ils ont suivi les votes de leur sénateur, constaté qu’il avait soutenu une mauvaise loi puis envoyé une lettre, ou qu’ils ont voté contre lui à l’élection suivante ; et, en pratique, la plupart ne le font pas.
La démocratie ne se limite pas au vote : elle inclut aussi le fait de surveiller les actions des personnes élues et de leur demander des comptes, et c’est là que les citoyens échouent.
Si vous continuez à voter sans suivre ce que fait votre représentant, vous contribuez activement à aggraver la situation.
Bien sûr, dans beaucoup de pays, le lobbying devrait être beaucoup plus fortement encadré, voire interdit, mais même s’il était interdit, si les citoyens ne suivent pas le comportement de leurs représentants, ceux-ci pourront continuer à agir dans leur propre intérêt au détriment de celui des citoyens.
Le problème de fond n’est pas le lobbying en soi, mais la corruption et l’absence de responsabilité.
J’ai déjà vu ce genre de situation, et c’est pour cela que les sauvegardes externes sont vraiment importantes.
Il m’est arrivé de restaurer depuis une sauvegarde des données que quelqu’un avait volontairement essayé de supprimer pour éviter d’avoir à rendre des comptes.
Cette histoire montre aussi un schéma courant même quand les gens ne détruisent pas volontairement les données : certains démolissent tout ce dont ils ont hérité, puis rejettent les problèmes qui en résultent sur leurs prédécesseurs.
J’ai hérité d’une mauvaise codebase et j’ai fait de mon mieux pour l’améliorer, mais le temps était limité ; après mon départ, la personne suivante a immédiatement mis sur mon dos les mauvais morceaux qui restaient.
Je trouve toujours fascinant de voir à quel point la corruption peut apparaître facilement.
Je pensais que la comptabilité vérifiait deux fois ce genre de choses, mais j’ai vu trop d’entreprises où quelqu’un pouvait créer un compte, en faire sortir de l’argent, et où personne ne s’en rendait compte pendant des années.
J’ai aussi créé des factures automatiques pour certaines entreprises, et j’ai découvert que des montants importants avaient été payés alors qu’il manquait plusieurs mois de données.
J’ai eu l’impression que l’argent serait parti même si le contenu des factures avait été à peu près n’importe quoi.
Récemment, un fournisseur a tout simplement oublié de nous facturer plusieurs milliers de dollars pendant quelques mois, puis s’en est souvenu seulement quand nous avons demandé une augmentation de quota.
Récemment, l’ancien administrateur municipal de La Cañada-Flintridge, en Californie, a été inculpé pour fraude : il envoyait à des assureurs automobiles des factures de réparation de dommages à des biens municipaux sous forme de courriers officiels avec le logo de la ville, puis gardait l’argent pour lui.
Il y a quelques années, quelqu’un a aussi envoyé des factures à FB, Google et d’autres, et leur a soutiré 100 millions de dollars.
J’ai l’impression de rater quelque chose.
Plus tard, ils lui ont demandé de régler le problème en lui proposant en gros tout ce qu’il voulait, et il a refusé, puis s’est plaint de ne pas avoir reçu les outils nécessaires.
« Donnez votre prix » devrait inclure les outils et pouvoirs nécessaires, jusqu’à la propriété du processus.
À vue de nez, la personne qui « causait le problème » avait une relation privilégiée avec les propriétaires, et ceux-ci ne voulaient pas l’exclure complètement de l’entreprise.
Donc dire qu’on ne lui avait pas fourni les outils nécessaires pourrait vouloir dire qu’on ne lui avait pas donné le pouvoir d’écarter cette personne.
Quand on me demande un conseil technique, j’essaie encore aujourd’hui de faire de bonnes propositions.
Mais dès que quelqu’un me dit : « Je vais suivre une partie de vos conseils, mais pour cet autre point je veux faire les choses de la mauvaise manière », en général je réponds : « Dans ce cas, bonne chance », et je me retire.
Note de l’auteur : en raison de la gravité de l’affaire, beaucoup de lecteurs ont supposé l’implication du crime organisé, mais ce n’était pas le cas.
La situation était effectivement extrêmement problématique et malhonnête, mais la « pire partie » à laquelle je faisais allusion relevait d’autres dynamiques internes, d’abus de confiance et de comportements inappropriés ; pour protéger la vie privée des personnes concernées et alléger la charge liée à ce récit, je préfère ne pas entrer davantage dans les détails.
Certaines régions italophones sont tristement célèbres pour leurs organisations criminelles ; je me demande donc si quelqu’un serait vraiment surpris que ce soit aussi le cas ici.
Il est même difficile d’imaginer que ce ne soit pas le cas.
Il faudrait donner l’époque pour qu’on puisse évaluer les technologies disponibles à ce moment-là ; je ne comprends pas pourquoi omettre un détail aussi important.
Je suis aussi curieux de savoir quels outils ont été utilisés pour synchroniser et sauvegarder vers la maison du propriétaire.
Personnellement, je me demande aussi pourquoi c’est passé à FreeBSD. J’aimerais savoir si c’était pour une autre application ou un autre usage.
C’est une histoire vraiment excellente et, avec les méthodes d’aujourd’hui, j’imagine qu’on aurait mis des fonctions de collaboration dans Nextcloud/ownCloud, puis synchronisé vers un NAS externe — par exemple chez le propriétaire — avec rsync/Syncthing.
Concernant les décisions, à sa place j’aurais accepté le poste d’administrateur et embauché un MSP local pour travailler selon mes consignes.
Dans ce genre de situation, il suffit souvent d’avoir des yeux et des oreilles fiables en dehors de la structure interne corrompue.
Les armées et les organisations diplomatiques appliquent un principe similaire : elles disposent d’un XO recruté et contrôlé par le siège, séparément de la structure du personnel local, et ce XO rend compte au siège plutôt qu’à la structure locale.
Pour les sauvegardes, on utilisait une synchronisation basée sur rsync, avec des liens physiques et rsync par-dessus pour conserver l’historique.
Il y avait aussi un script Perl qui automatisait l’ensemble, mais j’en ai oublié le nom depuis longtemps.
Pour le reste, je comprends et je suis entièrement d’accord. Cela dit, à l’époque j’étais jeune et, honnêtement, j’étais davantage intéressé par le fait de construire quelque chose avec des clients sains qui voulaient sincèrement créer quelque chose de bien, plutôt que d’essayer de sauver une situation presque irrécupérable.
L’ALIX a été basculé vers FreeBSD pour un autre travail, et la prise en charge native en lecture seule de FreeBSD convenait parfaitement à la nouvelle charge de travail.
L’Italie, donc. L’argent n’est pas un problème, mais pas de cabinet de conseil, et le crime organisé n’a rien à voir ? Oui, bien sûr ;-)
Je me demande si tu peux expliquer pourquoi tu n’as pas passé cet appel qui aurait pu faire changer d’attitude l’autre personne.
Je suppose que c’est par respect pour la personne décédée, ou à cause de secrets qu’il vaut mieux laisser enfouis.
La personne que j’aurais appelée était quelqu’un de très proche de moi, et elle aurait été extrêmement déçue si elle avait appris ce qui se passait.
Cette personne était très fière d’avoir aidé, dans une période difficile, précisément celui qui me menaçait alors.
De plus, cette personne proche de moi avait de graves problèmes de santé, mais conservait encore une certaine autorité ; j’ai donc choisi, à ce moment-là, de ne pas lui infliger une souffrance qui aurait finalement été inutile.
Pourquoi y a-t-il des retours à la ligne à chaque phrase ?
Mettre un retour à la ligne après chaque phrase n’est pas une pratique normale. Cela dit, le texte lui-même était intéressant.
Le côté « leçon à retenir » inutile, alors qu’il n’a même pas vraiment accompli quoi que ce soit, colle bien aussi.