HSC
Network Security Consulting Agency Since 1989 - Specialized in Unix, Windows, TCP/IP and Internet
Text mode: access to the page content
Hervé Schauer Consultants
You are here: Home > Resources > Articles > Open-source software and security, the example of Linux
Go to: HSC Trainings
Search:  
Version française
   Services   
o Skills & Expertise
o Consulting
o ISO 27001 services
o Audit & Assessment
o Penetration tests
o Vunerability assessment (TSAR)
o Forensics
o ARJEL
o Training courses
o E-learning
   Conferences   
o Agenda
o Past events
o Tutorials
   Resources   
o Thematic index
o Tips
o Lectures
o Courses
o Articles
o Tools (download)
o Vulnerability watch
   Company   
o Hervé Schauer
o Team
o Job opportunities
o Credentials
o History
o Partnerships
o Associations
   Press and
 communication
 
 
o HSC Newsletter
o Press review
o Press releases
o Publications
   Contacts   
o How to reach us
o Specific inquiries
o Directions to our office
o Hotels near our office
|>|Open-source software and security, the example of Linux  
> Access to the content HTML Beginning of the article  
> Description  
> Context & Dates Article published in Confidentiel Sécurité number 72 (November 2000).
November 2000 
> Author Denis Ducamp and Gilles Guiot  
> Type  
> Abstract &
Table of content
 
> Related documents
themeLinux
[Presentation]  Linux security characteristics [26 September 2000 - French/English]
[Presentation]  Overview of the main applications of Linux for security [26 April 2000 - French/English]
[Course]  Linux Security
[Presentation]  Analysis of the encryption structures provided by BitLocker [3 April 2012 - French]
[Presentation]  Skyrack, rop for masses [17 June 2011 - English]
[Presentation]  Linux and security [22 November 2002 - French]
[Presentation]  Some of Linux specificities for security [1 February 2002 - French]
[Presentation]  Linux Kernel Hardening - The useful and the futile in the grsecurity patch [28 January 2002 - French]
[Presentation]  Strengthening the Linux Kernel [6 February 2001 - French]
[Tip]  Linux Kernel Modules (LKM): what benefits for administrators? [25 October 2000 - French/English]
[Presentation]  Linux and Security [13 April 2000 - French]
[Course]  Linux Security [9 December 1999 - French]
[Presentation]  Encrypted tunnels with Linux [18 June 1999 - French]
[Presentation]  Specific security characteristics of Linux [18 June 1999 - French]
[Presentation]  Linux for computer security [18 June 1999 - French]
[Presentation]  Linux for Computer Security [24 March 1999 - French]
> Copyright © 2000, Hervé Schauer Consultants, all rights reserved.

 

Dans l'environnement actuel, le choix d'une solution informatique revêt, pour l'entreprise, une importance primordiale. Cette solution doit, non seulement, offrir une intégration parfaite dans le fonctionnement de l'entreprise, mais également garantir un niveau de sécurité élevé. Dans ce domaine, les logiciels libres, dont Linux est le représentant le plus répandu, présentent de nombreux avantages.

L'accès au code source du produit fait partie des avantages des logiciels libres. L'entreprise peut ainsi s'assurer que le produit dispose bien des fonctionnalités qu'il revendique, ce qui est très difficile, voire impossible dans le cas de logiciels propriétaires et fermés. Difficile, par exemple, d'obtenir une réponse précise de la part des fabricants de firewalls à la question suivante : que vérifie votre filtrage de session ? Impossible dans ces conditions de savoir dans quelle mesure l'entreprise est véritablement protégée. De plus, que ce soit sous licence GNU ou Open-source, le logiciel libre permet la modification de sources, donc le cas échéant, l'adaptation précise au contexte spécifique de l'entreprise.

De surcroît, le processus de développement n'est pas soumis à des contraintes marketing ou financières, et le code élaboré est soumis à un nombre de relectures auxquelles ne peuvent pas prétendre des applications commerciales. Pour preuve de cette qualité, l'abondance de lignes de codes sources de logiciels propriétaires qui sont issues du modèle libre.

Aujourd'hui, de nouvelles failles, attaques ou vulnérabilités apparaissent à une cadence élevée, rendent inopérantes des mesures de sécurité figées. Face à ce problème, Linux et les autres logiciels libres bénéficient de correctifs dans des délais très brefs. Ainsi UUNet a-t il été en mesure de protéger ses machines Linux contre l'attaque teardrop moins de 24 heures après la première occurrence de cette attaque. Mieux encore, si l'entreprise dispose de la compétence en interne, elle peut profiter de son accès au code source pour remédier directement au problème, sans être dépendante d'un quelconque support éditeur.

Malgré ces nombreux avantages, deux questions restent posées :

  • utiliser les logiciels libres ne va t-il pas rendre plus difficile l'interaction de mon entreprise avec ses partenaires et, plus largement, avec son environnement ?
  • puis-je utiliser les logiciels libres à tous les niveaux de mon architecture informatique ?

La réponse à ces deux questions tient en un mot : Internet. Cette toile mondiale, ce colosse inégalé de l'échange d'informations est le symbole universel du logiciel libre. Si comme le pensent beaucoup, Internet constitue le précurseur d'une révolution économique, alors le logiciel libre constitue le moteur de cette révolution. Aujourd'hui, les réseaux TCP/IP constituent le coeur des réseaux d'entreprise, et les architectures propriétaires y sont chaque jour plus anecdotiques. Dans cet environnement, on pourrait considérer que les logiciels libres constituent un choix naturel, et en effet, pour chacune des fonctions essentielles d'un réseau, il existe des logiciels libres, qui sont d'ailleurs souvent des standards :

  • Pour les serveurs web : Apache, le standard du marché avec 54 % de part de marché en constante augmentation.
  • Pour les DNS : BIND. Unique.
  • Pour le mail : Sendmail, Postfix ou Cucipop, pour les serveurs et Procmail, Mutt et PGP pour les clients.
  • Pour les serveurs de fichiers et d'impression : Samba.

Linux, en plus de jouir d'une intégration parfaite avec l'ensemble de ces produits, constitue lui-même une plate-forme puissante et polyvalente. Il peut ainsi remplir le rôle de passerelle de sécurité, puisqu'avec Ipchains et bientôt Netfilter, Linux dispose de fonctionnalités de filtrage IP performantes (contrôle des tables d'état, masquage d'adresse, redirection de ports, relayage transparent, fonctions d'accounting). Le système d'exploitation au pingouin permet aussi le relayage applicatif avec fwtk, delegate, nsm, et peut supporter le cache web avec SQUID.

Dans le cadre de la surveillance du réseau, Linux supporte différents systèmes de détection d'intrusion, tels que snort, nfr, shadow, ainsi que des outils de surveillance réseau tels que nmap, tcpdump, iptraf, et ntop.

Linux permet aussi d'assurer la sécurité des données échangées et stockées, avec le support entre autres, de SSL, des VPN IPsec (par le biais de FreeS/WAN), ainsi que de GnuPG et le classique Tripwire. Linux dispose également de possibilités de Linux en matière de tests d'intrusion (ex : support Nessus).

Linux constitue un outil puissant et polyvalent pour les consultants en sécurité. Son utilisation en interne rend d'autant plus aisée pour l'entreprise le suivi de la sécurité du réseau. Après une intervention ponctuelle de consultants externes, les responsables sécurités de l'entreprise peuvent maintenir un haut niveau de sécurité en utilisant les mêmes outils.

L'une des vulnérabilités de Linux vient en fait de son appartenance à la famille Unix : les privilèges associés aux processus et non pas aux fichiers. Mais déjà deux implémentations sont en cours de développement pour pallier ce défaut.

Les caractéristiques de Linux en sécurité

Aucun système n'est plus sécurisé qu'un autre. De nombreux paramètres sont nécessaires pour garantir la possibilité de sécuriser un système et de le garder au même niveau au cours du temps.

Comme tous les systèmes Unix modernes, Linux permet de mettre en place de nombreuses fonctionnalités de sécurité et donne accès à des possibilités techniques encore peu répandues.

Par défaut, le nombre de sécurités mises en place sous Unix est réduit, privilégiant la facilité d'utilisation mais il est tout de même impossible à un utilisateur de modifier les fichiers de configuration et les exécutables du système. Par la suite, l'administrateur peut ajouter des restrictions locales (mémoire, processeur, etc.) pour s'assurer que le système restera utilisable.

Pour les accès réseaux, le nombre de fonctionnalités de sécurité mises en place est beaucoup plus important et dépend fortement de chaque application. Comme les applications les plus utilisées sur Internet sont celles qui possèdent le plus de recul, elles possèdent des possibilités généralement avancées et extrêmement fines. Par exemple, pour les serveurs FTP, les utilisateurs seront éventuellement restreints à leurs propres répertoires sans possibilité d'en sortir. De même, les accès anonymes sont réalisés sous une identification sans aucun privilège et, s'il est possible de déposer des fichiers, ceux-ci ne pourront en aucun cas être récupérés, cette restriction étant réalisée au niveau système.

De plus en plus d'applications fonctionnent avec des droits restreints sur les serveurs. Ainsi bind, l'implémentation DNS la plus répandue, peut être limitée à une partie du disque (fonction chroot) et tourner sous une identité non privilégiée. Si un pirate exploite une vulnérabilité dans bind, il n'aura accès qu'à un petit nombre de fichiers, dont peu seront modifiables (les zones secondaires). De plus aucun programme accessible n'aura la capacité d'acquérir des privilèges (SUID root) et donc aucune vulnérabilité locale ne pourra être utilisée. Ces fonctionnalités sont généralement parfaitement documentées, tout comme les différents paramètres existant, et les comportements par défaut. En effet, ici aucun organisme n'a besoin de garder cette information secrète afin de pouvoir vendre des formations, des certifications ou tout simplement des documentations.

En plus d'offrir de nombreuses fonctionnalités, le modèle open-source offre la possibilité de faire auditer le code source par un nombre important de personnes. En effet, de nombreux groupes existent, ayant pour but de d'auditer, d'un point de vue sécurité, les services sensibles. Le groupe principal se nomme OpenBSD, et ses corrections sont reprises sur les autres plates-formes Unix ainsi que sous les autres implémentations. Un autre groupe, nommé Linux-audit, a permis de détecter et de corriger, en coordinations avec leurs auteurs réciproques, de nombreuses failles dans un grand nombre de logiciels libres fonctionnant, entre autres, sous Linux. Ce modèle de travail permet de coordonner les annonces entre les découvertes de vulnérabilités, les corrections des auteurs et les mises à jour des éditeurs de distributions Linux. Cela limite le temps entre la diffusion de l'exploitation d'une vulnérabilité et la mise à jour effective sur les serveurs sensibles.

Des fonctionnalités de sécurité avancées sont disponibles dans le noyau Linux comme le chiffrement et la gestion des privilèges.
Il est possible de chiffrer le contenu d'une partition, et donc de protéger le contenu d'arborescences. Les algorithmes de chiffrement utilisés sont forts et multiples, allant du simple DES au Twofish et au CAST-128.
De plus, avec la possibilité d'utiliser un fichier comme "partition amovible", il est possible de chiffrer une telle partition "portable". Chaque utilisateur peut posséder un coffre qu'il pourra ouvrir sur n'importe quelle machine à condition d'en connaître le mot de passe nécessaire, et qui pourra être déplacé, simplement par FTP, mail ou sur une disquette.

Les privilèges sont établis de manière à rendre possible le partitionnement des droits de l'administrateur en groupes de droits. Il est ainsi possible de ne donner à un programme de sauvegarde que le droit de lire tous les fichiers du disque, et non pas le contrôle total de la machine. Ceci peut être particulièrement utile lors de l'utilisation d'un programme nécessitant quelques privilèges d'administration mais dans lequel vous n'avez qu'une confiance limitée (sources indisponibles, origine douteuse, etc.).

Il est également possible d'utiliser l'un des patches de durcissement du noyau comme celui de Solar Designer, qui permet de rendre la pile non exécutable et de se prémunir d'un certain nombre de dénis de service impliquant les répertoires partagés.

Il existe également sur Internet plusieurs documents décrivant pas à pas la sécurisation d'un système et un script automatique de durcissement des droits d'accès, dénommé bastille-linux, applicable directement à une RedHat 6.0 ou 6.1.

Linux est donc un système qui permet à toute personne qui le désire d'être aussi sécurisée que souhaité.

Last modified on 15 October 2002 at 17:16:55 CET - webmaster@hsc.fr
Information on this server - © 1989-2013 Hervé Schauer Consultants