|
Julien Thomas - TELECOM Bretagne
|
![]()
|
|
Informations
Déploiement d'applications
Sécurité des applications
Sécurité SELinux
|
Distribution Linux utiliséeGentooGentoo est une distribution extrèmement mature, disposant d'une communauté vaste et très expérimentée. Le wiki, même fran- çais, est très fourni et les nombreux forums Gentoo sont très réactifs. Techniquement, la distribution Gentoo possède quelques atouts majeurs qui lui valent sont succès. Par exemple, Portage, le gestionnaire de paquet de Gentoo, se distingue des autres systèmes de gestion de paquets du fait qu'il utilise des petits scripts d'installation, les ebuilds, à la place de paquets binaires précompilés et fournis par la distribution. Ces scripts permettent de compiler et d'installer automatiquement un logiciel à partir des sources publiées par l'auteur de chaque logiciel, ce qui simplifie grandement leur installation. Portage permet également une gestion plus fine des dépendances entre paquets (il est possible de sélectionner les dépendances fixées à la compilation, par opposition aux systèmes basés sur des paquets précompilés, où il est uniquement possible de sélectionner les dépendances fixées à l'exécution). Les logiciels installés sont aussi potentiellement plus performants, puisque le compilateur peut tenir compte des caractéristiques propres à la machine cible. Hardened GentooHardened Gentoo est un sous-projet de Gentoo. Il s'agit d'une extension visant à ajouter différents modules de sécurité. Il permet par exemple l'utilisation du module SELinux, du patch PaX contre des dépassements de tampons mémoire, de RSBAC (Rule Set Based Access Control), ou encore du patch Grsecurity restreignant les droits d'accès aux ressources. InstallationIl existe plusieurs façon d'installer une distribution Gentoo. De l'installation précompilée, à la compilation complète du système, en utilisant des installeurs graphiques ou non, réseau ou non, les manuels Gentoo sont très détaillés et auto suffisant, même pour des non initiés. Nous avons installé la version Gentoo 2007.0, à partir d'un installeur minimal, et donc d'une installation web. Au dépend de la vitesse d'installation, cela a eu pour principale avantage la compilation d'une grande partie du système avec des options de compilation spécifiques aux pentium4 dual core. Cela nous a aussi permis d'avoir la dernière version du système disponible sur Internet. UtilisationEmergeLa gestion de paquet sous Gentoo, se fait par l'intermédiaire de la commande emerge. Tous les paquets sont classé dans un groupe et sa désignation se décompose comme suit : groupe/paquet-version. Pour installer un paquet il suffit de faire emerge paquet ou emerge groupe/paquet. La dernière version stable pour l'achitecture de la machine sera automatiquement sélectionnée. Portage se charge de calculer les dépendances et de télécharger les version nécessaires au bon fonctionnement de l'application demandée. Pour choisir une version de logiciel donnée il suffit de précéder des modificateur devant la désignation du paquet tel que =, <, >, <= ou encore >=, et de spécifier la version avec la précision souhaitée. Exemple : emerge -av "<snort-2.6". Notez la présence des " encapsulant le nom du paquet. L'option 'a' demande simplement confirmation avant de procéder à l'installation des paquets, tandis que 'v' est simplement le mode verbeux. On peut alors voir si un paquet va etre réinstallé, mis à jour, remis à une version antérieur, les options USE qui seront installés parmis celles disponibles pour le paquet... Beaucoup d'autres options sont disponible, je vous invite donc à lire la documentation. Un installeur graphique du nom de Porthole est diponible pour Portage. Je conseil néanmoins de prendre l'habitude d'utilise la commande emerge, qui est le standard. Variable USEUSE est une variable d'environnement définit dans le fichier /etc/make.conf, qui permet de spécifier un ensemble de support que l'on veut automatiquement activer (ou désactiver) dans les paquets que nous désirons installer par la suite. Exemple : USE="X gnome gtk gtk2 -kde -qt3 -qt4, pour activer le support pour les interfaces graphique pour gnome, mais pas pour kde. Ces options sont respecté si les applications les supporte bien entendu, dans le cas contraire, elles sont tout simplement ignorées. On peut spécifier une variation d'options particulière lors de l'emerge en tapant une commande comme suit : USE=dynamicplugin selinux prelude -mysql emerge -av snort. Configuration et lancement de scriptsDans le dossier /etc/init.d est regroupé un ensemble de script permettant de lancer les services associé au logiciel installé. Par exemple un serveur MySQL, Vmware ou encore le démon de mapping du clavier. Pour les manipuler, il suffit d'utiliser les commandes /etc/init.d/service start, /etc/init.d/service stop ou /etc/init.d/service restart, qui sont les commandes par défaut. D'autre commandes plus spécifique peuvent être disponibles suivant les scripts. Pour configurer les services, il existe un dossier similaire : /etc/conf.d. Par exemple pour changer le mapping du clavier du système sans passer par l'interface grapique il suffit d'éditer le fichier : /etc/conf.d/keymaps, de changer mettre à jour la variable KEYMAP="fr" et de relancer le démon : /etc/init.d/keymaps restart. Démarrage de scriptsPour lancer un script au démarrage il suffit d'utiliser les commande rc-update. Par exemple pour lancer vmware au démarrage de l'ordinateur il suffit de faire : rc-update add vmware default. Une documentation plus complète est disponible à l'addresse suivante : http://www.gentoo.org/doc/fr/handbook/handbook-x86.xml?part=2&chap=4.
«Design-by-assumption works as long as assumptions hold. Assumptions are
shortcuts to useful efficiencies, provided they are not violated. »
|