Opensolaris Et La Sécurité Master 2 SSI Université Du Sud, Toulon Et Du Var
Total Page:16
File Type:pdf, Size:1020Kb
David Pauillac OpenSolaris et la sécurité Master 2 SSI Université du Sud, Toulon et du Var novembre 2007 ii Copyright c 2007 David PAUILLAC. Ce document est distribué sous Licence GNU Free Documentation License 1. Vous pouvez copier et/ou distribuer ce document à condition de respecter les termes de la GFDL, version 1.2 ou toute version publiée ultérieurement par la Free Software Foundation. Une copie de la licence est incluse en annexe C intitulée “GNU Free Documentation License”. Les nom et logos OpenSolaris sont des marques déposées par Sun Microsystem. 1. GFDL David Pauillac c novembre 2007 - OpenSolaris et la sécurité Avant-propos À propos du document Ce document, à l’origine, était destiné aux étudiants de master2 SSI de l’université de Sud, Toulon et du Var. Cependant, j’espère qu’il pourra ser- vir aussi aux administrateurs devant (ou désirant) utiliser un système basé sur OpenSolaris (tel que le système de Sun Microsystem, Solaris, largement répandu). Il m’a semblé intéressant de comparer, lorsque celà est nécessaire, OpenSo- laris et GNU/Linux ; en effet, ce dernier est bien plus connu dans le monde universitaire que le système ouvert de Sun Microsystem. Ainsi, le but de ce document n’est pas de remplacer la documentation fournie avec le système Solaris, mais juste de fournir des informations impor- tantes pour installer, configurer et sécuriser un système basé sur OpenSolaris, que ce soit sur un serveur ou sur une station de travail. Pour toute remarque ou question, vous pouvez contacter l’auteur à l’adresse suivante: [email protected] En introduction, il m’a semblé important de retracer brièvement l’histoire des systèmes UNIX ainsi que de traiter certains points théoriques de ce type de systèmes d’exploitation. La Sécurité des Systèmes d’Information - SSI Afin de ne pas perdre de vue les objectifs à atteindre, un petit rappel sur la SSI est nécessaire. La SSI a pour objet de garantir trois états de l’information (quelque soit la iiiiiiiii iv Avant-propos forme de celle-ci) : 1. la Confidentialité 2. L’Intégrité 3. la Disponibilité À mes yeux c’est cette dernière qui doit avoir toute notre attention. En effet, si l’information (ou le système d’information) n’est plus accessible à personne, quel est l’intérêt d’assurer sa confidentialité ou son intégrité? Imaginez l’impact d’un arrêt de service pour une entreprise d’e-commerce. Bien sûr, l’idéal est de trouver un équilibre entre la disponibilité - l’utilisation au quotidien - et la sécurité. Ainsi, les configurations que je propose dans ce document peuvent entrer en contradiction avec certaines politiques de sécurité - comme le fait de dé- bloquer un compte utilisateur de manière automatique après un certain laps de temps lorsque les x tentatives de connexion sont épuisées. Il faut aussi prendre en compte le nombre de machines à administrer. On peut se permettre l’établissement de règles nécessitant une intervention humaine sur un parc de cinq stations alors qu’elles seront difficilement appli- cables sur un parc de 5000 ! Convention typographique Afin de simplifier la lecture de ce document, une convention typogra- phique a été mise en place : Cette section met en évidence une propriété spécifique au système GNU/LINUX. Cette section décrit un risque potentiel pour le système ; ou une attaque possible. David Pauillac c novembre 2007 - OpenSolaris et la sécurité Avant-propos v Cette section apporte une solution à un risque ou une parade à une attaque. Présentation du document Ce document s’articule autour de trois “tomes” ; dans le premier, le plus théorique, le système OpenSolaris sera disséqué et comparé au système GNU/ Linux. Le second s’attardera sur l’aspect serveur, incluant les services ré- seaux, l’administration des utilisateurs. Enfin le dernier montrera qu’Open- Solaris peut très bien convenir aux stations de travail. Pour terminer, deux annexes ont été intégrées : la première montrera com- ment faire cohabiter OpenSolaris avec d’autres systèmes tels que GNU/Linux ou MS Windows 2. La deuxième traitera des cas particuliers des ordinateurs portables. Note à l’intention des élèves de master2 SSI Dans l’idéal, ce qui se fait très souvent dans le monde industriel, chaque serveur ne doit servir qu’à un seul service réseau - principe de l’unicité. Cependant, dans le cadre universitaire, il me semble peu probable d’avoir 7 machines par étudiant. OpenSolaris offrant le mécanisme de zone, nous n’uti- liserons qu’une machine pour tous les services réseau étudiés dans la partie II. Nous obtenons donc le découpage suivant : 2. Le multi-boot est très fortement déconseillé mais peut parfois être indispen- sable sur une station. Un serveur, quant à lui, n’en a jamais besoin et le multi-boot doit en être banni David Pauillac c novembre 2007 - OpenSolaris et la sécurité vi Avant-propos Fig. 1 – Découpage des stations de TP Remarque 1 Comme il sera vu dans ce document, il est envisageable de ne pas respecter le principe d’unicité pour une plate-forme de production 3. Bien sûr dans ce cas là, le risque d’indisponibilité des services en cas de problème matériel est extrêmement important - prévoir des serveurs redondants semble être une bonne solution - mais ceci dépasse le cadre de ce document. On donc peut imaginer un serveur unique hébergeant serveurs web et d’appli- cation (voire même bases de données) ou encore une plate-forme mail/ldap physiquement unique 4. 3. Première approche sensiblement différente par rapport aux conventions SSI 4. Á voir les associations de services possibles sans élever le risque d’indisponi- bilité de ces derniers David Pauillac c novembre 2007 - OpenSolaris et la sécurité Table des matières Avant-propos iii 1 Introduction 1 1.1 UNIX, une longue histoire de systèmes d’exploitation . .1 1.1.1 L’avènement de MULTICS - l’Ancètre . .1 1.1.2 De MULTICS à UNIX . .1 1.1.3 Les standards d’UNIX . .2 1.2 La philosophie d’UNIX . .3 1.3 Le système OpenSolaris . .6 OpenSolaris - Dissection d’un système 9 I Le système OpenSolaris 11 1 Le noyau et le système 13 1.1 Un noyau . 13 1.1.1 L’environnement d’exécution multi-processus . 15 1.2 La mémoire virtuelle . 17 1.2.1 L’adresse virtuelle . 17 1.2.2 L’espace d’adressage . 17 1.3 Périphériques . 17 1.3.1 Les fichiers spéciaux . 17 1.4 Comparaison avec GNU/Linux . 18 2 Le système de fichiers 21 2.1 La gestion des disques durs et des partitions . 21 2.2 Fichiers et répertoires importants d’OpenSolaris . 22 viiviivii viii TABLE DES MATIÈRES 3 Le processus de démarrage 27 3.1 La phase d’initialisation . 28 3.2 Le fichier /etc/inittab . 28 3.3 Les scripts RC et les niveaux d’exécution . 29 4 Les mécanismes de sécurité d’OpenSolaris 31 4.1 Les zones . 32 4.1.1 Généralités . 32 4.1.2 La sécurité des zones . 32 4.1.3 Commandes utiles . 33 4.1.4 Création des zones . 34 4.1.5 Initialisation des zones . 35 4.1.6 Clonage de zone . 35 4.2 Les Privilèges . 35 4.2.1 Les contrôles de droits . 35 4.2.2 Les privilèges de Solaris . 36 4.2.3 La gestion des privilèges . 37 4.2.3.1 Les commandes importantes . 37 4.2.3.2 Les privilèges et leur définition . 37 4.3 SCF - Solaris Cryptographic Framework . 41 4.4 SMF - Service Management Facilities . 42 4.5 RBAC - Role Based Access Control . 42 4.5.1 Fichiers de configuration . 43 4.6 Trusted Extensions . 43 4.6.1 MAC et Labels . 44 4.6.2 Trusted Networking - CIPSO . 44 4.6.3 Trusted GUI . 44 5 Performances et diagnostique 45 5.1 Contrôler les processus . 45 5.2 Monitorer les processus . 46 5.3 Tracer le système - dtrace . 48 5.4 Tracer l’activité du noyau . 49 II Installer OpenSolaris 51 1 L’installation d’OpenSolaris 53 1.1 Le programme d’installation . 53 1.2 Mise en place du réseau . 63 1.2.1 Configurer les interfaces réseau . 63 David Pauillac c novembre 2007 - OpenSolaris et la sécurité TABLE DES MATIÈRES ix 1.2.2 Routes et routeur . 63 1.3 État du système après l’installation . 67 1.4 Suppression des packages inutiles . 68 OpenSolaris d’un point de vue serveur 69 I Configurer et sécuriser OpenSolaris 71 1 La gestion des utilisateurs 73 1.1 La gestion des mots de passe . 73 1.1.1 Les utilisateurs . 73 1.1.2 Les groupes . 78 1.1.3 Les rôles . 78 1.2 Le système d’authentification . 79 1.2.1 Le module PAM . 79 1.2.1.1 Mode de fonctionnement . 79 1.2.1.2 Hiérarchisation des taches d’authentification . 80 1.2.1.3 Conclusion . 82 2 Le contrôle des accès 83 2.1 Suppression des exécutables SUID/SGID . 83 2.2 Politique générale sur les fichiers . 83 2.3 Suppression des commandes distantes . 84 3 Le système 85 3.1 Personnaliser la pile IP . 85 3.2 Configurer le pare-feu . 86 3.3 Modifier le niveau général de sécurité . 87 3.3.1 Renforcer les mots de passe . 87 3.3.2 Blocage et suppression des comptes inutiles . 91 3.4 Protections diverses . 92 3.5 Test de scan . 92 II Les services réseau 97 1 Serveur de nom 99 1.1 Généralités . 99 1.1.1 Protocole utilisé . 101 1.1.2 Application . 101 David Pauillac c novembre 2007 - OpenSolaris et la sécurité x TABLE DES MATIÈRES 1.2 Installation . 102 1.2.1 Création de la zone dédiée .