Par Dave Wreski dave@linuxsecurity.com publié à l'origine sur linuxsecurity.com(article original)
Récemment j'ai eu l'occasion de parler à Jay Beale, le développeur principal du projet Bastille. Jay est l'auteur de nombreux articles sur la sécurité Unix/Linux, ainsi que du livre "Securing Linux the Bastille Way" (Fortifier Linux à l'image de la Bastille) à paraître chez Addison Wesley. Dans son boulot de tous les jours, Jay est un administrateur sécurité travaillant sur des machines Solaris et Linux. Vous en saurez plus sur ses articles, ses propos et ses liens favoris en visitant http://www.bastille-linux.org/jay.
LinuxSecurity.com: Pouvez-vous nous décrire en bref le projet Bastille-Linux, ses ambitions/objectifs?
Jay Beale: Bastille Linux est un projet qui a pour but de fortifier, "barricader", un système Linux, elle pose un certain nombre de questions à l'utilisateur et utilise ses réponses pour fournir un niveau de sécurité acceptable sans supprimer les fonctionnalités requises. Nous essayons de fournir un environnement plus sécurisé pour chaque classe d'utilisateurs, sans les contraindre outre mesure.
Nous avons eu beaucoup de succès jusqu'ici - La Bastille peut fournir une parade contre n'importe quelle vulnérabilité que je sais compromettante pour root sous Red Hat 6.x par exemple. Dans le cas de la vulnérabilité bien connue de l'accès root avec BIND, nous nous en sommes protégés bien avant qu'elle ne soit découverte!
LinuxSecurity.com: Comment cela a t-il commencé?
Jay Beale: Bastille a démarré il y a environ deux ans, quand Jon Lasser a commencé UMBC Linux, une distribution sécurisée qui pouvait être offerte aux étudiants et aux facultés, sans craindre que leurs systèmes ne soient rapidement "rootés." Pendant qu'il rencontrait à la conférence de SANS des gens qui faisaient la même chose, au cours d'une rencontre d'oiseaux au même plumage, arrosée de bières, ils ont décidé d'arrêter de dupliquer leurs efforts en se réunissant pour créer la nouvelle distribution Bastille Linux.
Quelques mois plus tard, comme l'apprennent très tôt ceux qui se lancent dans la production de distributions, ce groupe réalisa que la production d'une nouvelle distribution est un travail de titan en soit avant même toute velléité de sécurisation. Ils ont alors changé de stratégie, en décidant de modifier plutôt la distribution Red Hat. Cela était plus rapide et de loin plus exhaustif. Je les ai alors rejoint en apportant avec moi un script perl plutôt long qui transformait une installation Red Hat vierge en système beaucoup plus sécurisé. Jon et moi devinrent des partenaires, respectivement coordonnateur principal et développeur principal et j'ai posté une requête "modules recherchés" sous la forme d'un document Spec pour le script.
A ce niveau, nous avons été rejoints par des gens qui constituent notre équipe de base dont Pete Watkins qui nous a apporté sa maîtrise claire de IPCHAINS firewall, Sweth Chandramouli qui m'aide à la mise en oeuvre des architectures et Mike Rash qui travaille sur les techniques de détection d'intrusion. Nous avons une équipe formidable, vraiment bien, avec un certain nombre de gens dévoués à mettre la Bastille à l'épreuve en nous soumettant leurs idées.
LinuxSecurity.com: Pouvez-vous nous parler de votre expérience? Depuis quand êtes-vous impliqué dans la sécurité et dans le monde Linux?
Jay Beale: Il y a deux ans, j'étais un mathématicien porté sur l'informatique et la physique. J'ai été intéressé par la sécurité des ordinateurs lorsque j'ai commencé mon premier boulot de sysadmin il y a environ deux ans. La sécurité est l'un des domaines de l'informatique plutôt complexe - En fait, il y a toute une structure qui sous-tend tout le domaine. Cela m'a toujours fasciné depuis le début, ainsi je lisais tout ce que je pouvais trouver et commençais à bricoler à la maison et au travail.
Plus tard, j'entamais un boulot d'admin. sécurité, faisant pleins de choses depuis l'écriture de systèmes de détection d'intrusion sur l'hôte pour la gestion des irruptions des hackers (NdT: j'aurai préféré le terme crackers pour éviter toute confusion mais enfin...) jusqu'à l'écriture de scripts de fortification. Le module principal du développement de la Bastille a débuté comme une extension d'idées que j'avais mis en oeuvre sous Solaris. En ce moment je suis en train d'écrire un bouquin sur la Sécurité Linux appliquée pour Addison Wesley ainsi que des articles pour nombre de sites tout en continuant à travailler sur la Bastille, ce qui n'est pas une mince affaire.
LinuxSecurity.com: Avez-vous jamais espéré que les vendeurs empaquettent Linux sous une configuration qui rendrait un tel projet inutile?
Jay Beale: Cela est vraiment possible, mais il s'agit d'un long processus... Le problème est que les utilisateurs ont besoin d'un système qui "tourne" et ils ont de moins en moins le temps de le bidouiller au préalable. Ainsi nombre de vendeurs empaquettent leurs distributions avec ftp activé, Apache agrémenté des server-side-includes/cgi et le mode single user sans mot de passe.
Voyez-vous, pour sécuriser un système, vous devez supprimer certaines fonctionnalités. Ceci est dû à une règle générale dans le domaine de la sécurité informatique: pour sécuriser entièrement un système, vous devez vraiment l'enrouler dans la poussière, ensuite éparpiller chaque pièce dans le vent en espérant que l'entropie jouera sa partition. Comme vous ne pouvez pas faire cela, vous faîtes juste des compromis.
Je pense que des trucs comme la Bastille seront toujours là pour les raisons suivantes: D'abord Les vendeurs sont motivés par la facilité d'utilisation des systèmes qu'ils vendent - La Bastille va à l'encontre de cela tout offrant une compensation en formant l'admin/utilisateur. Ensuite nous allons continuer la recherche, la création et la mise en oeuvre des idées bien avant les vendeurs. Enfin, la plupart des choses que nous faisons ne relèvent pas forcément du "boulot" des vendeurs - La mise en oeuvre d'un système de détection d'intrusion par exemple est généralement réalisée avec des produits tiers. La Bastille opère un grand nombre de choses sur les systèmes et nous allons continuer à en faire plus encore - nous évoluons au delà d'une simple fortification de système pour atteindre plus de recoins de la sécurité des systèmes.
LinuxSecurity.com: Quels sont les défis les plus délicats auxquels vous avez été confrontés pendant son développement?
Jay Beale: Les problèmes les plus complexes sont ceux liés à l'architecture, plutôt que ceux liés aux fonctionnalités. L'objectif premier de la Bastille est de produire une nouvelle distribution, promouvoir notre propre CD, etc. En réalité nous produisions une nouvelle distro, en installant Red Hat et en le modifiant directement après l'installation. A présent nous pouvons protéger un système âgé d'une année, ce qui nécessiterait une architecture à part entière et un audit de code intensif pour être mis en oeuvre. Cela n'a donc pas été vraiment une fonctionnalité additionnelle puisque les problèmes étaient redéfinis après qu'on ait mis notre première solution en oeuvre!
A présent, un autre problème que nous considérons avec le temps est celui-ci: puisque la Bastille en fait toujours plus, elle doit poser de plus en plus de questions! En ce moment si vous lisez toutes les explications, cela vous prendra environ une heure pour parcourir la partie interactive. Cela n'est en rien plus mal qu'avec le noyau Linux, mais ennuie certains utilisateurs qui souhaitent une solution rapide. Plutôt que d'ignorer ces utilisateurs, nous sommes en train de réaliser des configurations "A un coup" parmi lesquelles ils pourront piocher celle qui correspond à leurs attentes et la déployer. Même s'ils perdent une partie importante de la sécurisation du système (sécuriser l'Admin!) ils obtiennent quand même un système plus sécurisé...
LinuxSecurity.com: Quel est le type d'utilisateur le plus intéressé par la mise en oeuvre de la Bastille?
Jay Beale: Je crois que la Bastille est accessible à toutes les classes d'utilisateurs, du néophyte à l'administrateur expérimenté. Chaque classe d'utilisateur a tendance à la trouver plus complete que tout ce qu'il pourrait réaliser manuellement. Les néophytes la trouve utile parce qu'elle explique tout ce qu'ils pourraient faire et pose des questions pour ne rien oublier. Les sysadmins expérimentés la trouvent utile parce qu'elle automatise ce qui leur aurait pris plusieurs hommes/heure surtout lorsqu'ils l'étendent à des centaines de systèmes. De plus, nombre de sysadmins n'ont jamais eu le temps d'apprendre à mettre en oeuvre ou à comprendre un système de sécurité sur leurs machines. Ils se retrouvent en train de grapiller du temps au beau milieu de la nuit après que quelqu'un ait "hacké" leur système.
LinuxSecurity.com: Quel est l'état de la sécurité des systèmes Linux aujourd'hui?
Jay Beale: Je pense que la sécurité de Linux s'améliore, mais c'est que nous sommes du mauvais côté du fusil. Etant donné l'accessibilité de Linux, la plupart des crackers l'ont à portée de main et codent les exploits pour lui avant les autres systèmes. L'utilisation de l'Open Source rend un programme plus facile à auditer pour d'éventuelles failles, ainsi les gens découvrent les vulnérabilités très vite et ce ne sont pas tous des enfants de coeurs. Il existe une autre situation difficile, celle causée par la vitesse de développement trop rapide comparée à celle des audits.
En toute honnêteté, nous avons un avantage stupéfiant: les chiffres sont là, papa! La vulnérabilité "Ping of Death" a été corrigée, à en croire les rapports, en une heure pour Linux. Aucun vendeur ne s'est rapproché d'une telle performance! Bien que Linux ait eu plus de vulnérabilité en terme de sécurité que Solaris ces trois dernières années, ces failles ont étés bouchées beaucoup plus rapidement. Kurt Seifried rapporte dans ses notes que pendant que Sun compte en moyenne six vulnérabilités annoncées par an, cela leur prend environ 90 jours pour les résoudre - Cela ne tient même pas compte de tous les programmes tels que WU-ftpd et BIND 8, que vous ajoutez généralement à un système Sun. Ce dont il faut toutefois se souvenir, c'est que chaque système d'exploitation aura des trous. Il est dans la nature humaine de commettre des erreurs, et peu importe le nombre de génies travaillant sur un système. De plus, il y a un bon nombre d'individus créatifs et brillants dans la communauté des crackers - ils remporteront encore beaucoup de batailles.
LinuxSecurity.com: Quels sont les avantages qu'elle apporte à l'utilisateur moyen de Linux?
Jay Beale: La Bastille est vraiment accessible à la moyenne des utilisateurs. Elle ne se met pas simplement à sécuriser mais demande la permission pour chaque étape qu'elle franchit. De plus elle forme. Cette fonctionnalité clé apparut à la suite d'un problème de modélisation que j'ai eu après avoir écrit le quart du premier script. La moyenne des utilisateurs Linux ont tendance à tout installer sur leurs distros et à tout mettre en service, parce qu'ils ne savent pas qui fait quoi et n'ont pas envie de rater quelque chose. La Bastille posait des questions du type "voulez-vous désactiver les démons de routage?" aux utilisateurs alors que nous ne leur avions pas expliquer ce qu'était un tel démon ou pourquoi n'en avaient-t-ils pas besoin. Pete et moi finirent par écrire des explications pour chaque question afin que chacun puisse faire des choix éclairés, peu importe qu'il soit néophyte ou sysadmin expérimenté.
La Bastille dispose également de nombreuses autres belles fonctionnalités: Elle peut être réexécutée pour maintenir le niveau de sécurité d'un système après qu'il ait été patché, tout ce qu'elle fait peut être annulée, et elle est assez exhaustive. Elle renforce la sécurité des comptes utilisateurs, configure un firewall avec un bon ajustement, configure Apache, effectue des choix de sécurité de chargement saines, configure quelques options fines de PAM, chroot votre serveur DNS, restreint l'accès à votre serveur FTP, configure un meilleur jeu de permissions sur les fichiers et audit vos programmes Set-UID root. Elle configure également une journalisation plus robuste, renforce la sécurité de Sendmail et essaie de désactiver les services et les démons dont vous n'avez pas besoin. Ceci n'est juste qu'un début, nous sommes en train d'étendre tout cela avec de nouveaux modules, un système SDI (Système de Détection d'Intrusion) réseau et bien d'autres modules sont en développement.
LinuxSecurity.com: Quelles sont les nouveautés sur lesquelles vous travaillez?
Jay Beale: Attendez quelques news incroyables sur le sujet dans quelques mois. Nous sommes en train de peaufiner certaines idées géniales d'architecture avec l'aide de Yoann Vandoorselaere de Mandrake. Sweth et les autres sont en train de nous aider pour que nous puissions étendre notre gestion des systèmes à des systèmes autres que Red Hat et Mandrake. Nous lorgnons FreeBSD, Solaris, Irix, Slackware, Debian et tout autre système sur lequel nous pouvons faire tourner tout ceci.
LinuxSecurity.com: Que croyez-vous être le plus grand problème de sécurité auquel Linux soit confronté?
Jay Beale: Honnêtement, il n'y a pas un grand nombre d'autres problèmes de sécurité spécifiques à Linux. Ils se généralisent tous à Unix et nombre d'entre eux sont inhérents aux systèmes d'exploitation en général.
Je crois qu'un grand nombre de programmes s'exécutent avec des privilèges super-utilisateur. Nous pouvons tripatouiller cela de la même façon que nous le faisons avec les programmes qui se débarrassent de leurs privilèges, mais nous pouvons aussi arrêter d'en faire une solution tout-ou-rien, un jeu utilisateur-root. Nous pouvons refléchir au delà du mécanisme de sécurité Unix/Linux. Commençons par écrire nos programmes en utilisant les capacités et en réduisant le nombre de programmes sur le système utilisant root.
En réalité, je pense que la sécurité informatique prise comme une donnée d'ensemble est un problème très sérieux. Nous sommes en train de rendre les ordinateurs de plus en plus faciles à utiliser, souvent au mépris de la sécurité. Les activités des crackers se sont amplement développés avec l'accès à Internet des apprentis script kiddies. Lorsque j'ai eu mon premier compte shell, Internet n'était bien connu que dans les milieux universitaires - à présent, tout un chacun à accès à Internet, constituant du coup un voisinage malsain. Je ne suis pas en train de dire que l'accès Internet de tous les points du globe est une mauvaise chose - Il s'agit d'une ressource extraordinaire, mais aussi de l'une des ressources dont les gens préfèrent abuser.
LinuxSecurity.com: La sécurité est toujours une affaire de compromis. Quels sont les compromis que vous faîtes en érigeant la Bastille? Il serait certainement plus aisé de se débarrasser de rlogin, telnet et des autres programmes dangereux en soit, mais cela n'est pas toujours possible.
Jay Beale: Bien, je crois que nous avons trouvé une bonne solution. Nous laissons l'utilisateur déterminer les compromis qu'il veut faire et nous lui fournissons l'expérience dont il a besoin pour prendre cette décision. La Bastille est très modulaire, en prenant un grand nombre d'actions et en posant des questions à l'utilisateur sur chacune d'entre elles. A la fin, l'utilisateur décide s'il doit virer telnet ou non, mais nous tentons de l'aider à prendre une décision éclairée en présentant les choses de la façon suivante: telnet c'est du texte en clair, ainsi si quelqu'un réalise un eavesdropping il pourra vous chiper votre compte - en utilisant des programmes tels que hunt, il pourra même vous piquer votre session entière!
Former les utilisateurs et les laisser prendre toutes les décisions était une nouvelle approche, mais nous avons senti qu'il s'agissait là de la seule approche qui s'adaptait à une communauté aussi diverse en terme d'expérience que la communauté Linux.
LinuxSecurity.com: Merci de nous avoir accordé une partie de votre temps aujourd'hui, nous vous souhaitons à vous et à toute votre équipe la plus grande réussite avec ce projet.
Copyright 2000, Dave Wreski. Paru dans le numéro 56 de la Linux Gazette d'août 2000.
Traduction française de Wilane Ousmane.