This is the full transcript of Backend SaaS, Sécurité & Arnaques - Baptiste Jamin, Valérian Saliou & Julien Le Coupanec, published on YouTube by SaaS Makers. Every paragraph carries the moment it was spoken, so you can click any line to jump straight to that point in the video, search the whole thing for a word, or copy it out.
0:00salut à tous bienvenue du coup dans un nouvel épisode de sasmaker je suis en compagnie du coup de Baptiste Jamin c'est Baptiste salut Julien comment tu vas ça va très bien merci beaucoup et Valérie du coup son associé aussi sur Chris qui du coup nous faire le plaisir de parler aujourd'hui de un sujet qui est important dans le sas c'est tout ce qui est architecture backen les choix à faire quand on démarre un ça au niveau du backend on va parler de sécurité on va aussi parler de l'architecture et j'aurais commencé l'épisode justement avec une citation que j'aime bien qui est que l'optimisation prématurée c'est la racine de tout mal et
0:37je fais des pieds dans le coin et du coup je voudrais un peu avoir votre avis sur ça en fait sur peut-être on peut démarrer sur ça sur qu'est-ce qu'il faut selon vous optimiser en début de SAS et quand on démarre et les choses au contraire tu vois en fait que vaut mieux pas trop on peut délayer en fait donc ce serait un peu de l'optimisation prématurée en fait ça dépend de l'ambition de ton SAS c'est-à-dire qu'en fait si tu sais que la semaine suivante tu as 50000 personnes par jour si la semaine suivante tu as 50 000 personnes par jour sur ton face et peut-être le coup de se pencher
1:13optimiser quelques trucs je pense qu'il y a une règle de base et Valérie je pense va être d'accord c'est que dès que tu as un bouton avec un texte libre dans lequel un indicateur peut taper un truc il y a un truc ils veulent mal se passer un moment tu vois genre le truc va être inséré dans une base de données il y a un overflow qui va se passer un mec qui va bourriner insérer des items un million de fois dans ta base toi remplir le disque il y a des trucs à faire gaffe quand même mais après ça sert à rien d'over engine aussi tu vois
1:43je pense que il faut ça dépend du risque en fait si tu commences un petit ça c'est que tu as des utilisateurs que t'as pas tout commence petit bah il faut commencer petit ça sert à rien de mettre la grosse Bertin en face quoi en fait je pense que c'est une pyramide des besoins en fait quand tu commences ton SAS le plus important c'est d'avoir un produit d'avoir quelques clients tu vois quelqu'un d'utilisateurs et après tu vois pour optimiser les choses pour pour commencer à ajouter un système de paiement tout ça en fait les choses doivent se faire vraiment se tape by step il faut pas genre faire un plan et
2:13appliquer le plan et arriver sur le marché tu vois j'en sais vraiment le pyramide des besoins d'abord c'est quoi tu dois faire un produit le produit doit être beau minimal genre MVP et ton but c'est d'être ramène profitable si tu commences à optimiser des trucs comment savoir trop dans le futur optimiser des trucs dans ton back and genre ça va pas le faire quoi tu vas perdre trop de temps tu seras jamais sur le marché tu auras pas d'utilisateur et la chose fondamentale c'est d'avoir tes premiers utilisateurs parce que si c'est ce qui te fait de te réveiller le matin c'est ce qui te décide en fait tu vois
2:43et tu as sans parler de bac à ni rien moi un truc qui m'a vachement changé à l'époque où tu vois quand j'étais ado je faisais des pas des SAS encore mais des petits des petits logiciels comme Valérian des 7 project et moi à l'époque quand je crée quand je commençais des soft je commençais toujours par la page de login inscription c'est complètement con et en fait quand je suis arrivé je suis orange en stage Yoann il s'est projeté et lui il allait directement tu sais genre droit au but directement le produit et pour l'inscription et le login on s'en fout on verra ça plus tard ça remette au
3:21début tu as même pas de gestion de compte tu as juste un initiateur avec un ID 1 qui a hard codé et puis ça marche quoi ça veut dire un peu en fait mon point c'est aussi je pense une erreur que j'ai fait moi c'est que un peu grâce à vous c'est que en fait il y a plusieurs types d'architectures on a on peut aller sur du monolith on peut aller sur même des infras des cloud fonctionne on voit ça mais aussi les microservices et par exemple je pense que sur quand on s'attaque au début sur une architecture micro service il y a un terrier d'avoir
3:46de l'expérience sur le sujet parce qu'on va perdre tellement de temps moi je me suis cassé la tête sur parce qu'en fait c'est vraiment une autre manière de travailler et ils vont peut-être mieux des fois commencer avec un monolith voir d'ailleurs vous au début alors ouais alors Chris pendant je pense qu'on a eu la chance de faire les choix de micro service très vite dès le début en fait je t'avoue que la première semaine de Christ en fait moi j'étais parti sur un énorme monolithe et on s'est dit on l'a codé tu vois on s'est dit on s'est regardé on a fait cette erreur très vite et
4:15après on est passé immédiatement microservice ce qui était un excellent choix dans un dans le cas genre Chris pour un service qui est qui sert des millions d'utilisateurs tous les mois genre il faut que ça il faut qu'on puisse ajouter les serveurs facilement tu vois avec un monolith c'est plus difficile ce qui est ce qui est bien avec un monolith en revanche ça dépend de la du type de ça ce que tu fais quoi beaucoup de ça sans finalement se suivent du monomy et ce sera plus productif de faire un monoïde c'est que tu es beaucoup plus productif tout simplement genre exactement tu as pas besoin dans
4:41topologie ou tu allais ça ce que tu as pas besoin de scaler tu vas pas avoir une croissance exponentielle là c'est monolithe direct dans notre cas en fait il faut quand même un peu voir dans le futur tu en fait faut faire les choses mine de manière façon minimale enrichissant à prévoir le futur tu vois et en fait c'était tout à fait justifié de faire le micro service parce qu'on peut tout simplement genre ajouter des serveurs au jour le jour tu vois et en fait ajouter autant de serveurs que que notre croissance tu vois comment le micro service pour cette raison là une déformation de la réalité avec le
5:16temps la réalité c'est qu'on est juste pas foutu de coder ce boudin trop compliqué on tombait fou je t'assure en tombez fou ça nous rendait malade d'avoir du temps réel partout c'était trop compliqué en fait le truc c'est que comme on s'attaquait dans un truc à trop ambitieux enfin qui était en tout cas très ambitieux on n'avait pas à tout architecture et en fait en se mettant dans le micro service ça a vraiment simplifier la donne parce qu'en fait du coup on s'est défini des contrats d'interface genre Valérian il est en train de coder la chatbox moi je lui ai fait un baken pour parler à la
5:49chatbox je suis fait une petite lib et genre toi tu as des API JavaScript tu m'envoies ça je te renvoie ça et c'était juste un système de communication avec l'achat de box et puis après on a ajouté un Data Store et puis du coup ce système là qui avait été codé pour la chatte box on a pu le relier au data store etc etc sans avoir à coder toute l'Infra direct tu vois on a pu ce qui l'intérêt des c'est un peu comme si tu crées une maison par conteneur tu vois c'est comme la maison tu veux créer une maison bah tu vois d'abord pour faire les fondations faut faire tous les
6:25plans et puis après je chante par chambre la cuisine la plomberie électricité là c'est comme si tu avais des conteneurs et en fait tu vas hacker les contes mer un à un et chacun a sa fonction et ce qui va semble cool c'est que si tu as un conteneur que genre la cuisine elle te plaît plus et tu as envie de la changer bah en fait tu la changes tu en mets une nouvelle tu vois c'est rapide quoi en revanche ça ajoute pas mal de surplus c'est à dire que tu dois partager du code entre les microservices donc en fait tu es obligé d'avoir des librairies
6:54qui sont partagées tu vois donc il y a beaucoup en fait tu as une friction c'est à dire le temps de gestion des microservices de tout le code en fait qui permet d'avoir des fonctions communes entre les microservices ce que tu as pas dans les monolites quand tu dois mettre à jour ta librairie commune parce que tu as un changement de protocole ou un truc comme ça de communication entre les microservices bah tu te tapes un déploiement de une mise à jour individuelle de chaque micro service un test et un développement d'où le fait que ça demande ça prend du temps de commencer directement par une
7:19infrastructure micro service c'est pas adapté à tous les tous les types de produits quoi alors justement c'est moi qui vais poser la question mais Julien est-ce que tester c'est pas un peu douter bah justement moi j'ai un truc qui aurait changé ma vie si j'avais su plutôt au niveau du backen alors c'est que j'aurais pas pu faire mon produit sans test alors moi j'adore le TDD et je pense que c'est un truc qu'il faut commencer dès le premier jour parce qu'en fait au début ça prend du temps il y a un temps d'adaptation le TDS c'est le Test Driven Development
8:52d'entreprises en fait ça nous concerne moins parce que je pense que nous on a des passionnés du code et on fait attention mais il y a beaucoup d'entreprises qui se servent des tests pour justifier en fait que c'est bon ça passe tu vois genre les teste pas donc le code il passe le code est nickel tu vois en fait le code est dégueulasse derrière et les tests c'est juste finalement l'espèce de coquille tout autour qui protège le diable est souvent dans les trucs qu'on n'a pas testé d'ailleurs ok on n'a jamais pensé d'où l'importance d'avoir des systèmes de Covage mais attention les gens qui passent leur qui passe 5% de leur temps
9:21avoir 100% de Covage des fois ils parlent un peu le temps vaut mieux avoir 90% de covid ça va être vraiment critique tu vois puis après le reste bon bah tu fais en sorte que ce soit bien fait et puis après faut mettre faut être intelligent quoi je suis assez d'accord avec toi mais après nous on a une on était assez pragmatique sur ça c'est-à-dire qu'en fait quand il y a un moment tu te fais des enfin excuse-moi du terme mais tu te fais baiser deux fois à cause de bug à la con et que tu sais que tu as une libre que tu à chaque
9:44fois que tu te modifier un truc tu dis un peu la merde tu vois ce que tu veux dire et là je pense que c'est le moment d'implémenter des tests et d'où il y a quelques projets comme ça genre le marque down chez nous le paiement librairie aussi simple que le calcul de la TVA en fait on a libéré qui fait ça c'est tellement complexe le calcul de la TVA dans le monde mais là on a dit on fait du CDD par contre quand tu on va pas faire du TDD sur les microservices qui communiquent entre eux en mode asynchrone avec un protocole c'est l'horreur à tester ça parce que c'est à
10:17dire que quand tu quand tu as des microservices qui communiquent entre eux et de la protocole de communication c'est pas de l'appel de fonction mais en fait il faut il faut répliquer des flux genre moi je vais te dire un truc toi tu vas me répondre un truc j'attends que tu me répondes ce truc là c'est ce que j'explique c'est compliqué à tester après le meilleur test possible déjà en tant que développeur c'est que si tu vas tu fais un formulaire et tu attends je sais pas deux choix en utilisateur enfin tu vas tester des trucs de base quoi enfin tu testes après ça tu peux
10:47mettre des du cyprès ou du Play Wright pour pour faire du Antoine mais c'est vrai que moi j'avoue que le test c'est vraiment un truc que j'aurais dû faire dès le début et aussi un autre truc que j'ai bien aimé sur le back and c'est hyper script alors je sais qu'il y a plusieurs types de langage qui existent mais quand on est sur des infrastructures en or après ça c'est si tu es en Go ou tu es en le truc là super tu vois le logiciel le langage qui est trop bien là tu es encore au top du top tu vois en terme de de résilience mais je pense que les
11:15tests c'est testé n'est pas douté tester ça devrait te faire des premiers jours mais après il faut être intelligent il faut le faire bien quoi je sais pas s'il faut le faire dès le premier jour en fait le truc c'est que toi c'est une manière ton système en effet il fait du scrapping tu as vachement anthropie là-dessus tu maîtrises pas l'environnement il peut se passer et notamment l'avantage c'est que si tu souscrives de la donnée publique tu vois genre qui vient de cliquer sur scène normaliser en fait d'un jour au lendemain les plateformes peuvent changer quoi le dataformat il change et toi en fait tu vas pouvoir reproduire ton test le run
11:47par exemple tous les jours et savoir si ça casse ou c'est ça passe quoi et savoir quand est-ce que tu devras modifier ton code après il y a quand même pas mal de moque aussi donc là faut que je mette à jour tous les les fichiers de moque si quelque chose change des fois alors toi en tant que solo fondore une comment tu fais pour gérer tout ce qui était déploiement etc ah c'est une question intéressante ça bah en fait c'est en gros c'est simple j'utilise un alors j'ai des githubuntu sa mis à jour ça met à jour le repos et puis quand je pousse sur la branche production en fait
12:25ça va le créer ça va me déployer une action sur GitHub qui va mettre à jour le repos et puis faire tout son système de billland les paquets etc donc ça c'est comme ça que je fais après j'ai un truc qui est génial ça s'appelle recast qui est un truc qui est un logiciel qui remplace Spotlight sur Mac j'essaie de tout déranger mais en fait tu as un Spotlight sous stéroïde ce qui fait qu'en fait tu peux moi par exemple je tape diplôme ça va me déployer mon nappe en fait automatiquement depuis mon Spotlight comme ça j'ai pas besoin de trigger une énergie Quest à la main dans Titeuf
13:03enfin tu faire plein de trucs je fais diplôme et c'est parti ouais après ça va me déployer que le master vers la production ça va te faire en sorte que ma branche master soit clean OK du coup si je comprends bien ce descript parce que tu peux tu peux coder ta propre extension orale c'est très facile c'est quoi c'est du javascript tu peux en fait non ça squatte tout Aurillac les extensions enfin c'est pour les interfaces mais tu peux faire des trucs assez chouettes genre par exemple en code tu peux facilement aller à l'endroit de la tenue dans une documentation tellewin par exemple tap taïwenn espace je sais pas border
13:43mais moi j'utilise aussi pour mes stratégies de déploiement mais bon c'est un truc moderne c'est pas quoi tu peux faire trop bien tu peux me faire des platines pour Christ
13:59oui il faut éviter de faire navigation privée oh merde le déployer non après tu peux mettre des sécurités genre avec êtes-vous sûr ok tu vois on a pas mal de trucs pour créer ce qui était pas mal c'est déjà tu peux pas déployer c'était pas sous le bon VPN c'est pas possible en fait à un moment on s'est rendu compte en fait pour contextualiser on utilise guide Lab pour bouger notre code et en fait dès qu'il y a un trigger de comics sur la branche production un push bah ça part en fait il y a une Guitton action qui se lance pardon et ça lance après un script qui
14:34fait le déploiement sur un serveur et en fait le c'est basiquement un test d'abord un petit test et ensuite un script qui fait le déploiement [Musique] il prend le tout ce qui a été buildé et il le zip il envoie au serveur le zip des compresses se décompresse et ça renne le problème c'est que à la base en fait déjà les branches ne branches dites n'étaient pas protégées donc ça veut dire que n'importe qui en fait qui se joigne la team pouvait faire des potentiellement des déploiements en fait indirectement en utilisant notre guide laborneur qui avait les accès à notre infrastructure donc aujourd'hui en fait on a mis en place tout un système de
15:13sécurité en fait déjà en fait les déploiements ne peuvent être lancés que sur les branches protégées donc c'est à dire production production il y a que les honorers qui peuvent approuver les déploiements donc uniquement les honneurs peuvent créer un push sur la branche production et la clé SSH qui permet sur le serveur qui fait tourner le déploiement qui donne accès à notre infrastructure elle est protégée par un mot de passe à les chiffrer et ce mot de passe là il est il est fourni par guide Lab genre pour déchiffrer la clé de la clé du Runner et il est fourni il est fourni uniquement genre si c'est un honneur qui a validé
15:49donc c'est comme dit Baptiste un mécanisme en fait tout à plein de choses que plein de personnes connaissent et il faut que toutes ces choses soient mises en commun pour pouvoir en fait finalement accéder à l'infrastructure comme les mécanismes de départ de missiles sur les sous-marins avec une clé qui voilà exactement lors du président lors du général et là on peut on peut lancer le missile c'est comme ça que fonctionne beaucoup de systèmes en fait c'est un peu du Common scène tu vois genre si elle doit faire un il faut que tous les associés et ensuite ensuite un white listing aussi les adresses IP quoi c'est à dire
16:26que uniquement nos serveurs de déploiement sont autorisés à accéder à l'infrastructure et nos serveurs nos serveurs VPN à nous qui nous permettent en manuel d'accéder à l'infrastructure même par exemple oui si tu veux accéder à un SSH vraiment sur une machine pour c'est rare qu'on le fasse mais admettons que tu as besoin d'accéder à un truc des logs je sais pas quoi faut forcément du SSH et en plus du SSH enfin donc non seulement faut un VPN ensuite il faut du SSH et en plus du SSH tu as du tout facteur authentication sur le ssh attention ça marche qui est généré toutes les 30 secondes ah
17:01ouais quand tu te connectes Ubuntu par exemple des bah sur ton mac tu as comme un SSH shades qui fait ça c'est je me souviens plus exactement du nom mais en fait c'est MFA c'est un ouais c'est un système de multifactor authentication qui se connecte directement en tant qu'extension opnssh qui tourne sur tes machines donc ton serveur SSH qui tourne sur tes débats par exemple Ubuntu et qui va regarder qui aura une clé privée qui va correspondre à la même clé privée que toi tu as de ton côté pour générer les to TP token et en fait quand tu vas faire l'authentification SSH avec ta clé
17:37SSH normale comme tout le monde fait tu vas être accepté sur le serveur et ensuite le serveur va te demander le fameux token que tu vas générer qui va expirer toutes les 30 secondes c'est vraiment débile et en fait ça le point c'est que si jamais tu as un virus admettons sur ton mac ton SS Edge agent qui tourne il a déconnecté au VPN donc techniquement il a un script pour y avoir accès à ton infrastructure parce que tu es sur le réseau qui te permet d'accéder à l'infrastructure et la clé SSH sur ton mac est débloqué il faut une troisième variable c'est la clé t o TP qui est générée par une
18:10application qui est pas du tout sur ton mac par exemple un yubiki un Google Authenticator qui est sur ton téléphone donc une personne qui aurait automatisé enfin qui aurait viré ton bac ne pourra pas se connecter à l'infrastructure vous voyez ce que tu as un cash quand même un cachet c'est un cachet c'est ça pour comité des changements et tout tu mets pas ton mot de passe à chaque fois que tu pousses j'imagine c'est à dire qu'il est en cache donc ça veut dire qu'admeton que tu es un exécutable tu code sur Windows le truc il se met à comité automatiquement sur ta machine ou accesshow automatiquement
18:42après a priori c'est les SSH agent sur Mac sont sécurisés a priori mais il faut toujours en fait craindre tu vois le monde extérieur et te protéger alors ça veut dire vaut mieux avoir les employés qui sont sur Mac que sur d'autres machines imposées d'un point de vue sécurité on a la police c'est du full Mac c'est que des Mac et les macs sont chiffrées avec filvolt donc c'est à dire que si tu es dans un café j'en sais rien avec ton sac à dos ton Mac est dans le sac à dos il se fait voler tu vois la personne qu'elle soit mal intentionnée ou pas
19:14elle pourra pas récupérer tes données tout le monde n'a pas accès à la fin non plus on limite beaucoup les accès donc comme ça on dort tranquille tu vois c'est marrant la sécurité c'est au niveau des bases de données je sais que vous avez connu vous-même le système de pour mettre pour on va dire se faire des backup automatiquement il y a un service que j'utilise moi du coup ce que je veux dire en fait et c'est tellement sensible que du coup s'appelle simpl backup c'est assez mal sans ça ce que tu payes je peux avoir autant moi et ça te fait tes backup automatiquement cette épouse dans
19:46plusieurs cloud on en parlait d'ailleurs tu disais que quand il faut jamais les héberger dans le même data center ça c'est certain les backup sont sur site donc ici Dada Center il brûle comme OVH à Strasbourg et il y a une autre notion c'est qu'il faut pas non plus aller les héberger trop loin c'est-à-dire sur un autre continent parce qu'à la base en fait genre ce qu'on avait testé c'est on est les backups étaient chiffrés et on les hébergeait genre côté US de manière chiffrée mais en fait quand il faut les rapatrier c'est de la fibre transatlantique et il y a des moments là cette fibre là elle est beaucoup plus
20:24chargée tu vois et toi ta boivent avoir du 1 Gigabit tu es dans une situation d'urgence ton backup tu le poules tu télécharges la 5 mégas seconde donc en fait aujourd'hui ce qu'on fait c'est qu'on les stocke en Irlande là où les gens sur le continent tu vois et on a en fait on est genre full speed en termes de débit si jamais on doit les télécharger en urgence et c'est pratique ils sont encore un terrain un peu moins c'est compressé quand même et tu disais des outils de backup enfin il y en a plein qui existent nous je crois qu'avant c'est un truc en rugby
20:52était pas mal le seul problème c'est que quand tu as des très gros backup ça marche pas nécessairement tu vois tu as des feuillures à cause de ça et surtout en fait les backup était d'abord écrit sur disques avant d'être envoyé uploé en fait au S3
21:12exactement donc en fait ce qu'on a développé c'est inverse c'est un système qui est full custoc custom qui est complètement en bâche en fait le backup il est produit je sais pas de Mango dB maïsql le loudput il est streamé et c'est ça qu'il est jamais écrit sur disque il est streamé au compresseur donc ça va être un gésip machin dans notre cas on utilise zstd qui est un très bon compresseur très rapide on le stream a du GPG pour le chiffrer et ensuite on le stream directement à la CLAE S3 pour le blog d sur S3 et en fait c'est une pipeline tu vois c'est streamé
21:41en fait tu perds pas de temps tu envoies immédiatement au réseau ça marche nettement mieux que ce qu'on avait avant on a beaucoup plus enfin on a plus de figure tout simplement on a plus de problème aujourd'hui tu te réveilles le dimanche matin avec une alerte parce que le disque du serveur est plein parce que le backup était écrit sur disque tu vois on a plus ces problèmes là et argument de sécurité aussi vérifier que les backup fonctionne
22:17[Musique]
22:27de personnes qui ont eu des soucis de style
22:36quand j'étais en stage ils avaient confié comme ça la gestion des backup à un stagiaire et stagiaire a tout perdu donc en fait non seulement le storage de la production plus les backup donc on fait gaffe à ce genre de truc et sensible quoi aller plus loin que l'histoire du data center OVH qui a brûlé il y a beaucoup de boîtes qui avaient leurs backup avec le système de backup qui était sur site de mémoire oui en effet pendant un mois non j'ai entendu parler d'une boîte comme ça à Nantes qui faisait du stockage sur bande sauf que genre tu sais c'est comme si là on avait un stockage sur bombe sauf que
23:12derrière tu avais un dentiste qui a juste derrière la porte de derrière un dentiste avec un système de radiothérapie enfin pas de radiothérapie mais des radios pour les dents
23:40[Musique] avec tous les automations possibles lovely après genre tu as des longueurs genre [Musique] le principe c'est tu loges mais dans un système oui ça peut ça oui tu l'Obs ce que tu veux dans un dashboard et comme ça monitoriser les erreurs quand tu commences l'avantage de l'ogly c'était une version gratuite qui est assez généreuse généreuse et en fait tout ce que tu veux avoir toi c'est nous dans notre cas par exemple on locque pas tout ce qui se passe il y a trop il y a trop de choses qui se passent donc en fait on loge uniquement les erreurs et notre but c'est de minimiser le nombre d'erreurs
24:16qui sont dans les log donc c'est un peu un jeu où tu te connectes le matin tu regardes les logs genre est-ce qu'il y a des erreurs ok il y a des erreurs je les corrige tu vois c'est des petits Bello c'est j'ai pas réussi à me connecter à la base de données j'ai essayé d'uploader un fichier ça pas marché voici la raison ou sur tout ce qui est les plugins on a plein de machine à des intégrations externes genre la pays slack Messenger githopi elle marche pas puis toi tu as un client qui dit je comprends pas j'essayais d'envoyer un message un fichier sur messenger sur WhatsApp j'ai
24:46un message d'erreur et donc bah là ce qui est bien c'est que nous le support ils peuvent regarder avec la clé le website Idy du client et ils vont voir directement bah tiens l'API Messenger elle a une panne tu vois et ça arrive très souvent indépendant plus un petit truc pratique alors ça on l'utilise en cas d'urgence extrême s'appelle Go access ça on l'a utilisé genre en cas de DDoS vraiment des logs textuels et ça les process et ça te fait un fichier et du coup access faut que je mette en place c'est pas très loin à mettre en plus c'est directement
25:38et en fait tu vas tout de suite voir admettons dans mes UP bah que tu as un gros pic de requête HTTP à tel moment et tu vas voir que par exemple que tu as un utilisateur qui est en train de bouriner sur ton API et que sur tel et telle route et que c'est ça qui visiblement fait tout planter quoi ça ça peut sauver la vie ce qui est bien c'est que tu peux aussi tu as un mode géolocalisation donc quand tu télécharges les bases g.o.p tu peux voir j'en ai paternes par pays ce genre de choses par provider cloud donc si c'est des IP AWS je sais pas et en
26:06fait si tu te fais des doses effectivement tu peux tu peux voir des patterns assez facilement je sais pas si tu es utilisateur Claude flair bon justement beaucoup de gens connaissent beaucoup de gens utilisent ça permet vraiment de sécuriser les les accès au serveur un truc qui est pas mal nous qu'on utilise c'est Claude tunnel le principe c'est à même plus de port 80 de port 443 sur ta machine genre ta famille ta machine elle est fermée à Internet et juste elle est connectée avec un tunnel à Claude Flers tunnel et donc il t'envoie le trafic directement sur ta machine ça évite que l'IP de ta machine soit découverte sur
26:42le net et que quelqu'un puisse aider aussi et des dossiers en direct je voudrais que c'est bien plus que ça c'est que le problème c'est que quand tu as un service qui est international tu as des clients qui sont à l'autre bout du monde mais un moment tu peux pas aller plus vite que la lumière dans le sens où les fibres optiques tu vois genre quand tu quand tu abîmes connexion à savoir distant bah ce que tu ne vois pas c'est que tu dois parler au serveur pour dire genre pour échanger des clés de chiffrement pour établir ton HTTPS typiquement et en fait votre personnel l'avantage
27:07c'est que le niveau HTTPS la liar crypto elle est gérée au plus proche du client c'est à dire dans le data center Claude flare le plus proche donc admettons que la personne j'en sais rien elle est à San Francisco la personne à San Francisco va parler à Claude Flers San Francisco il va il va établir la crypto avec Claude François et ensuite Claude faire San Francisco va uniquement se connecter genre échanger le trafic de ton app en direct avec ton Data Center qui est peut-être en Europe donc en fait tu vas gagner énormément de temps on a un cas très concret de ça c'est qu'on typiquement on a des utilisateurs crisp
27:37en Australie et en fait notre Data Center est Amsterdam et en fait ça mettait afficher la chatbox crisp à la base quand on les passe au système là ça mettait 5 secondes à établir la connexion parce qu'en fait la latence entre l'Australie et l'Europe elle était chez moi 600 millisecondes 700 millisecondes et en fait tu as tout un tas d'échanges ce qui fait que tu multiplies en fait par trois quatre cinq le temps d'échange parce que c'est une sorte de ping-pong entre entre le serveur et le client et en fait le fait d'avoir ce système là en fait tu parles au Dada Center je sais pas de Sydney et
28:07en fait la plupart des échanges la plupart des échanges tu les fais genre avec le dada Center Claude fleurs et ensuite tu auras uniquement ton trafic qui va passer genre une fois que l'échange crypto soit ça sera fait et en fait ça ça accélère mais massivement la rapidité de tes applications et il suffit de voyager en fait pour se rendre compte par exemple dans notre cas que enfin c'est très très efficace tunnel tu as l'impression parfois d'être en Europe en fait d'un point de vue vitesse c'est-à-dire que Christ par exemple tu peux être aux États-Unis Christ en fait tu as l'impression que Christ est aussi rapide que en Europe alors que tu es
28:35très très loin et ça serait pas du tout le cas sans ce système là un truc qui est vachement bien aussi avec Claude fer c'est ce qu'on appelle les insomnold les instant blogs admettons que tu as un client il a une erreur 500 chez lui mais que chez lui tu comprends pas ce qui se passe mais en fait tu vas pouvoir sur clos de faire une instance major l'IP du client tu fais start streaming et en fait là dès que le client depuis chez lui il essaie de faire quelque chose tu as les lock serveur et ça ça fait gagner un temps incroyable alors je crois que c'est uniquement
29:10disponible sur les comptes interprètes si je me trompe pas du coup c'est pas très applicable en mode SAS bootstrap au début mais c'est quoi c'est 1000 euros par mois
29:28a une calculatrice et tu demandes des services qui sont annexes à ce que Claude flare propose dans ses plans seuls services donc le Plan Pro à 20 euros business à 200 euros par mois et bah ils peuvent te sortir un prix 2000 3000 € par mois c'est un peu la tête du client aussi l'interprice ça marche comme ça si tu veux mais après tu as des comme des très bons enfin pas des plans gratuits tu as un plan 5 balles un plan à 20 balles qui sont très bien pour des SAS ce qui débutent et enfin c'est un must Hal d'ailleurs c'est marrant parce que il y avait il y
30:02a une phrase qu'il avait dit Quentin Adam il date et qui je m'en suis encore il racontait en fait ce que la banque vous avez de l'expérience sur ça quand tu as une merde qui va qui arrive en fait sur un serveur il faut être extrêmement rapide en fait pour réagir parce que plus tu as très peu de temps finalement pour réagir parce que ça peut contaminer très vite d'autres services qui étaient healthy et en cascade créer une système de Domino effects
30:30[Musique] en fait on a ce qu'on appelle la marketplace Chris qui en fait un outil qui permet au développeur externe de développer des intégrations avec Christ donc des plugins ce qu'on appelle des plugins et on a un des développeurs qui de plugins qui fait un plugin qui est utilisé par pas mal d'utilisateurs qui fait une solution d'Analytics sur Chris et donc il a dû scrapper en fait les conversations passées des personne qui est utilisée en fait son plugin pour générer des statistiques le problème c'est qu'il a exécuté sur notre infrastructure des requêtes très lourdes et en fait ce qui s'est passé c'est qu'il y a une réaction en chaîne genre
31:01de vraiment de tout sur tout le pipi de la base de données jusqu'au worker note JS et en fait le ce qui s'est passé c'est que l'API de crise était dans mondialement pour tout le monde un truc qui mais tu vois c'est ça qui est important c'est genre ne pas faire confiance à son utilisateur pour scraper la recette de recharge Google et ils ont été dingues pendant quatre cinq heures parce que il se passe que tu avais un client qui est allé comme un bourrin et en fait il a fait tout mi-temps pour tout le monde et ils avaient pas de patch je pense le temps
31:32qu'ils identifient c'était quoi le problème qui coupe l'idée du gars qui allait trop fort oui parce qu'en fait c'est là qu'on parlait de l'ogly par exemple de tout un tas d'outils qu'on peut utiliser en fait nous le problème on l'a on a vu la donne time avec notre système de monitoring qui est aussi par ailleurs un système de monitoring qu'on a développé nous-mêmes et qui est adapté au micro service en fait on la suit dans la minutes tu vois le problème on s'est connecté à l'Obi on a regardé genre ça c'est bizarre ça tu vois et on a identifié le problème en fait dans 5 minutes le problème était corrigé tu
31:58vois parce que c'est un problème qui est extrêmement grave en fait Chris qui était tombé pour tout le monde il était indisponible donc là tu coupes l'IP du gars et c'est terminé en fait non en fait comment on a fait déjà il avait fallu comprendre qu'est-ce qui se passe tu as une panne en fait parce qu'en fait tu vois sur le coup ce qui se passe tu vas voir que tu as une base de données qui est au taquet pourquoi elle est au taquet bon bah en fait il y a plein de requêtes qui viennent sur une route qui est très consommatrice sur une ressource ok maintenant pourquoi qui
32:28et donc là tu regardes qui a c'est lui bon comment on fait et donc on a révoqué cette open donc il avait pu accès à la paix de Christ mais ensuite le problème c'est là où on parle des systèmes de cascade en fait de problème c'est que le fait d'avoir réévoqué cette problème le problème à stopper tu vois mais en fait la payer était toujours down pour les utilisateurs et c'est là qu'on a découvert en fait il a créé des sortes de side effect sur tout votre serveur sur notre pipeline d'ingestion tu vois et genre en fait il y avait il a créé genre il a mis dans un serveur qui
32:56arrivait pas à se relancer tout seul et en fait quand on parle des problèmes en cascade comme ça c'est genre ce mec en fait a créé une Myriam de problème et il nous a permis d'identifier genre défaillibilité tu vois dans la système il y a ça genre il faudrait changer tout de suite tu vois on les corrige immédiatement mais on a l'habitude maintenant et on avait noté une liste de trucs qui démerde qui arriveront un jour dans un sas mais ça arrivera à coup sûr par exemple nous on utilise un système de scraping dans le Christ genre tu mets un lien genre de compagnie et puis comme tu envoies ça un
33:27utilisateur et ben on va mettre logé images le titre de la page etc pour ça on a un petit scrapper et puis qui va aller parcelle HTML de la page et qui va regarder qui va regarder jusqu'à dans la page tu vois très simple tu vois jusqu'au jour où il y a un mec qui met un iso tu vois un lien alors un point ISO et que mais un point ISO mais avec une tempête d'acheter même qu'est-ce qui fait le pare-short oh gros fichier HTML je vais essayer de le parcer memory je recommence du coup tu as un pipeline qui revient en queue oh je vais
34:06passer un fichier HTML de 700 m oh autof memory je recommence donc voilà ou la même chose avec des ce qu'on appelle des des rideaux donc en gros c'est des Redex qui sont pas résolvables dans un temps serveur normal quoi genre mais un truc tout simple fichier un genre une chaîne de caractères de je sais pas de 10000 caractères si elle est formatée de manière particulière et ben en fait ça va créer ce qu'on a fait un appel un bug de Back tracking et en fait la regex elle va louper souvent c'est quand tu as des étoiles dans tes relief genre des règles de parking assez custom en terrarium ça
34:48c'est compliqué avec une étoile et le backtracking du coup ça fait que ça Backtrack contenu constamment pour aller chercher ce qu'il y a avant le service qui analyse ton code et qui dit tiens attention alors justement il y a des services qui te permettent d'analyser si tes règles sont potentiellement vulnérables donc en fait franchement j'ai même pas besoin de citer des services tu tapes redoses de testeur validateur sur google tu as tout un tas de services qui sont dans le navigateur et tu mets ta relief et en fait ça ça brûle forte ton navigateur tu vois et ça te dit est-ce que c'est vulnérable ou pas le nombre de libres qui sont avec
35:19des personnes parce que nous personnellement nous on a testé toutes nos reliefs personnelles tu vois une par une sur ces systèmes là et tu as des outils automatisés nous personnellement on l'utilise pas mais tu peux tu as des extensions de test je pourrais pas les citer mais j'en ai déjà vu non existent ou du coup c'est des règles qui sont qui sont pas qu'on passe problème là tout à fait en fait tu as juste tu peux automatiser ça sur tu fais un NPM test qui te backs automatise mais après le problème c'est que tous les librairies tiers ce qu'on utilise et enfin les projets en général on utilise
35:55un max de librairie comme ça tierce et en fait elles sont quasiment toutes vulnérables en fait chaque librairie qui contient des règles une probabilité très élevée d'avoir une régate qui est vulnérable alors tu as un autre petit truc aussi qui est pas une vraie vulnérabilité mais il y a plein de développeurs ils compilent les règles
36:30aujourd'hui parce que V8 qui est le moteur d'exécution JavaScript de notre JS et comme très optimisé et en principe il est censé mettre en cash dépend des cas peut-être quand tu as une reggaek tu l'as tu l'insensis une fois tu la mets en constante par exemple ou en statique c'est pas impossible en fait quand tu fais des matchs par exemple quand tu fais en Javascript des reggaix.match enfin stream pour un match regex la regaque à ce moment là elle doit être compilée parce qu'elle estateful parce qu'elle contient un état en fait de mémoire le match tu le fais progresser si la réaction n'est pas globale si tu fais un test c'est
37:05différent tu consommes la règle si tu la balance il y a pas d'état qui est stocké dans la rédaction donc c'est pas impossible que d'ailleurs le nombre de livres qu'on a eu comme ça où c'était des grosses merdes lentes à cause de sa compléter finalement définit pas toutes les réglages dans un seul fichier et en fait on les importe comme ça on les apporte qu'une seule fois et en plus on si on veut tester les problèmes que vous avez tout à l'heure là on a tout réuni dans un seul fichier attention à une chose c'est que parfois tu les instances de regex le truc c'est que comme je
37:32l'avais dit quand tu fais des points matchs de mémoire La rigueur c'est statefall donc en fait tu fais pas des recherches point exact ouais c'est ça et si ta règle qui n'est pas défini comme global ça veut dire qu'elle va pas être elle va pas exhaust tous les cas d'usage possible dans le scan par exemple tu fais pas tu scannes les lignes qui commencent par je sais pas un mot tu vois un mot en particulier et tu as plusieurs lignes dans la string qui peuvent commencer par ce mot-là mais en fait t'auras pas et tu vas peut-être arrêter en fait au premier match mais tu as regrets du coup elle va comment elle
37:57va contenir en fait l'état du fait que tu commences tu as déjà scanner un état tu vois une ligne en fait quand tu vas l'exécuter sur une autre string ça va faire n'importe quoi si tu veux parce que tu as toujours l'État en fait de l'appel précédent donc il faut faire très attention sur ça aurillex nous de manière générale on utilise des règles globales donc en fait c'est à dire que dès qu'on les consomme elles sont staplesse le stock pas d'état et on est tranquille et ça ça peut créer des problèmes en production les problèmes très graphiques qu'on avait noté c'est genre loquet tous les packages
38:29il faut le faire il faut le faire ce
38:42ils font ils font les kamikazes genre le mec il fait une grosse dépression vous me faites tous chier genre il met une mine dans son code genre une grosse mine j'ai un exemple de ça récent qui est la Library colorse qui nous a tous impacté parce qu'en fait la livrée color ça elle est présente dans tous les projets en fait elles permettent de faire des couleurs de générer des couleurs pour le terminal donc en fait tous les projets vous avez des petites couleurs en fait généralement dans le terminal elles utilisent la libraire et je sais plus qu'est-ce que ce mec il est là il avait fait il avait fait une sorte de bombe de
39:12console log bombe un truc comme ça c'était pour pour dire qu'en fait les grosses entreprises à payer pas assez les développeurs open source mais bénéficier quand même de leur travail un autre truc comme ça récemment un mec qui a fait vive lucrènes et si ton appareil grosse librairie c'était vive l'Ukraine et en gros si ton IP était détecté genre en Russie [Musique]
39:43voyez leurs données supprimées en fait par le fait qu'ils avaient installé cette librairie là dans un projet dans un package parce que oui en fait tu ton process nojia sur ton bac en local il a accès en fait potentiellement à tout ton ton folder à ton dossier utilisateur des systèmes qui regardaient les clés Bitcoin comme ça donc un truc à faire aussi c'est installer un anti russe sur sa machine genre même c'est des librairies notre JS et que tu te dis que c'est une offensif et ben dedans je peux te garantir que il y a des il peut y avoir des sacrésidents le truc c'est que c'est pas une analyse
40:21active c'est à dire que tu feras des scans de temps en temps donc c'est à toi d'y penser mais il y a un truc très dangereux après sur les max c'est un peu limité parce que tu as quand même aujourd'hui quand tu as une tentative d'accès et une enclave quand tu as une tentative à ton fichier à ton dossier je sais pas image local il va te demander une permission sur le l'os mais en fait un package un package en fait NPM que tu publies sur une pmjs puis en fait venir avec des binaires genre il peut contenir des fichiers des binaires et pas que du
40:46javascript il faut faire très attention un truc qui un truc à vérifier c'est hors tasnique.io ou en fait tu mets un lien GitHub dessus il va scanner toutes les failles de sécu de tes projets et donc dès que tu as une faille une zéroday sur je sais pas un truc comme c'est quoi live mon goût etc très bien et puis après bah tu as le MPM audit ils ont un truc qui tape qui est analyse automatiquement j'utilise les mêmes sources en général le problème je trouve du système d'analyse de sécurité de GitHub c'est qu'il est quand même trop verbe en fait le problème c'est que tu
41:21as tellement des notifications tout le temps qu'à un moment en fait tu pètes un câble tu le désactive et tu ne vois plus en fait ce qui est important et ce qui est plus recommandable je pense que c'est un MP maudite et en fait éventuellement tu regardes la sortie de NT maudit et tu le limite uniquement à tout ce qui est critical importante tu vois et tous les warnings tu les jettes tu vois parce qu'en fait des warnings tu en auras tous les prototypes pollutions fondamentalement tu as beaucoup de trucs de qui impactent pas toi ton code directement mais le tooling autour de toi genre vite enfin tu vois admettons
41:49que tu as un Builder Babel ou je sais pas quoi c'est ce que je reproche au système c'est bien que ces systèmes là existent mais ils sont très verbeux tu vois ils te donnent tout à défaut alors qu'en fait nous ce qui nous importe c'est ce qui est le plus important on est de développeur on n'a pas le temps de corriger les failles tous les jours tu vois parce qu'il y a des failles tous les jours alors il y a mettre des index là oui
42:18j'ai pas d'index tu peux bah tu peux mettre un service down ou de ralentir à fond surtout sur du base de données SQL le truc c'est comment est-ce que tu fais pour voir en fait que tu as une couille qui déconne à cet endroit là bien précis de ton code tu vois ce que faut comprendre comment une base de données marche déjà une base de données c'est une grosse liste c'est une liste c'est à dire que si tu veux accéder à quelque chose genre un item faut se taper l'accès à toute la liste donc genre si tu as un million d'éléments dans ta base de données et
42:49Ben et que tu veux accéder au dernier élément il faut tout stopper tu vois donc pour ça il y a un truc qui s'appelle les index ou c'est comme un annuaire et donc ça te dit admettons que tu veux accéder à un email en particulier je viens de coupanet 4 gmail.com et que moi je veux accéder à l'utilisateur cast mail là c'est à dire qu'il faut que j'ai une association entre email identifiant et du coup je suis moi dans mon index si je dis bah je l'email Julien le copainc à gmail.com quelle est la Heidi Heidi Heidi 500 et du coup tu as juste tu peux directement accéder à l'ID 500
43:27dans la dans la table et tu as pas tout scanner et ça c'est assez important en gros pour ça qu'il faut des index parce qu'en fait à chaque fois que tu as besoin de faire un accès direct à ta table il faut un index le truc c'est quand tu code du coup il y a quand tu utilises un ORL tu vois je suis pas assez quoi là par exemple pour faire des appels SQL en Javascript tu code tes requêtes et du coup toi tu as des mécanismes à avoir dans des automations avoir dans ton cerveau tu vas dire ok là il me faut un index je vérifie si j'ai
43:59l'index ou pas et après je l'ajoute mais dans des réflexes complètes complexes c'est compliqué tu vois de savoir qu'est-ce que le queriplineur donc le système qui va de ton moteur SQL donc ma sql par exemple qui va prévoir la requête et l'optimiser qu'est-ce qu'elle décision de choix d'index est-ce qu'il va prendre tu vois est-ce qu'elle sera optimale et en fait là tu as ce qu'on appelle le slalogue c'est assez commun c'est un concept assez commun à toutes les bases de données donc ça va inclure Mango mais est-ce que c'est un fichier que tu pourras avoir sur ton serveur que tu peux activer qui est normalement activé
44:28par défaut mais qui est assez permissif peut-être trop tu vas le définir une règle genre toutes les requêtes qui vont prendre plus de X millisecondes donc je peux à 200 millisecondes par exemple à s'exécuter tu les mets en log donc tu mets la foule request donc tu auras toute la requête SQL avec toute la grammaire SQL avec le choix du queripolline planner donc les index choisis et le temps d'exécution et là tu vas pouvoir voir très clairement tu vas dans ton slogue et tu vas voir en fait c'est tout le temps tu as vomi en fait de requêtes qui se ressemble enfin qui sont toutes les mêmes en fait et là
44:56tu vas dire ok bah celle-là tu vois je vais l'optimiser donc je vais étudier pourquoi je vais ajouter les index quoi et tu peux très facilement regarder le code SQL genre identifié ta requête en Javascript et en fait un index faut l'image tu as déjà joué au qui est-ce le Quies tu as une question mettons je suis la pause tu vas éliminer tous les tous les pions sur lequel c'est un discriminant en fait un index c'est ça c'est quel est un meilleur index possible c'est ce qui va permettre de discriminer le maximum d'item dans ta liste et en gros d'avoir à coup sûr de filtrer le maximum de
45:32trucs ça c'est le meilleur index possible
45:40j'ai un dernier point sur les index c'est tout ce qu'on appelle les index crampound ou les index composites je crois et en fait c'est des index en fait qu'on comprend très mal naturellement un index composite en fait de manière générale c'est quoi c'est un index qui va indexer plusieurs clés à la fois donc admettons j'ai pas j'ai une table SQL qui stocke des utilisateurs donc j'aurais je sais pas je vais voir indexé par email parce que je vais faire une recherche par email mais en même temps je voudrais voir les utilisateurs qui sont pas suspendus par exemple donc email suspendent ce que je peux faire c'est un index qui
46:12fait email virgule suspendu mais le truc c'est que c'est un Dax là en fait il va être ordonné donc en fait admettons que c'est maintenant email suspundead avec une autre clé name donc ça va être un index campant avec trois valeurs elle aura un ordre donc on va peut-être commencer par l'email par le suspanen et par le name si je veux maintenant faire une recherche dans l'email par le name pardon en commençant par le name le problème c'est que je pourrais pas utiliser cette index là parce que le name en fait c'est le c'est la dernière valeur dans l'index ce qui c'est un graphe en fait il faut s'imaginer ça
46:40comme un graphe et en fait faut commencer par l'email il faut lui donner un email et après suspend Dead et après name et l'avantage c'est que tu peux faire des optimisations dont tu as besoin admettons que tu as des requêtes qui font email suspendude email suspendid name tu vas avoir uniquement avoir un index comme pente sur ces trois valeurs parce qu'en fait il pourrait être c'est un axe pour être utilisé pour des requêtes plus simples qui vont faire email parce qu'en fait dans l'ordre tu pourrais utiliser et consommer ces deux valeurs et il y a un truc aussi surtout pour des ça c'est que peuvent être utiles parce
47:11que ça permet de préfixer genre ce qu'on appelle un Tonnen tidy c'est la dite ton client à toi SAS et après tu vas mettre Lady de son client à lui
47:31sont très très lourds et ça peut représenter en fait finalement 30 % de la data total juste en créant les index c'est bien de créer des index c'est génial mais à un moment quand tu quand tu as de la du skate on a beaucoup de données tu vas commencer à te dire ok il faut que j'économise des ressources et tu vas commencer à analyser quel index sont redondant tu vois et c'est là où je parlais quand je parlais des Campan index bah le cadre de l'index comprendre en fait j'aurais pas avoir un index email tu vois parce que en fait je peux utiliser l'index Campan qui est
48:03nécessaire pour aussi en fait finalement indexer email simplement pas pouvoir de mecs qui débutent ça c'est peut-être un peu non en fait ouais c'est ça en fait je pense qu'il faut pas y réfléchir au début il faut juste être conscient que ça prend de la place quand tu commences à grossir en vrai les index si tu as fait des erreurs au début tu les supprimes tu vois enfin tu tu les reconstruis il y a pas de problème quand on débute un ça c'est un truc absolument à vérifier par contre c'est le lot qui est de double c'est genre firewall sur sa machine et mettre un mot de passe sur
48:31les bases de données ça paraît con comme ça mais alors moi je par exemple sur ouais par exemple permettons que tu es digital Ocean en presta te mettre inférieur sur ta machine et en plus on met un mot de passe sur sur la DB c'est incroyable le nombre de DB il y a pas de place il y a pas de firewall il y a pas de mot de passe moi je vais par exemple j'ai un copain sur Paris à rejoigné une boîte en stage ça fait fort longtemps maintenant et mieux je comprends pas notre Mango n'arrête pas de tomber en panne c'est à dire ça fait trois fois cette
49:09semaine mon goût de donner dessus genre mon goût c'est nul ça permet et donc je me dis tiens c'est quoi donc là tu sais je mets le nom du site internet et puis j'utilise un truc genre TCP porte checker machin truc en ligne mais l'IP du serveur pain port 27,17 ou 0,27 j'ai pu bref on s'en fout et là genre le port ouvert en verre tu vois genre attaquer le nom de l'IP et dedans en fait c'est presque un miracle le mec est juste dit vite ce qu'il y a sur le serveur tout à fait pas voler la donnée quoi et [Musique] il y a un sujet qui est genre moi qui
49:59m'a surpris c'est nous on met des mots de passe partout sur Christian et un moment je me suis je me suis amusé genre j'étais là genre en mode on était sur deux serveurs Chris qui sont sur ce qu'on appelle un VPC chez Digital aussi donc en fait à la base ça s'appelait private networks donc quand tu lip private tu assumes que les réseaux sont privés à ton compte tu vois et en fait non tu avais en fait déjà l'océan pour les réseaux les lames les réseaux privés ils a signé une IP privée à ton serveur mais en fait dans le Data Center où tu te trouvais donc dans notre cas
50:26Amsterdam tu avais aussi accès aux IP des autres comptes qui étaient aussi sur le réseau privé et donc à un moment j'étais là au plus tard je fais un scan sur les ports redis tu vois dans le dada Center et j'étais en mode j'ai trouvé plein de redis j'ai trouvé un millier de redis genre 1000 ils étaient tous ouverts je me connectais Aurélie je voyais la data qui avait dedans donc là j'étais là oh [ __ ] exactement c'était une attaque plus évoluée parce qu'il fallait avoir un serveur dans la data center mais à partir du moment tu le connais tu peux wiper 1000 et alors que j'ai préjudice
50:57donc là ce que j'ai fait direct c'est 120 mail à l'océan genre il y a un grave problème de sécurité chez vous ce à quoi y répondre oui c'était écrit dans la documentation oui mais les gens ne lisent pas la documentation vous dites réseau privé c'est misseling c'est du marketing c'est un terme marketing comme si on avait un câble entre toi chez toi chez moi tu vois ou alors heureusement heureusement depuis en fait à fixé le problème et c'est aujourd'hui on sortit la future qui s'appelle les VPC et quand on te dit VPC c'est les virtual prevent je sais pas ce que c'est veut dire mais
51:29Cloud et là t'as pas le tu as plus de problèmes tu es dans ton vrai réseau scopé à toi de toute façon si tu avais un mot de passe se connecter en fait au shell redis chez toi mais ils allaient jamais pouvoir s'authentifier pour récupérer la donnée par contre ils peuvent te dosses à l'intérieur du là non ça c'est possible aussi ce qui n'est jamais arrivé j'ai une histoire d'ailleurs de ouf au niveau des sécurités qui arrivaient une histoire que j'ai entendu en interne en gros ils ont pris un freelance au Brésil et ce qui s'est passé c'est que le freelance et je crois qu'il stockait
52:05même les clés virtuelle dans le fichier d'autres quand on connaît en tout cas le mec il avait accès à tous ses fichiers là il a tout pris la donnée de la liste il a monté un concurrent de la liste au Brésil avec même il a même ils s'en sont aperçu parce qu'il a pris la base de données de tous les clients et leur envoyer un email en leur disant qu'il lançait son service concurrent de la ministre moins cher etc et là ils ont compris qu'en fait bah on leur avait tout volé quoi et du coup bon bah bonne chance faire un procès au Brésil je sais
52:30pas comment ça s'est terminé mais c'est il faut faire très attention aussi tous vos accès dans le code parce que le jour où vous faites venir un mec pas très réglo euh même pour une autre raison admettons que tu considères que tous les gens sont faibles à quelqu'un se fait voler sa machine et que tu es un mot de passe genre de la prod dedans c'est très embêtant quand même parce qu'ils permettant c'est pour ça qu'il va avoir des layers de sécurité partout et je crois que c'est c'est quand tu as un an je crois qu'il est de clébard cloud qui avait la qui parlait de la théorie de la
53:00citadelle je me souviens plus exactement du terme mais en gros il faut pas considérer ton infrastructure comme une citadelle parce qu'une citadelle c'est très dur de rentrer mais en fait parfois le problème peut venir de l'intérieur et une fois que tu es dans la citadelle il y a plus de sécurité tu vois genre les portes sont ouvertes partout et en fait faut pas considérer ça comme ça faut que les portes soient fermées à l'intérieur de la citadelle tu vois faut avoir des layers de sécurité à l'intérieur pour ne pas faire confiance aux gens qui sont à l'intérieur tu vois parce que le problème parfois c'est pas la personne
53:23c'est tout ce qui est autour c'est le sociologue généring l'ingénierie sociale on va essayer de te justement et nous on a eu des trucs très comme ça avec voilà par exemple un jour j'étais j'étais à l'aéroport prêt à prendre l'avion à vol de nuit tu vois genre très long et là je vois j'ai commencé à m'inquiéter parce que je commence à recevoir un mot de passe de un email de Claude fleur comme quoi en fait on avait demandé un mot de passe reset un réseau de mot de passe on a une meuble c'était un vrai mail donc là quelqu'un en fait finalement avait découvert le l'email de
53:53notre compte Claude fleur qui est privé et demander un reset de mot de passe et après ce que les gars ont fait c'est qu'ils ont trigger ça et après ils ont envoyé un email en utilisant le domaine ipfs de Claude fleurs un email forgé à ce niveau-là mais notre travail donc en fait et c'est là que les parfois les attaques sont très évoluées parce qu'en fait c'était genre un Heidi point Claude fluaire ipfs.com qui était un domaine qui appartenait à quoi de fleurs tu as tu te réveilles le matin la tête dans le cul tu regardes ton téléphone et là tu vois un truc genre un mail genre
54:23la sécurité de votre compte fait en gros elle est compromise et tu te rappelles le mail que tu as eu la veille qui était vrai qui était un vrai mail et en fait c'était juste parfait comme attaque genre c'était très très bien très bien pensé c'était le séquentiellement c'était parfait sauf que moi je peux découvrir le mail de ton compte d'accompagner Zappy sur Claude fleurs je demande juste en tant que serveur public un passeport tu vas le recevoir tu vas dire ok moi j'ai pas demandé par contre tu fais toujours attention à l'URL dans laquelle tu rentres après l'URL a été particulièrement convaincante parce que c'était un vrai domaine Claude fleur
54:57c'est pas claudefer.com qui appartient c'est juste qu'en fait ils sont servis d'un sous domaine généré de ce domaine là et ouais et en fait c'était il me semblait que c'était pour parce qu'ils avaient hébergé du contenu HTML quand tu cliquais sur le lien d'un email qui était forgé tu es arrivé sur ce domaine Claude ferry PFS dont on aviateur qui était vraiment hébergé par Claude fleurs et en fait c'était le service de Gateway vers le protocole ipfs qui est juste un système de stockage de fichiers décentralisé tu vois et en fait le fichier n'était pas sur pot de fleur mais avec un domaine et c'est là où je dis [ __ ] les mecs sont
55:30Smart va falloir faire attention
55:38de la rançon c'était l'âge d'or des crypto aussi à l'époque donc le Bitcoin était super haut tout ça il y avait beaucoup de blancs somewhere sur les sur les ordinateurs par exemple les hôpitaux tu vois il y a eu tout un tas de d'attaques sur les hôpitaux ou les ordinateurs des hôpitaux sont arrivés genre en mode chiffré tu vois genre payer une rançon à cette adresse en Bitcoin et on vous débloque tous vos ordinateurs dans un hôpital tu vois c'est grave de toute façon tous les grosses boîtes sont ont été un jour victimes de peut-être l'important aussi après qu'on a une certaine taille je sais pas par
56:09exemple quand tu vois des boîtes comme l'App Store qui ont commencé à voir genre 150 employés peut-être bien d'avoir de faire de payer des prestataires externes pour s'assurer que il y a pas de problème avec un employé par exemple qui euh c'est souvent le facteur de l'expérience parce que c'est leur métier de mettre faire un audit ou tu tu payes des professionnels quoi plutôt de se dire on va prendre sur le tas et on va du coup pas prévenir on va guérir sur lequel vous voulez aborder ça fait déjà une heure qu'on est en colle bah écoute je pense c'est vraiment les plus les plus simples et efficace la sécu
56:50faut jamais se faire confiance je crois que le M1 ne jamais se faire confiance à jamais se faire confiance à soi-même en fait parce qu'en fait le principal vecteur et les humains il faut toujours se dire il y a plein de gens comme ça où tu discutes avec eux tu leur dis tu parles de ces fail là et puis ils disent ah bah moi de toute façon je les connais mes failles en gros au moins on m'avait dit une fois comme ça un sas dont je tirerai le nom au bah nous c'est simple tu fais une recherche avec 300 caractères dans notre système voilà la fixer tu vas
57:23péter un câble mais forcément mais genre dans un mois dans deux mois mais ça va arriver quoi après je ouais on peut peut-être citer tout un tas de notes qu'on avait sur la sécurité mais sans les expliquer parce que ça va prendre beaucoup de temps mais il y a plein de points intéressants qu'on n'a pas qu'on a pas cité tu as typiquement chez Chris on utilise des ubiquis donc pour stocker nos clés d'accès genre tt une clé physique qui est hors du Mac tu vois et on la branche au Mac quand on en a besoin tu vois il y a aussi genre tout un statué où on
57:55a eu des problèmes c'est genre les attaques XS sur les produits genre quand on a une application web typiquement avec du contenu qui est généré par l'utilisateur il faut faire attention à ce que tu puisses pas avoir des injections JavaScript typiquement qui viennent de la chatte box Christ vers l'application Chris qui est utilisé par les entreprises et qui contiendraient des tokens
58:16sur un HTML tu connais non personne ne connaît cette attaque par défaut le comportement par défaut d'un target blanc sur n'importe quel navigateur c'est que l'onglet que tu as ouvert il a accès à la page précédente dans le l'onglet que tu viens d'ouvrir il y a un objet qui est défini sur window qui est windows.opunner si je me trompe pas et qui contient la référence vers le contexte JavaScript de du parent c'est à dire que tu auras potentiellement les cookies le local soleil en fait des tokens d'authentification quand tu peux changer l'URL de la page dangereux et il y a des choses dont tu tu n'as pas accès mais tu as accès à
58:59suffisamment de choses pour faire une attaque potentielle par exemple de compagnie EPI tu rediriges tu m'intergues donc vers Chris nous crise qu'on va détecter que ces tests de compagnie EPI tu vas faire le l'openeur pour location et là tu fais un faux de compagnie EPI l'utilisateur avait à peu près la même page l'utilisateur et revient sur la page précédente l'automlet c'est la même page qu'avant tu vois sauf que ah tiens faut te reconnecter quoi mais n'importe quoi alors c'est hyper dangereux et en fait du coup tu as une propriété à mettre sur tes liens dans ces cas là j'aurais bien opener du coup les liens qui vont ouvrir
59:34c'est genre réel no opener genre nos référents et là tu es prémunies du problème et tu peux l'activer au niveau global de la page aussi avec des HTTP de ma mémoire quand on a appris ça genre oh mon dieu c'est très simple quand même le loup était dans la bergerie depuis le début [Musique] ant aussi pour les antivirus MPM audit régulièrement et les slows pour le masculin quoi les protections par mot de passe de ton radis de ton MySQL machin des mots de passe partout c'est chiant mais si le loup est dans la bergerie tu es protégé quoi pour le mot de la fin Julien faut dire
1:00:27aux abonnés de s'abonner acheter formation non il y aura pas de formation ça c'est sûr enfin pas tout de suite c'est vraiment pour le plaisir n'hésitez pas à vous abonner si ça vous plaît et un pouce bleu mettre un pouce bleu pour faire grimper dans les algorithmes et je vous souhaite une agréable semaine et à bientôt à bientôt
No line in this video contains that word.
Where these words come from. This is the caption track YouTube holds for this video, written automatically by YouTube rather than by the creator. We read it, tidied the line breaks and laid it out so it can be read. The plain text version is at https://viewrankai.com/tools/youtube-transcript/vingWLFhYTQ.txt.
All rights in this video belong to SaaS Makers. Watch it on YouTube. If this is your video and you would rather this page did not exist, tell us and we will remove it.