Sun Microsystems Solaris Security Toolkit Administration Guide [fr]

Guide d'administration de
Solaris™ Security Toolkit 4.2
Sun Microsystems, Inc. www.sun.com
Référence 819-3788-10 Août 2005, révision A
Communiquez vos commentaires sur ce document à : http://www.sun.com/hwdocs/feedback
Copyright 2005 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, États-Unis. Tous droits réservés. Sun Microsystems, Inc. détient les droits de propriété intellectuelle relatifs à la technologie incorporée dans le produit décrit dans ce document.
En particulier, et sans limitation aucune, ces droits de propriété intellectuelle peuvent inclure un ou plusieurs des brevets américains répertoriés à l'adresse http://www.sun.com/patents et un ou plusieurs brevets supplémentaires ou demandes de brevet en cours aux États-Unis et dans d'autres pays.
Le présent document et le produit afférent sont exclusivement distribués avec des licences qui en restreignent l'utilisation, la copie, la distribution et la décompilation. Aucune partie de ce produit ou document ne peut être reproduite sous quelque forme que ce soit, par quelque moyen que ce soit, sans l'autorisation écrite préalable de Sun et de ses bailleurs de licence, le cas échéant.
Les logiciels détenus par des tiers, y compris la technologie relative aux polices de caractères, sont protégés par copyright et distribués sous licence par des fournisseurs de Sun.
Des parties de ce produit peuvent être dérivées des systèmes Berkeley BSD, distribués sous licence par l'Université de Californie. UNIX est une marque déposée aux États-Unis et dans d'autres pays, distribuée exclusivement sous licence par X/Open Company, Ltd.
Sun, Sun Microsystems, le logo Sun, Java, AnswerBook2, docs.sun.com, et Solaris sont des marques de fabrique ou des marques déposées de Sun Microsystems, Inc. aux États-Unis et dans d’autres pays.
Toutes les marques SPARC sont utilisées sous licence et désignent des marques de fabrique ou des marques déposées de SPARC International, Inc., aux États-Unis et dans d'autres pays. Les produits portant les marques déposées SPARC reposent sur une architecture développée par Sun Microsystems, Inc.
L'interface graphique utilisateur d'OPEN LOOK et Sun™ a été développée par Sun Microsystems, Inc. à l'intention des utilisateurs et détenteurs de licences. Sun reconnaît les efforts de pionnier de Xerox en matière de recherche et de développement du concept des interfaces graphique ou visuelle utilisateur pour l'industrie informatique. Sun détient une licence non exclusive de Xerox sur l'interface graphique utilisateur (IG) Xerox, cette licence couvrant également les détenteurs de licences Sun qui mettent en place des IG OPEN LOOK et se conforment par ailleurs aux contrats de licence écrits de Sun.
LA DOCUMENTATION EST FOURNIE « EN L'ÉTAT » ET TOUTE AUTRE CONDITION, DÉCLARATION ET GARANTIE, EXPRESSE OU TACITE, EST FORMELLEMENT EXCLUE, DANS LA MESURE AUTORISÉE PAR LA LOI EN VIGUEUR, Y COMPRIS NOTAMMENT TOUTE GARANTIE IMPLICITE RELATIVE À LA QUALITÉ MARCHANDE, À L'APTITUDE À UNE UTILISATION PARTICULIÈRE OU À L'ABSENCE DE CONTREFAÇON.
Papier

Table des matières

Préface xvii
1. Introduction 1
Sécurisation de systèmes à l'aide du logiciel Solaris Security Toolkit 1
Mode JumpStart 2
Mode autonome 3
Composants du logiciel 3
Répertoires 4
Répertoire Audit 5
Répertoire Documentation 5
Répertoire man 5
Répertoire Drivers 5
Répertoire Files 9
Répertoire Finish 10
Répertoire OS 10
Répertoire Packages 11
Répertoire Patches 11
Répertoire Profiles 12
Répertoire Sysidcfg 12
iii
Référentiel de données 12
Maintien du contrôle de version 13
Configuration et personnalisation du logiciel Solaris Security Toolkit 13
Stratégies et conditions requises 14
Directives 15
2. Sécurisation de systèmes : application d'une méthodologie 17
Planification et préparation 17
Prise en compte des risques et des avantages 18
Vérification des stratégies et des normes de sécurité, ainsi que de la
documentation correspondante 19
Exemple 1 20
Exemple 2 20
Détermination des conditions requises pour les applications et les services 21
Inventaire des applications et des services opérationnels 21
Détermination des conditions requises pour les services 21
Développement et mise en oeuvre d'un profil Solaris Security Toolkit 30
Installation du logiciel 31
Tâches précédant l’installation 31
Sauvegarde des données 31
Vérification de la stabilité du système 32
Tâches suivant l'installation 32
Vérification des fonctionnalités des applications et des services 33
Vérification de l'installation du profil de sécurité 33
Vérification des fonctionnalités des applications et des services 34
Maintenance de la sécurité du système 34
iv Guide d'administration de Solaris Security Toolkit 4.2 août 2005
3. Mise à niveau, installation et exécution du logiciel de sécurité 37
Tâches de planification et de préinstallation 38
Dépendances logicielles 38
Détermination du mode à utiliser 38
Mode autonome 39
Mode JumpStart 39
Mise à niveau des procédures 40
Pour mettre à niveau le logiciel Solaris Security Toolkit et le système
d’exploitation Solaris 40
Pour mettre à niveau le logiciel Solaris Security Toolkit uniquement 42
Mise à niveau du SE Solaris uniquement 42
Téléchargement du logiciel de sécurité 42
Téléchargement du logiciel Solaris Security Toolkit 43
Pour télécharger la version pkg 43
Téléchargement du cluster de patchs recommandés 44
Pour télécharger un cluster de patchs recommandés 44
Téléchargement du logiciel FixModes 45
Pour télécharger le logiciel FixModes 46
Téléchargement du logiciel OpenSSH 46
Pour télécharger le logiciel OpenSSH 47
Téléchargement du logiciel MD5 48
Pour télécharger le logiciel MD5 48
Personnalisation des profils de sécurité 50
Installation et exécution du logiciel 50
Exécution du logiciel en mode autonome 51
Pour exécuter le logiciel en mode autonome 54
Option d’audit 55
Option de nettoyage 55
Option d’affichage de l’aide 57
Option de pilote 58
Table des matières v
Option de notification par e-mail 59
Option d’exécution de l’historique 60
Option d’exécution la plus récente 60
Option de fichier de sortie 61
Option de sortie silencieuse 61
Option de répertoire racine 61
Option d’annulation 62
Exécution du logiciel en mode JumpStart 62
Pour exécuter le logiciel en mode JumpStart 63
Validation des modifications système 63
Contrôle d’assurance qualité des services 63
Évaluation de la sécurité de la configuration 64
Validation des profils de sécurité 65
Tâches suivant l'installation 65
4. Annulation de modifications du système 67
Consignation et annulation des changements 67
Conditions requises pour l'annulation de modifications du système 69
Personnalisation de scripts pour l'annulation des modifications 69
Contrôle des fichiers modifiés manuellement 71
Utilisation d'options avec la fonction d'annulation 71
Option de sauvegarde 73
Option de forçage 73
Option de conservation 73
Option de fichier de sortie 74
Option de sortie silencieuse 74
Option de notification par e-mail 74
Annulation de modifications du système 75
Pour annuler une exécution de Solaris Security Toolkit 75
vi Guide d'administration de Solaris Security Toolkit 4.2 août 2005
5. Configuration et gestion de serveurs JumpStart 83
Configuration de serveurs et d'environnements JumpStart 84
Pour configurer l’environnement au mode JumpStart 84
Utilisation de modèles de profils JumpStart 86
core.profile 87
end-user.profile 87
developer.profile 87
entire-distribution.profile 87
oem.profile 87
minimal-SunFire_Domain*.profile 87
Ajout et suppression de clients 88
Script add-client 88
Script rm-client 90
6. Audit de sécurité de systèmes 91
Maintenance de la sécurité 91
Contrôle de la sécurité avant la sécurisation 92
Personnalisation des audits de sécurité 93
Préparation d'un audit de sécurité 94
Utilisation d'options et contrôle de la sortie des audits 94
Options de ligne de commande 95
Option d’affichage de l’aide 95
Option de notification par e-mail 96
Option de sortie de fichier 97
Option de sortie silencieuse 97
Option de verbosité 98
Sortie de bannières et de messages 99
Sortie de nom d'hôte, de nom de script et d’horodatage 101
Exécution d'un audit de sécurité 102
Pour exécuter un audit de sécurité 103
Table des matières vii
7. Sécurisation d'un système 107
Planification et préparation 107
Suppositions et restrictions 108
Environnement du système 109
Conditions de sécurité requises 109
Création d'un profil de sécurité 110
Installation du logiciel 110
Téléchargement et installation du logiciel de sécurité 111
Pour télécharger et installer le logiciel de sécurité 111
Installation de patchs 111
Pour installer les patchs 112
Spécification et installation du cluster du système d'exploitation 112
Pour spécifier et installer le cluster du système d'exploitation 113
Configuration du serveur et du client JumpStart 114
Préparation de l'infrastructure 114
Pour préparer l'infrastructure 114
Validation et vérification du fichier Rules 117
Personnalisation de la configuration de sécurisation 118
Activation du service FTP 119
Pour activer le service FTP 119
Installation du logiciel Secure Shell 120
Pour installer Secure Shell 120
Activation du service RPC 121
Pour activer RPC 122
Personnalisation du fichier syslog.conf 122
Pour personnaliser le fichier syslog.conf 122
Installation du client 124
Pour installer le client 124
viii Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Test d'assurance qualité 124
Pour vérifier l'installation du profil 125
Pour vérifier le fonctionnement des applications et des services 126
Glossaire 127
Index 135
Table des matières ix
x Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Figures

FIGURE 1-1 Structure des composants du logiciel 3
FIGURE 1-2 Flux de contrôle du pilote 7
xi
xii Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Tableaux

TABLEAU 1-1 Conventions d’attribution de nom de fichier personnalisé 15
TABLEAU 2-1 Liste des services récemment utilisés 28
TABLEAU 3-1 Utilisation des options de ligne de commande avec jass-execute 52
TABLEAU 4-1 Utilisation des options de ligne de commande avec la commande d'annulation 72
TABLEAU 5-1 Commande JumpStart add-client 89
TABLEAU 5-2 Commande JumpStart rm-client 90
TABLEAU 6-1 Utilisation des options de ligne de commande avec la commande d’audit 95
TABLEAU 6-2 Niveaux de verbosité d'un audit 98
TABLEAU 6-3 Affichage des bannières et des messages dans la sortie d'un audit 99
TABLEAU 6-4 Affichage du nom d'hôte, du nom de script et de l'horodatage 101
xiii
xiv Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Exemples de code

EXEMPLE DE CODE 1-1 Code de flux de contrôle du pilote 8
EXEMPLE DE CODE 2-1 Collecte d'informations sur les objets de système de fichiers 22
EXEMPLE DE CODE 2-2 Collecte d'informations à partir d’un processus en cours 23
EXEMPLE DE CODE 2-3 Identification d'applications chargées de manière dynamique 23
EXEMPLE DE CODE 2-4 Détermination d’un fichier de configuration en cours d'utilisation 25
EXEMPLE DE CODE 2-5 Détermination des applications utilisant RPC 26
EXEMPLE DE CODE 2-6 Validation du service rusers 27
EXEMPLE DE CODE 2-7 Méthode alternative pour la détermination des applications qui utilisent RPC 28
EXEMPLE DE CODE 2-8 Détermination des ports qui appartiennent aux services ou aux applications 29
EXEMPLE DE CODE 2-9 Détermination des processus qui utilisent des fichiers et des ports 29
EXEMPLE DE CODE 3-1 Déplacement d'un fichier de patch dans le répertoire /opt/SUNWjass/Patches 45
EXEMPLE DE CODE 3-2 Échantillon d’utilisation de la ligne de commande en mode autonome 51
EXEMPLE DE CODE 3-3 Exécution du logiciel en mode autonome 54
EXEMPLE DE CODE 3-4 Échantillon de sortie de l’option -c 56
EXEMPLE DE CODE 3-5 Échantillon de sortie de l’option -h 57
EXEMPLE DE CODE 3-6 Échantillon de sortie de l'option -d pilote 59
EXEMPLE DE CODE 3-7 Échantillon de sortie de l'option -H 60
EXEMPLE DE CODE 3-8 Échantillon de sortie de l'option -l 60
EXEMPLE DE CODE 3-9 Échantillon de sortie de l'option -o 61
EXEMPLE DE CODE 3-10 Échantillon de sortie de l'option -q 61
xv
EXEMPLE DE CODE 4-1 Échantillon de sortie de fichiers modifiés manuellement 71
EXEMPLE DE CODE 4-2 Échantillon de sortie de sécurisations pouvant être annulées 76
EXEMPLE DE CODE 4-3 Échantillon de sortie d’une d'annulation portant sur plusieurs entrées de fichier
global 77
EXEMPLE DE CODE 4-4 Échantillon de sortie d'une exception d'annulation 78
EXEMPLE DE CODE 4-5 Échantillon de sortie de l’option de sauvegarde pendant une annulation 79
EXEMPLE DE CODE 4-6 Échantillon de sortie de l’option « Toujours sauvegarder » pendant une annulation 80
EXEMPLE DE CODE 6-1 Échantillon de sortie de l'option -h 96
EXEMPLE DE CODE 6-2 Échantillon de sortie de l'option -o 97
EXEMPLE DE CODE 6-3 Échantillon de sortie de l'option -q 97
EXEMPLE DE CODE 6-4 Échantillon de sortie d'un rapport d'audit contenant uniquement les échecs 100
EXEMPLE DE CODE 6-5 Échantillon de sortie de journal d'audit 102
EXEMPLE DE CODE 6-6 Échantillon de sortie d'un audit 104
EXEMPLE DE CODE 7-1 Ajout d'un client au serveur JumpStart 115
EXEMPLE DE CODE 7-2 Création d'un profil 115
EXEMPLE DE CODE 7-3 Échantillon de sortie d'un script modifié 116
EXEMPLE DE CODE 7-4 Vérification de la validité du fichier rules 116
EXEMPLE DE CODE 7-5 Échantillon de sortie du fichier rules 117
EXEMPLE DE CODE 7-6 Échantillon de script incorrect 118
EXEMPLE DE CODE 7-7 Échantillon de script correct 118
EXEMPLE DE CODE 7-8 Échantillon de sortie du fichier xsp-firewall-hardening.driver modifié 123
EXEMPLE DE CODE 7-9 Évaluation d'une configuration de sécurité 125
xvi Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Préface

Ce manuel contient des informations de référence facilitant la compréhension et l’utilisation du logiciel Solaris™ Security Toolkit. Il est essentiellement destiné aux utilisateurs qui souhaitent sécuriser les systèmes d’exploitation (SE) Solaris 8, 9 et
10 à l’aide du logiciel Solaris Security Toolkit, par exemple les administrateurs, les
consultants, etc., qui déploient de nouveaux systèmes Sun ou sécurisent des systèmes déployés. Les instructions s’appliquent au logiciel en mode JumpStart™ ou
en mode autonome.
Avant de lire ce document
Vous devez être un administrateur système certifié Sun pour Solaris™ ou un administrateur réseau certifié Sun pour Solaris™. Vous devez maîtriser les protocoles et les topologies standard de réseau.
Étant donné que ce document s'adresse à un public varié, votre expérience et vos connaissances personnelles en matière de sécurité détermineront le type de consultation et d'utilisation que vous en ferez.
xvii
Organisation de ce document
Ce manuel est un guide de l'utilisateur. Il contient des informations, des instructions et des directives sur l'utilisation du logiciel en vue de sécuriser des systèmes. Cet ouvrage est organisé comme suit :
Le chapitre 1 décrit la logique et l'objectif du logiciel Solaris Security Toolkit. Il couvre les composants clés, les fonctions, les avantages et les plates-formes prises en charge.
Le chapitre 2 propose une méthode de sécurisation des systèmes. Vous pouvez appliquer le processus Solaris Security Toolkit avant de sécuriser les systèmes à l'aide du logiciel correspondant.
Le chapitre 3 fournit des instructions sur le téléchargement, l’installation et l’exécution du logiciel Solaris Security Toolkit et d'autres logiciels de sécurité.
Le chapitre 4 propose des informations et des procédures permettant d’annuler les modifications introduites par le logiciel Solaris Security Toolkit pendant les sécurisations.
Le chapitre 5 décrit la configuration et la gestion des serveurs JumpStart en vue d’utiliser le logiciel Solaris Security Toolkit.
Le chapitre 6 décrit l’audit (la validation) de la sécurité d'un système à l'aide du logiciel Solaris Security Toolkit. Utilisez les informations et les procédures figurant dans ce chapitre pour maintenir un profil de sécurité donné après la sécurisation.
Le chapitre 7 applique à un scénario réaliste les informations contenues dans les chapitres précédents pour installer et sécuriser un nouveau système.
Utilisation des commandes UNIX
Les commandes et procédures de base UNIX®, telles que l’arrêt ou le démarrage du
système, ou encore la configuration des périphériques, ne sont pas traitées dans ce document. Pour de plus amples informations à ce sujet, reportez-vous aux sources suivantes :
la documentation accompagnant les logiciels livrés avec le système ;
la documentation relative au système d’exploitation Solaris, à l’adresse
http://docs.sun.com.
xviii Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Invites de shell
Shell Invite
C nom-ordinateur%
superutilisateur C nom-ordinateur#
Bourne et Korn $
Superutilisateur Bourne et Korn #
Conventions typographiques
*
Style
AaBbCc123 Noms de commandes, de
AaBbCc123
AaBbCc123 Titres d’ouvrages, nouveaux
* Il est possible que les paramètres de votre navigateur soient différents.
Signification Exemples
Modifiez le fichier .login. fichiers et de répertoires ; sortie affichée à l’écran
Caractères saisis par l’utilisateur, par opposition à la sortie affichée à l’écran
termes ou expressions, mots à mettre en évidence. Variables de ligne de commande à remplacer par des noms ou des valeurs réels.
Utilisez la commande ls -a pour afficher la
liste de tous les fichiers.
% Vous avez reçu du courrier.
% su
Mot de passe :
Lisez le chapitre 6 du Guide de l’utilisateur.
Ces paramètres sont appelés options de classe.
Vous devez vous connecter en tant que
superutilisateur pour effectuer cette opération.
Pour supprimer un fichier, tapez rm
nom_du_fichier.
Préface xix
Utilisation de termes génériques pour les modèles de matériel
Les systèmes haut de gamme Sun Fire™ ont pour référence les numéros de modèle suivants :
E25K
E20K
15K
12K
Les systèmes milieu de gamme Sun Fire™ ont pour référence les numéros de modèle suivants :
E6900
E4900
6800
4810
4800
3800
Les systèmes entrée de gamme Sun Fire™ ont pour référence les numéros de modèle suivants :
E2900
Netra 1280
V1280
V890
V880
V490
V480
Systèmes matériels pris en charge
Le logiciel Solaris Security Toolkit 4.2 prend en charge le système SPARC® 64 bits uniquement et les systèmes x86/x64 exécutés sous le SE Solaris 10. Il ne reconnaît pas
les systèmes SPARC 32 bits exécutés sous Solaris 8 et 9, par exemple Ultra 2 Creator 3D.
xx Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Versions du SE Solaris prises en charge
Le support Sun du logiciel Solaris Security Toolkit est disponible uniquement pour les systèmes d’exploitation Solaris 8, 9 et 10.
Remarque – Dans le cadre de l’utilisation du logiciel Solaris Security Toolkit 4.2,
Solaris 10 peut être utilisé uniquement sur des domaines de systèmes haut de gamme Sun Fire et non sur le contrôleur système (SC).
Bien qu’il soit possible d’utiliser le logiciel sous les SE Solaris 2.5.1, 2.6 et 7, le support Sun du logiciel n’est pas disponible pour ces systèmes d’exploitation.
Le logiciel Solaris Security Toolkit détecte automatiquement la version du SE Solaris installée, puis exécute les tâches appropriées pour cette version.
Dans les exemples du présent document, les scripts vérifiant la version du SE recherchent les versions 5.x (versions de SunOS™) et non les versions 2.x, 7, 8, 9 ou 10 (versions du SE Solaris). Le SunOS et du SE Solaris.
TABLEAU P-1 Corrélation entre les versions de SunOS et du SE Solaris
Version de SunOS Version du SE Solaris
5.5.1 2.5.1
5.6 2.6
5.7 7
5.8 8
5.9 9
5.10 10
TABLEAU P-1 indique la corrélation entre les versions de
Préface xxi
Versions de System Management Services (SMS) prises en charge
Si vous utilisez System Management Services (SMS) 1.4, 1.4.1 et 1.5 pour exécuter le SC sur des systèmes haut de gamme Sun Fire, le logiciel Solaris Security Toolkit 4.2 est pris en charge par tous les SE Solaris 8 et 9. Aucune version de SMS n’est reconnue sous le Solaris 10 lorsque vous utilisez le logiciel Solaris Security Toolkit 4.2.
Remarque – Dans le cadre de l’utilisation du logiciel Solaris Security Toolkit 4.2,
Solaris 10 peut être utilisé uniquement sur des domaines et non sur le contrôleur système (SC).
Documentation connexe
Les documents en ligne sont disponibles à l’adresse suivante :
http://www.sun.com/products-n-solutions/hardware/docs/ Software/enterprise_computing/systems_management/sst/index.html
Application Titre Référence Format Emplacement
Notes de version Notes de version de Solaris Security Toolkit 4.2 819-3795-10 PDF
HTML
Référence Solaris Security Toolkit 4.2 Reference Manual 819-1503-10 PDF
HTML
Pages Man Solaris Security Toolkit 4.2 Man Page Guide 819-1505-10 PDF En ligne
xxii Guide d'administration de Solaris Security Toolkit 4.2 août 2005
En ligne
En ligne
Documentation, support et formation
Fonction Sun URL Description
Documentation http://www.sun.com/documentation/ Téléchargement de documents PDF et HTML ;
commandes de documents imprimés
Support http://www.sun.com/support/ Support technique et téléchargement de patchs
Formation http://www.sun.com/training/ Formations Sun
Sites Web tiers
Sun n'assume aucune responsabilité quant à la disponibilité des sites Web tiers mentionnés dans ce document. Sun ne peut être tenu pour responsable des informations, du matériel promotionnel ou publicitaire, des produits ou autre matériel contenus sur ces sites ou accessibles à partir de ces sites ou sources. Sun ne
pourra en aucun cas être tenu responsable, directement ou indirectement, de tous dommages ou pertes, réels ou invoqués, causés par ou liés à l'utilisation de tout contenu, biens ou services disponibles sur ou dans ces sites ou ressources et termes.
Vos commentaires sont les bienvenus
Nous souhaitons améliorer notre documentation. Vos commentaires et suggestions sont donc les bienvenus. Vous pouvez les envoyer à partir du site suivant :
http://www.sun.com/hwdocs/feedback
N’oubliez pas de joindre le titre et la référence du document à votre message :
Guide d'administration de Solaris Security Toolkit 4.2, référence 819-3788-10.
Préface xxiii
xxiv Guide d'administration de Solaris Security Toolkit 4.2 août 2005
CHAPITRE
1

Introduction

Ce chapitre décrit la logique et l'objectif du logiciel Solaris Security Toolkit. Il couvre les composants clés, les fonctionnalités, les avantages et les plates-formes prises en charge. Ce chapitre contient des directives pour le contrôle de version des modifications et des déploiements, et fournit des informations importantes sur la personnalisation du logiciel Solaris Security Toolkit.
Ce chapitre contient les sections suivantes :
« Sécurisation de systèmes à l'aide du logiciel Solaris Security Toolkit » à la page 1
« Composants du logiciel » à la page 3
« Maintien du contrôle de version » à la page 13
« Configuration et personnalisation du logiciel Solaris Security Toolkit » à la
page 13

Sécurisation de systèmes à l'aide du logiciel Solaris Security Toolkit

Le logiciel Solaris Security Toolkit, couramment appelé kit d'outils JASS (JumpStart Architecture and Security Scripts), propose un mécanisme automatisé, extensible et évolutif permettant de construire des systèmes d’exploitation Solaris et de maintenir ces derniers sécurisés. À l'aide du logiciel Solaris Security Toolkit, vous pouvez sécuriser vos systèmes et effectuer des audits de sécurité.
La liste suivante répertorie les termes de ce guide qu'il est important de maîtriser :
Sécurisation – Modification des configurations du SE Solaris afin d’améliorer la
sécurité d'un système.
Audit – Processus permettant de déterminer si la configuration d'un système est
conforme à un profil de sécurité prédéfini.
1
Remarque – Le terme audit désigne le processus automatisé qui permet au logiciel
Solaris Security Toolkit de valider un niveau de sécurité par rapport à un profil de sécurité prédéfini. L'emploi de ce terme dans cet ouvrage ne garantit pas la complète sécurisation du système contrôlé après l'utilisation de l’option d’audit.
Score – Nombre d’échecs détectés lors d’un audit. Lorsqu’aucun échec, quel que
soit le type, n’est détecté, le score est 0. Le logiciel Solaris Security Toolkit augmente le score (également connu sous le nom de valeur de vulnérabilité) de 1 pour chaque échec détecté.
Il existe deux modes d’installation du logiciel Solaris Security Toolkit décrits brièvement dans la dernière partie de cette section :
« Mode JumpStart » à la page 2
« Mode autonome » à la page 3
Indépendamment du mode d'installation d’un système, vous pouvez vous servir du logiciel Solaris Security Toolkit pour sécuriser et minimiser les systèmes. Utilisez ensuite périodiquement le logiciel Solaris Security Toolkit pour vérifier que le profil de sécurité des systèmes sécurisés n'a pas été modifié par accident ou par malveillance.

Mode JumpStart

L'installation et la configuration du système doivent être automatisées autant que possible. L'idéal serait qu'elles soient automatisées à 100 %. Ces tâches comprennent l'installation et la configuration du système d'exploitation, la configuration du réseau, les comptes utilisateurs, les applications et la sécurisation. Le logiciel JumpStart est une technologie qui permet d'automatiser les installations du SE Solaris. Il fournit un mécanisme d'installation de systèmes sur un réseau sans intervention humaine ou presque. Le logiciel Solaris Security Toolkit propose une structure et des scripts permettant la mise en oeuvre et l'automatisation de la plupart des tâches associées à la sécurisation de systèmes SE Solaris dans les installations basées sur le logiciel JumpStart. Pour obtenir JumpStart Enterprise Toolkit (JET), qui facilite les installations basées sur JumpStart et inclut des modules prenant en charge la sécurisation au moyen du logiciel Solaris Security Toolkit, consultez le site de téléchargement de Sun à l’adresse suivante :
http://www.sun.com/download/
Pour de plus amples informations sur la technologie JumpStart, reportez-vous à l'ouvrage Sun BluePrints™ JumpStart Technology: Effective Use in the Solaris Operating Environment.
2 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Mode autonome

Le logiciel Solaris Security Toolkit dispose d'un mode autonome. Ce mode donne accès à la même fonctionnalité de sécurisation que le mode JumpStart, mais sur des systèmes déployés. Dans les deux modes, les modifications de sécurité peuvent, et doivent être, personnalisées afin de remplir les conditions de sécurité requises par votre système.
Indépendamment du mode d'installation d’un système, vous pouvez utiliser le logiciel Solaris Security Toolkit pour sécuriser les systèmes. Utilisez ensuite périodiquement le logiciel Solaris Security Toolkit pour vérifier que la configuration des systèmes sécurisés n'a pas été modifiée par accident ou par malveillance.

Composants du logiciel

Cette section présente la structure des composants du logiciel Solaris Security Toolkit. Le logiciel Solaris Security Toolkit se compose d’une collection de fichiers et de répertoires. La
FIGURE 1-1 illustre la structure du logiciel.
JASS_HOME_DIR
/Documentation
/sman1m
/sman4
/sman7
/Drivers
/man
/Files
/Finish
/etc
/root
/var
/Solaris_2.5.1
windex
FIGURE 1-1 Structure des composants du logiciel
/Solaris_2.6
/Solaris_7
/Solaris_8
/Solaris_9
/Solaris_10
/OS
/Packages/Audit /bin /lib
/Patches
/Solaris_2.5.1
/Solaris_2.6
/Solaris_7
/Solaris_8
/Solaris_9
/Solaris_10
Chapitre 1 Introduction 3
/Profiles
/Sysidcfg
Les fichiers programme ou de commande suivants se trouvent dans le répertoire /bin :
add-client – Programme auxiliaire JumpStart pour l’ajout de clients dans un
environnement JumpStart
rm-client – Programme auxiliaire JumpStart pour la suppression de clients
d'un environnement JumpStart
make-jass-pkg – Commande qui offre la possibilité de créer un package du SE
Solaris à partir du contenu du répertoire Solaris Security Toolkit, pour simplifier la distribution interne d'une configuration personnalisée Solaris Security Toolkit
jass-check-sum – Commande qui permet de déterminer si des fichiers modifiés
par le logiciel Solaris Security Toolkit ont été changés et ce, à l’aide d’une somme de contrôle créée à chaque exécution du logiciel Solaris Security Toolkit.
jass-execute – Commande qui exécute la plupart des fonctionnalités du
logiciel Solaris Security Toolkit

Répertoires

Les composants de l'architecture Solaris Security Toolkit sont organisés dans les répertoires suivants :
/Audit
/bin
/Documentation
/Drivers
/Files
/Finish
/lib
/man
/OS
/Packages
/Patches
/Profiles
/Sysidcfg
Chacun de ces répertoires est décrit dans cette section. Le cas échéant, chaque script, fichier de configuration ou sous-répertoire est mentionné dans la liste. Pour de plus amples informations, cette section renvoie également à d'autres chapitres.
La structure du répertoire Solaris Security Toolkit se base sur la structure illustrée dans l'ouvrage Sun BluePrints JumpStart Technology: Effective Use in the Solaris Operating Environment.
4 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Répertoire Audit
Ce répertoire contient les scripts audit qui permettent d’évaluer la conformité du système par rapport à un profil de sécurité ou un ensemble de scripts audit défini. Les scripts de ce répertoire sont organisés en plusieurs catégories :
Disable
Enable
Install
Minimize
Print
Remove
Set
Update
Pour une liste détaillée des scripts de chaque catégorie et une description de chaque script, reportez-vous au manuel Solaris Security Toolkit 4.2 Reference Manual.
Répertoire Documentation
Ce répertoire contient des fichiers texte destinés à l’utilisateur, tels que les fichiers README, EOL_NOTICE et INSTALL.
Répertoire man
Ce répertoire contient des sous-répertoires correspondant aux sections des pages man de commandes, de fonctions et de pilotes. Il inclut également le fichier windex, index des commandes fourni à titre gracieux.
Pour de plus amples informations sur les pages man, reportez-vous à celles-ci ou au manuel Solaris Security Toolkit 4.2 Man Page Guide.
Répertoire Drivers
Ce répertoire contient des fichiers d'informations de configuration indiquant les fichiers exécutés et installés quand vous utilisez le logiciel Solaris Security Toolkit. Il
inclut des pilotes, des scripts et des fichiers de configuration.
Exemple de pilotes et de scripts présents dans le répertoire Drivers :
audit_{private|public}.funcs
common_{log|misc}.funcs
{config|hardening|secure}.driver
driver.{init|run}
driver_{private|public}.funcs
Chapitre 1 Introduction 5
finish.init
server-{config|hardening|secure}.driver
suncluster3x-{config|hardening|secure}.driver
sunfire_15k_sc-{config|hardening|secure}.driver
undo.{funcs|init|run}
user.init.SAMPLE
user.run.SAMPLE
Tous les pilotes inclus avec le logiciel Solaris Security Toolkit possèdent trois fichiers :
nom-{config|hardening|secure}.driver
Ces trois fichiers sont placés entre parenthèses dans la liste précédente, par exemple sunfire_15k_sc-{config|hardening|secure}.driver. Les noms de ces fichiers sont indiqués par souci de précision. Toutefois, pour exécuter un pilote, utilisez uniquement secure.driver ou le nom-secure.driver. Ce pilote appelle automatiquement les pilotes associés.
L'architecture de Solaris Security Toolkit comprend des informations de configuration pour que vous puissiez utiliser les scripts driver, finish et audit dans différents environnements, sans avoir à les modifier. Toutes les variables utilisées dans les scripts finish et audit sont conservées dans un ensemble de fichiers de configuration. Ces fichiers de configuration sont importés par les pilotes, afin que les scripts finish et audit puissent disposer de ces variables quand elles sont appelées par les pilotes.
Le logiciel Solaris Security Toolkit contient quatre fichiers principaux de configuration, qui se trouvent tous dans le répertoire Drivers :
driver.init
finish.init
user.init
user.run
Le fichier user.run est le fichier dans lequel vous écrivez les versions améliorées ou de remplacement des fonctions de Solaris Security Toolkit, qui, le cas échéant, sont automatiquement utilisées.
Attention – Modifiez les définitions de variable dans le fichier de configuration
user.init uniquement, jamais dans les fichiers de configuration driver.init et finish.init.
Les scripts finish appelés par les pilotes se trouvent dans le répertoire Finish. Les scripts audit appelés par les pilotes se trouvent dans le répertoire Audit. Les fichiers installés par les pilotes sont lus à partir du répertoire Files. Pour de plus amples informations sur les scripts finish, reportez-vous au chapitre 4 du manuel Solaris Security Toolkit 4.2 Reference Manual. Pour de plus amples informations sur les scripts audit, reportez-vous au chapitre 5 du manuel Solaris Security Toolkit 4.2 Reference Manual.
6 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
La FIGURE 1-2 représente un organigramme du flux de contrôle du pilote.
S'applique uniquement aux exécutions sans
JumpStart
jass-execute
Définition
de pilote
Importer les variables (driver.init)
Importer les écrasements utilisateur globaux
Importer les variables de structure
Importer les variables de scripts finish
Importer les variables (driver.init)
Importer les écrasements utilisateur globaux
Importer les variables de structure
Importer les variables de scripts finish
Définir JASS_FILES (facultatif)
Définir JASS_SCRIPTS (facultatif)
Exécuter le pilote
FIGURE 1-2 Flux de contrôle du pilote
1. Lorsque JumpStart n’est pas utilisé, le pilote exécute la commande jass-execute. JumpStart appelle directement le pilote et non la commande jass-execute.
2. Le pilote risque de définir explicitement les variables.
3. Le pilote importe toutes les variables d'environnement des différents fichiers .init.
4. Il définit les variables d’environnement JASS_FILES et JASS_SCRIPTS. Ces définitions sont facultatives ; il est possible de définir un seul environnement, les
deux ou aucun. Pour de plus amples informations sur la définition des variables d’environnement
JASS_FILES et JASS_SCRIPTS, reportez-vous au chapitre 7 du manuel Solaris Security Toolkit 4.2 Reference Manual.
Chapitre 1 Introduction 7
5. Le pilote appelle driver.run pour l'exécution des tâches définies par les variables d'environnement JASS_FILE et JASS_SCRIPTS.
6. (Facultatif) Le pilote définit un comportement de pilote spécifique qui peut être utilisé pour ignorer les valeurs système par défaut de finish.init ouuser.init. Dans l’
EXEMPLE DE CODE 1-1, le pilote définit explicitement la
variable JASS_PASS_HISTORY sur 4.
L’EXEMPLE DE CODE 1-1 illustre le code de flux de contrôle du pilote.
EXEMPLE DE CODE 1-1 Code de flux de contrôle du pilote
DIR="‘/bin/dirname $0‘" JASS_PASS_HISTORY="4" export DIR . ${DIR}/driver.init
JASS_FILES=" /etc/cron.d/cron.allow /etc/default/ftpd /etc/default/telnetd "
JASS_SCRIPTS=" install-at-allow.fin remove-unneeded-accounts.fin " . ${DIR}/driver.run
1. Cet exemple de code définit et exporte la variable d'environnement DIR de sorte que les pilotes reconnaissent le répertoire de départ.
2. Le pilote définit explicitement la variable JASS_PASS_HISTORY sur 4.
3. Il lit les différents fichiers .init (en commençant par le fichier driver.init).
4. La variable d'environnement JASS_FILES est définie comme contenant les fichiers copiés du répertoire JASS_HOME_DIR/Files sur le client.
5. La variable d'environnement JASS_SCRIPTS est alors définie avec les scripts finish exécutés par le logiciel Solaris Security Toolkit.
6. L’exécution de la sécurisation commence par l’appel du pilote driver.run. Le
pilote driver.run copie les fichiers spécifiés parJASS_FILES et exécute les
scripts spécifiés par JASS_SCRIPTS.
8 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Répertoire Files
Ce répertoire est utilisé par la variable d'environnement JASS_FILES et le script driver.run pour stocker les fichiers copiés sur le client JumpStart.
Ce répertoire contient les fichiers suivants :
/.cshrc
/.profile
/etc/default/sendmail
/etc/dt/config/Xaccess
/ftpd/banner.msg
/etc/hosts.allow
/etc/hosts.allow-15k_sc
/etc/hosts.allow-server
/etc/hosts.allow-suncluster
/etc/hosts.deny
/etc/init.d/klmmod
/etc/init.d/nddconfig
/etc/init.d/set-tmp-permissions
/etc/init.d/sms_arpconfig
/etc/init.d/swapadd
/etc/issue
/etc/motd
/etc/opt/ipf/ipf.conf
/etc/opt/ipf/ipf.conf-15k_sc
/etc/opt/ipf/ipf.conf-server
/etc/security/audit_class+5.10
/etc/security/audit_class+5.8
/etc/security/audit_class+5.9
/etc/security/audit_control
/etc/security/audit_event+5.10
/etc/security/audit_event+5.8
/etc/security/audit_event+5.9
/etc/sms_domain_arp
/etc/sms_sc_arp
/etc/syslog.conf
/root/.cshrc
/root/.profile
/var/opt/SUNWjass/BART/rules
/var/opt/SUNWjass/BART/rules-secure
Chapitre 1 Introduction 9
Répertoire Finish
Ce répertoire contient les scripts finish qui introduisent les modifications et les mises à jour du système lors de l’exécution. Les scripts de ce répertoire sont organisés en plusieurs catégories :
Disable
Enable
Install
Minimize
Print
Remove
Set
Update
Pour une liste détaillée des scripts de chaque catégorie et une description de chaque script, reportez-vous au manuel Solaris Security Toolkit 4.2 Reference Manual.
Répertoire OS
Ce répertoire contient uniquement les images du SE Solaris. Ces images sont utilisées par le processus d'installation du logiciel JumpStart comme source du SE Solaris pour les installations client. Le script add_client accepte les versions du SE Solaris contenues dans ce répertoire comme arguments, à condition que les noms de répertoires respectent les conventions d’attribution de nom du SE Solaris Security Toolkit suivantes.
Pour de plus amples informations sur le chargement et la modification des images du SE Solaris, reportez-vous à l'ouvrage Sun BluePrints JumpStart Technology: Effective Use in the Solaris Operating Environment.
Les noms attribués lors de l'installation respectent les conventions indiquées ci-après.
SE Solaris
Utilisez la convention d’attribution de nom suivante pour le SE Solaris :
Solaris_version du SE_année (4 chiffres)_mois (2 chiffres) de la version du CD-ROM
Par exemple, le nom de répertoire du CD-ROM du SE Solaris 10, daté de mars 2005, est Solaris_10_2005-03. En séparant les mises à jour et les versions du SE Solaris, il est possible d'exercer un contrôle précis en vue des tests et des déploiements.
10 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Plates-formes Solaris pour x86/x64
Le répertoire du SE Solaris pour les plates-formes x86/x64 doit avoir le nom suivant :
Solaris_version du SE_année (4 chiffres)_mois (2 chiffres) de la version du CD-ROM_ia
Par exemple, si la date de version du SE Solaris pour les plates-formes x86/x64 est mars 2005, le répertoire doit avoir le nom suivant : Solaris_10_2005-03_ia.
Répertoire Packages
Ce répertoire contient les packages qui peuvent être installés avec un script finish et vérifiés par un script audit. Par exemple, le package Open Secure Shell peut être stocké dans le répertoire Packages de sorte que le script finish approprié installe le logiciel, au besoin.
Plusieurs scripts finish et audit inclus dans le logiciel Solaris Security Toolkit effectuent l'installation du logiciel, des tâches de configuration de base et de vérification. Les scripts qui installent et vérifient le logiciel à partir du répertoire Packages comprennent les éléments suivants :
install-fix-modes.{fin|aud}
install-jass.{fin|aud}
install-md5.{fin|aud}
install-openssh.{fin|aud}
Répertoire Patches
Ce répertoire doit être utilisé pour le stockage de clusters de patchs recommandés et de sécurité pour le SE Solaris. Les patchs requis doivent être téléchargés et extraits dans ce répertoire.
Le stockage et l'extraction des patchs dans ce répertoire optimise l'installation. Lorsque les patchs ont été extraits dans ce répertoire, le script d'installation des patchs du logiciel Solaris Security Toolkit automatise l'installation. Ainsi, vous n’avez pas à extraire manuellement les clusters de patchs chaque fois que vous installez un système.
Créez des sous-répertoires pour chaque version du SE Solaris utilisée. Par exemple, le répertoire Patches peut contenir les répertoires 9_Recommended et 10_Recommended.
Le logiciel Solaris Security Toolkit prend en charge les clusters de patchs du SE Solaris pour les plates-formes x86/x64. La convention d’attribution de nom pour ces clusters de patchs est la même que celle du service SunSolve OnLine
Le format est <version>_x86_Recommended. Le cluster de patchs du SE Solaris 10 pour les plates-formes x86/x64 se trouve dans un répertoire intitulé 10_x86_Recommended.
Chapitre 1 Introduction 11
SM
.
Répertoire Profiles
Ce répertoire contient tous les profils JumpStart. Ces profils renferment des informations de configuration utilisées par le logiciel JumpStart afin de déterminer les clusters du SE Solaris nécessaires à l'installation (installation de base, d’utilisateur final, de développeur ou de distribution complète, par exemple), à l’organisation des disques et au type d'installation (autonome, par exemple).
Les profils JumpStart sont répertoriés et utilisés dans le fichier rules pour définir la création de systèmes spécifiques ou de groupes de systèmes.
Répertoire Sysidcfg
Le répertoire Sysidcfg, similaire au répertoire Profiles, contient des fichiers utilisés uniquement lors d'installations en mode JumpStart. Ces fichiers automatisent les installations du SE Solaris en fournissant les informations d'installation requises. Les informations spécifiques au SE Solaris sont stockées dans une arborescence de répertoires distincte.
Chaque version du SE Solaris possède son propre répertoire. Le répertoire contenant chaque version est intitulé Solaris_version du SE. Le logiciel Solaris Security Toolkit contient des fichiers échantillon sysidcfg pour les versions 2.5.1 à 10 du SE Solaris.
Les fichiers échantillon sysidcfg peuvent être étendus à d’autres types de fichiers, réseau ou hôte par exemple. Le logiciel Solaris Security Toolkit prend en charge les fichiers arbitraires sysidcfg.
Pour de plus amples informations sur les fichiers sysidcfg, reportez-vous à l'ouvrage Sun BluePrints JumpStart Technology: Effective Use in the Solaris Operating Environment.

Référentiel de données

Bien que n’appartenant pas à la structure de répertoires JASS_HOME_DIR, le référentiel de données, ou JASS_REPOSITORY, prend en charge les annulations de Solaris Security Toolkit, enregistre les données relatives à chaque exécution et les données du journal d’exécution, et maintient un fichier manifeste des fichiers modifiés par le logiciel. Ce répertoire se trouve à l’emplacement suivant :
/var/opt/SUNWjass/runs/horodatage.
12 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Maintien du contrôle de version

Il est essentiel de maintenir le contrôle de version de tous les fichiers et scripts utilisés par le logiciel Solaris Security Toolkit pour deux raisons.
1. L'un des objectifs de cet environnement est d’offrir la possibilité de recréer une installation du système. Cet objectif serait impossible sans un instantané de toutes les versions de fichier utilisées pendant une installation.
2. Étant donné que ces scripts remplissent des fonctions de sécurité, et constituent des processus vitaux pour de nombreuses organisations, vous devez faire preuve de la plus grande prudence afin que seules les modifications nécessaires et testées soient mises en oeuvre.
Un package de contrôle de version Source Code Control System (SCCS) est inclus dans le package du SE Solaris SUNWsprot. Vous pouvez utiliser un autre logiciel de contrôle de version disponible en freeware ou en vente dans le commerce pour gérer les informations de version. Quel que soit le produit de contrôle de version employé, établissez une procédure de gestion des mises à jour et capturez les informations de version lors de recréations ultérieures.
Utilisez une solution de gestion d'intégrité en plus du contrôle de version pour déterminer si le contenu des fichiers a été modifié. Bien que les utilisateurs privilégiés d'un système aient la possibilité de contourner le système de contrôle de version, ils ne peuvent pas facilement éviter le système de gestion de l'intégrité, qui maintient sa base de données d'intégrité sur un système distant. Les solutions de gestion de l'intégrité fonctionnent mieux si elles sont centralisées, car les bases de données locales pourraient être modifiées par malveillance.

Configuration et personnalisation du logiciel Solaris Security Toolkit

Le logiciel Solaris Security Toolkit contient des valeurs par défaut pour les scripts, les fonctions de structure et les variables qui mettent en oeuvre toutes les directives de sécurité de l'ouvrage Sun BluePrints intituléEnterprise Security: Solaris Operating Environment Security Journal, Solaris Operating Environment Versions 2.5.1, 2.6, 7, and 8, et des articles Sun BluePrints en ligne concernant la sécurité. Ces paramètres ne conviennent pas à tous les systèmes ; vous devez donc personnaliser le logiciel Solaris Security Toolkit de sorte qu’il remplisse les conditions de sécurité requises de vos systèmes.
Chapitre 1 Introduction 13
L'une des principales caractéristiques du logiciel Solaris Security Toolkit est que vous pouvez facilement le personnaliser en fonction de votre environnement, de vos systèmes et de vos besoins en sécurité. Pour personnaliser le logiciel Solaris Security Toolkit, ajustez ses actions à l'aide de pilotes, de scripts finish, de scripts audit, de fonctions de structure, de variables d'environnement et de modèles de fichiers.
La plupart des utilisateurs n'ont pas besoin de modifier le code de Solaris Security Toolkit. S'il s’avère absolument nécessaire de modifier le code pour utiliser le logiciel Solaris Security Toolkit dans votre environnement, copiez ce code vers un nom de fonction unique dans user.run, afin de pouvoir ensuite retrouver facilement les modifications (voir
Vous trouverez tout au long de ce document des directives et des instructions pour la personnalisation du logiciel Security Toolkit. Pour des informations utiles sur la personnalisation des pilotes, reportez-vous au manuel Solaris Security Toolkit 4.2 Reference Manual. La personnalisation suppose la modification et la création de fichiers ou de variables.
Ce guide fournit des exemples de personnalisation du logiciel Solaris Security Toolkit. Ces exemples ne sont que quelques illustrations de personnalisation du logiciel Solaris Security Toolkit ; les possibilités de personnalisation sont très nombreuses.
Les sections suivantes contiennent des informations que vous devez impérativement connaître avant de tenter toute personnalisation du logiciel Solaris Security Toolkit. Ces informations se basent sur l'expérience acquise après de nombreux déploiements et vous éviteront nombre d'embûches et de pièges.
« Directives » à la page 15).

Stratégies et conditions requises

La personnalisation et le déploiement du logiciel Solaris Security Toolkit nécessitent une planification adéquate pour que le résultat soit conforme aux attentes de votre organisation et que la configuration de la plate-forme soit correcte.
En phase de planification, veillez à recueillir le maximum de données, y compris sur
les stratégies et les normes de sécurité, sur les réglementations et directives du secteur, ainsi que sur les pratiques préférées des fournisseurs.
Outre ces informations, il est essentiel de prendre en compte les conditions de fonctionnement et d'application requises afin de garantir que la configuration résultante n'a aucune conséquence négative sur la capacité de la plate-forme à remplir les fonctions prévues.
14 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Directives

Pour la personnalisation du logiciel Solaris Security Toolkit, respectez les directives suivantes. La compréhension et le respect de ces directives simplifiera le déploiement tout en le rendant plus efficace.
En règle générale, ne modifiez jamais les fichiers originaux (pilotes, scripts,
fichiers, etc.) fournis avec le logiciel Solaris Security Toolkit. La modification des
fichiers originaux empêche et restreint toute mise à niveau du logiciel Solaris
Security Toolkit, étant donné que les changements sont écrasés par les nouvelles versions de fichiers (tous les changements de personnalisation sont perdus et la configuration du système risque d’être incorrecte).
Pour personnaliser un fichier, vous devez d'abord en faire une copie, puis apporter les modifications dans la copie en laissant ainsi l'original intact. Il n’existe qu’une seule exception à cette instruction :
les fichiers sysidcfg.
Une nouvelle fonction du logiciel Solaris Security Toolkit 4.2 vous permet d’utiliser
des suffixes de mots-clés pour les modèles se trouvant dans le répertoire Files. Ainsi, l’administrateur système n’a besoin de modifier aucun modèle par défaut du logiciel Solaris Security Toolkit 4.2. Utilisez des suffixes chaque fois que cela est possible.
Attribuez un nom à votre copie de pilote ou de script de manière à bien la
distinguer de l'original. Utilisez un préfixe ou un mot-clé qui vous permettra de reconnaître facilement le script. Par exemple, un préfixe qui contient le nom ou le
symbole de l'entreprise, l'identifiant d'un service, un type d'application ou de plate-forme constitue un excellent système d’attribution de nom. Le fournit plusieurs exemples de conventions d’attribution de nom.
TABLEAU 1-1
TABLEAU 1-1 Conventions d’attribution de nom de fichier personnalisé
Fichier personnalisé Convention d’attribution de nom
abccorp-secure.driver Préfixe de l'entreprise
abcc-nj-secure.driver Symbole de l'entreprise, site
abbcorp-nj-webserver.driver Entreprise, site, type d'application
abc-nj-trading-webserver.driver Entreprise, site, organisation, type d'application
Vérifiez que les fichiers Solaris Security Toolkit suivants sont en adéquation avec
votre système. Pour personnaliser ces fichiers, copiez les fichiers originaux, renommez les copies user.init et user.run, puis modifiez les copies.
Drivers/user.init.SAMPLE Utilisé pour la personnalisation des paramètres globaux
Drivers/user.run.SAMPLE Utilisé pour la personnalisation des fonctions globales
Chapitre 1 Introduction 15
Remarque – N'oubliez pas que si vous supprimez SUNWjass à l'aide de la
commandepkgrm, les fichiers user.init et user.run, s'ils ont été créés, ne sont
pas supprimés. Ceci se produit également pour tous les fichiers client qui sont
ajoutés à la structure de répertoires Solaris Security Toolkit et qui ne sont pas inclus dans la distribution logicielle originale.
Remarque – Le logiciel Solaris Security Toolkit 4.2 propose une nouvelle
amélioration de la commande pkgrm. La présente version de la commande pkgrm vérifie en premier lieu l’intégrité de tous les fichiers inclus dans la distribution. Si certains fichiers sont différents, la commande pkgrm s’arrête et affiche un message d’erreur destiné à l’administrateur système pour que celui-ci place le fichier correct ou supprime le fichier modifié.
16 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
CHAPITRE
2

Sécurisation de systèmes : application d'une méthodologie

Ce chapitre décrit une méthodologie pour la sécurisation de systèmes. Vous pouvez appliquer le processus Solaris Security Toolkit avant de sécuriser des systèmes à l'aide du logiciel correspondant.
Ce chapitre contient les sections suivantes :
« Planification et préparation » à la page 17
« Développement et mise en oeuvre d'un profil Solaris Security Toolkit » à la
page 30
« Installation du logiciel » à la page 31
« Vérification des fonctionnalités des applications et des services » à la page 33
« Maintenance de la sécurité du système » à la page 34

Planification et préparation

Une bonne planification est essentielle à la réussite de la sécurisation de systèmes à l'aide du logiciel Solaris Security Toolkit. La phase de planification construit un profil Solaris Security Toolkit pour le système, en fonction des stratégies et des normes de sécurité de l'entreprise, ainsi que des conditions de fonctionnement et d'application requises du système. Cette phase comprend les tâches suivantes :
« Prise en compte des risques et des avantages » à la page 18
« Vérification des stratégies et des normes de sécurité, ainsi que de la
documentation correspondante » à la page 19
« Détermination des conditions requises pour les applications et les services » à la
page 21
Même s’ils ne sont pas décrits dans cet ouvrage, d’autres points peuvent être pris en compte, tels que la connaissance des risques, des expositions, de l'infrastructure et de ses besoins en matière de sécurité, la responsabilité, la journalisation et les audits d’utilisation.
17

Prise en compte des risques et des avantages

Pour la sécurisation de systèmes, vous devez prendre certaines précautions afin d'assurer le fonctionnement du système après la mise en oeuvre du logiciel Solaris Security Toolkit. De plus, il est important d'optimiser le processus afin de limiter les temps d'arrêt au maximum.
Remarque – Lors de la sécurisation d'un système déployé, il est parfois plus rapide
et efficace de reconstruire le système, de le sécuriser au moment de la réinstallation, puis de recharger tous les logiciels nécessaires au fonctionnement.
Cette section présente certains facteurs qui doivent être pris en compte et parfaitement compris avant toute tentative de sécurisation d'un système. Évaluez
soigneusement les risques et les avantages afin de déterminer les actions les
plus appropriées à votre entreprise.
1. Connaissance des conditions requises pour les services et les applications du système
Vous devez identifier les services et les applications exécutés sur un système avant d'exécuter le logiciel Solaris Security Toolkit. Toutes les dépendances associées aux services et aux applications doivent être énumérées afin que la configuration du logiciel Solaris Security Toolkit puisse être ajustée. L'absence d'énumération pourrait causer la désactivation des services nécessaires ou empêcher leur démarrage. Alors que la plupart des modifications apportées par le
logiciel Solaris Security Toolkit peuvent être annulées, le développement d'un
profil correct avant l'installation limite les temps morts lors de la mise en oeuvre du logiciel Solaris Security Toolkit.
2. Prise en compte du fait que le système doit être déconnecté et réinitialisé Pour que les modifications apportées par le logiciel Solaris Security Toolkit
prennent effet, le système doit être réinitialisé. En fonction de l'importance du système, des services fournis et de la présence d'une fenêtre de maintenance, la mise en oeuvre du logiciel peut poser plus ou moins de problèmes à une entreprise. Pour prendre une décision, il faut d'abord évaluer attentivement le coût d'un temps d’arrêt par rapport aux risques encourus si la sécurité n'est pas améliorée.
3. Il peut être nécessaire de réinitialiser plusieurs fois un système pour vérifier son fonctionnement.
Effectuez toutes les modifications sur des systèmes hors production avant de mettre en oeuvre une configuration vitale des systèmes, à chaque fois que cela est possible. Ceci n'est pas toujours le cas, par exemple en l'absence de matériel ou de logiciel suffisant pour répliquer l'environnement cible. Des tests doivent être accomplis avant et après l’exécution du logiciel Solaris Security Toolkit lors de la sécurisation. Des dépendances non identifiées nécessitant un dépannage après la sécurisation du système pourraient être présentes. Dans la plupart des cas, ces problèmes peuvent
18 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
être résolus assez rapidement en utilisant les techniques décrites dans ce chapitre. Si des problèmes de fonctionnalité sont détectés après l’exécution du logiciel Solaris Security Toolkit, il peut s’avérer nécessaire de réinitialiser plusieurs fois la plate­forme, soit pour annuler les effets du logiciel Solaris Security Toolkit, soit pour ajouter d'autres modifications à la configuration de sécurité du système afin de prendre en charge et d'activer les fonctionnalités manquantes.
4. La sécurisation d'une plate-forme ne se limite pas à la configuration de la sécurité et à l’audit du système.
Si vous envisagez de mettre à niveau la configuration d’un système pour améliorer sa sécurité, il est essentiel de comprendre que la sécurisation et l’audit d'une plate-forme ne représentent qu'une fraction des tâches nécessaires à la protection du système, des services et des données. Ce document ne traite pas des
mesures et contrôles supplémentaires. Il est toutefois conseillé de prendre en considération les problèmes liés à la gestion des comptes, à la gestion des privilèges, à l'intégrité des systèmes de fichiers et des données, aux contrôles d'accès basés sur les hôtes, à la détection des intrusions, au balayage et à l'analyse
de la vulnérabilité, ainsi qu’à la sécurité des applications.
5. Le système pourrait avoir déjà été exploité ou présenter des vulnérabilités exploitables.
La plate-forme en cours de sécurisation pourrait déjà avoir fait l'objet d'une attaque. Le logiciel Solaris Security Toolkit a probablement été mise en oeuvre trop tard pour assurer une protection contre les vulnérabilités exploitée. En cas de
vulnérabilité exploitée :
a. Réinstallez le système ;
b. Installez le logiciel Solaris Security Toolkit ;
c. Utilisez le logiciel Solaris Security Toolkit pour améliorer la sécurité.

Vérification des stratégies et des normes de sécurité, ainsi que de la documentation correspondante

La première étape de sécurisation d'un système consiste à connaître les stratégies et les normes de sécurité pertinentes de l’organisation, ainsi que les directives en matière de sécurité de plate-forme. Utilisez ces documents comme base du profil de Solaris Security Toolkit, car ils décrivent les conditions requises et les mesures à appliquer à tous les systèmes de l’organisation. Si l’organisation ne dispose pas de documentation, créez-en une pour augmenter votre capacité à personnaliser le logiciel Solaris Secure Toolkit.
Remarque – Lorsque vous recherchez de telles informations, n'oubliez pas que vous
pouvez trouver du matériel dans les meilleures pratiques ou d’autres documentations.
Chapitre 2 Sécurisation de systèmes : application d'une méthodologie 19
Pour de plus amples informations sur les stratégies de sécurité, reportez-vous à l'article Sun BluePrints en ligne « Developing a Security Policy ». Ce document peut être utilisé pour mieux comprendre le rôle des stratégies de sécurité dans le plan de sécurité d'une entreprise.
Les deux exemples qui suivent illustrent les conséquences directes des stratégies de sécurité sur la configuration du profil de Solaris Security Toolkit.
Exemple 1
Stratégie – Une organisation doit utiliser des protocoles de gestion qui prennent
en charge une puissante authentification des utilisateurs et le chiffrement des données transmises.
Conséquences sur le profil – Les protocoles utilisant un texte en clair, tels que
elnet, File Transfer Protocol (FTP), Simple Network Management Protocol version 1 (SNMPv1), etc., ne doivent pas être utilisés. Le fichier secure.driver du logiciel Solaris Security Toolkit désactive ces services de sorte qu'aucune configuration supplémentaire n'est requise.
Remarque – Les services Telnet et FTP peuvent être configurés de manière à
prendre en charge une authentification et un chiffrement plus puissants en utilisant des extensions telles que Kerberos. Toutefois, leurs configurations par défaut ne prennent pas en charge les niveaux de sécurité ajoutés.
Exemple 2
Stratégie – Tous les utilisateurs doivent obligatoirement changer leurs mots de passe tous les 30 jours.
Conséquences sur le profil – Le logiciel Solaris Security Toolkit peut être configuré pour permettre l’expiration du mot de passe. Le fichier secure.driver du logiciel Solaris Security Toolkit définit les mots de passe pour une période maximale de 8 semaines (56 jours). Pour vous conformer à la stratégie, vous devez changer le profil du logiciel Solaris Security Toolkit. Voir Solaris Security Toolkit 4.2 Reference Manual.
Même si secure.driver du logiciel Solaris Security Toolkit permet l’expiration des mots de passe lorsqu'il est exécuté sur un système, cette modification n'affecte pas les
utilisateurs existants jusqu’à ce qu’ils changent leur mot de passe. Pour activer l’expiration des mots de passe des utilisateurs existants, appelez la commande passwd(1) sur chaque compte utilisateur. Pour forcer les utilisateurs existants à modifier leur mot de passe, utilisez la commande passwd -f. Pour de plus amples informations sur la commande passwd(1), reportez-vous à la collection de manuels de référence du SE Solaris 10.
20 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Détermination des conditions requises pour les applications et les services

Cette tâche permet de garantir que les services restent fonctionnels après la sécurisation du système. Elle comprend les étapes suivantes :
« Inventaire des applications et des services opérationnels » à la page 21
« Détermination des conditions requises pour les services » à la page 21
Inventaire des applications et des services opérationnels
Inventaire des applications, services et fonctions opérationnelles ou de gestion. Cet
inventaire est nécessaire pour déterminer le logiciel en cours d'utilisation sur un système. Les systèmes sont souvent dotés de logiciels non utilisés et de logiciels qui
ne prennent pas en charge les fonctions de l'entreprise.
Les systèmes doivent, autant que possible, être réduits au maximum. Ainsi, les logiciels non utilisés pour la prise en charge d'une fonction ne doivent pas être installés. Les applications inutiles augmentent les failles du système et ses vulnérabilités exploitables. Par ailleurs, en règle générale, plus le nombre de logiciels sur un système est important, plus le nombre de patchs à appliquer augmente. Pour
de plus amples informations sur la minimisation du SE Solaris, reportez-vous à
l'article Sun BluePrints en ligne « Minimizing the Solaris Operating Environment for Security ». Pour de plus amples informations sur la minimisation des domaines de systèmes Sun Fire, reportez-vous aux articles Sun BluePrints en ligne « Part I: Minimizing Domains for Sun Fire V1280, 6800, 12K, and 15K Systems, » et « Part II: Minimizing Domains for Sun Fire V1280, 6800, 12K, and 15K Systems ».
Lors de l'inventaire des logiciels, veillez à inclure les composants d'infrastructure, tels que les logiciels de gestion, de contrôle et de sauvegarde, en plus des applications résidant sur le système.
Détermination des conditions requises pour les services
Après avoir terminé l’inventaire des applications et des services, déterminez si certains composants présentent des dépendances qui pourraient avoir une incidence sur la sécurisation. De nombreuses applications tierces n'utilisent pas directement les
services fournis par le SE Solaris. Vous trouverez, dans les sections qui suivent, des informations utiles sur ces applications.
« Bibliothèques partagées » à la page 22
« Fichiers de configuration » à la page 24
« Structures des services » à la page 25
Remarque – Tous les exemples de cette section utilisent le SE Solaris 9.
Chapitre 2 Sécurisation de systèmes : application d'une méthodologie 21
Bibliothèques partagées
Il est important de connaître les bibliothèques nécessaires à la prise en charge d'une application. Ceci est particulièrement utile en cas de débogage, mais également lors de la préparation d'un système avant sa sécurisation. Si vous ne connaissez pas l'état d'un système, recueillez autant d'informations que possible de manière à bien comprendre certains problèmes, tels que les dépendances logicielles.
Pour déterminer les bibliothèques utilisées par une application, vous avez le choix entre trois méthodes, selon la version du SE installée : Cette section fournit un exemple de code pour chaque méthode.
Méthode 1 - Informations sur les objets de système de fichiers, par exemple
binaires d’application ou bibliothèques (
Méthode 2 - Informations sur un processus exécuté afin d’analyser une
application en cours d’exécution (
Méthode 3 - Identification des applications chargées de manière dynamique pour
retracer l’heure de démarrage d’un programme (
Méthode 1
Pour la collecte d'informations sur un objet de système de fichiers, utilisez la commande /usr/bin/ldd.
Par exemple, déterminez les bibliothèques nécessaires à la prise en charge du logiciel de serveur Domain Name System (DNS).
EXEMPLE DE CODE 2-1).
EXEMPLE DE CODE 2-2).
EXEMPLE DE CODE 2-3).
EXEMPLE DE CODE 2-1 Collecte d'informations sur les objets de système de fichiers
# ldd /usr/sbin/in.named
libresolv.so.2 => /usr/lib/libresolv.so.2
libsocket.so.1 => /usr/lib/libsocket.so.1
libnsl.so.1 => /usr/lib/libnsl.so.1
libc.so.1 => /usr/lib/libc.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-5_10/lib/libc_psr.so.1
22 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Méthode 2
Pour la collecte d'informations à partir d’un processus en cours, utilisez la commande /usr/proc/bin/pldd (disponible sur les SE Solaris 8, 9 et 10).
EXEMPLE DE CODE 2-2 Collecte d'informations à partir d’un processus en cours
# pldd 20307
20307: /usr/sbin/in.named
/usr/lib/libresolv.so.2
/usr/lib/libsocket.so.1
/usr/lib/libnsl.so.1
/usr/lib/libc.so.1
/usr/lib/libdl.so.1
/usr/lib/libmp.so.2
/usr/platform/sun4u/lib/libc_psr.so.1
/usr/lib/dns/dnssafe.so.1
/usr/lib/dns/cylink.so.1
Méthode 3
La commande pldd indique les bibliothèques partagées qui sont chargées de manière dynamique par l'application, en plus des bibliothèques par rapport auxquelles l'application est liée. Ces informations peuvent également être obtenues à
l’aide de la commandetruss suivante.
Remarque – La sortie suivante a été raccourcie.
EXEMPLE DE CODE 2-3 Identification d'applications chargées de manière dynamique
# truss -f -topen,open64 /usr/sbin/in.named
20357: open("/usr/lib/libresolv.so.2", O_RDONLY) = 3
20357: open("/usr/lib/libsocket.so.1", O_RDONLY) = 3
20357: open("/usr/lib/libnsl.so.1", O_RDONLY) = 3
20357: open("/usr/lib/libc.so.1", O_RDONLY) = 3
20357: open("/usr/lib/libdl.so.1", O_RDONLY) = 3
20357: open("/usr/lib/libmp.so.2", O_RDONLY) = 3
Chapitre 2 Sécurisation de systèmes : application d'une méthodologie 23
EXEMPLE DE CODE 2-3 Identification d'applications chargées de manière dynamique
# truss -f -topen,open64 /usr/sbin/in.named
20357: open("/usr/lib/nss_files.so.1", O_RDONLY) = 4
20357: open("/usr/lib/nss_files.so.1", O_RDONLY) = 4
20357: open("/usr/lib/dns/dnssafe.so.1", O_RDONLY) = 4
20357: open("/usr/lib/dns/cylink.so.1", O_RDONLY) = 4
20357: open("/usr/lib/dns/sparcv9/cylink.so.1", O_RDONLY) = 4
Ce type de sortie contient l'identificateur de processus, l'appel système (dans ce cas open) et ses arguments, ainsi que la valeur renvoyée par l'appel système. La valeur renvoyée indique clairement si l'appel système réussit à rechercher et à ouvrir la librairie partagée.
Après avoir pris connaissance de la liste des bibliothèques partagées, utilisez la commande suivante pour déterminer les packages du SE Solaris auxquels elles appartiennent.
# grep "/usr/lib/dns/cylink.so.1" /var/sadm/install/contents
/usr/lib/dns/cylink.so.1 f none 0755 root bin 63532 24346 \
1018126408 SUNWcsl
La sortie de la commande indique que la bibliothèque partagée en question appartient au package SUNWcsl (Core, Shared Libs). Cette procédure est particulièrement utile lors de la minimisation d'une plate-forme, car elle permet d'identifier les packages requis pour la prise en charge d'une application ou d'un service.
Fichiers de configuration
Les fichiers de configuration peuvent également être utilisés pour la collecte d'informations. Cette méthode a des conséquences plus directes sur la manière dont un système est sécurisé, du fait que les fichiers de configuration peuvent être renommés ou supprimés pour désactiver des services. Pour de plus amples informations, reportez-vous au manuel Solaris Security Toolkit 4.2 Reference Manual.
Pour déterminer si un fichier de configuration est en cours d'utilisation, utilisez la commande truss.
24 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Remarque – La sortie suivante a été raccourcie.
EXEMPLE DE CODE 2-4 Détermination d’un fichier de configuration en cours d'utilisation
# truss -f -topen,open64 /usr/sbin/in.named 2>&1 | \ grep -v "/usr/lib/.*.so.*"
20384: open("/etc/resolv.conf", O_RDONLY) = 3
20384: open("/dev/conslog", O_WRONLY) = 3
20384: open("/usr/share/lib/zoneinfo/US/Eastern", O_RDONLY) = 4
20384: open("/var/run/syslog_door", O_RDONLY) = 4
20384: open("/etc/nsswitch.conf", O_RDONLY) = 4
20384: open("/etc/services", O_RDONLY) = 4
20384: open("/etc/protocols", O_RDONLY) = 4
20384: open("/etc/named.conf", O_RDONLY) = 4
20384: open("named.ca", O_RDONLY) = 5
20384: open("named.local", O_RDONLY) = 5
20384: open("db.192.168.1", O_RDONLY) = 5
20384: open("db.internal.net", O_RDONLY) = 5
Dans cet exemple, le service DNS utilise des fichiers de configuration, tels que/etc/named.conf. Comme dans l'exemple précédent, si la valeur renvoyée pour un service indique une erreur, il est probable qu'il existe un problème. Une
documentation soigneuse des résultats avant et après la sécurisation peut contribuer à accélérer l'ensemble du processus de validation.
Structures des services
Cette catégorie comprend des structures ou des métaservices sur lesquels sont construites des applications plus volumineuses et plus complexes. Les types de structures dans cette catégorie sont en général les suivants :
Services d’attribution de nom, par exemple Network Information Services (NIS),
NIS+ et Lightweight Directory Access Protocol (LDAP)
Services d’authentification, par exemple Kerberos et LDAP
Services d’utilitaires, tels que le journal de correspondance des points de
connexion utilisé par Remote Procedure Call (RPC)
Chapitre 2 Sécurisation de systèmes : application d'une méthodologie 25
Il n’est pas toujours évident de déterminer si une application dépend de ces types de services. Lorsque des ajustements particuliers sont nécessaires pour configurer une application, par exemple lorsqu'il faut ajouter celle-ci à un domaine Kerberos, la dépendance est connue. Dans certains cas, toutefois, les dépendances des applications ne nécessitent aucune tâche supplémentaire ; la dépendance risque donc de ne pas être documentée par le fournisseur.
Le journal de correspondance des points de connexion RPC en est un exemple type. secure.driver du logiciel Solaris Security Toolkit désactive le journal de correspondance des points de connexion RPC. Cette opération peut donner lieu à des comportements inattendus dans d'autres services reposant sur ce service. L’expérience montre que les services abandonnent leurs opérations, s’interrompent ou échouent lorsque le code de l'application ne présente pas une qualité suffisante pour gérer les exceptions. Pour déterminer si une application utilise le journal de correspondance des
points de connexion RPC, utilisez la commande rpcinfo. Par exemple :
EXEMPLE DE CODE 2-5 Détermination des applications utilisant RPC
# rpcinfo -p
100000 3 tcp 111 rpcbind
100000 4 udp 111 rpcbind
100000 2 udp 111 rpcbind
100024 1 udp 32777 status
100024 1 tcp 32772 status
100133 1 udp 32777
100133 1 tcp 32772
100021 1 udp 4045 nlockmgr
100021 2 udp 4045 nlockmgr
100021 3 udp 4045 nlockmgr
100021 4 udp 4045 nlockmgr
100021 1 tcp 4045 nlockmgr
Les informations figurant dans la colonne du service proviennent du fichier /etc/rpc ou d'un service d'attribution de noms configuré, tel que LDAP.
Si ce fichier ne possède pas d'entrée pour un service, comme c'est souvent le cas pour les produits tiers, le champ du service peut être vide. L'identification des applications enregistrées par d'autres applications devient donc encore plus difficile.
26 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Prenez par exemple la commande rusers. Cette commande repose sur le service de
journal de correspondance des points de connexion RPC. Si le journal de correspondance des points de connexion RPC n'est pas en cours d'exécution, la commande rusers semble s’interrompre. Après un délai d'attente, le programme renvoie le message d'erreur suivant :
# rusers -a localhost
localhost: RPC: Rpcbind failure
Ce problème survient parce que le programme est dans l'impossibilité de communiquer avec le service. Toutefois, après le démarrage du service de journal de
correspondance des points de connexion RPC à partir de /etc/init.d/rpc, le
programme renvoie immédiatement son résultat.
Dans un autre exemple, le service de journal de correspondance des points de connexion RPC est en cours d'exécution alors que le service rusers n'est pas configuré pour fonctionner. Dans ce cas, la réponse générée est complètement différente et relativement facile à valider.
EXEMPLE DE CODE 2-6 Validation du service rusers
# rusers -a localhost
localhost: RPC: Program not registered
# grep rusers /etc/rpc
rusersd 100002 rusers
# rpcinfo -p | grep rusers
<No output generated>
Étant donné que la commande rpcinfo ne possède pas de registre pour le service rusers, il est sage de supposer que le service n'est pas configuré pour être exécuté.
Vous pouvez valider cette hypothèse en analysant l'entrée du service dans le fichier
/etc/inet/inetd.conf.
# grep rusers /etc/inet/inetd.conf
# rusersd/2-3 tli rpc/datagram_v,circuit_v wait root /usr/lib/netsvc/rusers/rpc.rusersd rpc.rusersd
La marque de commentaire (#) au début de la ligne du service indique que le service rusers est désactivé. Pour activer le service, éliminez le commentaire de la ligne et envoyez un signal SIGHUP au processus /usr/sbin/inetd, comme suit.
# pkill -HUP inetd
Chapitre 2 Sécurisation de systèmes : application d'une méthodologie 27
Remarque – La commande pkill est disponible uniquement sous les SE Solaris 7 à
10. Pour les autres versions, utilisez les commandes ps et kill pour respectivement rechercher et signaler le processus.
Pour déterminer si une application utilise RPC, il est également possible de faire appel à la commande ldd décrite ci-avant.
EXEMPLE DE CODE 2-7 Méthode alternative pour la détermination des applications qui
# ldd /usr/lib/netsvc/rusers/rpc.rusersd
libnsl.so.1 => /usr/lib/libnsl.so.1
librpcsvc.so.1 => /usr/lib/librpcsvc.so.1
libc.so.1 => /usr/lib/libc.so.1
libdl.so.1 => /usr/lib/libdl.so.1
libmp.so.2 => /usr/lib/libmp.so.2
/usr/platform/SUNW,Ultra-250/lib/libc_psr.so.1
utilisent RPC
L'entrée pour librpcsvc.so.1 indique, outre le nom du fichier, que ce service repose sur le journal de correspondance des points de connexion RPC.
Outre le journal de correspondance des points de connexion RPC, les applications peuvent également reposer sur d'autres services de SE courants, tels que FTP, SNMP
ou Network File System (NFS). Vous pouvez utiliser des techniques similaires
pour déboguer ces services et déterminer s'ils sont effectivement nécessaires pour la prise en charge d'une fonction de l'entreprise. L'une des méthodes consiste à utiliser la commande netstat comme suit.
# netstat -a | egrep "ESTABLISHED|TIME_WAIT"
Cette commande renvoie une liste de services qui sont en cours d'utilisation ou ont récemment été utilisés, par exemple :
TABLEAU 2-1 Liste des services récemment utilisés
localhost.32827 localhost.32828 49152 0 49152 0 ESTABLISHED
localhost.35044 localhost.32784 49152 0 49152 0 ESTABLISHED
localhost.32784 localhost.35044 49152 0 49152 0 ESTABLISHED
28 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
TABLEAU 2-1 Liste des services récemment utilisés (suite)
localhost.35047 localhost.35046 49152 0 49152 0 ESTABLISHED
localhost.35046 localhost.35047 49152 0 49152 0 ESTABLISHED
filefly.ssh 192.168.0.3.2969 17615 1 50320 0 ESTABLISHED
Dans cet exemple, de nombreux services sont utilisés, mais il n’est pas évident de déterminer les ports qui appartiennent aux services ou aux applications. Pour obtenir ces informations, analysez les processus à l'aide de la commande pfiles (1) (disponible sous les SE Solaris 8, 9 et 10). La commande pfiles renvoie des informations pour tous les fichiers ouverts de chaque processus.
EXEMPLE DE CODE 2-8 Détermination des ports qui appartiennent aux services ou aux
# for pid in `ps -aeo pid | grep -v PID`; do
> pfiles ${pid} | egrep "^${pid}:|sockname:"
> done
applications
Ces dépendances peuvent être déterminées plus efficacement à l’aide de la commande lsof (pour obtenir la liste des fichiers ouverts).
Téléchargez le code source lsof à l’adresse suivante :
ftp://lsof.itap.purdue.edu/pub/tools/unix/lsof/
Téléchargez les binaires lsof à l’adresse suivante :
http://www.sunfreeware.com
La commande lsof permet de déterminer les fichiers et les ports utilisés par les processus. Par exemple, pour déterminer les processus qui utilisent le port 35047 dans l’exemple précédent, lancez la commande suivante.
EXEMPLE DE CODE 2-9 Détermination des processus qui utilisent des fichiers et des ports
# ./lsof -i | grep 35047
ttsession 600 root 9u IPv4 0x3000b4d47e8 0t1 TCP localhost:35047->localhost:35046 (ESTABLISHED)
dtexec 5614 root 9u IPv4 0x3000b4d59e8 0t0 TCP localhost:35046->localhost:35047 (ESTABLISHED)
La sortie de la commande lsof indique que le port 35047 est utilisé pour la communication entre les processus dtexec et ttsession.
Chapitre 2 Sécurisation de systèmes : application d'une méthodologie 29
L'utilisation du programme lsof peut vous permettre de déterminer plus rapidement les dépendances entre systèmes ou entre applications nécessitant l'emploi d'un système de fichiers ou d'un réseau. Presque tout ce qui est signalé dans
cette section peut être capturé à l'aide d'options du programme lsof.
Remarque – Il peut arriver que les méthodes décrites pour la détermination des
dépendances ne trouvent pas les éléments qui sont rarement utilisés. Utilisez ces méthodes, mais consultez également la documentation Sun et celle du fournisseur.

Développement et mise en oeuvre d'un profil Solaris Security Toolkit

Une fois la phase de planification et de préparation terminée, développez et mettez en oeuvre un profil de sécurité. Un profil de sécurité consiste en une configuration, des pilotes de sécurisation, par exemple, nom-{config|hardening|secure}.driver, des scripts et des fichiers nécessaires à la spécifiques à votre entreprise.
Personnalisez l'un des profils de sécurité fournis avec le logiciel Solaris Security Toolkit ou développez-en un nouveau. Les stratégies et les normes de sécurité, ainsi
que les conditions requises pour les applications, diffèrent, même légèrement, d'une entreprise à une autre.
mise en oeuvre des stratégies de sécurité
Pour personnaliser le un profil de sécurité, ajustez ses actions à l'aide de scripts finish, de scripts audit, de variables d'environnement, de fonctions de structure et de
modèles de fichiers.
Pour de plus amples informations, reportez-vous aux chapitres suivants :
Pour obtenir des directives importantes sur la personnalisation du logiciel,
reportez-vous au
Solaris Security Toolkit » à la page 13.
Pour un exemple de création d'un profil de sécurité, reportez-vous au chapitre 7,
« Création d'un profil de sécurité » à la page 110.
Pour de plus amples informations sur la personnalisation des pilotes, reportez-
vous au manuel Solaris Security Toolkit 4.2 Reference Manual. Si nécessaire, reportez-vous aux autres chapitres du manuel Solaris Security Toolkit
4.2 Reference Manual pour de plus amples informations sur les scripts, les fonctions de structure, les variables d'environnement et les fichiers. Il existe deux
variables d'environnement qu'il est préférable de personnaliser : JASS_FILES et JASS_SCRIPTS.
30 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
chapitre 1, « Configuration et personnalisation du logiciel
Pour mettre en oeuvre des normes sur une majorité de plates-formes, tout en préservant les différences spécifiques à chacune, utilisez une technique connue sous le nom de profils de sécurité imbriqués ou hiérarchiques. Pour de plus amples informations, reportez-vous au manuel Solaris Security Toolkit 4.2 Reference Manual. Comparez le profil de sécurité résultant et les stratégies, normes et conditions requises de votre organisation pour garantir que des modifications ne sont pas apportées par inadvertance ou par erreur.

Installation du logiciel

La procédure d'installation du logiciel Solaris Security Toolkit est la même, que le système soit déployé ou nouveau. Pour des instructions détaillées, reportez-vous au
chapitre 3.
Pour les systèmes déployés, certains cas particuliers peuvent rendre l'installation plus simple et plus rapide. Ces cas ne sont pas centrés sur le processus de sécurisation, mais sur les tâches qui précèdent et suivent l'installation.

Tâches précédant l’installation

Avant de sécuriser un système déployé, analysez et planifiez deux tâches significatives :
Sauvegarde
Vérification
Ces tâches facilitent la détermination de l'état du système déployé et la résolution des problèmes de configuration pouvant se poser avant la sécurisation du système.
Sauvegarde des données
Cette tâche se concentre sur la planification de secours. En cas de problème, il est indispensable que la configuration et les données du système soient archivées sous une forme ou une autre. Vous devez effectuer les opérations suivantes :
Sauvegarder le système.
Veiller à ce que les médias de sauvegarde puissent être lus.
Vérifier que le contenu peut être restauré.
Vous devez réaliser ces opérations avant toute modification significative de la configuration d'un système.
Chapitre 2 Sécurisation de systèmes : application d'une méthodologie 31
Vérification de la stabilité du système
La vérification est une tâche presque aussi importante que la sauvegarde. La vérification permet d'assurer la stabilité et le fonctionnement du système avant la mise en oeuvre des modifications de configuration, telles que celles introduites par le processus de sécurisation. Le processus de vérification inclut les étapes suivantes :
Redémarrage
Test réussi de tous les services ou applications
Bien qu'il soit préférable de disposer d’un programme de test et d'acceptation bien défini, de tels plans ne sont pas toujours disponibles. Dans ce cas, testez logiquement le système en fonction de son utilisation. Cette tâche a pour objectif d'assurer que la configuration utilisée correspond bien à la configuration enregistrée.
Analysez tous les messages d'erreur ou d'avertissement qui s'affichent à l'initialisation du système ou au démarrage d'une application. Si vous ne parvenez pas à corriger les erreurs, consignez-les de manière à éviter qu'elle ne soient considérées comme des problèmes potentiels au cours du processus de sécurisation. Lorsque vous examinez les fichiers journaux, n'oubliez pas d'inclure les journaux du système, des services et des applications tels que :
/var/adm/messages
/var/adm/sulog
/var/log/syslog
/var/cron/log
Cette tâche est terminée quand vous redémarrez le système sans rencontrer de messages d'erreur ou d'avertissement, ni d'erreurs ou d’avertissements inconnus (tous avertissements ou erreurs connus sont documentées). Le système doit redémarrer dans un état connu et stable. Si vous découvrez, au cours d'une vérification, que les configurations exécutées et stockées du système ne sont pas les
mêmes, réévaluez les stratégies et processus de contrôle des changements de l’organisation pour identifier le problème à l'origine de cette situation.

Tâches suivant l'installation

Les tâches suivant l'installation sont un prolongement des tâches précédant l'installation. Leur objectif est d'assurer que le processus de sécurisation n'a pas causé de nouvelles défaillances dans le système ou les applications. Cette tâche consiste avant tout à examiner les fichiers journaux du système et des applications. Les fichiers journaux créés après la sécurisation et la réinitialisation doivent être similaires à ceux qui avaient été collectés avant la sécurisation du système. Ils peuvent parfois contenir moins de messages parce que les services démarrés sont moins nombreux. Mais il est fondamental qu'il ne contiennent pas de nouveaux messages d'erreur ou d'avertissement.
32 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Après avoir examiné les fichiers journaux, testez les fonctionnalités, car certaines applications pourraient rencontrer des problèmes sans consigner de messages dans le fichier journal. Pour de plus amples informations sur la vérification, reportez-vous à la section suivante.

Vérification des fonctionnalités des applications et des services

La dernière tâche de ce processus consiste à vérifier que les applications et services offerts par le système fonctionnent tous correctement. Cette tâche vérifie également que le profil de sécurité a été correctement mis en oeuvre en conformité avec les stratégies de l'entreprise en matière de sécurité. Effectuez cette tâche de manière exhaustive et immédiatement après le redémarrage de la plate-forme sécurisée, afin d'assurer la détection des anomalies ou problèmes éventuels et leur correction immédiate. Cette procédure comporte deux tâches : vérification de l'installation du profil de sécurité et vérification des fonctionnalités des applications et des services.

Vérification de l'installation du profil de sécurité

Pour vérifier que le logiciel Solaris Security Toolkit a installé correctement le profil
de sécurité sans erreurs, examinez le fichier journal de l'installation
jass-install-log.txt. Ce fichier se trouve dans le sous-répertoire /var/opt/SUWWjass/runs, au sein du répertoire unique à chaque
sécurisation
ou audit (heure/date de démarrage de l’exécution).
Remarque – Examinez ce fichier journal pour connaître les opérations effectuées
par le logiciel Solaris Security Toolkit sur le système. Pour chaque exécution sur le système, un nouveau fichier journal est enregistré dans le répertoire en fonction de l'heure/la date de démarrage de l'exécution.
Après avoir vérifié que le profil a été installé, évaluez la configuration de sécurité du
système. Effectuez un examen manuel ou utilisez un outil d’automatisation du processus.
Chapitre 2 Sécurisation de systèmes : application d'une méthodologie 33

Vérification des fonctionnalités des applications et des services

Pour vérifier les applications et les services de processus, lancez un plan de test et d'acceptation bien défini, afin de tester les différents composants d'un système ou d'une application, et de déterminer s’ils sont disponibles et s’ils fonctionnent correctement. En l'absence d'un tel plan, testez le système avec logique en fonction de son utilisation. L'objectif est de s'assurer que la sécurisation n'a pas altéré le fonctionnement des applications ou services.
Si vous découvrez qu'une application ou un service ne fonctionne pas correctement après la sécurisation du système, recherchez la cause du problème en examinant les fichiers journaux correspondants. Le plus souvent, vous pouvez utiliser la commande truss pour localiser le problème. Un fois le problème localisé, vous pouvez le cibler et remonter à la modification apportée par le logiciel Solaris Security Toolkit.

Maintenance de la sécurité du système

De nombreuses organisations commettent la même erreur qui consiste à prendre la sécurité en compte au moment de l'installation uniquement, puis de n'y revenir que rarement, voire jamais. La maintenance de la sécurité est un processus permanent. La sécurité d'un système doit être vérifiée périodiquement.
La maintenance d'un système sécurisé requiert une grande attention étant donné que la configuration de sécurité de tout système tend à s'ouvrir de plus en plus avec le temps. Par exemple, les failles du systèmes deviennent connues.
Les directives de base suivantes indiquent les tâches de maintenance de la sécurité d’un système :
Vérifiez le niveau de sécurité du système avant et après l’installation de patchs.
Il
est également important de mettre à jour régulièrement le système à l’aide des patchs les plus récents.
Les patchs du SE Solaris risquent d’installer des packages supplémentaires et écraser des fichiers de configuration du système. Le logiciel Solaris Security Toolkit peut vous assister lors de l'application de patchs, parce qu'il prend en charge les exécutions répétées sur un système, afin que vous sécurisiez le système après l’installation de patchs. Exécutez le logiciel après l'installation de chaque patch, en utilisant les pilotes appropriés, pour vous assurer que la configuration demeure conforme aux stratégies de sécurité. Effectuez également un examen manuel du système, car la version de Solaris Security Toolkit utilisée pourrait ne pas prendre en charge les nouvelles fonctions ajoutées par les patchs installés.
34 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Contrôlez le système à intervalles réguliers pour éviter l'apparition de
comportements non autorisés. Vérifiez les comptes du système, les mots de passe
et les types d'accès ; ils peuvent vous apporter de précieuses informations sur le fonctionnement d’un système.
Déployez et maintenez un référentiel centralisé syslog pour la collecte et
l'analyse des messages syslog. Vous pouvez obtenir de précieuses informations en rassemblant et en examinant ces journaux.
Mettez en place une stratégie exhaustive d'audit et de lutte contre la vulnérabilité
pour le contrôle et la maintenance des configurations du système. Cette stratégie joue un rôle fondamental dans la maintenance de configurations système sécurisées.
Mettez périodiquement les systèmes à jour en installant la dernière version du
logiciel Solaris Security Toolkit.
Le logiciel Solaris Security Toolkit inclut des profils de sécurité par défaut que vous pouvez utiliser comme point de départ.
Chapitre 2 Sécurisation de systèmes : application d'une méthodologie 35
36 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
CHAPITRE
3

Mise à niveau, installation et exécution du logiciel de sécurité

Ce chapitre décrit le téléchargement, la mise à niveau, l’installation et l’exécution du logiciel Solaris Security Toolkit et d'autres logiciels de sécurité. Il fournit également des instructions de configuration de l’environnement en mode autonome ou JumpStart, et indique comment bénéficier d'un support technique.
Suivez les instructions et les processus contenus dans cette section pour mettre à niveau ou installer, configurer et exécuter le logiciel. Ces instructions comprennent le téléchargement de logiciels supplémentaires, des exemples utiles et des directives.
Bien que le logiciel Solaris Security Toolkit soit un produit autonome, il est plus efficace lorsqu'il est utilisé avec les logiciels supplémentaires proposés en téléchargement. Ces logiciels comprennent le dernier cluster de patchs recommandés et de sécurité de SunSolve OnLine, le logiciel Secure Shell pour les versions du SE Solaris qui ne l'incorporent pas, le logiciel de modification des autorisations et des propriétés pour renforcer les autorisations du SE Solaris et de logiciels tiers, et des
binaires de validation d'intégrité des fichiers et exécutables Sun.
Ce chapitre contient les tâches suivantes :
« Tâches de planification et de préinstallation » à la page 38
« Dépendances logicielles » à la page 38
« Détermination du mode à utiliser » à la page 38
« Mise à niveau des procédures » à la page 40
« Téléchargement du logiciel de sécurité » à la page 42
« Personnalisation des profils de sécurité » à la page 50
« Installation et exécution du logiciel » à la page 50
« Validation des modifications système » à la page 63
37

Tâches de planification et de préinstallation

Une planification adéquate est essentielle à la réussite de la sécurisation de systèmes à l'aide du logiciel Solaris Security Toolkit. Pour de plus amples informations sur la planification préalable à l’installation du logiciel, reportez-vous au
Si vous installez le logiciel sur un système déployé, reportez-vous à la section
« Tâches précédant l’installation » à la page 31 qui contient une description des
tâches à effectuer avant l'installation sur les systèmes déployés.
chapitre 2.

Dépendances logicielles

Le logiciel Solaris Security Toolkit 4.2 dépend du package SUNWloc. Si ce package est absent, Solaris Security Toolkit échoue.
Pour de plus amples informations sur les versions du SE Solaris prises en charge, reportez-vous à la section
Pour de plus amples informations sur les versions de SMS (System Management Services) prises en charge, reportez-vous à la section
Management Services (SMS) prises en charge » à la page xxii.
« Versions du SE Solaris prises en charge » à la page xxi.
« Versions de System

Détermination du mode à utiliser

Sécurisez les systèmes pendant ou immédiatement après l’installation du SE, afin de limiter leur durée d'exposition aux attaques sans sécurisation. Avant d'utiliser le logiciel Solaris Security Toolkit pour sécuriser un système, configurez-le de manière à ce qu'il fonctionne correctement dans votre environnement.
Le logiciel Solaris Security Toolkit a une structure modulaire. Si vous n'utilisez pas le produit JumpStart, la flexibilité de la structure du logiciel Solaris Security Toolkit vous permet de vous préparer efficacement à une utilisation ultérieure de JumpStart. Si vous employez JumpStart, vous bénéficiez de la capacité du logiciel Solaris Security Toolkit à s'intégrer dans les architectures JumpStart existantes.
Les sections suivantes décrivent les modes autonome et JumpStart.
38 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Mode autonome

Le logiciel Solaris Security Toolkit est lancé directement à partir d’une invite de shell
du SE Solaris en mode autonome. Ce mode vous permet d'utiliser le logiciel Solaris Security Toolkit sur les systèmes nécessitant des modifications ou mises à jour de sécurité, mais ne peut pas servir à la réinstallation complète du système d'exploitation. Toutefois, chaque fois que cela est possible, les systèmes d’exploitation doivent être entièrement réinstallés avant leur sécurisation.
Le mode autonome est particulièrement utile pour la sécurisation de systèmes après l'installation de patchs ou de logiciels tiers. Vous pouvez exécuter plusieurs fois le logiciel Solaris Security Toolkit sur un système sans aucun risque. Les patchs risquent d’écraser ou de changer des fichiers qui avaient été modifiés par le logiciel Solaris Security Toolkit ; en réexécutant ce dernier, vous pouvez de nouveau mettre en oeuvre les modifications de sécurité qui ont été refusées lors de l'installation du patch.
Remarque – Dans les environnements de production, activez les patchs dans les
environnement de test et de développement avant de les installer dans les environnement réels.
Le mode autonome constitue l'une des options les plus efficaces et les plus rapides pour la sécurisation d'un système déployé. Aucune opération particulière n'est requise pour intégrer le logiciel Solaris Security Toolkit dans une architecture sans JumpStart, excepté les opérations décrites à la section
de sécurité » à la page 42 relatives au téléchargement et à l'installation.
« Téléchargement du logiciel

Mode JumpStart

La technologie JumpStart, qui est un mécanisme Sun d'installation du SE Solaris à partir d'un réseau, prend en charge l'exécution des scripts Solaris Security Toolkit au cours de l'installation. Cet ouvrage suppose que le lecteur est familiarisé avec la technologie JumpStart et qu'il a un environnement JumpStart à disposition. Pour de plus amples informations sur la technologie JumpStart, reportez-vous à l'ouvrage Sun BluePrints JumpStart Technology: Effective Use in the Solaris Operating Environment.
Le package Solaris Security Toolkit 4.2 est réadressable, il peut donc être installé dans n’importe quel répertoire à condition que les options correctes de le la commande pkgadd soient utilisées. JASS_HOME_DIR devient le répertoire de base
du serveur JumpStart.
Seules quelques opérations suffisent à l'intégration du logiciel Solaris Security Toolkit dans une architecture JumpStart. Reportez-vous au des instructions sur la configuration d’un serveur JumpStart.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 39
chapitre 5 pour obtenir

Mise à niveau des procédures

Cette section contient des informations sur la mise à niveau de Solaris Security Toolkit 4.0 et 4.1 vers Solaris Security Toolkit 4.2, avec et sans mise à niveau du SE Solaris. Le système est sécurisé à l’aide du logiciel Solaris Security Toolkit sous le SE
Solaris. Les procédures sont les mêmes, que la mise à niveau s’effectue à partir de
la version 4.0 ou de la version 4.1. Pour éviter d’écraser toute personnalisation antérieure, il est très important d'exécuter les procédures décrites ici selon les instructions.
Attention – Vous ne pouvez installer qu’une seule version de Solaris Security
Toolkit à la fois.
Le logiciel Solaris Security Toolkit 4.2 propose une nouvelle amélioration de la commande pkgrm. La présente version de la commande pkgrm vérifie en premier lieu l’intégrité de tous les fichiers inclus dans la distribution. Si certains fichiers sont différents, la commande pkgrm s’arrête et affiche un message d’erreur destiné à l’administrateur système pour que celui-ci place le fichier correct ou supprime le fichier modifié.
Les pilotes se trouvent dans le sous-répertoire Drivers du répertoire d’installation de Solaris Security Toolkit. Les pilotes créés par l’utilisateur sont également placés dans ce répertoire. Lorsque vous supprimez SUNWjass à l’aide de la commande pkgrm, les pilotes fournis par Solaris Security Toolkit et les pilotes modifiés par l’utilisateur sont également effacés. Toutefois, les pilotes personnalisés ajoutés par l’utilisateur restent intacts, à condition que ceux-ci aient des noms différents des pilotes inclus avec Solaris Security Toolkit.
Attention – Un pilote modifié doit être enregistré avant la mise à niveau. Ne modifiez
jamais les fichiers originaux distribués avec le logiciel Solaris Security Toolkit. Ne modifiez
pas un fichier de pilote. Copiez-le dans un nouveau fichier et modifiez ce dernier.
Pour mettre à niveau le logiciel Solaris Security
Toolkit et le système d’exploitation Solaris
1. Suivez la meilleure pratique de mise à niveau du système disponible : effectuez une sauvegarde ou utilisez une mise à niveau Solaris.
2. Désinstallez la version précédente du logiciel Solaris Security Toolkit.
40 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
3. Installez le logiciel Solaris Security Toolkit 4.2.
4. Exécutez le logiciel Solaris Security Toolkit 4.2 en mode audit (validation par rapport au système mis à niveau), à l’aide des pilotes Solaris Security Toolkit et des pilotes spécifiés par l’utilisateur précédents.
Les pilotes spécifiés par l’utilisateur doivent se trouver dans le répertoire Drivers. Dans ce cas, ils peuvent être spécifiés pour une exécution jass-execute ou une sécurisation.
5. Effectuez l’une des opérations suivantes :
a. Si aucune erreur ne survient, passez à l’étape 6.
b. En cas d’erreurs pendant l’exécution (par exemple, un script de contrôle
d’exécution non installé est modifié ou un service doit être contrôlé par un FMRI), résolvez ces erreurs et recommencez les étapes 4 et 5 jusqu’à ce qu’aucune erreur ne soit générée.
6. Comparez secure.driver et le pilote personnalisé afin de déterminer si d’autres scripts finish ou audit doivent être ajoutés à ce dernier.
7. Effectuez l’une des opérations suivantes :
a. S’il ne manque aucun script, passez à l’étape 8.
b. S’il manque des scripts, ajoutez-les, et recommencez les étapes 4, 5, 6 et 7
jusqu’à ce que tous les scripts nécessaires soient inclus.
8. Exécutez Solaris Security Toolkit 4.2 en mode sécurisation.
9. Exécutez Solaris Security Toolkit 4.2 en mode audit et assurez-vous qu’il n’existe aucune erreur.
10. Vérifiez la configuration de sécurité et l’inclinaison du système pour déterminer si elles sont conformes aux exigences de sécurité.
11. Effectuez l’une des opérations suivantes :
a. Si le système répond aux exigences de sécurité, passez à l’étape 12.
b. Dans le cas contraire, mettez le pilote utilisé à jour et revenez à l’étape 8.
12. Testez le système de manière exhaustive pour vérifier qu’il fournit les services réseau requis et que toutes les applications sont entièrement opérationnelles.
13. En cas d’erreurs, mettez le pilote utilisé à jour et revenez à l’étape 8.
La mise à niveau est alors terminée.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 41
Pour mettre à niveau le logiciel Solaris Security
Toolkit uniquement
1. Désinstallez la version précédente du logiciel Solaris Security Toolkit.
2. Installez le logiciel Solaris Security Toolkit 4.2.
3. Passez à l’étape 4 de la section « Pour mettre à niveau le logiciel Solaris Security
Toolkit et le système d’exploitation Solaris » à la page 40.

Mise à niveau du SE Solaris uniquement

Vous n’avez pas besoin de désinstaller le logiciel Solaris Security Toolkit 4.2 si celui-ci est déjà installé et si vous mettez à niveau le SE Solaris uniquement (par exemple, lorsque vous mettez à niveau le SE Solaris 8 vers Solaris 10). Une fois la mise à niveau
du SE Solaris terminée, exécutez Solaris Security Toolkit 4.2 en mode audit et vérifiez que la configuration de sécurité du système ne contient pas d’erreurs.

Téléchargement du logiciel de sécurité

La première étape de la sécurisation d'un système consiste à télécharger les packages
de sécurité supplémentaires sur le système à sécuriser. Cette section décrit
les tâches suivantes :
« Téléchargement du logiciel Solaris Security Toolkit » à la page 43
« Téléchargement du cluster de patchs recommandés » à la page 44
« Téléchargement du logiciel FixModes » à la page 45
« Téléchargement du logiciel OpenSSH » à la page 46
« Téléchargement du logiciel MD5 » à la page 48
Remarque – Parmi les logiciels décrits dans cette section, Solaris Security Toolkit,
le
cluster de patchs recommandés et de sécurité, FixModes et l’algorithme message-digest 5 (MD5) sont essentiels. Vous pouvez utiliser une version commerciale de Secure Shell, disponible auprès de nombreux fournisseurs, à la place
d'OpenSSH. Installez et utilisez un produit Secure Shell sur tous les systèmes. Sous les SE Solaris 9 et 10, utilisez la version de Secure Shell (SSH) incluse. Sous le SE Solaris 10, utilisez la commande /usr/bin/digest incluse pour les sommes de contrôle MD5.
42 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Téléchargement du logiciel Solaris Security Toolkit

Le logiciel Solaris Security Toolkit est distribué au format du package SE Solaris. Téléchargez d'abord le logiciel Solaris Security Toolkit, puis installez-le sur le serveur où vous envisagez de l’utiliser en mode autonome ou bien sur un serveur JumpStart pour le mode JumpStart.
Remarque – Les noms de fichiers utilisés dans ces instructions ne renvoient pas à un
numéro de version. Téléchargez toujours la dernière version à partir du site Web.
Tout au long de ce guide, la variable d'environnement JASS_HOME_DIR se réfère au répertoire racine du logiciel Solaris Security Toolkit, soit /opt/SUNWjass par défaut.
Pour télécharger la version pkg
1. Téléchargez le fichier de distribution du logiciel (SUNWjass-n.n.pkg.tar.Z).
Le fichier source se trouve à l'adresse suivante :
http://www.sun.com/security/jass
Remarque – Si vous n'arrivez pas à télécharger le logiciel, utilisez l'option
« Enregistrer sous » de votre navigateur.
2. Extrayez le fichier de distribution du logiciel dans un répertoire sur le serveur en
utilisant la commande uncompress :
# uncompress SUNWjass-n.n.pkg.tar.Z
3. Désarchivez le package de distribution à l’aide de la commande correspondante :
# tar -xvf SUNWjass-n.n.pkg.tar
4. Installez le fichier de distribution du logiciel dans un répertoire sur le serveur en utilisant la commande pkgadd comme indiqué :
# pkgadd -d SUNWjass-n.n.pkg SUNWjass
n.n correspond à la version téléchargée la plus récente. L'exécution de cette commande crée le répertoire SUNWjass dans /opt. Ce
sous-répertoire contient tous les répertoires Solaris Security Toolkit et les fichiers associés.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 43

Téléchargement du cluster de patchs recommandés

Les patchs sont distribués par Sun pour corriger les problèmes de performances, stabilité, fonctionnalité et sécurité du SE Solaris. Pour la sécurité d'un système, il est essentiel de toujours installer le cluster de patchs le plus récent. Afin de garantir que la dernière version du cluster de patchs recommandés et de sécurité pour le SE Solaris est installée, cette section décrit le téléchargement du dernier cluster de patchs.
Remarque – Avant d'installer des patchs, évaluez-les et testez-les sur des systèmes
hors production ou pendant le programme de maintenance.
Pour télécharger un cluster de patchs
recommandés
Avant d'installer un cluster de patchs, lisez les fichiers README de chaque patch et toute autre documentation fournie. Ces documents contiennent souvent des conseils et des informations qu’il est utile de connaître avant d'installer un cluster de patchs.
1. Téléchargez le dernier cluster de patchs à partir du site Web SunSolve OnLine à l’adresse suivante :
http://sunsolve.sun.com
2. Cliquez sur le lien Patches dans la barre de navigation de droite.
3. Cliquez sur le lien Recommended Patch Clusters.
4. Sélectionnez la version appropriée du SE Solaris dans la liste déroulante Recommended Solaris Patch Clusters.
Dans le cas présent, le SE Solaris 10 est sélectionné.
5. Choisissez l'option de téléchargement souhaitée (HTTP ou FTP) en cliquant sur le bouton radio associé, puis cliquez sur Go.
Une boîte de dialogue d’enregistrement sous s’affiche dans la fenêtre du navigateur.
6. Enregistrez le fichier localement.
7. Déplacez le fichier de manière sécurisée vers le système en cours de sécurisation.
Utilisez la commande de copie sécurisée scp(1) ou une autre méthode de transfert de fichier sécurisé.
Utilisez la commande scp comme suit :
# scp 10_Recommended.zip target01:
44 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
8. Déplacez le fichier dans le répertoire /opt/SUNWjass/Patches et décompressez-le.
Par exemple :
EXEMPLE DE CODE 3-1 Déplacement d'un fichier de patch dans le répertoire
/opt/SUNWjass/Patches
# cd /opt/SUNWjass/Patches # mv /répertoire d’enregistrement du fichier/10_Recommended.zip . # unzip 10_Recommended.zip Archive: 10_Recommended.zip creating: 10_Recommended/ inflating: 10_Recommended/CLUSTER_README inflating: 10_Recommended/copyright inflating: 10_Recommended/install_cluster [. . .]
Le cluster de patchs est installé automatiquement quand vous avez téléchargé les autres packages de sécurité et exécuté le logiciel Solaris Security Toolkit.
Remarque – Si vous ne placez pas le cluster de patchs recommandés et de sécurité
dans le répertoire /opt/SUNWjass/Patches, un message d'avertissement s'affiche quand vous exécutez le logiciel Solaris Security Toolkit. Vous pouvez ignorer ce message si aucun cluster de patchs n'est concerné, comme c'est souvent le cas avec les nouvelles versions du SE Solaris.

Téléchargement du logiciel FixModes

FixModes est un package qui renforce les autorisations par défaut de fichiers et de répertoires du SE Solaris. Le renforcement de ces autorisations peut améliorer considérablement la sécurité générale. Plus les autorisations sont restrictives, plus il est difficile pour les utilisateurs malveillants d'obtenir des privilèges sur un système.
Remarque – Des changements significatifs ont été apportés au SE Solaris 10 pour
améliorer les autorisations par défaut d'objets précédemment modifiés par le package FixModes, afin que le logiciel ne soit plus nécessaire. Par conséquent, les scripts finish et audit install-fixmodes ne peuvent pas être utilisés sur des systèmes exécutant le SE Solaris 10.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 45

Pour télécharger le logiciel FixModes

1. Téléchargez les binaires précompilés de FixModes à l’adresse suivante :
http://www.sun.com/security/jass
FixModes est distribué en version package sous forme de fichier précompilé et compressé, formaté pour les systèmes Solaris. Le nom du fichier est SUNBEfixm.pkg.Z.
2. Déplacez le fichier de manière sécurisée sur le système en cours de sécurisation à l'aide de la commande scp ou d’une autre méthode garantissant un transfert sécurisé du fichier.
Utilisez la commande scp comme suit :
# scp SUNBEfixm.pkg.Z target01:
3. Décompressez et enregistrez le fichier SUNBEfixm.pkg.Z dans le répertoire Packages de Solaris Security Toolkit situé dans /opt/SUNWjass/Packages, à
l’aide des commandes suivantes :
# uncompress SUNBEfixm.pkg.Z # mv SUNBEfixm.pkg /opt/SUNWjass/Packages/
Le cluster de patchs est installé automatiquement quand vous avez téléchargé les autres packages de sécurité et exécuté le logiciel Solaris Security Toolkit.

Téléchargement du logiciel OpenSSH

Dans tout environnement sécurisé, le chiffrement est utilisé en association avec une
authentification puissante pour la protection de sessions utilisateur interactives. Il faut, au minimum, chiffrer l'accès au réseau.
L'outil le plus utilisé pour la mise en oeuvre du chiffrement est le logiciel Secure Shell, en version intégrée dans le SE Solaris, en version commerciale tierce ou en version freeware. Pour mettre en oeuvre toutes les modifications de sécurité introduites par le
logiciel Solaris Security Toolkit, vous devez inclure un produit Secure Shell.
Remarque – Sous les SE Solaris 9 et 10, utilisez la version de Secure Shell fournie
avec le système d’exploitation. Cette version de Secure Shell bénéficie du support technique Sun et s’intègre à d'autres fonctions de sécurité du SE Solaris, telles que BSM (Basic Security Module).
46 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Le logiciel Solaris Security Toolkit désactive tous les services utilisateur interactifs non chiffrés et lesdémons sur le système, en particulier les démons tels que in.telnetd, in.ftpd, in.rshd et in.rlogind.
Secure Shell vous permet d'accéder au système comme vous le feriez en utilisant Telnet et FTP.

Pour télécharger le logiciel OpenSSH

Remarque – Si le serveur exécute le SE Solaris 9 ou 10, vous pouvez utiliser le
logiciel Secure Shell intégré et ignorer les étapes d'installation d'OpenSSH décrites dans cette section. Par conséquent, les scripts finish et audit install-ssh ne peuvent pas être utilisés sur des systèmes exécutant le SE Solaris 10.
Recherchez l'article ou le livre Sun BluePrints en ligne suivant, et utilisez les
instructions qu'il contient pour télécharger le logiciel :
Article Sun BluePrints en ligne décrivant la compilation et le déploiement
d’OpenSSH, intitulé « Building and Deploying OpenSSH on the Solaris Operating
Environment », disponible à l'adresse suivante :
http://www.sun.com/blueprints
Publication Sun BluePrints intitulée Secure Shell in the Enterprise, disponible dans
les librairies.
OpenSSH est installé automatiquement quand vous avez téléchargé tous les autres packages de sécurité et exécuté le logiciel Solaris Security Toolkit.
Attention – Ne compilez pas OpenSSH et n'installez pas les compilateurs sur le système
en cours de sécurisation. Utilisez un système Solaris distinct exécutant la même version de SE, la même architecture et le même mode (par exemple, Solaris 8, Sun4U™ (sun4u) et 64 bits) pour compiler OpenSSH. Si vous mettez en oeuvre une version commerciale de SSH, aucune compilation n'est requise. L'objectif est de limiter la disponibilité des compilateurs à des intrus potentiels. Toutefois, la non installation locale des compilateurs sur un système ne constitue pas une protection significative contre certains agresseurs qui peuvent toujours installer des outils précompilés.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 47

Téléchargement du logiciel MD5

Le logiciel MD5 génère des empreintes digitales numériques MD5 sur le système en
cours de sécurisation. Générez les empreintes digitales numériques, puis comparez-les avec les indications des publications Sun, afin de détecter les binaires du système modifiés ou attaqués par un cheval de Troie, caché à l'intérieur d’un fichier apparemment sûr par des utilisateurs non autorisés. En modifiant les binaires
du système, les agresseurs s’ouvrent une porte dérobée sur le système ; ils
cachent leur présence et pourraient causer l’instabilité du système.
Remarque – Si le serveur exécute le SE Solaris 10, vous pouvez utiliser la
commande /usr/bin/digest intégrée et ignorer les étapes d'installation de MD5 qui suivent cette section.

Pour télécharger le logiciel MD5

Remarque – Solaris Security Toolkit n’installe pas et ne contrôle pas l’installation
du logiciel MD5, comme l’indique la procédure suivante pour les systèmes Solaris
10. Le logiciel MD5 est inutile sur les systèmes exécutant le SE Solaris 10, car la commande digest(1M) inclut désormais la fonctionnalité MD5.
1. Téléchargez les binaires MD5 à partir du site Web suivant :
http://www.sun.com/security/jass
Les programmes MD5 sont distribués en version package sous forme de fichier compressé.
2. Déplacez le fichier SUNBEmd5.pkg.Z de manière sécurisée sur le système en cours
de sécurisation à l'aide de la commande scp ou d’une autre méthode garantissant un transfert sécurisé du fichier.
Utilisez la commande scp comme suit :
# scp SUNBEmd5.pkg.Z target01:
48 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
3. Décompressez et déplacez le fichier vers le répertoire Packages situé dans répertoire /opt/SUNWjass/Packages de Solaris Security Toolkit, en utilisant une commande similaire à la suivante :
# uncompress SUNBEmd5.pkg.Z # mv SUNBEmd5.pkg /opt/SUNWjass/Packages/
Une fois le logiciel MD5 enregistré dans le répertoire /opt/SUNWjass/Packages, il suffit d'exécuter Solaris Security Toolkit pour l'installer.
Vous pouvez utiliser les binaires MD5 installés pour vérifier l'intégrité des exécutables sur le système au moyen de la base de données d'empreintes digitales de Solaris. Pour de plus amples informations sur la base de données d’empreintes digitales Solaris, reportez-vous à l'article Sun BluePrints en ligne intitulé « The Solaris Fingerprint Database — A Security Tool for Solaris Software and Files ».
4. (Facultatif) Téléchargez et installez les logiciels Solaris Fingerprint Database Companion et Solaris Fingerprint Database Sidekick à partir du site Web Sun BluePrints à l’adresse suivante :
http://www.sun.com/blueprints/tools
Remarque – Même si l’étape 4 est facultative, il est réellement préférable de
l’appliquer à tous les systèmes d’exploitation.
Installez et utilisez ces outils facultatifs avec le logiciel MD5. Ces outils simplifient le
processus de validation des binaires du systèmes par rapport à la base de données
de sommes de contrôle MD5. Utilisez fréquemment ces outils pour valider l'intégrité des binaires et des fichiers du SE Solaris sur un système sécurisé.
Vous pouvez télécharger ces outils et leurs instructions à partir de l'article Sun BluePrints en ligne intitulé « The Solaris Fingerprint Database — A Security Tool for Solaris Software and Files ».
Vérifiez l'intégrité des outils de sécurité téléchargés. Avant l'installation et l'exécution
de Solaris Security Toolkit et des logiciels de sécurité supplémentaires, validez leur intégrité à l'aide des sommes de contrôle MD5. Des sommes de contrôle MD5 sont
disponibles à cet effet sur la page de téléchargement de Solaris Security Toolkit.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 49

Personnalisation des profils de sécurité

De nombreux modèles de profils de sécurité sont inclus sous forme de pilotes dans la distribution du logiciel Solaris Security Toolkit. Les profils de sécurité mis en oeuvre par ces pilotes désactivent les services non requis et activent les fonctions de sécurité facultatives désactivées par secure.driver. Comme mentionné dans le chapitre précédent, le profil de sécurité par défaut et les modifications apportées par ces pilotes peuvent ne pas convenir à vos systèmes.
Avant d'exécuter Solaris Security Toolkit, vérifiez les profils de sécurité par défaut et personnalisez-les en fonction de votre environnement, ou développez-en de nouveaux. Vous trouverez des techniques et des instructions relatives à la personnalisation des profils de sécurité dans le manuel Solaris Security Toolkit 4.2 Reference Manual.

Installation et exécution du logiciel

Il est important d’accomplir les tâches préliminaires suivantes avant l'exécution du logiciel Solaris Security Toolkit. La sécurisation est, en majeure partie, effectuée automatiquement quand vous exécutez le logiciel Solaris Security Toolkit.
Téléchargez les logiciels de sécurité supplémentaires et le logiciel Solaris Security
Toolkit sur le système à sécuriser ou sur le serveur JumpStart. Voir
« Téléchargement du logiciel de sécurité » à la page 42.
Configurez votre système pour le mode autonome ou JumpStart. Voir
« Détermination du mode à utiliser » à la page 38.
Le cas échéant, personnalisez Solaris Security Toolkit en fonction de votre
environnement.
Avant l'installation et l'exécution de Solaris Security Toolkit et des logiciels de sécurité
supplémentaires, validez leur intégrité à l'aide des sommes de contrôle MD5.
Vous pouvez lancer le logiciel Solaris Security Toolkit directement à partir de la ligne de commande ou d’un serveur JumpStart.
Pour obtenir la liste des options de ligne de commande et d'autres informations sur l'exécution du logiciel, reportez-vous à l'une des sections suivantes :
« Exécution du logiciel en mode autonome » à la page 51
« Exécution du logiciel en mode JumpStart » à la page 62
50 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Exécution du logiciel en mode autonome

L’EXEMPLE DE CODE 3-2 décrit l'utilisation de la ligne de commande en mode autonome.
EXEMPLE DE CODE 3-2 Échantillon d’utilisation de la ligne de commande en mode
# ./jass-execute -h
usage:
Pour appliquer ce kit d'outils à un système en utilisant la syntaxe suivante : jass-execute [-r répertoire_racine -p version_se ] [ -q | -o fichier_sortie ] [ -m adresse_e-mail ] [ -V [3|4] ] [ -d ] driver
Pour annuler une application précédente du kit d'outils à partir d'un système : jass-execute -u [ -b | -f | -k ] [ -q | -o fichier_sortie ] [ -m adresse_e-mail ] [ -V [3|4] ]
Pour l'audit d'un système en fonction d'un profil prédéfini : jass-execute -a driver [ -V [0-4] ] [ -q | -o fichier_sortie ] [ -m adresse_e-mail ]
Pour supprimer des fichiers enregistrés lors d’une exécution précédente du kit d’outils : jass-execute -c [ -q | -o fichier_sortie ] [ -m adresse_e-mail ] [ -V [3|4] ]
Pour afficher l'historique des applications du kit d'outils sur un système : jass-execute -H
autonome
Pour afficher la dernière application du kit d'outils sur un système : jass-execute -l
Pour afficher ce message d'aide : jass-execute -h jass-execute -?
Pour afficher les informations sur la version de ce programme : jass-execute -v
#
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 51
Le TABLEAU 3-1 dresse la liste des options de ligne de commande disponibles avec
TABLEAU 3-1 Utilisation des options de ligne de commande avec jass-execute
Option Description
–a pilote Détermine si un système est conforme au profil de sécurité.
Ne l’utilisez pas avec les options -b, -k, -f, -c, -d, -h, -H, -l, -p, -r
et -u.
–b Sauvegarde tout fichier ayant été modifié manuellement depuis la
dernière sécurisation, puis restaure le système à son état d'origine. Utilisez-la uniquement avec l’option –u.
-c Spécifie l’option de nettoyage. Supprime des fichiers enregistrés lors d’une exécution précédente de Solaris Security Toolkit.
–d pilote Spécifie le pilote à exécuter en mode autonome.
Ne l’utilisez pas avec les options -a, -b, -c, -f, -h, -H, -k et -u.
–f Annule les modifications effectuées pendant une sécurisation sans
proposer d'exceptions, même si les fichiers ont été modifiés manuellement après une sécurisation.
Utilisez-la uniquement avec l’option –u.
–H Affiche l’historique du logiciel Solaris Security Toolkit sur le système.
-h |-? Affiche le message d'aide de jass-execute, qui présente les options
disponibles. Utilisez-la seule. Toute option spécifiée en plus de l’option -h|-? est
ignorée.
–k Conserve toute modification manuelle apportée aux fichiers après une
sécurisation. Utilisez-la uniquement avec l’option –u.
–l Affiche la dernière application du logiciel Solaris Security Toolkit
installé sur le système.
-m adresse_e-mail Indique une adresse email pour le support interne.
-o fichier_sortie Spécifie le fichier de sortie et le chemin complet pour accéder à ce dernier.
-p version_se Indique la version du SE Solaris. Le format est identique à celui de
l’option uname –r. Vous devez l’utiliser avec l’option –r répertoire_racine.
–q Spécifie le mode silencieux. Les messages ne s’affichent pas pendant
l’exécution de cette commande. La sortie est stockée dans
JASS_REPOSITORY/.
-r répertoire_racine Indique le répertoire racine utilisé pendant l’exécution de la commande jass-execute. Le répertoire racine est /. Il est défini par la variable
d’environnement Solaris Security Toolkit JASS_ROOT_DIR. Le SE Solaris en cours de sécurisation est disponible dans /. Par exemple, si vous souhaitez sécuriser un répertoire du SE distinct, temporairement monté sous /mnt, utilisez l’option -r pour spécifier /mnt.
Vous devez l’utiliser avec l’option –p version_se.
52 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
TABLEAU 3-1 Utilisation des options de ligne de commande avec jass-execute (suite)
Option Description
–u Exécute l’option d’annulation et affiche des invites interactives sur
l’action à entreprendre en cas d’exception.
Ne l’utilisez pas avec les options -a, -c, -d, -h, -l, -p, -r, et -H.
-V niveau_verbosité Spécifie le niveau de verbosité pour un audit. Il existe cinq niveaux (0 à 4)
0 Ligne unique indiquant la réussite ou l’échec.
1 Pour chaque script, une ligne unique indique la
réussite ou l’échec, puis une ligne de score total s’affiche sous toutes les lignes de script.
2 Pour chaque script, affiche les résultats de tous
les contrôles.
3 Affiche plusieurs lignes avec une sortie
complète, y compris les messages de bannière et d'en-tête. Ce niveau est la valeur par défaut.
4 Affiche plusieurs lignes (toutes les données à
partir du niveau 3), ainsi que toutes les entrées qui sont générées par la fonction de consignation
logDebug. Ce niveau s'utilise pour le débogage.
–v Affiche les informations sur la version de ce programme.
une description de chacune d'elles.
Pour de plus amples informations sur les options disponibles avec la commande jass-execute en mode autonome, reportez-vous aux sections suivantes :
« Option d’audit » à la page 55
« Option de nettoyage » à la page 55
« Option d’affichage de l’aide » à la page 57
« Option de pilote » à la page 58
« Option de notification par e-mail » à la page 59
« Option d’exécution de l’historique » à la page 60
« Option d’exécution la plus récente » à la page 60
« Option de fichier de sortie » à la page 61
« Option de sortie silencieuse » à la page 61
« Option de répertoire racine » à la page 61
« Option d’annulation » à la page 62
Pour obtenir une liste complète des pilotes disponibles, reportez-vous à la section
« Répertoire Drivers » à la page 5. De nouvelles versions du logiciel peuvent
contenir des pilotes supplémentaires.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 53

Pour exécuter le logiciel en mode autonome

1. Exécutez secure.driver (ou un script spécifique au produit tel que sunfire_15k_sc-secure.driver) comme suit :
EXEMPLE DE CODE 3-3 Exécution du logiciel en mode autonome
# ./jass-execute -d secure.driver
[NOTE] The following prompt can be disabled by setting JASS_NOVICE_USER to 0. [WARN] Depending on how the Solaris Security Toolkit is configured, it is both possible and likely that by default all remote shell and file transfer access to this system will be disabled upon reboot effectively locking out any user without console access to the system.
Are you sure that you want to continue? (YES/NO) [NO]
y
[NOTE] Executing driver, secure.driver
=============================================================== secure.driver: Driver started. ===============================================================
=============================================================== Solaris Security Toolkit Version: 4.2.0 Node name: ufudu Zone name: global Host ID: 8085816e Host address: 10.8.31.115 MAC address: 8:0:20:85:81:6e OS version: 5.10 Date: Tue Jul 5 16:28:24 EST 2005 =============================================================== [...]
Pour obtenir une liste complète des pilotes disponibles, reportez-vous à la section
« Répertoire Drivers » à la page 5. De nouvelles versions du logiciel peuvent
contenir des pilotes supplémentaires.
54 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
2. Après l’exécution du logiciel Solaris Security Toolkit sur un système, redémarrez ce dernier pour mettre en oeuvre les modifications.
Pendant la sécurisation, une série de modifications sont apportées à la configuration du client. Celles-ci peuvent inclure la désactivation des scripts de démarrage de services, la désactivation d’options de services et l’installation de nouveaux binaires ou de nouvelles bibliothèques par le biais de patchs. Ces modifications risquent de ne pas être activées tant que vous n’avez pas redémarré le client.
3. Une fois le système réinitialisé, vérifiez que les modifications sont correctes et complètes.
Voir « Validation des modifications système » à la page 63.
4. En cas d’erreurs, corrigez celles-ci et exécutez à nouveau le logiciel Solaris Security Toolkit en mode autonome.
Option d’audit
L’option -a permet au logiciel Solaris Security Toolkit d’effectuer un audit afin de déterminer si un système est conforme à son profil de sécurité. Cette opération vérifie non seulement que les modifications des fichiers système sont actives, mais aussi que les processus désactivés antérieurement sont exécutés et que les packages supprimés sont réinstallés. Pour de plus amples informations sur cette fonction, reportez-vous au
Synopsis d'utilisation de la ligne de commande pour l'audit d'un système en fonction d'un profil de sécurité :
chapitre 6.
# jass-execute -a pilote [ -V [0-4] ] [ -q | -o fichier-sortie ] [ -m adresse-email ]
Option de nettoyage
L’option -c supprime des fichiers enregistrés lors d’une exécution précédente de Solaris Security Toolkit. Vous pouvez utiliser les options de mode silencieux (-q), de
sortie (-o), d’e-mail (-m) et de verbosité (-V) avec l’option de nettoyage.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 55
L’EXEMPLE DE CODE 3-4 décrit l’utilisation de l’option -c qui produit une sortie du type suivant :
EXEMPLE DE CODE 3-4 Échantillon de sortie de l’option -c
# bin/jass-execute -c Executing driver, clean.driver
Please select Solaris Security Toolkit runs to clean:
1. July 15, 2005 at 11:41:02 (/var/opt/SUNWjass/run/20050715114102)
2. July 15, 2005 at 11:44:03 (/var/opt/SUNWjass/run/20050715114403) Choice (’q’ to exit)? 2 [NOTE] Cleaning previous run from /var/opt/SUNWjass/run/20050715114403
============================================================================== clean.driver: Driver started. ==============================================================================
============================================================================== Toolkit Version: 4.2.0 Node name: sstzone Zone name: sstzone Host ID: 80cb346c Host address: 10.8.28.45 MAC address: 8:0:20:cb:34:6c OS version: 5.10 Date: Fri Jul 15 11:44:58 PDT 2005
============================================================================== clean.driver: Performing CLEANUP of /var/opt/SUNWjass/run/20050715114403. ==============================================================================
============================================================================== clean.driver: Driver finished. ==============================================================================
============================================================================== [SUMMARY] Results Summary for CLEAN run of clean.driver [SUMMARY] The run completed with a total of 1 script run. [SUMMARY] There were Failures in 0 Scripts [SUMMARY] There were Errors in 0 Scripts [SUMMARY] There were Warnings in 0 Scripts [SUMMARY] There was a Note in 1 Script [SUMMARY] Notes Scripts listed in: /var/opt/SUNWjass/run/20050715114403/jass-clean-script-notes.txt ==============================================================================
56 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Option d’affichage de l’aide
L'option -h affiche le message d'aide de la commande jass-execute, qui présente les options disponibles.
L'option -h produit une sortie du type suivant :
EXEMPLE DE CODE 3-5 Échantillon de sortie de l’option -h
# ./jass-execute -h Pour appliquer ce kit d'outils à un système en utilisant la syntaxe suivante : jass-execute [–r répertoire_racine –p version_se ] [ –q | –o fichier_sortie ] [ –m adresse_e-mail ] [ –V [3|4] ] [ –d ] driver
Pour annuler une application précédente du kit d'outils à partir d'un système : jass-execute –u [ –b | –f | –k ] [ –q | –o fichier_sortie ] [ –m adresse_e-mail ] [ –V [3|4] ]
Pour l'audit d'un système en fonction d'un profil prédéfini : jass-execute –a driver [ –V [0–4] ] [ –q | –o fichier_sortie ] [ –m adresse_e-mail ]
Pour supprimer des fichiers enregistrés lors d’une exécution précédente du kit d’outils : jass-execute -c [ -q | -o fichier_sortie ] [ -m adresse_e-mail ] [ -V [3|4] ]
Pour afficher l'historique des applications du kit d'outils sur un système : jass-execute –H
Pour afficher la dernière application du kit d'outils sur un système : jass-execute –l
Pour afficher ce message d'aide : jass-execute –h jass-execute –?
Pour afficher les informations sur la version de ce programme : jass-execute –v
Notez que seul le nom du pilote doit être spécifié lorsque vous utilisez les options ’–d’ ou ’–a’. Vous n’avez pas besoin d’indiquer de chemin car le script
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 57
EXEMPLE DE CODE 3-5 Échantillon de sortie de l’option -h (suite)
est supposé se trouver dans le répertoire Drivers.
L’option d’annulation ’–u’ exclut l’une ou l’autre des options ’–d’ et ’–a’. Le comportement d’annulation par défaut demande à l’utilisateur l’action à entreprendre lorsqu’un fichier à restaurer a été modifié, car la somme de contrôle est incorrecte.
L’option –u peut être associée aux options ’–k’, ’–b’ et ’–f’ pour écraser le comportement interactif par défaut. Vous devez utiliser l’une de ces options en mode silencieux (’–q’).
L’option ’–k’ peut être utilisée pour conserver toujours le fichier actuel et la sauvegarde lorsque la somme de contrôle est incorrecte. L’option ’b’ permet de sauvegarder le fichier actuel et de restaurer l’original quand la somme de contrôle est incorrecte. L’option ’f’ écrase toujours l’original si la somme de contrôle est incorrecte, sans enregistrer l’original modifié.
Option de pilote
L’option –d pilote indique le pilote à exécuter en mode autonome.
Vous devez spécifier un pilote avec l’option -d. Le logiciel Solaris Security Toolkit appose le préfixe Drivers/ au nom du script ajouté. Vous devez entrer uniquement le nom du script sur la ligne de commande.
Remarque – N’utilisez pas l’option -d avec les options -a, -b, -c, -f, -H, -h, -k et -u.
58 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Une sécurisation jass-execute utilisant l’option -d pilote produit une sortie du type suivant :
EXEMPLE DE CODE 3-6 Échantillon de sortie de l'option -d pilote
# ./jass-execute -d secure.driver [...] [NOTE] Executing driver, secure.driver
=============================================================== secure.driver: Driver started. ===============================================================
=============================================================== Solaris Security Toolkit Version: 4.2.0 Node name: ufudu Zone name: global Host ID: 8085816e Host address: 10.8.31.115 MAC address: 8:0:20:85:81:6e OS version: 5.10 Date: Tue Jul 5 16:28:24 EST 2005 =============================================================== [...]
Option de notification par e-mail
L'option -m adresse_email est un mécanisme qui permet au logiciel Solaris Security Toolkit d’envoyer automatiquement la sortie de l’audit autonome, du nettoyage, de la sécurisation et de l’annulation par e-mail une fois l’exécution terminée. Le rapport électronique est généré en plus des journaux éventuellement créés sur le système à l'aide d'autres options et des journaux locaux créés par le logiciel Solaris Security Toolkit.
Échantillon d’exécution de Solaris Security Toolkit appelant
sunfire_15k_sc-config.driver à l’aide de l'option de notification par e-mail :
# ./jass-execute -m root -d sunfire_15k_sc-config.driver [...]
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 59
Option d’exécution de l’historique
L’option -H constitue un mécanisme simple qui permet de déterminer le nombre d’exécutions du logiciel Solaris Security Toolkit sur un système. Toutes les exécutions sont répertoriées, y compris celles qui ont été annulées.
L'option -H produit une sortie du type suivant :
EXEMPLE DE CODE 3-7 Échantillon de sortie de l'option -H
# ./jass-execute -H Remarque : Ces informations concernent uniquement les applications de Solaris Security Toolkit, à partir de la version 0.3.
La liste ci-après contient les applications de Solaris Security Toolkit sur le système. Cette liste est présentée en ordre chronologique inverse :
1. June 31, 2004 at 12:20:19 (20040631122019) (UNDONE)
2. June 31, 2004 at 12:10:29 (20040631121029)
3. June 31, 2004 at 12:04:15 (20040631120415)
La sortie indique que le logiciel Solaris Security Toolkit a été exécuté trois fois sur le système et que la plus récente a été annulée.
Option d’exécution la plus récente
L’option -l propose un mécanisme qui permet de déterminer l’exécution la plus récente. Il s’agit toujours de l’exécution la plus récente répertoriée également par l’option -H.
L'option -l produit une sortie du type suivant :
EXEMPLE DE CODE 3-8 Échantillon de sortie de l'option -l
# ./jass-execute -l
Remarque : Ces informations concernent uniquement les applications de Solaris Security Toolkit, à partir de la version 4.2.0.
La dernière application de Solaris Security Toolkit a été effectuée le :
1. June 31, 2005 at 12:20:19 (20040631122019) (UNDONE)
60 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Option de fichier de sortie
L'option -o fichier-sortie redirige la sortie de console de jass-execute vers un fichier-sortie distinct. Vous pouvez indiquer un chemin de fichier de sortie (fichier_sortie) entièrement qualifié.
Cette option n'a aucun effet sur les journaux conservés dans le répertoire JASS_REPOSITORY. Elle s’avère particulièrement utile pour les connexions de terminaux bas débits. La sortie générée par Solaris Security Toolkit peut être volumineuse ; ceci dépend du niveau de verbosité (niveau_verbosité) spécifié.
Cette option peut être utilisée avec les options -a, -d ou -u.
L'option -o produit une sortie du type suivant :
EXEMPLE DE CODE 3-9 Échantillon de sortie de l'option -o
# ./jass-execute -o /var/tmp/root/jass-output.txt -d secure.driver [NOTE] Executing driver, secure.driver [NOTE] Recording output to /var/tmp/root/jass-output.txt
Option de sortie silencieuse
L'option -q évite que la sortie de Solaris Security Toolkit ne soit envoyée vers la console pendant une sécurisation.
Cette option n'a aucun effet sur les journaux conservés dans le répertoire JASS_REPOSITORY. Comme l'option -o, cette option est particulièrement utile
quand Solaris Security Toolkit est exécuté via une tâche cron ou sur une connexion réseau bas débit.
Elle peut être utilisée avec les options -a, -c, -d ou -u.
L'option -q produit une sortie du type suivant :
EXEMPLE DE CODE 3-10 Échantillon de sortie de l'option -q
# ./jass-execute -q -d secure.driver [NOTE] Executing driver, secure.driver
Option de répertoire racine
L’option -r répertoire-racine indique le répertoire racine utilisé pendant les exécutions jass-execute. L’option -r requiert également l’option -p afin de spécifier la version de la plate-forme (SE). Le format de l’option -p est équivalent à celui produit par l’option uname -r.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 61
Le répertoire racine est /. Il est défini par la variable d’environnement Solaris Security Toolkit JASS_ROOT_DIR. Le SE Solaris en cours de sécurisation est disponible dans /. Par exemple, si vous souhaitez sécuriser un répertoire du SE distinct, temporairement monté sous /mnt, utilisez l’option -r pour spécifier /mnt. Tous les scripts sont appliqués à cette image de SE.
Option d’annulation
Grâce à l’option -u, le logiciel Solaris Security Toolkit peut annuler des modifications système effectuées pendant une sécurisation. Chaque script finish peut être annulé à l’aide de l’option -u. En outre, la fonction d’annulation de Solaris Security Toolkit est intégrée aux sommes de contrôle générées à chaque exécution. Pour de plus amples informations sur cette fonction, reportez-vous au
Il existe trois autres options que vous pouvez utiliser avec l'option -u :
L’option -b (sauvegarde) sauvegarde tout fichier modifié manuellement depuis la
dernière sécurisation, puis restaure le système à son état d'origine.
L’option -f (forçage) annule les modifications effectuées pendant une
sécurisation sans proposer d'exceptions, même si les fichiers ont été modifiés manuellement après une sécurisation.
L’option -k (conservation) conserve toutes les modifications manuelles effectuées
depuis la dernière sécurisation.
Synopsis d’utilisation de la ligne de commande d’annulation :
chapitre 4.
# jass-execute –u [ –b | –f | –k ] [ –q | –o fichier_sortie ] [ –m adresse_e-mail ] [ –V [3|4] ]

Exécution du logiciel en mode JumpStart

Le mode JumpStart est contrôlé par le pilote de Solaris Security Toolkit, inséré dans le fichier rules sur le serveur JumpStart.
Si vous n'avez pas configuré votre environnement de sorte à utiliser le mode JumpStart, reportez-vous au
Pour de plus amples informations sur la technologie JumpStart, reportez-vous à l'ouvrage Sun BluePrints JumpStart Technology: Effective Use in the Solaris Operating Environment.
62 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
chapitre 5.

Pour exécuter le logiciel en mode JumpStart

Pour être exécuté en mode JumpStart, le logiciel Solaris Security Toolkit doit être intégré à l’environnement JumpStart et appelé par les scripts finish associés à une installation JumpStart. Pour de plus amples informations sur l’intégration du logiciel Solaris Security Toolkit dans votre environnement, reportez-vous au
1. Quand toutes les modifications requises ont été apportées aux pilotes, installez le client en utilisant l'infrastructure JumpStart.
Pour effectuer cette tâche, utilisez la commande suivante à l'invite ok du client.
ok> boot net - install
Une fois l’installation terminée, le logiciel JumpStart redémarre le système. Le système doit être correctement configuré. Pendant la sécurisation, une série de
modifications sont apportées à la configuration du client. Celles-ci peuvent inclure la désactivation des scripts de démarrage de services, la désactivation d’options de services et l’installation de nouveaux binaires ou de nouvelles bibliothèques à l’aide de patchs. Ces modifications risquent de ne pas être activées tant que vous n’avez pas redémarré le client.
2. Une fois le système réinitialisé, vérifiez que les modifications sont correctes et complètes.
Voir « Validation des modifications système » à la page 63.
chapitre 5.
3. Si vous rencontrez des erreurs, corrigez-les et réinstallez le système d'exploitation du client.

Validation des modifications système

Une fois le système réinitialisé, vérifiez que les modifications sont correctes et complètes, comme l’indiquent les sections suivantes.

Contrôle d’assurance qualité des services

L’un des défis significatifs de la sécurisation d’un système consiste à déterminer les services de SE à activer pour que le système fonctionne correctement. Les services du SE Solaris peuvent être nécessaires parce qu’ils sont utilisés directement. Par exemple, Secure Shell permet de se connecter à un système. D’autres services peuvent être utilisés indirectement, tels que le démon RPC d’interface graphique (IG) d’outils de gestion de logiciels tiers.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 63
Vous devez déterminer la plupart de ces besoins avant d’exécuter le logiciel Solaris Security Toolkit. (Voir
« Détermination des conditions requises pour les applications et les services » à la page 21). Toutefois, le seul mécanisme définitif est l’installation et
la sécurisation du système. Effectuez ensuite un test complet des fonctionnalités requises à l’aide d’un test d’assurance qualité. Vous devez suivre un plan d’assurance qualité pour tout nouveau système déployé qui vient d’être sécurisé. De même, il vous faut réaliser un test complet des systèmes déployés en cours de sécurisation afin
de vérifier que toutes les fonctionnalités requises et attendues sont présentes.
Si le processus d’assurance qualité découvre des écarts, effectuez les opérations suivantes :
1. Déterminez la zone affectée en fonction des directives du chapitre 2.
2. Vérifiez que l’application est exécutée selon la configuration modifiée.
3. Annulez l’exécution de Solaris Security Toolkit.
4. Modifiez le profil de sécurité (pilote) en fonction de la solution du problème.
5. Exécutez de nouveau le logiciel Solaris Security Toolkit.
Le résultat final doit consister en un profil de sécurité pouvant être exécuté sur le système sans affecter négativement aucune fonctionnalité requise.

Évaluation de la sécurité de la configuration

Lorsque vous vérifiez que le système exécute toutes les fonctions requises, évaluez également la configuration de la sécurité afin de déterminer si le système atteint le niveau de sécurisation souhaité. Ceci peut impliquer différentes tâches en fonction de la sécurisation ou de la minimisation effectué(e) sur le système.
Vous devez au moins vérifier les points suivants de la configuration du système :
Assurez-vous que tous les patchs recommandés et de sécurité sont installés.
Vérifiez que seuls les processus requis et pertinents sont exécutés, et que leurs
arguments sont corrects.
Vérifiez que seuls les démons requis sont exécutés et que leurs arguments sont
corrects.
Vérifiez que seuls les ports requis sont ouverts sur le système (vérification locale,
par exemple netstat -a, et distante) à l’aide d’un scanneur de ports, tel que Nmap, qui peut déterminer les ports disponibles sur une interface réseau.
Assurez-vous que seuls les packages requis du SE Solaris sont installés, si le
système a été minimisé.
64 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Cette vérification est indispensable pour les systèmes nouvellement construits et sécurisés. Lors de la sécurisation d’anciens systèmes, vous devez vérifier le SE sous-jacent pour déterminer si des modifications non autorisées ont été effectuées. Pour que la vérification de l’intégrité soit plus efficace, montez la structure de fichiers du système en mode lecture seule et exécutez le logiciel de contrôle de l’intégrité à partir d’une instance de SE connue. Les outils décrits dans l’article Sun BluePrints en ligne intitulé « The Solaris Fingerprint Database—A Security Tool for Solaris Software and Files » s’avèrent utiles dans ce cas.

Validation des profils de sécurité

Une fois le système sécurisé, et les services et capacités requis validés, utilisez la fonction d’audit pour vous assurer que le profil de sécurité a été appliqué correctement et entièrement. Cette tâche est essentielle pour deux raisons. Elle permet tout d’abord de vérifier que le système est sécurisé selon les besoins. Ensuite,
elle garantit que le profil de sécurité défini pour le système est correctement reporté dans la configuration de Solaris Security Toolkit. Ce contrôle est primordial car les informations de configuration sont utilisées pour maintenir le profil de sécurité du système pendant la totalité de son cycle de vie de déploiement.
Pour de plus amples informations sur la fonction d’audit, reportez-vous au chapitre 6.

Tâches suivant l'installation

Si vous installez le logiciel sur un système déployé, reportez-vous à la section
« Tâches suivant l'installation » à la page 32 qui contient une description des tâches
à effectuer après l'installation sur les systèmes déployés.
Chapitre 3 Mise à niveau, installation et exécution du logiciel de sécurité 65
66 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
CHAPITRE
4

Annulation de modifications du système

Ce chapitre décrit l’annulation des modifications du système introduites par le logiciel Solaris Security Toolkit pendant la sécurisation. Cette option fournit un mécanisme automatisé permettant de restaurer un système à son état initial avant une ou plusieurs sécurisations.
Ce chapitre contient les sections suivantes :
« Consignation et annulation des changements » à la page 67
« Conditions requises pour l'annulation de modifications du système » à la
page 69
« Personnalisation de scripts pour l'annulation des modifications » à la page 69
« Contrôle des fichiers modifiés manuellement » à la page 71
« Utilisation d'options avec la fonction d'annulation » à la page 71
« Annulation de modifications du système » à la page 75

Consignation et annulation des changements

Chaque sécurisation par Solaris Security Toolkit crée un répertoire d'exécution dans JASS_REPOSITORY. Les noms de ces répertoires sont basés sur la date et l'heure de début d'exécution. Outre l'affichage de la sortie sur un écran, le logiciel Solaris Security Toolkit crée un ensemble de fichiers dans le répertoire pour le suivi des modifications et la journalisation des opérations.
Les fichiers enregistrés dans le répertoire suivent les modifications apportées au système et activent la fonction d'annulation.
67
Attention – L’administrateur ne doit jamais modifier le contenu des fichiers du
répertoire JASS_REPOSITORY. Cette opération pourrait endommager le contenu des fichiers et provoquer des erreurs inattendues ou la corruption du système quand vous utilisez la fonction d'annulation.
Quand vous utilisez le logiciel Solaris Security Toolkit pour la sécurisation d'un système, que ce soit en mode JumpStart ou autonome, le logiciel consigne les modifications dans le fichier JASS_REPOSITORY/jass-manifest.txt. Ce fichier
contient la liste des opérations que la fonction undo utilise pour annuler les modifications. Il contient des informations sur les opérations de sécurisation mises en oeuvre par le logiciel Solaris Security Toolkit, y compris les fichiers créés, copiés, déplacés ou supprimés. Par ailleurs, ce fichier peut contenir aussi bien des entrées standard que des entrées personnalisées, qui sont requises pour l’annulation de modifications plus complexes, telles les installations de packages. Un fichier jass-manifest.txt distinct est créé pour chaque sécurisation.
Remarque – La fonction undo du logiciel Solaris Security Toolkit annule uniquement
les modifications qui correspondent à des entrées dans les fichiers globaux.
La commande undo parcourt les fichiers globaux générés pendant l’exécution de Solaris Security Toolkit et stockés dans JASS_REPOSITORY. Elle peut restaurer les fichiers sauvegardés à leurs emplacements d’origine, selon que vous avez utilisez l'option de -b (sauvegarde), -f (forçage) ou -k (conservation). Pour de plus amples informations sur ces options, reportez-vous aux sections suivantes :
« Option de sauvegarde » à la page 73
« Option de forçage » à la page 73
« Option de conservation » à la page 73
Si vous n’avez pas sauvegardé les fichiers pendant la sécurisation, et si la variable JASS_SAVE_BACKUP est définie dans le fichier user.init sur 0 ou si l’option -c est utilisée, la fonction d’annulation n’est pas disponible. Pour de plus amples informations, reportez-vous à la section
modifications du système » à la page 69.
L'annulation d'une modification par Solaris Security Toolkit n'entraîne pas la suppression du répertoire associé. Par contre, deux fichiers sont créés dans le répertoire JASS_REPOSITORY : jass-undo-log.txt et reverse-jass- manifest.txt. Ensuite, la modification qui a été annulée n'apparaît plus dans la
liste à la prochaine exécution de jass-execute -u. Une sécurisation ne peut être
annulée qu'une seule fois.
68 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
« Conditions requises pour l'annulation de

Conditions requises pour l'annulation de modifications du système

L'utilisation de la fonction d'annulation du logiciel Solaris Security Toolkit est soumise aux restrictions et conditions suivantes.
Dans les versions 0.3 à 4.2 de Solaris Security Toolkit, vous avez la possibilité
d’utiliser la fonction d'annulation pour des exécutions en mode autonome ou JumpStart. Toutefois, vous pouvez annuler des modifications uniquement en mode
autonome. La fonction d'annulation ne peut pas être utilisée pendant une installation JumpStart.
Si vous configurez Solaris Security Toolkit afin de ne pas créer de fichiers de
sauvegarde, en mode JumpStart ou autonome, la fonction d'annulation n'est pas disponible. La création de copies de sauvegarde est désactivée si le paramètre JASS_SAVE_BACKUP est défini sur 0.
Une exécution ne peut être annulée qu'une seule fois.
Si vous développez un nouveau script finish, veillez à utiliser les fonctions de
structure de Solaris Security Toolkit. Vous devez créer un script audit correspondant et ajouter des entrées au fichier global à l’aide de la fonction add_to_manifest. Sinon, le logiciel Solaris Security Toolkit n'aura aucun moyen de connaître votre personnalisation.
Ne modifiez en aucun cas le contenu des répertoires JASS_REPOSITORY. La
modification des fichiers peut endommager le contenu et causer des erreurs inattendues ou la corruption du système quand vous utilisez la fonction d'annulation.

Personnalisation de scripts pour l'annulation des modifications

Solaris Security Toolkit dispose d'une structure suffisamment flexible pour la conception et la construction de scripts finish. La structure vous permet d'étendre les capacités du logiciel Solaris Security Toolkit en fonction des besoins de votre organisation, tout en vous facilitant la gestion de la configuration des systèmes pendant leurs cycles de vie.
Chapitre 4 Annulation de modifications du système 69
Lors de la personnalisation de scripts, il est important de comprendre l'effet de chacune des actions sur la fonction d'annulation. Pour simplifier la personnalisation des scripts, des fonctions auxiliaires introduisent les modifications voulues dans les fichiers globaux. (La fonction undo utilise le contenu des fichiers globaux pour annuler les sécurisations). Dans la plupart des cas, ces fonctions auxiliaires fournissent ce dont vous avez besoin pour personnaliser les scripts de votre organisation.
Pour obtenir une liste des fonctions auxiliaires et des informations sur leur utilisation, reportez-vous au manuel Solaris Security Toolkit 4.2 Reference Manual. Utilisez ces fonctions auxiliaires à la place des commandes système équivalentes, afin que les annulations référencent les entrées correspondantes dans les fichiers globaux.
Il peut toutefois arriver qu'aucune fonction auxiliaire ne soit associée à la fonction que vous devez exécuter. Si tel est le cas, utilisez la fonction spéciale appelée add_to_manifest. En utilisant cette fonction, vous pouvez insérer manuellement des entrées dans les fichiers globaux sans faire appel à une fonction auxiliaire. Utilisez cette fonction spéciale avec précaution en veillant à protéger l'intégrité du système et le référentiel de Solaris Security Toolkit. Par exemple, vous pouvez utiliser cette fonction spéciale pour ajouter des packages qui ne sont pas au format pkg de Sun. Dans cet exemple, vous devez indiquer à la fonction undo la méthode de suppression des packages ajoutés sous un autre format lors de la sécurisation.
Avec les fonctions auxiliaires et la fonction spéciale add_to_manifest, le logiciel Solaris Security Toolkit offre un outil simple et flexible pour personnaliser des scripts et étendre les modifications aux annulations.
Si vous modifiez le comportement d’un script finish sans utiliser ces fonctions, le logiciel Solaris Security Toolkit ne pourra pas identifier les modifications apportées. Par conséquent, vous devez annuler manuellement les modifications qui ne sont pas référencées dans les fichiers globaux.
Autre exemple : avant de modifier un fichier sur le système, vous devez d'abord en enregistrer la version originale. Hors du contexte du logiciel Solaris Security Toolkit, les utilisateurs accomplissent généralement cette tâche en exécutant la commande /usr/bin/cp. Toutefois, si vous utilisez directement cette commande dans le contexte du logiciel Solaris Security Toolkit, ce dernier n'a aucun moyen de savoir qu'une entrée globale doit être créée. À la place de la commande cp, utilisez la fonction auxiliaire backup_file. Cette fonction enregistre une copie du fichier original, avec un suffixe de SUFFIXE_JASS et ajoute une entrée globale indiquant au logiciel Solaris Security Toolkit qu'une copie du fichier a été effectuée. Cette fonction entraîne également le calcul des sommes de contrôle du fichier. Les sommes de contrôle du fichier sont utilisées par la fonction d'annulation ainsi que par la commande jass-check-sum.
70 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Contrôle des fichiers modifiés manuellement

Même si la commande jass-execute -u contrôle automatiquement les fichiers qui
ont été modifiés manuellement après une sécurisation, il s’avère parfois utile d'utiliser la commande jass-check-sum pour répertorier et vérifier les fichiers qui
ont été modifiés.
Cette commande vous permet de passer en revue le contenu du répertoire JASS_REPOSITORY et d'effectuer les sommes de contrôle sur tous les fichiers répertoriés dans les fichiers globaux, afin de déterminer les fichiers modifiés depuis
l'enregistrement de leurs sommes de contrôle pendant la sécurisation. Effectué avant une annulation forcée, ce contrôle permet d'obtenir de précieuses informations qui vous éviteront des heures de dépannage inutile.
Ci-dessous, un exemple de sortie.
EXEMPLE DE CODE 4-1 Échantillon de sortie de fichiers modifiés manuellement
# ./jass-check-sum File Name Saved CkSum Current CkSum
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ­/etc/inet/inetd.con 1643619259:6883 2801102257:6879 /etc/logadm.conf 2362963540:1042 640364414:1071 /etc/default/inetd 3677377803:719 2078997873:720
La sortie indique que trois fichiers ont été modifiés après la sécurisation.

Utilisation d'options avec la fonction d'annulation

Cette section décrit la commande jass-execute -u et les options que vous pouvez utiliser pendant l'exécution d'une annulation.
Remarque – Vous ne pouvez pas utiliser les options -c, -d, -a, -h, -l et -H avec
la
fonction d'annulation. Vous devez vous servir de l’option –b, –k ou –f lors d’une annulation en mode silencieux.
Chapitre 4 Annulation de modifications du système 71
La commande jass-execute -u constitue la méthode standard d'exécution d'une annulation. Cette commande détecte automatiquement les fichiers qui ont été
modifiés manuellement depuis la dernière sécurisation. Si le logiciel Solaris Security Toolkit détecte des fichiers modifiés manuellement après une sécurisation, il vous demande de choisir l’une des réponses suivantes :
1. Effectuez une copie de sauvegarde du fichier le plus récent avant de restaurer
l'original (le fichier qui existait avant la sécurisation).
2. Conservez le fichier le plus récent et ne restaurez pas le fichier original.
3. Forcez l'écrasement de tout fichier modifié manuellement (certaines données
pourraient, de ce fait, être perdues) et restaurez le fichier original.
4. Effectuez toujours une copie de sauvegarde du fichier le plus récent avant de
restaurer l'original (le fichier qui existait avant la sécurisation).
5. Conservez toujours le fichier le plus récent et ne restaurez pas le fichier original.
6. Forcez toujours l'écrasement de tout fichier modifié manuellement (certaines
données pourraient, de ce fait, être perdues) et restaurez le fichier original.
Si vous souhaitez définir le traitement par la commande d'annulation des fichiers modifiés depuis la sécurisation, utilisez les options -b (sauvegarde), -k (conservation) ou -f (forçage) lorsque vous exécutez la commande d’annulation.
Le TABLEAU 4-1 contient la liste des options de ligne de commande que vous pouvez utiliser avec la commande d'annulation. Pour de plus amples informations sur chaque option, reportez-vous aux sections ci-après.
TABLEAU 4-1 Utilisation des options de ligne de commande avec la commande d'annulation
Option Description
-b Sauvegarde tout fichier modifié manuellement depuis la dernière sécurisation,
puis restaure le système à son état d'origine.
-f Annule les modifications effectuées pendant une sécurisation sans vous proposer
d'exception, même si les fichiers ont été modifiés manuellement après une sécurisation.
-k Conserve toute modification manuelle apportée aux fichiers après une sécurisation.
-m Envoie la sortie à une adresse e-mail.
-o Dirige la sortie vers un fichier.
-q Empêche l'affichage de la sortie à l'écran. Également appelée « option silencieuse ».
La sortie est stockée dans le fichier JASS_REPOSITORY/jass-undo-log.txt.
-V Spécifie le niveau de verbosité d’une annulation.
72 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Option de sauvegarde

L'option -b sauvegarde automatiquement les fichiers qui ont été modifiés manuellement depuis la dernière sécurisation, puis restaure les fichiers à leur état d'origine avant la sécurisation. Pour mettre en oeuvre les modifications manuelles, vous devez comparer les
fichiers restaurés et les fichiers sauvegardés, et ajuster vous-même les différences. Un
fichier sauvegardé à l’aide de cette option est similaire à l'exemple suivant.
/etc/motd.BACKUP.JASS_SUFFIX

Option de forçage

L'option -f annule les modifications apportées pendant une sécurisation sans aucune exception, même si les fichiers ont été modifiés manuellement après une sécurisation. L'annulation ne compare pas les sommes de contrôle des fichiers enregistrés et les versions actuelles des fichiers. En conséquence, si vous avez modifié des fichiers manuellement après une sécurisation, les modifications sont écrasées et perdues après l'annulation.
Il peut s’avérer nécessaire de mettre de nouveau en oeuvre les modifications manuellement après l'exécution d'une annulation, et d'ajuster les différences entre des groupes de fichiers, en fonction des types de modifications apportées.
Remarque – Pour éviter ces problèmes, utilisez la commande jass-check-sum
ou l'option de ligne de commande -b précédemment citée.

Option de conservation

L'option -k conserve automatiquement toute modification manuelle apportée aux fichiers après une sécurisation au lieu de restaurer les fichiers originaux. L'option -k détecte les incohérences dans les fichiers, génère et consigne un avertissement et n'écrase pas le fichier avec l'original. Les seules modifications annulées sont celles pour lesquelles les sommes de contrôle enregistrées sont correctes.
Cette option n'est pas sans inconvénients. Par exemple, un système peut devenir incohérent si un sous-ensemble de fichiers modifiés par un script finish est modifié ultérieurement.
Chapitre 4 Annulation de modifications du système 73
Prenez le script finish remove-unneeded-accounts.fin. Ce script modifie les fichiers /etc/passwd et /etc/shadow sur le système. Si un utilisateur change manuellement un mot de passe après une sécurisation, la somme de contrôle associée au fichier /etc/shadow ne correspond pas à la valeur enregistrée par le logiciel Solaris Security Toolkit. En conséquence, en cas d'utilisation de l'option de conservation, seul le fichier /etc/passwd retrouve son état d'origine. Le fichier /etc/shadow conserve sa forme actuelle. Les deux fichiers ne sont plus cohérents.

Option de fichier de sortie

L'option -o /chemin/complet/du/fichier_sortie redirige la sortie de console de jass- execute vers un fichier de sortie (fichier-sortie) distinct.
Cette option n'a aucun effet sur les journaux conservés dans le répertoire JASS_REPOSITORY. Elle est particulièrement utile en présence d’une connexion de
terminal bas débit, car une annulation Solaris Security Toolkit génère souvent un
volume significatif de données en sortie.

Option de sortie silencieuse

Remarque – Vous devez vous servir de l’option –b, –k ou –f lors d’une annulation
en mode silencieux.
L'option -q empêche le logiciel Solaris Security Toolkit d’afficher la sortie à l'écran. Cette option n'a aucun effet sur les journaux conservés dans le répertoire JASS_REPOSITORY. Comme l'option -o, cette option est particulièrement utile lorsque le logiciel Solaris Security Toolkit est exécuté via une tâche cron ou une connexion réseau bas débit.

Option de notification par e-mail

L'option -m adresse_email indique au logiciel Solaris Security Toolkit qu’il doit envoyer une copie de l'exécution complète à une adresse e-mail. La notification par e-mail s’ajoute aux journaux générés sur le système à l’aide d'autres options.
74 Guide d'administration de Solaris Security Toolkit 4.2 août 2005

Annulation de modifications du système

Il est parfois nécessaire d'annuler les modifications apportées pendant une ou plusieurs sécurisations Solaris Security Toolkit. Si vous estimez que les modifications apportées pendant une sécurisation ont des conséquences négatives sur le système, vous pouvez les annuler.
Par exemple, si vous découvrez après une sécurisation qu'un service requis, tel que Solaris Volume Manager (SVM), a été désactivé, effectuez les opérations suivantes :
1. Annulez la sécurisation.
2. Créez un pilote personnalisé. Reportez-vous à la section Personnalisation des pilotes du chapitre 4 du manuel
Solaris Security Toolkit 4.2 Reference Manual pour obtenir des instructions sur la personnalisation des pilotes.
3. Activez les services SVM à utiliser à l’aide de la variable d’environnement JASS_SVCS_ENABLE.
Reportez-vous à la section JASS_SVCS_ENABLE du chapitre 7 du Solaris Security Toolkit 4.2 Reference Manual pour obtenir des instructions sur l’utilisation de JASS_SVCS_ENABLE.
4. Recommencez la sécurisation.
Cette section décrit l’annulation des modifications apportées pendant une ou plusieurs sécurisations. L'annulation d’une sécurisation est soumise à certaines restrictions et conditions. Voir
modifications du système » à la page 69.
« Conditions requises pour l'annulation de
Pour annuler une exécution de Solaris Security
Toolkit
1. Sauvegardez et réinitialisez le système.
Sauvegardez et réinitialisez le système avant chaque annulation pour garantir que le système revienne ou puisse revenir à un état connu et à un fonctionnement correct.
2. Déterminez les options que vous voulez utiliser avec la commande jass­execute -u.
Voir « Utilisation d'options avec la fonction d'annulation » à la page 71. Les instructions qui suivent supposent que vous utilisez la commande jass-
execute -u.
Chapitre 4 Annulation de modifications du système 75
3. Pour annuler une ou plusieurs sécurisations à l’aide de l'option standard -u, entrez la commande suivante à partir de JASS_HOME_DIR/bin
# ./jass-execute -u
:
Le logiciel Solaris Security Toolkit collecte des informations sur chaque sécurisation en recherchant tous les fichiers globaux contenus dans JASS_REPOSITORY. Si un fichier global est vide ou absent, le logiciel suppose qu'aucune modification ne doit être annulée et l'annulation de ce fichier est ignorée. De plus, si le répertoire du fichier global contient également un fichier intitulé jass-undo-log.txt, le logiciel suppose que l'annulation a déjà été effectuée et ne l’exécute donc pas. Une fois toutes les informations collectées, les résultats s'affichent. Ci-dessous, un exemple de sortie.
EXEMPLE DE CODE 4-2 Échantillon de sortie de sécurisations pouvant être annulées
# ./jass-execute -u [NOTE] Executing driver, undo.driver Please select a JASS run to restore through:
1. January 24, 2003 at 13:57:27 (/var/opt/SUNWjass/run/20030124135727)
2. January 24, 2003 at 13:44:18 (/var/opt/SUNWjass/run/20030124134418)
3. January 24, 2003 at 13:42:45 (/var/opt/SUNWjass/run/20030124134245)
4. January 24, 2003 at 12:57:30 (/var/opt/SUNWjass/run/20030124125730)
Choice? (‘q’ to exit)?
Dans cet exemple, quatre sécurisations distinctes ont été trouvées. Ces sécurisations ont apporté des modifications au système et n'ont pas été annulées. La liste des sécurisations est toujours présentée par ordre chronologique inverse. La première entrée dans la liste correspond à la sécurisation la plus récente.
4. Vérifiez la sortie pour déterminer les sécurisations à annuler, puis entrez les numéros correspondants.
Pour chaque entrée sélectionnée, le logiciel Solaris Security Toolkit annule chaque sécurisation de numéro d’index égal ou inférieur à la valeur sélectionnée. Ainsi, il annule les modifications dans l'ordre inverse où elles ont été effectuées, en commençant par la sécurisation la plus récente pour terminer par celle que vous avez sélectionnée. En suivant l'exemple précédent, si vous sélectionnez la sécurisation 3, vous annulez d'abord les modifications de la sécurisation 1, puis
celles de la sécurisation 2 et enfin celles de la sécurisation 3.
76 Guide d'administration de Solaris Security Toolkit 4.2 août 2005
Loading...