Linux On The Root !

Accueil du site > La sécurité > Généralités > La sécurité : point de vue & conseils généraux

La sécurité : point de vue & conseils généraux

Prémière partie

vendredi 6 avril 2007, par zarer

Avertissement : Cet article est le premier d’une série de cinq. Il présente un point de vue et quelques conseils sur la sécurité en général. Suivront donc un article sur l’authentification, un autre la maîtrise du trafic, un troisième sur l’audit et un dernier sur la sauvegarde des données.

Failles de sécurité, virus, spywares, malwares, rootkits, spams... autant de termes bien connus des utilisateurs qu’ils soient sous Windows, Mac Os X ou Linux... à cela près que les utilisateurs de Windows en souffrent, en ont peur et que les utilisateurs de Mac Os X et de Linux en sourient. Les utilisateurs de Linux ont-ils raison d’en sourire ? Qu’ont-ils à craindre ? Ont-ils raison de crier au loup ? Et vous-même, êtes-vous certain que votre machine n’est pas un zombi ?

Windows aime-t-il ses utilisateurs ?

Le linuxien est très souvent condescendant, voire moqueur, à l’égard du windowsien exposant ses nombreux soucis de sécurité : système à réinstaller suite à une infection virale incurable, navigation insupportable sur Internet par l’apparition soudaine de méchantes barres d’outils inconnus ou l’ouverture inopinée de pages non demandées, etc.

On peut tout de même se demander si le système de Big Bill aime vraiment ses utilisateurs pour leur faire subir un tel traitement. On ne compte plus les tentatives de sécurisation à coups de patchs, de services packs, d’extensions... Quel utilisateur lambda du système de Big Bill échappera aux foudres vengeresses de sa machine, si par malheur il oublie, ne serait-ce qu’une seule fois une seule, de mettre à jour son antivirus ?

Linux est-il sécurisé ?

Non ! Aucun système informatique n’est à 100 % sécurisé. À moins d’enfermer sa machine dans un coffre-fort de haute sécurité dans une enceinte militaire, sans aucune connexion réseau et d’en réserver l’accès aux utilisateurs dûment accréditées.

Toute proportion gardée, la sécurité d’un système, quel qu’il soit, se doit donc d’être une préoccupation importante pour tout utilisateur.

Mais la question, telle qu’elle est abordée habituellement, est tout bonnement mal posée. Il serait plus raisonnable de se demander s’il est possible d’installer des mécanismes de sécurité efficaces sous GNU/Linux pour l’usage auquel on le destine. Nous le verrons plus après.

Pourquoi n’y a-t-il pas de virus sous Linux ?

Techniquement parlant, cette affirmation est fausse ! Il existe bel et bien des virus conçus pour affecter les systèmes GNU/Linux. Ils sont simplement très rares et pour beaucoup de simples essais (« Proof Of Concept »).

Le développement de virus infectant des programmes exécutables est fortement limité par le simple fait que les exécutables, sous Linux, appartiennent à l’administrateur. Ils peuvent être lus ou exécutés par l’utilisateur mais jamais écrits (et donc modifiés). Résultat : il est très difficile, voire impossible, pour un virus, de se reproduire sous Linux en infectant des exécutables... Ce type de virus, très courant sous Windows, est extrêmement rare sous linux. Il ne peut donc s’agir que d’exécutables éventuellement créés par l’utilisateur... mais tout le monde ne sait pas programmer. Voir l’explication (en anglais ; merci noco_h pour cette remarque, le lien et la traduction).

Pour être un peu plus complet, il faut tout de même évoquer l’apparition sous Linux du virus de type Rootkit depuis 2005. Mais la menace est assez mineure ! Voir l’article Chkrootkit version 0.47.

Cela étant dit, il faut bien le reconnaître, la majorité des virus et autres malwares sont conçus pour infecter le système d’exploitation le plus connu et le plus employé, c’est-à-dire le système de Microsoft qui, toutes versions confondues, équipe dans une très large mesure les machines personnelles comme celles des entreprises. On comprendra sans peine que, pour faire choux gras, le développeur de virus choisira un terrain de jeu à la taille de ses ambitions !

C’est ce facteur qu’on le retient généralement pour expliquer la prolifération virale sur le système fenêtre. Et, pour le linuxien, il faut bien le dire, les mésaventures infectieuses du windowsien s’apparentent bien volontiers à des contes assez plaisants...

Les limites de la permissivité

Mais d’où vient cette injustice ? Pourquoi les autres (les OS d’architecture UNIX) ne sont-ils pas touchés par ces logiciels malveillants ?

L’argument que l’on répète à l’envi serait une diffusion plus restreinte de ces systèmes : « Oui... c’est parce que personne n’utilise Linux ! Si Linux était aussi répandu et populaire que Windows, les virus seraient plus nombreux ! »

Heureusement, cet argument ne fait pas long feu ! Tout simplement parce les systèmes à diffusion plus restreinte ne sont pas touchés de manière proportionnellement. Les raisons sont ailleurs...

Il faut plutôt se tourner vers les habitudes des utilisateurs. Windows, pour ce qui est de la version XP, tout comme Mac OS X et GNU/Linux, partage les permissions entre utilisateur et super-utilisateur. Malheureusement, beaucoup d’utilisateurs travaillent par défaut avec le compte de l’administrateur, celui qui offre tous les privilèges.

Ne vous y trompez pas : un programme malveillant exécuté avec le compte root sous Linux pourrait occasionner des dégâts tout aussi importants que sous Windows !

Face à la permissivité utilisée par défaut sous Windows, les variantes de l’architecture UNIX (Linux, BSD, Mac OS X) utilisent une gestion des droits extrêmement pointilleuse qui est un frein au développement de malwares sur ce type de plate-formes. Les virus se trouvent le plus souvent isolés dans l’espace réservé à l’utilisateur ; les attaques les plus simples ne peuvent pas atteindre les parties vitales du système Linux. De fait, les dégâts (si l’ordinateur est attaqué) sont donc limités à ces zones accessibles au seul utilisateur qui a démarré la session.

À ce sujet, voir la "mise en garde" dans l’article Nautilus en mode root.

L’effet de l’oracle de Delphes

Techniquement, les virus et autres malwares utilisent le plus souvent les failles de sécurité ou les erreurs de conceptions pour mettre à mal le système ciblé. Mais dans l’univers du Logiciel Libre, la tradition de partage du code source poussée à l’extrême réduit considérablement le temps de débogage et de mise à jour. La propagation d’un code malicieux (ou erroné) est ainsi très rapidement enrayée... bien plus rapidement que ne le fait une poignée de développeurs — tout passionnés qu’ils soient — dans une société protégeant ses sources.

L’essentiel n’est pas tant de comprendre le problème que de le trouver ! Pour cela, il n’est pas nécessaire, et ce n’est pas le cas en général, que le personne qui comprenne un problème soit la personne qui l’ait d’abord identifié. Le principal étant que ces deux événements se produisent le plus vite possible.

De ce point de vue-là, le développement du noyau Linux est exemplaire : dans ses toutes premières phases, le noyau était mis à jour plusieurs fois par jour !

Un ensemble de bêta-testeurs et de co-développeurs — tout aussi experts ou ignorants qu’ils soient — dont le nombre est suffisamment grand est un indicateur beaucoup plus fiable que l’opinion d’un observateur isolé. C’est ce que certains sociologues ont appelé l’effet de l’oracle de Delphes. Linux est la preuve que cet effet s’applique à des systèmes d’une très grande complexité.

Et c’est un fait : plus le nombre des utilisateurs est grand, plus vite les bogues seront trouvés. L’ajout d’utilisateurs introduit de nouvelles manières de pousser le programme dans ses derniers retranchements. Cet effet est amplifié quand les utilisateurs se trouvent être des co-développeurs et des bêta-testeurs aguerris. Chacun a une approche personnelle de la traque des bogues, sa propre perception des problèmes, des outils d’analyse, son angle d’attaque...

Dans le contexte spécifique du débogage, la diversité des points de vue tend à réduire la duplication des efforts ! La grande force du monde du Logiciel Libre, c’est cet effort soutenu de plusieurs milliers volontés qui travaillent dans le même sens : le monde entier est son réservoir de talents !

En pratique, le monde du Logiciel Libre n’est quasiment pas affecté par la perte théorique d’efficacité qui découle du travail sur la même chose au même moment de plusieurs milliers de développeurs. Ce risque est en effet minimisé par la propagation rapide des corrections et des mises à jour.

Le monde du Logiciel Libre est prévoyant. Linux assure ses arrières. En cas de bogues sérieux, les versions sont numérotées de telle sorte que l’ utilisateur puisse choisir d’utiliser la dernière version stable du noyau ou de surfer à la pointe du développement en prenant le risque que quelques bogues accompagnent les nouvelles fonctionnalités. Cette alternative est un vrai moteur pour le développement logiciel. Cette pratique mériterait grandement d’être imitée plus souvent...

Le monde du Linux se comporte sous de nombreux aspects comme un marché libre, un écosystème composé d’agents égoïstes qui tentent, chacun de leur côté, de maximiser une utilité selon un ordre spontané, auto-correcteur très élaboré et bien plus efficace qu’une planification centralisée comme pu l’être celle d’une entreprise productrice de code fermé.

Cette fonction d’utilité maximum des bidouilleurs sous Linux n’est pas classiquement économique : ils travaillent d’abord pour leur satisfaction personnelle et leur réputation au sein de la communauté (ou egoboo). Le ciment en est une sorte de principe de bonne intelligence.

Nombreux sont ceux qui se méfient d’une telle culture d’égoïstes sans autre maître qu’eux-mêmes ; ils n’y voient que gâchis, petits secrets, fragmentation territoriale et, surtout, hostilité farouche à l’ordre établi. Mais cette vision est clairement mise en défaut par l’époustouflante variété, la qualité et la profondeur de la documentation sur Linux. Documentation qui surpasse de beaucoup celle de services documentaires parmi les mieux subventionnés, comme celle de bon nombre de producteurs de logiciels commerciaux !

Aucune société développant à code source fermé ne peut mobiliser un talent comparable à celui que la communauté Linux peut consacrer à un problème donné.

Le monde dont le code source est fermé ne peut pas gagner cette course contre les communautés que le Logiciel Libre a essaimé un peu partout sur la planète et qui peuvent à tout moment accorder à un problème donné un temps humain cumulé d’un ordre de grandeur insoupçonnable...

N. B. : Cette dernière partie (L’effet de l’oracle de Delphes) emprunte beaucoup à l’article "The Cathedral and The Bazaar" ["La Cathédrale et le Bazar", trad. Sébastien Blondeel] de Eric S. Raymond, 1998.

Quelques conseils généraux

1. Logiciels récents ou mis à jour : La plupart des logiciels présentent des failles de sécurité. Les logiciels anciens (ou non mis à jour) constituent l’une des faiblesses principales sur une machine. Sur ce point, Linux se comporte comme un logiciel. Une maintenance efficace du système passe par la mise à jour régulière de l’intégralité des logiciels ― noyau Linux compris ! Chaque distribution de Linux possède, bien souvent, ses propres outils de mise à jour. L’outil varie selon l’environnement. Sous Ubuntu, par exemple, avec le bureau GNOME cette charge incombe à Synaptic et sous KDE c’est Adept.

Le saviez-vous ? Un quart des PC en ligne seraient des zombis ! Sur les 600 millions de machines connectées à travers le monde, 100 à 150 millions seraient infectées par un Virus ou un cheval de Troie contrôlable à distance pour mener des attaques informatiques, escroquer des internautes ou inonder nos boîtes aux lettres de spams. Au palmarès des machines zombies, la France se trouve au 4e rang mondial !

Source : le monde informatique.

« Les zombies sont probablement la raison principale de la quatrième position de la France, ils ne cessent de progresser, estime Michel Lanaspèze, directeur marketing de Sophos France. 101 des 301 virus les plus récents installaient une porte dérobée [permettant à un pirate de prendre le contrôle d’un ordinateur]. Soit une proportion de un sur trois, alors que l’an dernier on était plutôt à un sur six ».

Source : 01net.com.

La seule parade est la mise à jour de sécurité régulière de son système d’exploitation et de son antivirus !

Documentation complémentaire : Voir la note d’information du CERTA sur Les systèmes et logiciels obsolètes (version .pdf).

2. Se renseigner sur les failles des logiciels : Il existe plusieurs portails francophones pour se renseigner sur les failles de sécurité et les attaques récentes.

Le Centre d’Expertise Gouvernemental de Réponse et de Traitement des Attaques informatiques (le CERTA) a été créé 1999 pour renforcer et coordonner la lutte contre les intrusions dans les systèmes informatiques des administrations de l’État.

Le CERTA est une structure d’alerte et d’assistance sur l’Internet, chargée d’une mission de veille et de réponse aux attaques informatiques. Le CERTA participe au réseau mondial des CERTs (Computer Emergency Response Team). Le CERTA est par ailleurs rattaché à la Direction Centrale de la Sécurité des Systèmes d’information (DCSSI) au sein du Secrétariat Général de la Défense Nationale (SGDN).

Les deux principaux objectifs du CERTA sont d’assurer la détection des vulnérabilités et la résolution d’incidents concernant la sécurité des systèmes d’information (SSI) ainsi que l’aide à la mise en place de moyens permettant de se prémunir contre de futurs incidents.

Autres portails non gouvernementaux :
- French Security Incident Response Team : portail francophone et anglophone dédié à la sécurité informatique et aux vulnérabilités.
- Secuser : portail francophone dédié à la sécurité informatique.
- Vulnérabilté : portail francophone dédié à la sécurité informatique.
- Info Corroy : vue d’ensemble de l’actualité de la sécurité informatique.

3. Ne pas installer de services inutiles : Les logiciels contiennent souvent des failles de sécurité. Certains logiciels sont parfois difficiles à paramétrer correctement. C’est pourquoi il est préférable de n’installer que les logiciels dont vous avez réellement besoin.

À suivre...

La sécurisation d’une machine en production doit avoir pour objectifs de maîtriser :

  • l’authentification : la sécurité de la connexion est l’élément principal. Elle permet de contrôler (autoriser ou interdire) l’accès à la machine.
  • la confidentialité des données : l’accès (consultation et modification) aux données stockées sur une machine en production doit être limité aux utilisateurs autorisés.
  • l’intégralité des données : l’administrateur d’une machine en production doit faire en sorte que les données ne soient pas corrompues et doit maintenir une certaine cohérence dans ses bases.
  • la continuité du service : le système doit avoir une activité continue.

5 Messages de forum

  • Bravo, mon Cher ami ! Voilà un article très bien documenté, clair et précis ....

    Tu as raison d’insister sur les services inutiles, ça m’a fait penser à ce passage de bouquin : http://www.oreilly.fr/contenu/2006/11/13/supprimer-les-services-inutiles

    De même, comme toi, je crois que contrairement au logiciel propriétaire, le logiciel libre s’améliore au fur et à mesure que le nombre d’utilisateurs augmente... :)

  • Il me semble qu’un point de la partie [Pourquoi n’y a-t-il "pas" de virus sous Linux ?] peut être un peu développé.

    Dans le cas d’une utilisation habituelle d’un ordinateur sous linux (c’est-à-dire connecté avec des droits utilisateur et non administrateur, avec un bon mot de passe pour chaque compte, et des logiciels à jour), le développement de virus infectant des programmes exécutables est fortement limité par le fait que les exécutables appartiennent à l’administrateur (*) et qu’ils peuvent être lus ou exécutés par l’utilisateur mais jamais écrits (donc modifiés). Résultat : il est très difficile, voire impossible, pour un virus, de se reproduire sous linux en infectant des exécutables... Ce type de virus très courant sous windows ne peut que rester rarissime sous linux.

    (*) sauf pour les quelques exécutables éventuellement créés par l’utilisateur, mais tout le monde ne sait pas programmer et cela reste donc trop rare et trop peu pour constituer un terreau fertile pour les virus

    Voir en ligne : Explication plus complète (en anglais).


Suivre la vie du site RSS 2.0 | Plan du site | Espace privé | SPIP | squelette