Ignorer les liens de navigation | |
Quitter l'aperu | |
Procédures de l'administrateur Oracle Solaris Trusted Extensions |
1. Concepts d'administration de Trusted Extensions
2. Outils d'administration de Trusted Extensions
3. Mise en route en tant qu'administrateur Trusted Extensions (tâches)
4. Exigences de sécurité sur un système Trusted Extensions (présentation)
5. Administration des exigences de sécurité dans Trusted Extensions (tâches)
6. Utilisateurs, droits et rôles dans Trusted Extensions (présentation)
7. Gestion des utilisateurs, des droits et des rôles dans Trusted Extensions (tâches)
8. Administration à distance dans Trusted Extensions (tâches)
9. Trusted Extensions et LDAP (présentation)
10. Gestion des zones dans Trusted Extensions (tâches)
Zones et adresses IP dans Trusted Extensions
Zones et ICMP dans Trusted Extensions
Processus de zone globale et zones étiquetées
Utilitaires d'administration des zones dans Trusted Extensions
Gestion des zones (liste des tâches)
Procédure d'affichage des zones prêtes ou en cours d'exécution
Procédure d'affichage des étiquettes de fichiers montés
Procédure de désactivation du montage pour les fichiers de niveau inférieur
Procédure de partage d'un ensemble de données ZFS à partir d'une zone étiquetée
Procédure d'octroi de l'autorisation de modifier l'étiquette de fichiers à un utilisateur
Procédure de configuration d'un port multiniveau pour NFSv3 sur udp
11. Gestion et montage de fichiers dans Trusted Extensions (tâches)
12. Gestion de réseaux de confiance (présentation)
13. Gestion des réseaux dans Trusted Extensions (tâches)
14. Messagerie multiniveau dans Trusted Extensions (présentation)
15. Gestion de l'impression étiquetée (tâches)
16. Périphériques dans Trusted Extensions (présentation)
17. Gestion des périphériques pour Trusted Extensions (tâches)
18. Audit de Trusted Extensions (présentation)
19. Gestion des logiciels dans Trusted Extensions (tâches)
A. Guide de référence rapide pour l'administration de Trusted Extensions
La liste ci-dessous décrit les tâches de gestion des zones qui sont spécifiques à Trusted Extensions. Elle contient également des liens vers des procédures courantes qui s'effectuent de la même manière dans Trusted Extensions que sur un système Oracle Solaris.
|
Cette procédure crée un script de shell qui affiche les étiquettes de la zone active et toutes les zones qu'elle domine.
Avant de commencer
Vous devez être dans le rôle d'administrateur système dans la zone globale.
Pour plus d'informations, reportez-vous à la section Modification des fichiers d'administration dans Trusted Extensions.
Indiquez le nom du chemin d'accès du script, par exemple : /usr/local/scripts/getzonelabels.
#!/bin/sh # echo "NAME\t\tSTATUS\t\tLABEL" echo "====\t\t======\t\t=====" myzone=`zonename` for i in `/usr/sbin/zoneadm list -p` ; do zone=`echo $i | cut -d ":" -f2` status=`echo $i | cut -d ":" -f3` path=`echo $i | cut -d ":" -f4` if [ $zone != global ]; then if [ $myzone = global ]; then path=$path/root/tmp else path=$path/export/home fi fi label=`/usr/bin/getlabel -s $path |cut -d ":" -f2-9` if [ `echo $zone|wc -m` -lt 8 ]; then echo "$zone\t\t$status\t$label" else echo "$zone\t$status\t$label" fi done
# getzonelabels NAME STATUS LABEL ==== ====== ===== global running ADMIN_HIGH needtoknow running CONFIDENTIAL : NEED TO KNOW restricted ready CONFIDENTIAL : RESTRICTED internal running CONFIDENTIAL : INTERNAL public running PUBLIC
Lorsqu'il est exécuté à partir de la zone globale, le script affiche les étiquettes de toutes les zones prêtes ou en cours d'exécution. Vous trouverez ci-dessous le résultat fourni par le script depuis la zone globale pour les zones créées à partir du fichier label_encodings par défaut :
Exemple 10-1 Affichage des étiquettes de toutes les zones prêtes ou en cours d'exécution
Dans l'exemple suivant, un utilisateur exécute le script getzonelabels dans la zone internal.
# getzonelabels NAME STATUS LABEL ==== ====== ===== internal running CONFIDENTIAL : INTERNAL public running PUBLIC
Cette procédure crée un script shell qui affiche les systèmes de fichiers montés de la zone active. Lorsqu'il est exécuté à partir de la zone globale, le script affiche les étiquettes de tous les systèmes de fichiers montés dans chaque zone.
Avant de commencer
Vous devez être dans le rôle d'administrateur système dans la zone globale.
Pour plus d'informations, reportez-vous à la section Modification des fichiers d'administration dans Trusted Extensions.
Indiquez le chemin d'accès du script, par exemple /usr/local/scripts/getmounts.
#!/bin/sh # for i in `/usr/sbin/mount -p | cut -d " " -f3` ; do /usr/bin/getlabel $i done
# /usr/local/scripts/getmounts /: ADMIN_LOW /dev: ADMIN_LOW /kernel: ADMIN_LOW /lib: ADMIN_LOW /opt: ADMIN_LOW /platform: ADMIN_LOW /sbin: ADMIN_LOW /usr: ADMIN_LOW /var/tsol/doors: ADMIN_LOW /zone/needtoknow/export/home: CONFIDENTIAL : NEED TO KNOW /zone/internal/export/home: CONFIDENTIAL : INTERNAL USE ONLY /zone/restricted/export/home: CONFIDENTIAL : RESTRICTED /proc: ADMIN_LOW /system/contract: ADMIN_LOW /etc/svc/volatile: ADMIN_LOW /etc/mnttab: ADMIN_LOW /dev/fd: ADMIN_LOW /tmp: ADMIN_LOW /var/run: ADMIN_LOW /zone/public/export/home: PUBLIC /root: ADMIN_LOW
Exemple 10-2 Affichage des étiquettes de systèmes de fichiers dans la zone restricted
Lorsqu'il est exécuté à partir d'une zone étiquetée par un utilisateur standard, le script getmounts affiche les étiquettes de tous les systèmes de fichiers montés dans cette zone. Sur un système où des zones sont créées pour chaque étiquette du fichier label_encodings par défaut, le résultat de la zone restricted se présente comme suit :
# /usr/local/scripts/getmounts /: CONFIDENTIAL : RESTRICTED /dev: CONFIDENTIAL : RESTRICTED /kernel: ADMIN_LOW /lib: ADMIN_LOW /opt: ADMIN_LOW /platform: ADMIN_LOW /sbin: ADMIN_LOW /usr: ADMIN_LOW /var/tsol/doors: ADMIN_LOW /zone/needtoknow/export/home: CONFIDENTIAL : NEED TO KNOW /zone/internal/export/home: CONFIDENTIAL : INTERNAL USE ONLY /proc: CONFIDENTIAL : RESTRICTED /system/contract: CONFIDENTIAL : RESTRICTED /etc/svc/volatile: CONFIDENTIAL : RESTRICTED /etc/mnttab: CONFIDENTIAL : RESTRICTED /dev/fd: CONFIDENTIAL : RESTRICTED /tmp: CONFIDENTIAL : RESTRICTED /var/run: CONFIDENTIAL : RESTRICTED /zone/public/export/home: PUBLIC /home/gfaden: CONFIDENTIAL : RESTRICTED
Cette procédure permet à un utilisateur dans une zone étiquetée spécifiée de visualiser des fichiers qui, par défaut, ne sont pas exportés depuis la zone globale.
Avant de commencer
Vous devez être dans le rôle d'administrateur système dans la zone globale.
# zoneadm -z zone-name halt
Par exemple, autorisez les utilisateurs ordinaires à afficher un fichier dans le répertoire /etc.
# zonecfg -z zone-name add filesystem set special=/etc/filename set directory=/etc/filename set type=lofs add options [ro,nodevices,nosetuid] end exit
Remarque - Certains fichiers ne sont pas utilisés par le système, leur montage en loopback est donc sans effet. Par exemple, le fichier /etc/dfs/dfstab d'une zone étiquetée n'est pas contrôlé par le logiciel Trusted Extensions. Pour plus d'informations, reportez-vous à la section Partage de fichiers à partir d'une zone étiquetée.
# zoneadm -z zone-name boot
Exemple 10-3 Montage en loopback du fichier /etc/passwd
Dans cet exemple, l'administrateur de sécurité souhaite permettre aux testeurs et aux programmeurs de vérifier que leurs mots de passe locaux sont définis. Une fois qu'elle a été arrêtée, la zone sandbox est configurée de manière à monter en loopback le fichier passwd. Ensuite, la zone est redémarrée.
# zoneadm -z sandbox halt # zonecfg -z sandbox add filesystem set special=/etc/passwd set directory=/etc/passwd set type=lofs add options [ro,nodevices,nosetuid] end exit # zoneadm -z sandbox boot
Par défaut, les utilisateurs peuvent visualiser les fichiers de niveau inférieur. Supprimez le privilège net_mac_aware pour empêcher l'affichage de tous les fichiers de niveau inférieur depuis une zone particulière. Pour une description du privilège net_mac_aware, reportez-vous à la page de manuel privileges(5).
Avant de commencer
Vous devez être dans le rôle d'administrateur système dans la zone globale.
# zoneadm -z zone-name halt
Supprimez le privilège net_mac_aware de la zone.
# zonecfg -z zone-name set limitpriv=default,!net_mac_aware exit
# zoneadm -z zone-name boot
Exemple 10-4 Désactivation de la visualisation par les utilisateurs des fichiers de niveau inférieur
Dans cet exemple, l'administrateur de sécurité souhaite éviter toute confusion aux utilisateurs d'un système. Les utilisateurs ne doivent donc pouvoir visualiser que les fichiers correspondant à l'étiquette à laquelle ils travaillent. Pour ce faire, l'administrateur de sécurité empêche la visualisation de tous les fichiers de niveau inférieur. Sur ce système, les utilisateurs ne peuvent pas voir les fichiers mis à la disposition du public, à moins qu'ils ne travaillent sous l'étiquette PUBLIC. En outre, les utilisateurs peuvent uniquement monter des fichiers via NFS sous l'étiquette des zones.
# zoneadm -z restricted halt # zonecfg -z restricted set limitpriv=default,!net_mac_aware exit # zoneadm -z restricted boot
# zoneadm -z needtoknow halt # zonecfg -z needtoknow set limitpriv=default,!net_mac_aware exit # zoneadm -z needtoknow boot
# zoneadm -z internal halt # zonecfg -z internal set limitpriv=default,!net_mac_aware exit # zoneadm -z internal boot
Étant donné que PUBLIC est l'étiquette la plus basse, l'administrateur de sécurité n'exécute pas les commandes pour la zone PUBLIC.
Dans le cadre de cette procédure, vous montez un ensemble de données ZFS avec autorisations en lecture/écriture dans une zone étiquetée. Toutes les commandes étant exécutées dans la zone globale, l'administrateur de la zone globale contrôle l'ajout d'ensembles de données ZFS à des zones étiquetées.
L'état de la zone étiquetée doit être au minimum prêt pour qu'elle puisse partager un ensemble de données. L'état de la zone peut être en cours d'exécution.
Avant de commencer
Pour configurer la zone avec l'ensemble de données, vous devez d'abord arrêter la zone.
# zfs create datasetdir/subdir
Le nom de l'ensemble de données peut inclure un répertoire, par exemple zone/data.
# zoneadm -z labeled-zone-name halt
# zfs set mountpoint=legacy datasetdir/subdir
Le paramétrage de la propriété mountpoint ZFS définit l'étiquette du point de montage lorsque celui-ci correspond à une zone étiquetée.
# zonecfg -z labeled-zone-name # zonecfg:labeled-zone-name> add fs # zonecfg:labeled-zone-name:dataset> set dir=/subdir # zonecfg:labeled-zone-name:dataset> set special=datasetdir/subdir # zonecfg:labeled-zone-name:dataset> set type=zfs # zonecfg:labeled-zone-name:dataset> end # zonecfg:labeled-zone-name> exit
Lorsque vous ajoutez l'ensemble de données en tant que système de fichiers, l'ensemble de données est monté dans la zone au niveau /data, avant que le fichier dfstab ne soit interprété. Cette étape permet de s'assurer que l'ensemble de données n'est pas monté avant que la zone ne soit démarrée. Plus précisément, la zone est démarrée, l'ensemble de données est monté, puis le fichier dfstab est interprété.
Ajoutez une entrée au système de fichiers de l'ensemble de données dans le fichier /zone/labeled-zone-name/etc/dfs/dfstab. Cette entrée utilise également le nom de chemin /subdir.
share -F nfs -d "dataset-comment" /subdir
# zoneadm -z labeled-zone-name boot
Lorsque la zone est démarrée, l'ensemble de données est automatiquement monté en tant que point de montage en lecture/écriture dans la zone labeled-zone-name avec l'étiquette de la zone labeled-zone-name.
Exemple 10-5 Partage et montage d'un ensemble de données ZFS à partir de zones étiquetées
Dans cet exemple, l'administrateur ajoute un ensemble de données ZFS à la zone needtoknow et partage l'ensemble de données. L'ensemble de données, zone/data est actuellement assigné au point de montage /mnt. Les utilisateurs de la zone restricted peuvent consulter l'ensemble de données.
Tout d'abord, l'administrateur arrête la zone.
# zoneadm -z needtoknow halt
Étant donné que l'ensemble de données est actuellement assigné à un autre point de montage, l'administrateur supprime l'assignation précédente, puis définit le nouveau point de montage.
# zfs set zoned=off zone/data # zfs set mountpoint=legacy zone/data
Puis, dans les interfaces interactives zonecfg, l'administrateur ajoute explicitement l'ensemble de données à la zone needtoknow.
# zonecfg -z needtoknow # zonecfg:needtoknow> add fs # zonecfg:needtoknow:dataset> set dir=/data # zonecfg:needtoknow:dataset> set special=zone/data # zonecfg:needtoknow:dataset> set type=zfs # zonecfg:needtoknow:dataset> end # zonecfg:needtoknow> exit
Il modifie ensuite le fichier /zone/needtoknow/etc/dfs/dfstab afin de partager l'ensemble de données et démarre la zone needtoknow.
## Global zone dfstab file for needtoknow zone share -F nfs -d "App Data on ZFS" /data
# zoneadm -z needtoknow boot
L'ensemble de données est désormais accessible.
Les utilisateurs de la zone restricted qui domine la zone needtoknow peuvent afficher l'ensemble de données monté en basculant dans le répertoire /data. Du point de vue de la zone globale, ils utilisent le chemin complet de l'ensemble de données monté. Dans cet exemple, machine1 est le nom d'hôte du système qui inclut la zone étiquetée. L'administrateur a assigné ce nom d'hôte à une adresse IP non partagée.
# cd /net/machine1/zone/needtoknow/root/data
Erreurs fréquentes
Si la tentative d'accès à l'ensemble de données depuis l'étiquette de niveau supérieur renvoie l'erreur not found (introuvable) ou No such file or directory (Fichier ou répertoire introuvable), l'administrateur doit redémarrer le service de montage automatique à l'aide de la commande svcadm restart autofs.
Cette procédure est indispensable pour permettre à un utilisateur de modifier l'étiquette de fichiers.
Avant de commencer
Vous devez être dans le rôle d'administrateur de sécurité dans la zone globale.
# zoneadm -z zone-name halt
Ajoutez les privilèges appropriés à la zone. Les privilèges windows permettent aux utilisateurs d'effectuer des opérations de glisser-déposer et de couper-coller.
# zonecfg -z zone-name set limitpriv=default,win_dac_read,win_mac_read,win_dac_write, win_mac_write,win_selection,file_downgrade_sl exit
# zonecfg -z zone-name set limitpriv=default,win_dac_read,win_mac_read,win_dac_write, win_mac_write,win_selection,sys_trans_label,file_upgrade_sl exit
# zonecfg -z zone-name set limitpriv=default,win_dac_read,win_mac_read,win_dac_write, win_mac_write,win_selection,sys_trans_label,file_downgrade_sl, file_upgrade_sl exit
# zoneadm -z zone-name boot
Pour connaître les conditions à remplir par l'utilisateur et les processus, reportez-vous à la page de manuel setflabel(3TSOL). Pour autoriser un utilisateur à modifier l'étiquette de fichiers, reportez-vous à la section Procédure d'octroi de l'autorisation de modifier le niveau de sécurité de données à un utilisateur.
Exemple 10-6 Octroi de l'autorisation de mettre à niveau à partir de la zone internal
Dans cet exemple, l'administrateur de sécurité souhaite permettre aux utilisateurs autorisés d'un système de mettre à niveau des fichiers. En permettant aux utilisateurs de mettre à niveau des informations, l'administrateur leur permet de protéger les informations à l'aide d'un niveau de sécurité plus élevé. Dans la zone globale, l'administrateur exécute les commandes d'administration de zone suivantes.
# zoneadm -z internal halt # zonecfg -z internal set limitpriv=default,sys_trans_label,file_upgrade_sl exit # zoneadm -z internal boot
Les utilisateurs autorisés peuvent à présent mettre à niveau des informations internal en restricted à partir de la zone internal.
Exemple 10-7 Octroi de l'autorisation de rétrograder à partir de la zone restricted
Dans cet exemple, l'administrateur de sécurité souhaite permettre aux utilisateurs autorisés d'un système de rétrograder des fichiers. Étant donné que l'administrateur n'ajoute pas de privilèges windows à la zone, les utilisateurs autorisés ne peuvent pas utiliser le gestionnaire de fichiers (File Manager) pour modifier l'étiquette de fichiers. Pour modifier l'étiquette de fichiers, les utilisateurs utilisent la commande setlabel.
En permettant aux utilisateurs de rétrograder des informations, l'administrateur autorise les utilisateurs dont le niveau de sécurité est inférieur à accéder aux fichiers. Dans la zone globale, l'administrateur exécute les commandes d'administration de zone suivantes.
# zoneadm -z restricted halt # zonecfg -z restricted set limitpriv=default,file_downgrade_sl exit # zoneadm -z restricted boot
Les utilisateurs autorisés peuvent à présent rétrograder des informations restricted en internal ou public à l'aide de la commande setlabel à partir de la zone restricted.
Cette procédure est utilisée pour activer les montages "read-down" NFSv3 sur udp. Le MLP est ajouté à l'aide de la Console de gestion Solaris.
Avant de commencer
Vous devez être dans le rôle d'administrateur de sécurité dans la zone globale.
Pour plus d'informations, reportez-vous à la section Administration du système local avec Console de gestion Solaris .
Le titre de la boîte à outils inclut Scope=Files, Policy=TSOL.
# tnctl -fz /etc/security/tsol/tnzonecfg
Cette procédure est utilisée lorsqu'une application exécutée dans une zone étiquetée nécessite un port multiniveau (MLP) pour communiquer avec la zone. Dans cette procédure, un proxy Web communique avec la zone. Le MLP est ajouté à l'aide de la Console de gestion Solaris.
Avant de commencer
Vous devez être dans le rôle d'administrateur de sécurité dans la zone globale. La zone étiquetée doit exister. Pour plus d'informations, reportez-vous à la section Création de zones étiquetées du Guide de configuration d’Oracle Solaris Trusted Extensions.
Pour plus d'informations, reportez-vous à la section Administration du système local avec Console de gestion Solaris .
Le titre de la boîte à outils inclut Scope=Files, Policy=TSOL.
Cliquez sur le menu Action et sélectionnez Add Template (Ajouter un modèle).
# zoneadm -z zone-name boot
Par exemple, si les zones ont une adresse IP partagée, effectuez les opérations suivantes :
# route add proxy labeled-zones-IP-address # route add webservice labeled-zones-IP-address