Configuration et administration de Trusted Extensions

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Débogage du réseau Trusted Extensions

Pour déboguer deux hôtes censés communiquer mais qui ne le font pas, vous pouvez utiliser les outils de débogage Trusted Extensions et Oracle Solaris. Par exemple, vous pouvez utiliser des commandes de débogage du réseau d'Oracle Solaris telles que snoop et netstat. Pour plus d'informations, reportez-vous aux pages de manuel snoop(1M) et netstat(1M). Pour les commandes spécifiques à Trusted Extensions, reportez-vous à l'Appendix D, Liste des pages de manuel Trusted Extensions.

Avant de commencer

Vous devez accéder à la zone globale dans un rôle habilité à vérifier les valeurs d'attribut du réseau. Les rôles d'administrateur de sécurité et d'administrateur système sont habilités à vérifier ces valeurs. Seul le rôle root est habilité à modifier ces fichiers.

  1. Vérifiez que les hôtes qui ne parviennent pas à communiquer utilisent le même service de noms.
    1. Sur chaque système, vérifiez les valeurs des bases de données Trusted Extensions dans le service name-service/switch.
      # svccfg -s name-service/switch listprop config
      config/value_authorization  astring  solaris.smf.value.name-service.switch
      config/default              astring  ldap
      ...
      config/tnrhtp               astring  "files ldap"
      config/tnrhdb               astring  "files ldap"
    2. Si les valeurs sont différentes en fonction des hôtes, corrigez les valeurs sur les hôtes concernés.
      # svccfg -s name-service/switch setprop config/tnrhtp="files ldap"
      # svccfg -s name-service/switch setprop config/tnrhdb="files ldap"
    3. Ensuite, redémarrez le démon du service de noms sur ces hôtes.
      # svcadm restart name-service/switch
  2. Assurez-vous que chaque hôte est défini correctement en affichant les attributs de sécurité pour la source, la destination et les hôtes de passerelle dans la transmission.

    Utilisez la ligne de commande pour vérifier que les informations de réseau sont correctes. Vérifiez que l'affectation sur chaque hôte correspond à l'affectation sur les autres hôtes du réseau. Selon la vue que vous souhaitez, utilisez la commande tncfg, la commande tninfo ou l'interface graphique txzonemgr.

    • Affichage d'une définition de modèle.

      La commande tninfo -t affiche les étiquettes dans la chaîne et le format hexadécimal.

      # tninfo -t template-name
      template: template-name
      host_type: one of cipso or UNLABELED
      doi: 1
      min_sl: minimum-label
      hex: minimum-hex-label
      max_sl: maximum-label
      hex: maximum-hex-label
    • Affichage d'un modèle et des hôtes qui lui sont affectés.

      La commande tncfg -t affiche les étiquettes au format d'une chaîne de caractères et répertorie les hôtes affectés.

      # tncfg -t template info
      name=<template-name>
      host_type=<one of cipso or unlabeled>
      doi=1
      min_label=<minimum-label>
      max_label=<maximum-label>
      host=127.0.0.1/32       /** Localhost **/
      host=192.168.1.2/32     /** LDAP server **/
      host=192.168.1.22/32    /** Gateway to LDAP server **/
      host=192.168.113.0/24   /** Additional network **/
      host=192.168.113.100/25      /** Additional network **/
      host=2001:a08:3903:200::0/56/** Additional network **/
    • Affichage de l'adresse IP et du modèle de sécurité affecté pour un hôte spécifique.

      La commande tninfo -h affiche l'adresse IP de l'hôte spécifié et le nom du modèle de sécurité qui lui est assigné.

      # tninfo -h hostname
      IP Address: IP-address
      Template: template-name

      La commande tncfg get host= affiche le nom du modèle de sécurité qui définit l'hôte spécifié.

      # tncfg get host=hostname|IP-address[/prefix]
      template-name
    • Affichage des ports multiniveau (MLP) pour une zone.

      La commande tncfg -z répertorie un MLP par ligne.

      # tncfg -z zone-name info [mlp_private | mlp_shared]
      mlp_private=<port/protocol-that-is-specific-to-this-zone-only>
      mlp_shared=<port/protocol-that-the-zone-shares-with-other-zones>

      La commande tninfo -m répertorie les MLP privés sur une ligne et les MLP partagés sur une seconde ligne. Les MLP sont séparés par des points-virgules.

      # tninfo -m zone-name
      private: ports-that-are-specific-to-this-zone-only
      shared: ports-that-the-zone-shares-with-other-zones

      Pour afficher l'interface graphique des MLP, utilisez la commande txzonemgr. Double-cliquez sur la zone, puis sélectionnez Configure Multilevel Ports (Configurer des ports multiniveau).

  3. Corrigez les informations erronées.
    1. Pour modifier ou vérifier les informations de sécurité réseau, utilisez les commandes d'administration du réseau de confiance, tncfg et txzonemgr. Pour vérifier la syntaxe des bases de données, utilisez la commande tnchkdb.

      Par exemple, la sortie suivante indique qu'un nom de modèle, internal_cipso, n'est pas défini :

      # tnchkdb
      checking /etc/security/tsol/tnrhtp ...
      checking /etc/security/tsol/tnrhdb ...
      tnchkdb: unknown template name: internal_cipso at line 49
      tnchkdb: unknown template name: internal_cipso at line 50
      tnchkdb: unknown template name: internal_cipso at line 51
      checking /etc/security/tsol/tnzonecfg ...

      L'erreur indique que les commandes tncfg et txzonemgr n'ont pas été utilisées pour créer et assigner le modèle de sécurité internal_cipso.

      Pour réparer et remplacer le fichier tnrhdb avec le fichier d'origine, utilisez la commande tncfg pour créer et affecter des modèles de sécurité.

    2. Pour vider la mémoire cache du noyau, réinitialisez le système.

      Pendant l'initialisation, des informations de base de données sont inscrites dans le cache. Le service SMF (name-service/switch) détermine si des bases de données locales ou LDAP sont utilisées pour remplir le noyau.

  4. Collectez des informations de transmission pour assister le débogage.
    1. Contrôlez votre configuration de routage.
      # route get [ip] -secattr sl=label,doi=integer

      Pour plus d'informations, reportez-vous à la page de manuel route(1M).

    2. Visualisez les informations d'étiquette dans les paquets.
      # snoop -v

      L'option–v affiche les détails des en-têtes de paquets, notamment les informations d'étiquette. Etant donné que cette commande fournit un grand nombre de détails, vous pouvez avoir intérêt à limiter le nombre de paquets examinés par la commande. Pour plus d'informations, reportez-vous à la page de manuel snoop(1M).

    3. Visualisez les entrées de la table de routage et les attributs de sécurité sur des sockets.
      # netstat -aR

      L'option –aR affiche les attributs de sécurité étendus des sockets.

      # netstat -rR

      L'option –rR affiche les entrées de la table de routage. Pour plus d'informations, reportez-vous à la page de manuel netstat(1M).