 Ok, on va continuer dans quelques secondes avec Frédéric Lonquet. Il va nous parler de Hardening de Devian 10. Il va être en anglais et il va mélanger en français en anglais. Si vous avez besoin d'explanations, de translations, ou d'une phrase spécifique, vous pouvez le faire. Est-ce que c'est ok ? Oui, c'est ok. Merci, bienvenue Frédéric. Merci d'être ici. Je me suis décidé à première de faire la présentation en anglais, mais il m'a demandé de le faire en français, donc je vais faire un mélange, ok ? Les slides sont en anglais, donc pour les gens anglais, vous pouvez le lire, et pour les gens français, vous pouvez m'occuper de moi. Ok ? Pour cette présentation, j'ai décidé de étudier l'aspect de Hardening, la nouvelle version de Devian, et de poser quelques questions. Qu'est-ce que l'Hardening de Devian et quelle est la meilleure pratique déjà en place ? D'accord. En fait, en gros, on va avoir toutes les bonnes pratiques dans Devian, et la notion de Hardening qui veut dire durcir la configuration, et pourquoi il faut le faire, d'accord ? Donc, nous sommes dans un contexte au niveau cyber-sécurité, où Linux fait figure de système le plus sécurisé. Donc, face aux menaces qu'il y a sur Internet, alors pour en citer certaines, tout ce qui est botnet malware, donc qui peuvent amener sur des dénits de service, les ransomware, parce que c'est bien des sur-linux qui sont disant, nous, on n'a pas de virus, on est tranquille tout ça, souvent on héberge des données en partageant des serveurs de fichiers sous Windows, et ces systèmes-là peuvent être touchés aussi par les ransomware, via les partages, ou dans les messageries. Un gros risque aussi que l'on rencontre beaucoup, c'est le cyber-squating, enfin les crypto-Bitcoin mining software, qui vient d'installer sur votre serveur, et qui utilise du CPU pour miner du Bitcoin, et fournir des Bitcoins au pirate, voilà. Donc, et le dernier au niveau risque, c'est toutes les failles de sécurité qui n'impliquent pas forcément des malware, mais des failles qui permettent à des attaquants de rentrer sur les systèmes pour voler des dolés, style sensitive information, qui est le risque majeur actuellement sur Internet. La fuite de base de données, par exemple, c'est un peu les licks où on retrouve tous les login-passers, les cartes bleues de tout le monde. Donc, si on s'intéresse aux failles de sécurité, d'où viennent-elles ? En grande partie, ça peut venir de bugs du système d'exploitation, directement soit du carnel, soit des services qui tournent autour. Ensuite, on va rencontrer des bugs dans les applications, par exemple sur les serveurs web, qui sont hébergés sur les serveurs Linux, et on peut aussi avoir poorly configuré des serveurs, c'est-à-dire des serveurs qui sont très mal configurés au niveau de sécurité, et qui peuvent aussi mener à du piratage des exploitations. Alors, souvent, le premier peut être corrigé par en mettant à jour les patches de sécurité, mais il faut se rendre compte que d'une façon globale, un système, même Linux, a besoin de tout un ensemble d'actions pour le rendre beaucoup plus sécurisé. Comment on va le voir ? Cette présentation n'a pas pour but d'être exhaustif, je ne traiterai pas et ce Linux a part mort, mais on va voir quelques concepts avancés. Par rapport à ce qu'on vient de voir dans le slide précédent, nous avons besoin de hardené, hardening our system. What does mean hardening our system ? ça veut dire improving the security of a native system, c'est-à-dire rajouter par rapport aux éléments existants tout un ensemble de configurations, de directives de compilation, comme on verra, et de bonnes pratiques à mettre en place pour renforcer la sécurité de notre système, et l'objectif étant the goal is to make our Linux box as secure as possible. Et c'est une lapalissade de dire que tous les administrateurs Linux doivent apprendre la sécurité au moins sur leur système. Donc à partir de là, qu'est-ce que l'on peut faire ? La première chose à faire, c'est bien sûr c'est s'intéresser au compte utilisateur de façon avec la gestion des droits classiques pour faire en sorte que les utilisateurs puissent faire leur travail et réaliser les actions pour avancer dans leur boulot classique. Il faut s'assurer que les autres utilisateurs ne vont pas avoir accès à leur données. Et bien entendu, le dernier point c'est il ne faut pas que l'utilisateur puisse aller se balader partout dans le système et avoir plein d'informations. Alors sur le dernier point, on se rend compte qu'actuellement, avec des commandes de base, on peut encore voir beaucoup de choses sur un système Linux. Par exemple, les logs du kernel avec dmsg, on peut encore les voir avec des droits utilisateurs classiques. On verra que dans Buster, ça a été renforcé au niveau sécurité par du hardening. Alors, dans les premières recommandations pour la sécurité des comptes utilisateurs, déjà, on peut se poser la question est-ce que c'est nécessaire de garder un contre-route actif. D'accord ? Donc, pour plusieurs raisons. Déjà, on peut faire de grosses conneries en étant route, sur toutes les actions. Alors encore moins, j'envoie certains qui installent leur Linux graphique en Startix en route. Je trouve ça horrible. Et après, aussi, au niveau, on verra après, sur la notion de log des actions, il n'est pas forcément possible logger tout ce qu'on fait en route. Donc du coup, on se tournera vers les bénéfices de sudo, comment remédier au risque d'être constamment route. Et on verra comment configurer le système pour générer un passoire de qualité. Même si on va considérer que le passoire n'est pas sécurisé, et on le remplacera par autre chose par la suite. Alors comment on met en place tout ça ? Alors la première chose, alors, je ne sais pas si y'en a qui vont hurler, on peut proposer de bloquer les accès à route. Même si on a sudo, on peut toujours faire sudo et su pour devenir route. Donc du coup, directement dans la suite, si il passe de bel UD, on met route en Ologine. Ça règle le problème. Il n'est plus possible après un utilisateur de se connecter en route et il fera tout avec son compte lui-même et sera logué de cette façon. D'accord ? Alors, pour cela, on va utiliser sudo. Peut-être que vous le faites déjà, c'est très bien. Et moi-même, je... Un gros travail sur moi pour l'utiliser. D'accord ? L'intérêt, on le verra dans la slide après, c'est de permettre à des utilisateurs toujours d'avoir des droits avancés pour réaliser des tâches administratives. Mais il est rare que tous les actions que l'on a à faire requièrent les droits administrateurs. Donc dans ce cas, autant gérer le système, les utilisateurs avec les aspects sudo pour leur donner des droits bien spécifiques. S'ils doivent réaliser des actions d'administration, ils tapent leur passeword, leur propre passeword et il n'y a pas besoin de donner le mot de passe-route à tout le monde et encore moins si un utilisateur quitte le groupe de la société, on doit changer le mot de passe-route pour tout le monde. Ce qui est un problème. Donc ça résout déjà ce problème-là. On verra aussi que l'on peut aller plus loin. Ensuite, le fait de désactiver le contre-route au niveau sécurité, ça a un impact immédiat pour les attaquants. Si l'attaque principale sur les mots de passe de l'extérieur, c'est le bruit de force. On va chercher à parcourir tout un ensemble de dictionnaires de mots de passe pour essayer d'avoir des accès sur les comptes. Si on désactive le mot de passe-route, il est plus possible ou difficile de savoir qui est à les droits de mine comme utilisateur. Ça complexifie les attaques. Mais on verra que les mots de passe aussi ont vocation à disparaître dans tous les cas. Donc ici make a sandwich, what make it yourself sudo make a sandwich. C'est parfait. Alors ici, une démonstration de pourquoi c'est d'utiliser les accès-routes pour réaliser des tâches d'administration, c'est sur le monitoring des actions sur un système. On va de plus en plus vers une sécurité, on va monitorer toutes les actions, sur les logs, on s'en appelle des S.I.M. Et on voit que, par exemple, si on réalise une action avec, je me connecte en S.U. moins pour devenir route, tous les actions que je vais exécuter dans cette session ne seront pas logées. On voit juste opening and close session only, but not all the action in between. Nothing is recorded. Si vous utilisez votre sudo pour faire tout ça, par exemple, je me suis connecté sur mon serveur et avec sudo, je suis devenu route, j'ai fait un APT update, pas très méchant, et ça a été logé. J'ai quitté la session et c'est sorti. On voit la commande qui est appliquée et on voit l'utilisateur. On rentre dans la condition de traçabilité de toutes les actions. Rien que ça, au niveau sécurité, pour se conformer à des politiques, de sécurité des systèmes d'information, on répond déjà aux bonnes pratiques. Si on s'intéresse à complexifier les mots de passe, c'est juste un titre indicatif. Cette présentation, je la mettrais en partage sur le Wiki, vous pourrez y accéder et revenir plus en détail sur tous les points si ça vous intéresse. Comment on gère sur un système d'ébiennes pour augmenter la complexité des mots de passe et avoir une politique de mot de passe ? On va utiliser PWQ, et ça fait partie de ce qu'on appelle les Plugable Authentication Modules, les PAM, donc par défaut, il n'est pas installé. Il faut l'installer, on l'installe aptitude, installe les PAM PWQ donc je l'ai bien installé ex-sudo, j'ai fait des choses bien. Ensuite, on va dans le répertoire PAM.Di et on grep sur PWQ et on voit que par défaut, PAM autorise que 3 connexions, 3 tentatives de connexion. D'accord ? Comme je l'ai écrit ici, sinon on est déconnecté. D'accord ? Si on va aller plus loin, alors la question c'est combien on autorise 2 tentatives de connexion ? Alors 112 C'est pas évident à savoir. Alors ça c'est la taille du mot de passe. D'accord ? Donc la taille du mot de passe, password complexity. Alors ça se paramètre dans le fichier, donc il faut éditer le fichier password quality dotconf et on a tout un ensemble de paramètres que l'on peut renseigner ici. Et par exemple ici la taille minimum 12 caractères. C'est très simple. Je vais pas m'étendre très longtemps. Donc si vous êtes basé sur une politique de sécurité dans votre entreprise, vous avez juste à vous appliquer sur ce qui est stipulé dedans. D'accord ? Je bouge beaucoup c'est ça ? Non ? C'est ça ? Rien d'extraordinaire, là tout le monde comprend. Si on veut aller un peu plus loin et on veut combattre les attaques par dictionnaire, qu'est-ce que l'on va faire ? Donc on va définir un nombre maximum de tentatives de connexion. Donc ici la question est combien ? On pourrait mettre 100 parce que pourquoi 100 ? Parce que ça permet déjà l'utilisateur si il a oublié son mot de passe d'essayer 15 fois, sans avoir à bloquer sans compte. Et si il y a un attaque par dictionnaire derrière au bout de 100 fois, ça va arriver très vite, le compte est bloqué. Donc comment on paramètre ça ? Donc il faut aller dans le fichier de configuration, pareil, donc ETC, PAM, des logins, ok, et modifier le paramètre Out Recrier, dénail et qui est ici dans le fichier. On a un exemple et on voit que par exemple ici si on met dénail 4 tentatives, on peut mettre le nombre que l'on souhaite. D'accord. Ce module est déjà installé sur Buster. Donc il n'y a rien à faire si ce n'est de l'utiliser. Maintenant qu'on a vu un bref aperçu de la sécurité au niveau des utilisateurs on peut se poser la question du firewall. Des systèmes comme Red Hat arrivent déjà avec des firewalls pré-configurés et ce Linux pré-installé. Donc on a travaillé sur des notions de security in deep, donc sécurité en profondeur. Sur des biens dans Buster, on n'a pas de firewall par défaut et pas de règles lipétables non plus de paramétrés. Donc on le voit avec les deux commandes lipétables moins ailes qui ne fournissent rien. Ici on est en IPv6 et là on est en IPv4. Donc qu'est-ce que ça veut dire tout ça ? L'installation du firewall va être à votre charge. Le système ne préconise rien. Donc là on peut trouver tout un ensemble de solutions. Qu'est-ce qu'on peut mettre en place ? Je propose un IPéta persistant qui n'est pas bien compliqué à mettre en place et qui va permettre de conserver vos règles de sécurité du firewall même après un redémarrage. Ça va rejouer les règles IPétables via un script. Donc comment on installe IPéta persistant ? Avec APT aptitude install. Il vous propose de sauvegarder les règles en cours. Donc si vous avez déjà des règles qui ont été jouées sur le système, les rajoutées sont fichées de configuration. Ce qui est très pratique. Après, on ne va pas rentrer dans les détails de IPétables mais c'est juste pour vous donner un aperçu. Donc, une fois que l'on a installé IPéta persistant, on peut aller regarder dans le répertoire ETC IPétable et là on voit qu'il nous a créé les règles pour worlds v4 et v6 qui vont faire référence à IPv4 et IPv6 sur lesquelles vous avez toute l'opportunité de les modifier et de les adapter selon votre politique de sécurité que vous voulez mettre en place. D'accord ? Donc on voit qu'après le redémarrage du système, on a une persistance des règles en place. Alors il existe d'autres alternatives que IPétable, je le mets juste à titre indicatif. Sur le système Ubuntu on a trouvé UFW et il existe aussi NF Tables que je n'ai pas expérimenté mais c'est à titre indicatif. Donc il faudra l'installer vous-même. IPéta persistant restant la meilleure solution pour des biens. Maintenant on va s'intéresser au chiffrement. Et au durcissement avec SSH du shell sécurisé. Alors, l'objectif est de si on veut chiffrer, alors je ne parle pas de luxe qui permet de chiffrer des partitions c'est déjà implémenté à l'installation du système on peut le mettre en place. C'est assez bien fait. Là c'est vraiment des choses dont l'idée ce serait de rajouter. Là si on veut par exemple chiffrer le répertoire de l'utilisateur, on va utiliser eCrypt FS, eCrypt file system qui correspond à entreprise cryptographique file system. Alors pour l'installer on va utiliser APT Get install eCrypt Utiles et ensuite on va jouer la commande suivante pour pouvoir chiffrer toutes les données qui sont dans le répertoire. Alors ça c'était très utilisé on va voir pourquoi il y a un petit souci avec et on pouvait aussi l'utiliser pour chiffrer la Swap, la partition d'échange parce que c'est bien de chiffrer ces données utilisateurs mais si on arrive à friser la machine et accéder à la Swap on pourrait avoir accès à des données sensibles aussi. Donc cet outil le permettait quand j'ai voulu l'installer je me suis rendu compte qu'il a été supprimé de testing donc pour un problème de bug donc c'est très récent donc du coup à suivre, s'il y a des experts à l'installer dessus peut-être ils nous répondront si ça va revenir. Donc pour le moment utiliser Lux pour chiffrer vos partitions à l'installation du système eCrypt file system. Maintenant tout à l'heure on parlait comment renforcer la la sécurité des mots de passe alors dans mon existence de on va dire de la cyber sécurité je suis souvent amené à faire des attaques par social engineering par mail et qu'est ce qui se passe généralement quand on demande leur mot de passe à un utilisateur il les donne. Il n'y a pas besoin de faire du reverse engineering ou je ne sais quoi on peut considérer que les mots de passe maintenant ne sont plus sécurisés alors pour des raisons déjà le brute force tout ce qui est kill augur sur les postes qui enregistre tout ce que vous tape au clavier mais le social engineering reste quand même avec le spear phishing l'arme absolue pour tout pirater sur internet d'accord comment on on va se protéger de ça on va utiliser les clés de cryptographie ssh pour pour faire disparaître les mots de passe d'accord donc je pense que beaucoup de monde ici connait ça c'est juste un titre indicatif mais c'est bien étrodi donc utiliser la commande ssh qui gêne qui va générer une paire de clés, une clé publique une clé privée grâce à ça on va pouvoir autoriser des utilisateurs à se connecter sur des serveurs sans mot de passe d'accord ou sur d'autres comptes d'accord donc donc du coup les conseils sont de autoriser les utilisateurs donc à pouvoir échanger des clés donc être basés sur des clés de cryptographie et bien sûr et si ce n'est pas fait bloquer l'accès ssh au contrôle de l'extérieur pour éviter en même temps les attaques alors comment on fait ça c'est très simple vous générez une paire de clés sur votre machine donc avec ssh qui gêne vous choisissez le type de chiffrement symétrique ici par défaut maintenant c'est rsa et la taille de la clé public 4096 on considère que 2048 ça va bientôt être cassé donc on se protège pendant dix ans l'informatique quantique cassera la cryptographie symétrique donc à terme à terme rsa sera remplacé voilà alors une fois que l'on a généré notre paire de clés on va se connecter sur notre serveur comme j'ai fait là et j'ai copié ma clé public dans un fichier spécial pour que le serveur me connaisse et m'identifie voilà donc dans le fichier autorisé de quiz on va les copier ça clé sur le serveur distant de toute façon très simple et une fois ça qu'est ce qui se passe eh bien je peux me connecter sur mon serveur sans mot de passe comme là c'est sache à tout mon serveur et il m'a pas demandé de mot de passe je suis connecté direct dessus et quand je fais hostname je suis bien sûr mon serveur buster et non pas sûrement workstation qui est fredemecie rien de rien d'extraordinaire mais c'est quand même une révolution on me demande souvent si ça existe ou une dose je sais pas répondre donc si ça existe je sais pas maintenant comment on fait pour désactiver le compte route de l'extérieur donc c'est très simple par défaut sur des biens le fichier d'administration donc c'est sache config d'accord et par défaut le paramètre qui permet d'autoriser ou pas l'accès au compte route c'est permis troutelogin alors permis troutelogin par défaut il y a pro ibitit password qu'est ce que ça veut dire ça ça veut dire qu'en fait le compte route est autorisé à se connecter mais seulement par échange de clés ça veut dire ça bloque on peut pas se connecter de l'extérieur au compte route avec un mot de passe d'accord donc déjà ça ça bloque les attaques par brute force donc c'est déjà pas mal après si on choisit de totalement bloquer l'accès au compte route même par clés c'est sache de l'extérieur on paramètera permis troutelogin à nous donc et bien sûr ok donc tout ça c'est très simple à faire et ça se met en place très rapidement après il suffit juste de faire sudo pour avoir accès au tâche d'administration maintenant on va s'intéresser à autre chose alors ça ça va être de plus en plus complexe d'accord mais je vais essayer de vulgariser au maximum une des failles de sécurité qu'on trouve beaucoup dans les challenges routemis c'est de cyber sécurité c'est le SUID what is the SUID en fait il est possible de donner à certains exécutables des droits sur lequel un utilisateur en utilisant cet exécutable va récupérer les droits de l'utilisateur pour lequel il a été créé ça veut dire quoi si par exemple ici je veux je suis un utilisateur et je veux changer mon mot de passe qu'est ce qui se passe je vais utiliser l'exécutable passe wd et cet exécutable va devoir accéder au fichier des mots de passe chiffrés qui est otc chadeau d'accord où les mots de passe sont achéants chasse 512 mais ce fichier donc pour faire ça on va rajouter ici une chose spéciale qui est SUID donc ici il est pour passe wd et avec l'utilisateur route ça veut dire que les utilisateurs qui vont accéder à ce programme deviendront routes en utilisant alors ça veut dire quoi ça veut dire que il existe sur votre serveur des biens tout un ensemble de fichiers et programmes qui ont SUID positionnés et qui sont sur route donc c'est pas une faille de sécurité majeure alors en prenant du recul j'ai trouvé dans un bouquin que c'était nécesserie et ville pourquoi pas mais du coup c'est nécessaire mais ça reste dangereux alors dangereux pourquoi parce que si d'autres utilisateurs arrivent temporairement à avoir des accès routes et vous rajoutent des SUID un peu partout sur le système sans que vous le voyez ça peut faire des portes d'entrée pour des attaques futures donc ça mérite des todités alors la question c'est comment on regarde sur un système quels sont tous les fichiers qui inclut ce flag on a qui ça comment ? le voilà un FIND un joli FIND donc on fait comme ça à partir de la racine du serveur on cherche les fichiers qui ont la permission 4000 ou la permission 2000 par exemple on redirige ça vers un fichier texte pour les regarder là je me suis amusé audité juste des biens 10 il y en a 13 sur un système où il y a juste SSH d'installer un système natif il y en a 13 ça peut être une faille de sécurité donc c'est quelque chose qu'il faut surveiller d'accord alors qu'est ce qu'on peut mettre comme mesure pour empêcher des utilisateurs au protéger des systèmes de réaliser des SUID ou des SJID pour le groupe on va créer par exemple ici une partition ici c'est la partition slash temp et on va la monter en no SUID ce ne sera pas possible dans la partition temporaire ou qui est beaucoup utilisé pour des attaques avec des scripts déjà on va empêcher les scripts de s'exécuter sur slash temp et en plus on empêchera de mettre des SUID sur les fichiers là pour des attaques futures d'accord ça se paramètre dans ETC FSTAB le fichier des points de montage du système d'accord j'avais pensé parler un peu de système D mais je me suis rendu compte que c'est encore un monde tout ça et sur une présentation de 40 minutes c'est vraiment trop court donc je le liste juste pour de garder en mémoire que les services aussi peuvent être des bases d'attaques et il faut toujours avoir en mémoire qu'est ce qui tourne comme service sur son serveur donc vous allez l'auditer avec la commande système CTL pour regarder les services actifs il y en a vraiment toute une palanquée et même sur un système qui est fraîchement installé comme là d'accord donc on va retrouver à part mort pour le MAC tout ce qui est le crône le réseau etc etc il y a plein de choses maintenant on va rentrer dans des choses un peu plus complexes alors comment on attaque un service inux de l'extérieur sur des failles on va utiliser ce qu'on appelle des buffer overflow des attaques par buffer overflow c'est à dire on va on va utiliser une faille qui est liée à la compilation de beaucoup de programmes C qui fait qu'on va pouvoir écraser des variables ou mettre des choses dans ce qu'on appelle la pile pour pouvoir injecter du code qu'on va pouvoir réussir à faire exécuter pour pouvoir prendre la main sur les serveurs les attaques par buffer overflow sont un fléau sur les systèmes ça touche tout le monde comment on se protège de ça on va utiliser une fonction qui s'appelle ASLR pour adresse pace la utronomisation ou à chaque lancement du programme le système va le mettre à des endroits différents ce qui fait que l'adresse ou on va injecter notre shell code ce qu'on appelle notre malware c'est à dire notre code malveillant ça bougera sans arrêt on ne saura pas exactement où il est à chaque fois du coup ça va complexifier les attaques par défaut si vous regardez sur votre buster vous faites un cat sur ce fichier randomize via space et voyez 2, c'est actif donc le système nativement est protégé contre les attaques basiques on va dire buffer overflow on va voir qu'il n'est pas protégé contre l'Europe le return oriented programming donc il me reste 8 minutes alors comment le système va compiler ces packages pour prendre en compte des directives de sécurité alors là on rentre un peu dans la technique on est sur ce qu'on appelle les flags de compilation et par défaut en faisant une recherche sur internet je suis tombé sur un forum de 2010 ou Raphaël avait écrit j'en ai profité pour copier tes commandes j'allais voir aujourd'hui donc la commande d'hpkg build flag quand on la joue par défaut sur buster on va essayer d'en traiter 2, 3 pour expliquer ce qu'il faut se rendre compte c'est qu'ici on a des fonctions de protection c'est-à-dire stack protection stack c'est la pile plus d'autres choses des protections contre le format string mais j'ai comparé entre des bien 9 et des bien 10 il n'y a pas de changement donc on n'a pas eu d'amélioration claire à ce niveau-là si on veut regarder ce qui se passe par exemple si vous voulez compiler vos packages vous allez utiliser la directive de compilation c'est flag sur lequel vous allez ajouter ce qui est donné par la distrib ici et on voit quand on joue cette commande-là ça nous donne la protection de la stack double format et double VROR format de sécurité qu'est-ce que par défaut tout ça nous amène ça nous amène déjà stack protector ici nous ajoute un canary dans la pile pour l'anecdote le canary c'est quoi c'est une analogie avec les coal mine les mines de charbon sur lequel ils mettaient un petit oiseau dans une cage et quand ils commençaient à être pas bien c'est qu'on allait avoir un coup de gris ouf d'accord et ce terme a été repris donc on le met dans la stack c'est un nombre aléatoire qui générait dynamiquement et qui va permettre de vérifier que la pile n'a pas été écrasée par un code malveillant sur une partie donc ça c'est nativement dans tous les packages qui sont compilés sur buster qui existait déjà dans des bien neufs ensuite on va trouver double format ça ça permet de vérifier qu'on n'a pas de file sur printf et sknf qui sont les fonctions du c qui sont utilisées partout du langage c et de façon à éviter une autre file qui s'appelle les attaques par format string d'accord donc nativement on est protégé et le dernier ici wr-format security ça veut dire si on a un warning un avertissement comme quoi il y aurait possiblement une erreur type format string le warning on le passe en erreur on bloque la compilation d'accord donc du coup voilà ce qu'on en a nativement ça c'était pour la compilation pour le link donc le ld flags je peux pas rentrer dans le détail de ce que c'est que le link mais je vous invite à reprendre les slides plus tard et à regarder sur internet ici sur les flags ici on joue en la commande dpkg build flag et on demande les ld flags on voit que l'on a tz et zelro relzo je suis dyslexique je sais pas où ça sort mais qu'est ce que ça veut dire ça veut dire que en fait pour empêcher la pile, la stack soit aussi attaquée on va la mettre en redonnée à la fois tout ce qui concerne donc l'application d'accord et je crois que c'est dépendance aussi voilà donc ça c'est ce qui existe actuellement mais il manque des choses il manque le paye il existe une attaque qui permet de contourner toutes les protections de buffer overflow qui s'appelle ROP return oriented programming c'est un système assez complexe à mettre en place mais qui marche assez bien quand on le maîtrise et qui permet donc d'exploiter de nouvelles vulnérabités et la protection ce serait une directive de compilation qui serait celle-là c'est un fpy et ça existe dans gcc8 donc le compilateur en version 8 qui est dans buster mais actuellement cette directive de compilation n'est pas utilisée pour générer les packages d'accord on la voit pas il est fait par défaut d'accord donc elle est par défaut donc du coup on est sécurisé par contre apparemment les packages ne sont pas activées par défaut et elles pourraient l'être donc ça c'est des protections au niveau de nouvelles protections sur la stack qui font référence à des attaques très récentes qui sont référencées par coalys et je vous invite à regarder les slides si ça vous intéresse d'aller plus loin voilà par rapport à tout ce qu'on a vu il y a aussi tout un ensemble de choses qui sont faites qui n'apparaissent pas dans le carnel de base des biens rajoutent tout un ensemble de protections dans l'espé de sécurité en profondeur pour sécuriser un carnel il me reste deux minutes je vais essayer d'accélérer sans que ce soit incomprehensible première chose à faire c'est qu'il y a un fichier de configuration qui est lu au démarrage du système et qui va prendre en compte tout un ensemble de variables pour les impliquer au carnel ici je vous donne un exemple j'ai juste affiché que quelques lignes et à partir de là si on active ce paramètre ici en décommentant on peut se protéger contre des attaques par spoofing ce qui n'est pas fait par défaut il y a tout un ensemble de variables sur lequel on peut renforcer la sécurité du carnel sur lequel vous pouvez agir ensuite dans le renforcement de la sécurité du carnel de base il y a tout un ensemble de patchs qui sont appliqués par les mainteneurs du carnel de la distribution par exemple pour désactiver les namespace par défaut ce qui va bloquer certainement l'utilisation de docker donc il faut utiliser cette commande-là 6ctl qui permet de configurer dynamiquement le carnel pour réactiver cette fonctionnalité d'accord ? et aussi des biens intègres les patchs lockdown qui ont apparemment porté mené à un débat dans la communauté du carnel Linux à savoir si on devait les appliquer et qui permettent de se protéger contre le chargement de modules non signés ou des commandes kexec le secure boot est maintenant fonctionnel sur buster alors avant, vous ne pouvez pas, vous savez pourquoi parce que c'est la notion de shim le firmware qui est chargé au démarrage était signé par l'autorité de certification de Microsoft donc apparemment ça ne s'entendait pas donc maintenant le secure boot doit être fonctionnel voilà s'il existe un outil qui s'appelle kconfig ardenig check qui permet de vérifier tout un ensemble de points de sécurité sur votre système des biens et ici par exemple en le passant sur la buster on trouve 50 erreurs sur 51 compliance issue d'accord ? mais il y a aussi des faux positifs bien sûr à modérer voilà ensuite bon ça je n'aurais pas trop le temps d'en parler il me reste 5 secondes sur 6 ctl on voit qu'on parlait tout à l'heure les utilisateurs maintenant ne peuvent plus taper dmsg pour voir les logs du carnel la sécurité a été renforcée ici et j'aurais juste terminé par ça c'est toute la difficulté entre un il y a un projet qui s'appelle kspp qui va lister tout un ensemble de bonnes pratiques pour sécuriser le carnel sur lequel on peut se référer pour les appliquer et ce n'est pas appliqué de base pourquoi ? parce que l'inus torvale les a refusés d'accord ? voilà si vous voulez plus loin je vous ai mis deux liens qui proviennent de dbm.org et voilà je suis overtime donc merci Fred pour votre talk salut, on n'a pas de temps pour les questions si vous voulez poser des questions, vous pouvez le trouver à l'extérieur