Maksim Kabakou - Fotolia

Sudo, cet outil méconnu si riche de fonctionnalités

Il faut manipuler la ligne de commande sur un système Unix/Linux pour connaître ce dispositif utilisé afin d’accéder ponctuellement aux niveaux de privilèges les plus élevés. Mais il peut être intégré dans une véritable stratégie PAM.

Cet article est extrait d'un de nos magazines. Téléchargez gratuitement ce numéro de : Information Sécurité: Information sécurité 16 : La gestion des comptes à privilèges n’est plus une option

Aujourd’hui chez Quest Software, Ă  travailler sur la plateforme One Identity, Todd Miller est l’un principaux dĂ©veloppeurs de Sudo, cet incontournable utilitaire d’élĂ©vation de privilège des systèmes Unix/Linux. Nous revenons avec lui, et Tyler Reese, chef de produit senior chez One Identity, sur la version 1.9 de Sudo, lancĂ©e au printemps.

 LeMagIT : La principale nouveautĂ© de Sudo 1.9 est l’enregistrement centralisĂ© des sessions. Comment cela fonctionne-t-il ?

Todd Miller : Sudo supporte l’enregistrement de sessions depuis sa version 1.8. Mais les enregistrements Ă©taient stockĂ©s localement sur la machine. Il Ă©tait donc possible de dĂ©placer ou modifier ces traces d’activitĂ©. DĂ©sormais, les enregistrements peuvent ĂŞtre stockĂ©s sur un système centralisĂ©, sĂ©curisĂ©, pour empĂŞcher un utilisateur local de les modifier.

« Les enregistrements peuvent ĂŞtre stockĂ©s sur un système centralisĂ©, sĂ©curisĂ©, pour empĂŞcher un utilisateur local de les modifier. Â»
Todd MillerDéveloppeur, Quest Software

Cela ne passe pas par un mécanisme comme syslog. Les sessions sont streamées en temps réel [la transmission peut-être chiffrée]. Il est possible de configurer plusieurs systèmes qui seront contactés par sudo. Mais si la connexion à ces systèmes est impossible, en raison d’un problème réseau par exemple, suivant la configuration, la commande va être autorisée à s’exécuter ou pas. Il est complètement possible de configurer la manière dont seront traités les échecs.

Seul le texte, en ligne de commande, est enregistrĂ© – que ce soit en saisie ou en sortie.

LeMagIT : Ă€ cela s’ajoute Ă©galement une API d’audit et d’approbation.  Cela vaut-il pour des cas d’usage tels que l’attribution de droits d’administration en mode Ă  la volĂ©e, en just-in-time, de manière intĂ©grĂ©e Ă  ses processus de PAM ?

Todd Miller : C’est effectivement l’un des cas d’usage. Vous pouvez ainsi avoir une politique [de sĂ©curitĂ© par dĂ©faut] sudoers qui autorise l’exĂ©cution directe de commandes, mais vous pouvez Ă©galement avoir un plug-in qui permet de gĂ©rer l’attribution des droits en JIT.

Au dĂ©but de notre rĂ©flexion sur ce sujet, nous avons dĂ©cidĂ© d’avoir un mĂ©canisme de plug-in, pour Ă©viter que de multiples politiques de sĂ©curitĂ© n’interagissent les unes avec les autres. Car lorsque c’est le cas, il devient difficile d’obtenir des rĂ©sultats vraiment prĂ©visibles. Mais certaines personnes veulent aussi des politiques au-dessus de tout cela. En fait la plupart des gens ne vont pas remplacer leur fichier de sudoers ; ils veulent seulement ajouter lĂ  de nouveaux contrĂ´les. D’oĂą l’approche plug-in.

Il y a une tendance de fond en faveur d’une gestion zero-trust des privilèges, avec des approbations Ă  la volĂ©e. Et cela en tenant compte de contraintes temporelles ou en s’intĂ©grant Ă  un ServiceNow – un ticket est alors nĂ©cessaire pour obtenir les privilèges.

LeMagIT : Quels langages sont supportĂ©s pour l’écriture des plug-ins ?

Todd Miller : Sudo est Ă©crit en C. Nous avons donc commencĂ© par lĂ . Mais avec la version 1.9, nous supportons Ă©galement les plug-ins Ă©crits en Python. C’est l’un des langages les plus populaires actuellement. Et probablement plus important encore, bon nombre de services cloud ont des librairies Python pour faciliter l’intĂ©gration.

« Bon nombre de services cloud ont des librairies Python pour faciliter l’intĂ©gration. Â»
Todd MillerQuest Software

Tyler Reese : Et la prĂ©valence de Python dans le monde de la sĂ©curitĂ© est encore plus marquĂ©e : toutes les red et blue teams utilisent Python. Nous voulions prendre une orientation Ă©cosystème pour disposer d’une offre plus diverse. Python permet d’abaisser la barre Ă  l’entrĂ©e.

Vous devez penser Ă  des cas d’usage d’entreprise. Par exemple, l’un des plug-ins permet d’assurer l’évaluation des règles sur notre serveur Privilege Manager, suivant sa grammaire. Le plug-in Audit permet de travailler sur les donnĂ©es et la manière dont elles sont structurĂ©es – si quelque chose comme syslog ne convient pas, par exemple. Et un autre permet de gĂ©rer des scĂ©narios d’authentification spĂ©cifiques, par exemple pour des actifs particulièrement critiques, et demander au passage la validation d’une carte Ă  puce.

LeMagIT : J’ai l’impression que beaucoup de gens mĂ©connaissent largement Sudo…

Todd Miller : C’est effectivement très rĂ©pandu. La plupart des gens ne connaissent Sudo que comme le moyen d’exĂ©cuter des commandes Ă  privilèges. Leur expĂ©rience de Sudo se limite probablement Ă  leur poste de travail ou leur ordinateur portable.

Il faut dire que Sudo a grandi dans un environnement pĂ©dagogique, avec des niveaux de droits d’administration diffĂ©rents. Il y avait une vraie nĂ©cessitĂ© Ă  fournir des accès limitĂ©s. Mais les cas d’usage de Sudo sont en fait très variĂ©s, depuis l’utilisateur individuel jusqu’à la grande entreprise. Et en environnement professionnel, si vous arrivez au bureau le lundi et que tout est cassĂ© ; vous avez besoin d’un moyen de savoir ce qui s’est passĂ©.

L’éventail est tellement large que nous avons Ă©crit un livre intitulĂ© « maĂ®trise de sudo Â». Et lorsqu’on parle de ce livre, souvent, la rĂ©action est « mais c’est dingue ! Â». C’est parce que chacun ne l’utilise que suivant ses cas d’usage.

Tyler Reese : Nous l’observons aussi chez One Identity, avec les entreprises qui adoptent de plus en plus l’open source, mais qui ont besoin de fonctionnalitĂ©s de classe entreprise, comme l’audit centralisĂ© et personnalisĂ©, la gestion centralisĂ©e des accès Ă  privilèges, etc. L’embauche de Todd s’inscrit dans cette perspective, pour s’assurer que les fonctionnalitĂ©s attendues par nos clients entreprises arrivent dans Sudo.

Pour approfondir sur Gestion d’identités (IGA, PAM, Bastion, PASM, PEDM)