Commande tcbck

Objectif

Contrôle l'état de sécurité du système.

Syntaxe

Mode de vérification

tcbck { -n | -p | -t| -y } [ -i ] [-o] { TOUS | arborescence | { Nom ... Classe ... } }

Mode de mise à jour

tcbck -a -f Fichier | PathName Attribut = Valeur ...

OR

tcbck -d -fFichier | { Chemin d'accès ... | Classe ... }

OR

tcbck -l /dev/nom_fichier /dev/nom_fichier

Statut de sortie

Cette commande renvoie les valeurs de sortie suivantes :
0
Les fichiers de définition d'utilisateur sont appropriés.
>0
Une erreur s'est produite ou une erreur s'est produite dans un ou plusieurs fichiers de définition d'utilisateur.
Les codes d'erreur suivants sont renvoyés:
EINVAL (22)
Arguments de ligne de commande non valides
ENORL (2)
Un ou plusieurs fichiers de définition d'utilisateur n'existent pas
ENTRUST (114)
Erreurs dans les définitions d'utilisateur dans les fichiers de base de données

Descriptif

La commande tcbck audite l'état de sécurité du système en vérifiant l'installation des fichiers définis dans le fichier /etc/security/sysck.cfg (lesysckbase de données). Chaque définition de fichier dans le fichier /etc/security/sysck.cfg peut inclure un ou plusieurs attributs décrivant l'installation appropriée. Lorsqu'elle est appelée sans indicateur et sans paramètre, la commande tcbck imprime un synopsis de sa syntaxe.

:NONE.tcbckHabituellement, la base de données définit tous les fichiers et programmes qui font partie de la base de calcul sécurisée, mais l'utilisateur root ou un membre du groupe de sécurité peut choisir de définir uniquement les fichiers considérés comme présentant un intérêt pour la sécurité.

Remarque: Cette commande écrit ses messages dans stderr.

Indicateurs

Article Descriptif
-a Ajoute ou met à jour des définitions de fichier dans lesysckdans la base de données.
-d Supprime des définitions de fichier de lasysckdans la base de données.
-f Fichier Indique que les définitions de fichier doivent être lues à partir de Fichier.
-i Exclut les systèmes de fichiers sous les répertoires répertoriés dans l'attribut treeck_nodir lorsque l'option tree est spécifiée.
-l (L minuscule) Ajoute des entrées au fichier sysck.cfg pour les fichiers /dev/ que l'administrateur souhaite enregistrer auprès de Trusted Computing Base.
-n Indique le mode de vérification et indique que les erreurs doivent être signalées, mais pas corrigées.
-o Ecrit la sortie dans syslog.
-P Indique le mode de vérification et indique que les erreurs doivent être corrigées, mais pas signalées.
-t Indique le mode de vérification et indique que les erreurs doivent être signalées avec une invite demandant si l'erreur doit être corrigée.
-y Indique le mode de vérification et indique que les erreurs doivent être corrigées et signalées.

Modes de fonctionnement

La commande tcbck dispose de deux modes de fonctionnement: le mode de vérification et le mode de mise à jour. Vous trouverez ci-après une description de chaque mode.

Mode de vérification

En mode vérification, la commande tcbck vérifie les définitions de fichier par rapport aux fichiers installés. Vous pouvez vérifier toutes les définitions de fichier dans lesysckbase de données (fichier /etc/security/sysck.cfg ) en spécifiant la valeur ALL ou tous les fichiers de l'arborescence du système de fichiers en spécifiant la valeur tree . Si vous préférez vérifier des fichiers spécifiques, vous pouvez utiliser le paramètre Nom pour donner les noms de chemin des fichiers individuels ou le paramètre Classe pour regrouper plusieurs fichiers dans un groupe logique défini par un nom de classe, tel que l'audit. Vous devez sélectionner l'une des valeurs suivantes: ALL ou tree , ou un ou plusieurs fichiers identifiés par le paramètre Class ou Name .

Si la valeur tree est le critère de sélection, tous les fichiers de l'arborescence du système de fichiers sont vérifiés pour s'assurer que tous les fichiers appropriés sont définis dans lesysckdans la base de données. Fichiers définis dans letcbcksont vérifiées par rapport à leurs définitions. Fichiers ne figurant pas dans letcbckLa base de données ne doit pas:

  • L'attribut trusted computing base doit être défini.
  • Soyez setuid ou setgid avec un ID administrateur.
  • être lié à un fichier dans letcbckdans la base de données.
  • Soyez un fichier spécial d'unité.

Si la commande tcbck s'exécute en mode de vérification avec à la fois la valeur tree et l'indicateur -t et qu'une erreur se produit, la commande fournit un message d'erreur et vous invite à décider comment ou si l'erreur doit être corrigée. Si vous décidez de ne pas supprimer le fichier ou de désactiver les droits d'accès non autorisés, vous êtes invité à prendre une décision sur la mise à jour de la base de données. Si vous demandez une mise à jour, le système fournit des informations manquantes, telles que le nom du fichier, le lien ou le nom de l'unité non enregistrée.

Un indicateur ( -n, -p, -t, -y ) doivent également être inclus pour spécifier le mode de vérification et identifier la méthode de traitement des erreurs. S'il existe une strophe en double dans le fichier /etc/security/sysck.cfg , une erreur est signalée, mais elle n'est pas corrigée.

La mise à jour des données techniques essentielles (VPD) implique la définition des attributs type, checksumet size de chaque fichier dans le gestionnaire de données techniques essentielles (VPD). Ces informations sont utilisées pour vérifier une installation correcte. Si ces attributs ne sont pas définis dans -f Fichier, ils sont calculés lors de l'installation ou de la mise à jour du programme. L'attribut checksum est calculé avec une méthode spécifiquement définie pour le gestionnaire de données techniques essentielles (VPD). Pour plus d'informations sur les attributs de fichier, voir Correction des erreurs .

Les seules définitions de fichier modifiées lors d'une mise à jour sont les nouvelles définitions qui indiquent qu'un fichier fait partie de la base de calcul sécurisée (TCB). Le paramètre Fichier est le fichier de strophe qui contient les définitions de fichier au format tcbck et qui est défini dans le fichier /etc/security/sysck.cfg . Une fois la mise à jour terminée, les fichiers sont vérifiés par rapport à leurs définitions de fichier dans le fichier de strophes et les erreurs sont corrigées et signalées.

Les programmes qui requièrent le privilège setuid ou setgid doivent se trouver dans letcbckou ces privilèges seront effacés lorsque la commande tcbck s'exécutera en mode Vérification.

Mode de mise à jour

En mode mise à jour, la commande tcbck ajoute (-a), supprime (-d) ou modifie les définitions de fichier dans le fichier /etc/security/sysck.cfg pour le fichier spécifié par le paramètre File , le paramètre PathName ou le paramètre Class . Le paramètre Classe vous permet de regrouper plusieurs fichiers dans un groupe logique défini par un nom de classe, tel que l'audit. La commande tcbck supprime également les strophes spécifiées du fichier /etc/security/sysck.cfg .

En mode mise à jour, la commande tcbck (-l) ajoute ou modifie les définitions d'entrée /dev/ dans le fichier /etc/security/sysck.cfg pour l'entrée /dev spécifiée. Cet indicateur doit être exécuté par l'administrateur pour ajouter au fichier sysck.cfg les unités nouvellement créées qui sont dignes de confiance. Si de nouvelles unités ne sont pas ajoutées au fichier sysck.cfg , l'option d'arborescence génère des avertissements pour les unités non enregistrées.

L'indicateur -l crée une strophe pour chaque entrée /dev/ répertoriée sur la ligne de commande. Les informations de la strophe sont extraites du statut en cours de l'entrée /dev . La strophe inclut:

Nom de l'unité Nom d'entrée /dev/
Type de fichier FILE, DIRECTORY, FIFO, SYMLINK, BLK_DEV, CHAR_DEVou MPX_DEV
ID du propriétaire Nom du propriétaire
ID groupe Nom du groupe
Autorisations Droits de lecture / écriture/exécution pour le propriétaire, le groupe et autres. SUID, SGID, SVTX et bits d'attribut TCB
Cible Si le fichier est un lien symbolique, le fichier cible est répertorié.

Les définitions de fichier à ajouter ou à modifier à l'aide de l'indicateur -a peuvent être spécifiées sur la ligne de commande ou dans un fichier en tant qu'instructions Attribute=Value . Les attributs suivants peuvent être utilisés:

Article Descriptif
acl Liste de contrôle d'accès du fichier. Si la valeur est vide, l'attribut acl est supprimé. Si aucune valeur n'est spécifiée, la commande calcule une valeur selon le format décrit dans les listes de contrôle d'accès.
class Groupe logique du fichier. Une valeur doit être spécifiée car elle ne peut pas être calculée. Si la valeur est blank, l'attribut class est supprimé de la strophe de fichier spécifiée. La valeur est ClassName [ClassName].
Total de contrôle Total de contrôle du fichier. Si la valeur est vide, l'attribut checksum est supprimé. Si aucune valeur n'est spécifiée, la commande calcule une valeur en fonction du format indiqué dans la commande sum . La valeur est la sortie de la commande sum -r, espaces compris.
group Groupe de fichiers. Si la valeur est vide, l'attribut group est supprimé. Si aucune valeur n'est spécifiée, la commande calcule une valeur, qui peut être un ID groupe ou un nom de groupe.
links Liens fixes vers ce fichier. Si la valeur est vide, l'attribut links est supprimé. Une valeur doit être spécifiée car elle ne peut pas être calculée. La valeur doit être un nom de chemin absolu, exprimé sous la forme Chemin [,Chemin ... ].
Mode Mode Fichier. Si la valeur est vide, l'attribut mode est supprimé. Si aucune valeur n'est spécifiée, la commande calcule une valeur, qui peut être un nombre octal ou une chaîne (rwx), et a pour valeur tcb, SUID, SGID, et les attributs SVTX .
Propriétaire Propriétaire du fichier. Si la valeur est vide, l'attribut owner est supprimé. Si aucune valeur n'est spécifiée, la commande calcule une valeur, qui peut être un ID utilisateur ou un nom d'utilisateur.
Programme Programme de vérification associé pour le fichier. Si la valeur est vide, l'attribut program est supprimé. Une valeur doit être spécifiée car elle ne peut pas être calculée. La valeur doit être un nom de chemin absolu. Si des indicateurs sont spécifiés, la valeur doit être exprimée sous la forme Chemin, Indicateur.
symlinks Liens symboliques vers le fichier. Si la valeur est vide, l'attribut symlinks est supprimé. Une valeur doit être spécifiée car elle ne peut pas être calculée. La valeur doit être un nom de chemin absolu, exprimé sous la forme Chemin [,Chemin.. ].
Taille Taille du fichier en octets. Si la valeur est vide, l'attribut size est supprimé. Si aucune valeur n'est spécifiée, la commande calcule une valeur. La valeur est un nombre décimal.
Source Source du fichier. Si la valeur est vide, l'attribut source est supprimé. Si aucune valeur n'est spécifiée, un fichier vide du type approprié est créé. La valeur doit être un nom de chemin absolu.
type Type du fichier. Cette valeur ne peut pas être vide. Si aucune valeur n'est spécifiée, la commande calcule une valeur, qui peut être FILE, DIRECTORY, FIFO, BLK_DEV, CHAR_DEV, ou MPX_DEV .

Vous pouvez ajouter, supprimer ou modifier les attributs de la commande tcbck en créant ou en modifiant une strophe sysck dans le fichier /etc/security/sysck.cfg . Les attributs suivants peuvent être utilisés:

Article Descriptif
Total de contrôle Une autre commande de total de contrôle permet de calculer la valeur de total de contrôle des fichiers. Le système ajoute le nom de chaque fichier à la commande. Si la valeur est vide, cet attribut checksum de remplacement est supprimé. La valeur est la chaîne de commande à exécuter sur chaque fichier. La chaîne par défaut est /usr/bin/sum -r <.
setgids Liste supplémentaire de groupes d'administration à vérifier pour les programmes setgid qui ne sont pas valides (groupes dont les numéros d'ID sont supérieurs à 200). Si la valeur est blank, l'attribut setgids est supprimé. La valeur est une liste de noms de groupe séparés par des virgules.
setuids Liste supplémentaire des administrateurs à vérifier pour les programmes setuid qui ne sont pas valides (utilisateurs avec des numéros d'ID supérieurs à 200). Si la valeur est vide, l'attribut setuids est supprimé. La valeur est une liste de noms d'utilisateur séparés par des virgules.
rép_no_arborescence Liste des répertoires à exclure de la vérification par la commande tcbck . Si la valeur est vide, l'attribut treeck_nodir est supprimé. La valeur est une liste de répertoires séparés par des virgules. Les systèmes de fichiers qui existent sous les répertoires contenus dans cet attribut ne sont pas exclus. Utilisez l'indicateur -i pour exclure ces systèmes de fichiers.

Utilisez cette option uniquement lorsque l'option tree est spécifiée.

treeck_novfs Liste des systèmes de fichiers à exclure de la vérification par la commande tcbck lors de la vérification d'une arborescence de système de fichiers installée. Si la valeur est blank, l'attribut treeck_novfs est supprimé. La valeur est une liste de systèmes de fichiers séparés par des virgules.

Utilisez cette option uniquement lorsque l'option tree est spécifiée.

Pour plus d'informations sur ces attributs, consultez le fichier /etc/security/sysck.cfg et Exemples pour obtenir des informations sur une strophe standard.

Si des attributs sont inclus sans valeurs, la commande tente de calculer la valeur à partir du fichier à modifier. L'attribut type est obligatoire, mais les autres n'ont pas besoin d'être spécifiés.

Correction des erreurs

Pour corriger les erreurs, la commande tcbck réinitialise généralement l'attribut à la valeur définie. Pour les attributs suivants, la commande modifie ses actions comme décrit:

Article Descriptif
Total de contrôle Désactive le fichier en effaçant sa liste de contrôle d'accès, mais n'arrête aucune autre vérification.
links Crée des liens fixes manquants. S'il existe un lien vers un autre fichier, le lien est supprimé.
Programme Appelle le programme, qui doit exister et avoir un nom de chemin d'accès absolu. Un message s'affiche si une erreur se produit, mais aucune action supplémentaire n'est effectuée.
Taille Désactive le fichier en effaçant sa liste de contrôle d'accès, mais n'arrête aucune autre vérification.
Source Copie le fichier source dans le fichier identifié par le paramètre Fichier . Si la source est null, tout fichier existant est supprimé et un fichier du type correct est créé.
symlinks Crée les liens symboliques manquants. S'il existe un lien vers un autre fichier, le lien est supprimé.
type Désactive le fichier en effaçant sa liste de contrôle d'accès et arrête toute autre vérification.

Si vous avez utilisé l'indicateur -t avec la commande tcbck , vous êtes invité à prendre une décision sur la correction des erreurs. Si vous répondezyes, les erreurs sont corrigées. Si vous donnez une autre réponse, les erreurs ne seront pas corrigées.

Security

Contrôle d'accès: cette commande accorde l'accès execute (x) uniquement à l'utilisateur root et aux membres du groupe de sécurité. La commande doit être setuid pour l'utilisateur root et disposer de l'attribut trusted computing base .

Fichiers accédés :

aff Fichier
R /etc/passwd
R /etc/group
R /etc/security/user
Rw /etc/security/sysck.cfg
x /usr/bin/aclget
x /usr/bin/aclput
x /usr/bin/sum

Evénements d'audit :

Evénement Informations
TCBCK_Vérifier fichier, erreur, statut
Mise à jour TCBCK_mise à jour fichier, fonction

Exemples

  1. Pour ajouter le fichier /bin/boo avec acl, checksum, class, Les attributs group, owneret program dutcbckbase de données, type:
    tcbck -a /bin/boo acl checksum class=audit group owner\
    program=/bin/boock
    La section résultante contiendra les attributs donnés précédemment, avec des valeurs calculées insérées pour les attributs que vous ne définissez pas. La base de données contiendra une section similaire à la suivante:
    /bin/boo:
           acl = 
           checksum = 48235
           class = audit
           group = system
           owner = root
           program = /bin/boock
           type = FILE          
    Les valeurs d'attribut sont ajoutées à la définition d'installation, mais leur exactitude n'est pas vérifiée. La valeur de l'attribut program provient de la ligne de commande, la valeur de l'attribut checksum est calculée avec le programme checksum et toutes les autres, saufacl, sont calculés à partir de l'i-node de fichier.
  2. Pour indiquer que la taille d'un fichier doit être vérifiée mais non ajoutée à la base de données, car elle peut être étendue lors de l'installation, utilisez le mot clé VOLATILE , comme dans l'exemple suivant pour le fichier /etc/passwd :
    /etc/passwd:
            type =  FILE
            owner = root
            group = system
            size  = 1234,VOLATILE
  3. Pour supprimer la définition de fichier /bin/boo dutcbckbase de données, type:
    tcbck -d /bin/boo 
  4. Pour supprimer toutes les définitions avec unclasssurauditsur latcbckbase de données, type:
    tcbck -d audit
  5. Pour vérifier tous les fichiers dutcbck, et corrigez et signalez toutes les erreurs, entrez:
    tcbck -y ALL
  6. Pour exclure le/calvinet/hobbessystèmes de fichiers à partir de la vérification lors d'un audit de sécurité d'une arborescence de système de fichiers installée, type:
    tcbck -a sysck treeck_novfs=/calvin,/hobbes 
  7. Pour exclure un répertoire de la vérification lors d'un audit de sécurité, entrez:
    tcbck -a sysck treeck_nodir=/home/john
  8. Pour ajouterjfhetjslen tant qu'administrateurs etdevelopersen tant que groupe administratif à vérifier lors d'un audit de sécurité d'un fichier installé, type:
    tcbck -a sysck setuids=jfh,jsl setgids=developers
  9. Pour créer / modifier des entrées de section sysck.cfg pour les entrées /dev nouvellement crééesfooetbar, entrez:
    tcbck -l /dev/foo /dev/bar
    Remarque: en ajoutant ces entrées, vous les enregistrez dans le cadre de la base informatique sécurisée.
Attention: Bien que les caractères spéciaux "$" et "?" sont autorisés dans cette routine, leur utilisation dans des noms de fichier peut entraîner des problèmes potentiels tels que des fichiers ambigus.

Fichiers

Article Descriptif
/usr/bin/tcbck Indique le chemin d'accès à la commande tcbck .
/etc/security/sysck.cfg Indique le chemin d'accès à la base de données de configuration du système.