Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
31 mai 2017

htmlpdflatexmanmd




audispd

audispd

Multiplexeur d'évènement

   audispd doit être démarré par auditd pour obtenir les évènements, qu'il distribut aux programmes enfants qui souhaitent analyser les évènements en temps réel. Quand auditd reçoit SIGTERM ou SIGHUP, il passe ce signal au dispatcher également, qui en retour le passe aux processus enfant.

   Les programmes enfant installent un fichier de configuration dans un répertoire, /etc/audisp/plugins.d/. Les noms de fichier ne doivent pas avoir plus d'un '.' dans le nom sinon ils sont traités comme copie de sauvegarde et ignorés. Les options sont:

OPTIONS

active (bool)
direction Dicté par le plugin. (in, out)
path Chemin complet du plugin. Dans le cas des plugins internes, c'est juste le nom.
type Indique commment le plugin est lancé (builtin, always). builtin devrait toujours être spécifié pour les plugins internes, sinon always.
args Permet de passer des arguments au programme enfant. Il y a une limite de 2 arguments
format binary ou string. binary passe les données tel que audispd les a reçu. string est plus adapté au parsing
^
02 juin 2017

htmlpdflatexmanmd




audispd.conf

audispd.conf

Fichier de configuration du dispatcher d'évènement d'audit

q_depth Valeur numérique indiquand la taille de queue interne du dispatcher. Défaut: 80
overflow_action Détermine la réaction du service au débordement de sa file d'attente. ignore, syslog, suspend, single et halt
priority_boost Nombre non-négatif qui indique la priorité qu'il doit utiliser. Ce boost est ajouté au boost fournis par auditd. Défaut: 4. 0 = aucun changement
max_restarts Nombre non-négatif indiquant le nombre maximum de tentative de redémarrer un plugin crashé. Défaut: 10
name_format Contrôle le format des noms de nœud insérés dans le flux d'évènements. none, hostname, fqd, numeric, et user
name Chaîne identifiant la machine si name_format = user

^
02 juin 2017

htmlpdflatexmanmd




audit.rules

audit.rules

Jeu de règles chargés dans le système d'audit

   Le fichier audit.rules est un fichier contenant des règles d'audit chargés par auditd au démarrage. auditctl est utilisé pour cette opération. Les régles d'audit sont de 3 type: control, file, et syscall

contrôle

   Les commandes de contrôle configurent le système d'audit. Ces commande incluent typiquement la suppression de toutes les règles, définir la taille de file backlog, définir le mode d'erreur, etc.

Système de fichier

   Ces régles sont parfois appelées des watchs. Ces règles sont utilisée pour auditer les accès à des fichiers particuliers. La syntaxe suit généralement ce format: -w path-to-file -p permissions -k keyname où les permissions sont une des suivantes: r,w,x,a

appels système

   Ces règles sont chargées dans un moteur qui intercepte chaque syscall que tous les programmes font dans le système. Noter que cela impacte les performances.

  Le kernel a 4 règles: task, exit, user et exclude.

task Cette liste est vérifie seulement durantles syscall fork ou clone. Rarement utilisé en pratique.
exit Est l'endroit où tous les syscall et requêtes d'audit système sont évalués
user Utilisé pour filtrer (supprimer) certains évènements qui viennent du userspace.
exclude Utilisé pour exclure certains évènements. Le champ msgtype est utilisé pour indiquer au kernel les types de message à ne pas enregistrer.

   Les règles syscall prenne la forme générale:-a action,list -S syscall -F field=value -k keyname

-a indique d'ajouter une règle à la fin de la liste.
action et list sont séparés par une virgule. les listes valides sont task, exit, user et exclude, les actions valide sont always ou never (créer un évènement)
La suite de la règle est normalement -S, qui peut être soit un nom ou un numéro de syscall.
L'option -F affine le matche. Voir auditctl pour une liste complète de champ.

Notes

En faisant une investigation, on commence normalement avec aureport pour avoir une idée de ce qui se passe dans le système. Ce rapport indique principalement les évènements hardcodés par le système d'audits tels que les login/logout, authentifications, anomalies système, etc.
aureport --start this-week
Ensuit, pour obtenir une seconde vue des règles chargées:
aureport --start this-week --key --summary
Cela donne une liste ordonnée des clés associées avec les règles Si par exemple, une règle syscall sur un échec d'ouverture d'un fichier avec EPERM, avec une clé nommée access:
-a always,exit -F arch=b64 -S open -S openat -F exit=-EPERM -k access
On peut isoler ces erreurs avec auseurch et envoyer le résultat à aureport.
ausearch --start this-week -k access --raw | aureport --file --summary
Supposons que l'on souhaite voir quels utilisateurs se sont vu refuser l'accès:
ausearch --start this-week -k access --raw | aureport --user --summary
Pour afficher beaucoups d'accès échoués à un fichier particulier, on peut lancer un rapport pour voir qui le fait:
ausearch --start this-week -k access -f /path-to/file --raw | aureport --user -i
Ce rapport donne les tentatives d'accès par personne. Pour voir un évènement particulier, regarder la date et l'heure. Assumant que l'évènement est le 822 à 2:30 le 09/01*2009.
ausearch --start 09/01/2009 02:30 -a 822 -i --just-one
Sélectionne le premier évènement de ce jour.

Exemples

La règle suivante montre comment auditer les erreurs d'accès aux fichiers à cause de problèmes de permission. Noter que ça demande 2 règles pour chaque architecture:
-a always,exit -F arch=b32 -S open -S openat -F exit=-EACCES -k access
-a always,exit -F arch=b32 -S open -S openat -F exit=-EPERM -k access
-a always,exit -F arch=b64 -S open -S openat -F exit=-EACCES -k access
-a always,exit -F arch=b64 -S open -S openat -F exit=-EPERM -k access
^
29 mai 2017

htmlpdflatexmanmd




auditctl

auditctl

Utilitaire de contrôle du système d'audit Linux

Options de configuration

-b backlog Définis le nombre max de tampon d'audit permit (défaut: 64). Si tous les tampons sont pleins, le flag d'erreur est consulté par le kernel.
--backlog_wait_time wait_time Définis de temps (défault: 60*Hz) que le kernel attend lorsque backlog_limit est atteind avant de mettre plus d'évènements d'audit en queue à transférer à auditd. Doit être supérieur ou égal à 0 et inférieur à 10 fois la valeur par défaut.
-c Continue à charger les règles malgré les erreurs. Génère un sommaire du résultat du chargement des règles
-D Supprime toutes les règles et watchs
-e [0..2] Définis le flag enable. 0 = désactivé, 1 = activé, 2 = bloqué en l'état actuel.
-f [0..2] Défpinis le mode failure. 0 = silencieux, 1 = printk, 2 = panic. Permet de déterminer comment le kernel gère les erreurs critiques.
-i Ignore les erreurs en lisant les règles depuis un fichier.
--loginuid-immutable Rend les loginuid inchangeables une fois définis.
-q mount-point.subtree Si vous avez un watch répertoire existant, et un montage déplacé ou bindé ailleurs dans le subtree rechargé, il faut indiquer au kernel que le subtree mounté est équivalent au répertoire regardé. Si le subtree est déjà monté au moment où le watch est émis, le subtree est automatiquement taggé pour surveilance.
-r rate Définis la limite des message par seconde. (0=pas de limite). Si ce taux est atteind, le flag failure est consulté
-R file Lit les règles dans un fichier.
-t Déclence les subtrees après une commande mount

Options de status

-l Liste toutes les règles, 1 par ligne. 2+ options peuvent être passées à cette commande. -k liste les règles qui matche une clé, ou -i pour interpreter a0 à a3 pour aider à déterminer les valeurs d'argument syscall.
-m text Envoie un message userspace dans le système d'audit. Ne peut être fait qu'avec la capability CAP_AUDIT_WRITE.
-s Reporte le status du sous-système d'audit

Options de règle

-a [list,action|action,list] Ajoute une règle à la fin de la liste avec l'action spécifié. Les champs peuvent être dans n'importe quel ordre. Les noms de liste valides, puis d'actions sont:

        task Ajoute une règle à la liste par tâche. Utilisée seulement quand une tâche est créée ( fork() ou clone() )
        exit Ajoute une règle à la liste de sortie syscall. Utilisée à la sortie d'un appel système pour déterminer si un évènement d'audit devrait être créé
        user Ajoute une règle à a liste de filtre de message utilisateur. Utilisé par le kernel pour filtrer les évènements venant du userspace avant de les relayer à service d'audit.
        exclude Ajoute une règle à la liste de filtre d'exclusion de type d'évènement. Cette liste est utilisée pour filtrer les évènement que l'on ne veut pas voir.

        never Aucun enregistrement d'audit n'est généré.
        always Alloue un contexte d'audit.

-A list,action Ajoute une règle au début de la liste
-C [f=f | f!=f] Construit une règle de comparaison inter-champ. Peut être spécifié plusieurs fois. Les 2 opérateurs supportés sont equel et not equal. Les champs valides sont: auid, uid, euid, suid, fsuid, obj_uid; and gid, egid, sgid, fsgid, obj_gid
-d list,action Supprime une règle de la liste. La règle est supprimée seulement si les noms syscall matchent exactement.
-F [n=v | n!=v | n‹v | n›v | n‹=v | n›=v | n&v | n&=v] Construit un champs de règle: nom, opération, valeur. Peut être spécifié jusqu'à 64 fois. Chaque équation est combinée l'une avec l'autre pour déclencher un enregistrement d'audit. Il y a 8 opérateurs supportés: égal, non égal, inférieur à, supérieur à, inférieur ou égal à, supérieur ou égal à, mask de bit ou test de bit. Les champs qui prennent un uid peuvent utiliser le nom de l'utilisateur. Les champs valides sont:

        a0, a1, a2, a3 Les 4 arguments d'un syscall. Noter que les arguments chaîne ne sont pas supportés.
        arch Architecture CPU du syscall (uname -m)
        auid ID original de l'utilisateur. raccourci de audit uid, parfois appelé loginuid
        devmajor Numéro majeur de périphérique
        devminor Numéro mineur de périphérique
        dir Chemin complet d'un répertoire à regarder
        egid gid effectif
        euid uid effectif
        exe Chemin absolu de l'application à laquelle cette règle s'applique. Uniquement dans une liste exit
        exit Valeur de sortie d'un syscall
        fsgid GID du système de fichier.
        fsuid UID du système de fichier
        filetype Type du fichier cible (file, dir, socket, link, character, block, ou fifo)
        gid id du groupe
        inode Numéro d'inode
        key Autre manière de définir une clé filtre. voir -k
        msgtype Utiliser pour matcher le type d'enregistrement de l'évènement. devrait être utilisé dans les listes d'exclusion ou utilisateur
        obj_uid UID de l'objet
        obj_gid GID de l'objet
        obj_user Utilisateur SELinux de la ressource
        obj_role Type SELinux de la ressource
        obj_type Type SELinux de la ressource
        obj_lev_low niveau inférieur SELinux de la ressource
        obj_lev_high Niveau supérieur SELinux de la ressource
        path Chemin complet du fichier à regarder. Ne peut être utiliser que dans la liste exit
        perm Filtre de permissions pour les opérations de fichier. Voir -p Uniquement dans la liste exit
        pers Numéro de personnalité OS
        pid ID de processus
        ppid ID du processus parent
        subj_user Utilisateur SELinux du programme
        subj_role role SELinux du programme
        subj_type Type SELinux du programme
        subj_sen Sensibilité SELinux du programme
        subj_clr Autorisation SELinux du programme
        sgid gid sauvé.
        success Si la valeur de sortie est ›=0, c'est true/yes (1), sinon false/no (0)
        suid UID sauvé
        uid id de l'utilisateur

-k key Définis une clé filtre dans une règle d'audite. C'est une chaîne arbitraire (max 31 octets) qui peut identifier de manière unique les enregistrements d'audit produits par une règle. Peut être spécifié plusieurs fois
-p [r|w|x|a] Décrit les types d'accès sur lesquels se déclence un watch de système de fichier.
-S [Syscall name or number|all] Si le syscall doné est fait par un programme, démarre un enregistrement d'audit. Peut être spécifié plusieurs fois
-w path Insert un watch pour un objet système de fichier au chemin spécifié.
-W path Suppmire un watch pour l'objet système de fichier.

Performances

Les règles syscall sont évaluées pour chaque syscall pour chaque programme. Avec 10 règles syscall, chaque programe dans le système est retardé durant un syscall jusqu'à ce que le système d'audit évalu chaque règle, ce qui peut impacter fortement les performances. Tenter de combiner autant de filtre, action, clé, et champs que possible sont identiques. Par exemple:
auditctl -a always,exit -S openat -F success=0
auditctl -a always,exit -S truncate -F success=0
peuvent être reécris en une seule règle:
auditctl -a always,exit -S openat -S truncate -F success=0
Également, tenter d'utiliser l'audit de système de fichier améliore les performances. Par exemple, pour capturer toutes les ouvertures échouées, mais seulement les fichiers dans /etc:
auditctl -a always,exit -S openat -S truncate -F dir=/etc -F success=0
Cela améliore les performances vu que le kernel n'évalue pas chaque syscall. C'est géré par le code d'audit de système de fichier.

Exemples

Voir tous les syscalls faits par un programme spécifique
auditctl -a always,exit -S all -F pid=1005
Vois les fichiers ouverts par un utilisateur spécifique
auditctl -a always,exit -S openat -F auid=510
Voir les appels openat échoués
auditctl -a always,exit -S openat -F success=0
Regarder les changements d'un fichier (2 manières exprimées)
auditctl -w /etc/shadow -p wa
auditctl -a always,exit -F path=/etc/shadow -F perm=wa
Regarder les changements, récursivement dans un répertoire (2 manières exprimées)
auditctl -w /etc/ -p wa
auditctl -a always,exit -F dir=/etc/ -F perm=wa
Voir si un admin accède aux fichier des autres utilisateurs:
auditctl -a always,exit -F dir=/home/ -F uid=0 -C auid!=obj_uid
^
29 mai 2017

htmlpdflatexmanmd




auditd

auditd

Service d'audit Linux

   auditd est le composant userspace du système d'audit Linux. Il est responsable de l'écriture des enregistrements d'audit sur disque.

OPTIONS

-F Ne lance pas en tâche de fond
-l Autorise à suivre les liens symboliques pour les fichiers de configuration
-n  ne fork pas
-s=ENABLE_STATE Indique si auditd devrait changer la valeur courante du flag enabled du kernel (disable, enable ou nochange).

Signaux

SIGHUP reconfigure auditd
SIGTERM Stop l'audit, écrit un évènement d'arrêt, et quitte
SIGUSR1 rotation automatique des logs
SIGUSR2 tente de relancer le logging

Fichiers

/etc/audit/auditd.conf Fichier de configuration pour auditd
/etc/audit/audit.rules Règles d'audit à charger au démarrage
/etc/audit/rules.d/ Jeux de règles individuels à compiler par augenrules

Notes

   Le paramètre de boot audit=1 devrait être ajouté pour s'assurer que tous les processus qui sont lancés avant le service auditd soient marqués comme auditable par le kernel. Noter que faire cela rend quelques processus impossible à auditer.

  auditd peut reçevoir des évènements depuis d'autres services auditd via le plugin audisp-remote. auditd peut être liés avec tcp_wrappers pour contrôler quelles machines peuvent s'y connecter.
^
02 juin 2017

htmlpdflatexmanmd




auditd.conf

auditd.conf

Fichier de configuration du service d'audit

local_events (bool) Spécifie si les évènements locaux sont inclus. Défaut: yes.
log_file Spécifie le chemin complet du fichier de log où les enregistrements d'audit sont stockés
write_logs [bool) Détermine si les logs sont stockés sur disque. Défaut: yes.
log_format Format des logs stockés sur disque: raw et enriched. enriched résoud les uid, gid, syscall, architecture, et adresse socket.
log_group Spécifie le groupe du fichier de log. Défaut: root
priority_boost Nombre non-négatif qui indique la priorité. Défaut 4.
flush none ne fait rien de spécial pour vides les enregistrements sur disque. incremental utilise freq pour déterminer la fréquence, incremental_async est similaire, mais de manière asynchrone pour de meilleurs performances. data conserve les données du disque synchronisés en permanence. sync conserve les données et les métadonnées pleinement synchronisés. Défaut: incremental_async
freq Nombre non-négatif indiquant le nombre d'enregistrement à écrire avant de les vider sur disque.
num_lgos Spécifie le nombre de fichiers de logs à conserver. ‹ 2, la rotation de logs n'est pas effectuée. Doit être inférieur à 1000.
disp_qos Contrôle si la communication est bloquante/sans perte ou non-bloquante/avec perte entre auditd et le dispatcher. Il y a un tampon de 128K entre les 2, ce qui est suffisant dans la plupart des cas. (lossy ou lossless). Défaut: lossy
dispatcher Spécifie le dispatcher.
name_format Contrôle comment insérer les noms de nœud dans le flux d'évènements d'audit. none, hostname, fqd, numeric, et user. Défaut: none
name Nom à utiliser lorsque name_format = user
max_log_file Spécifie la taille max des fichiers de log. Une fois cette limite atteinte, il déclence une action de configuration
max_log_file_action Indique au système quelle action prendre quand le système a détecté que la limite de taille du fichier de log est atteinte.
action_mail_acct Adresse email ou alias. /usr/lib/sendmail doit exister dans la machine
space_left Valeur numérique, en Mo, indiquant quand effectuer une action lorsque l'espace disque vient à manquer
space_left_action Indique quelle action prendre quand l'espace disque restant est inférieur à space_left. (ignore, syslog, rotate, email, exec, suspend, single, ou halt)
admin_space_left Identique à space_left. Est considéré comme la dernière change de faire quelque chose avant de ne plus avoir d'espace disque.
admin_space_left_action Indique quelle action prendre quand l'espace disque restant est inférieur à admin_space_left
disk_full_action Indique quelle action prendre quand le système a détecté que la partition qui maintient les logs est pleine. (ignore, syslog, rotate, exec, suspend, single, et halt)
disk_error_action Indique quelle action prendre quand une erreur disque est détectée en écrivant des évènements d'audit sur disque.
tcp_listen_port Port tpc d'écoute des enregistrements d'audit des systèmes distants.
tcp_listen_queue Valeur numérique qui indique combien de connexions en cours sont permises. Défaut: 5
tcp_max_per_addr Valeur numérique indiquant combien de connection concurrentes de la même IP sont permises. Défaut: 1 (max 1024)
use_libwrap (bool) Utilise tcp_wrappers pour définir les machines autorisées à se connecter
tcp_client_ports 1 ou 2 valeurs numérique. Indique les ports clients permis pour les connexions entrante. Spécifier 1-1023 pour autoriser les port privilégiés
tcp_client_max_idle Délai en secondes d'inactivité d'un client avant que la connexion soit terminées. Défaut: 0 = désactive la vérification
enable_krb5 (bool) Utilise kerberos pour l'authentification et le chiffrement
krb5_principal Principal du serveur. Défaut: auditd.
krb5_key_file Emplacement de la clé du principal du client. Cette clé doit être possédée par root, en mode 0400. Défaut: /etc/audit/audit.key
distribute_network (bool) À yes, les évènements provenant du réseau sont distribués au dispatcher pour traitement. Défaut: no

Notes

- Dans un environneent CAPP, Le chemin d'audit est si important que l'accès aux ressources système doit être refusé si un chemin d'audit ne peut être créé. Dans cet environnement, il est suggéré que /var/log/audit soit dans sa propre partition.
- Le paramètre flush devrait être sync ou data
- space_left doit être être une valeur qui donne suffisamment de temps à un administrateur de réagir et de récupérer de l'espace disque. Cela peut impliquer aureport -t et le déplacement des anciens logs. Il est recommandé que space_left_action soit email.
- admin_space_left doit être l'espace disque nécessaire pour les actions administratives à enregistrer.
- disk_full_action est déclenchée quand il n'y a plus de place. Tous les accès devraient être terminés vu qu'il n'y a plus de capacité d'audit. Peut être définis à single ou halt
- disk_error_action devrait être syslog, sigle ou halt en fonction de la stratégie locale
- Spécifie ue seul port client permis peut poser problème pour le client souhaitant redémarrer le sous-système d'audit, vu qu'il n'est pas capable de recréer une connexion avec les même adresses d'hôte et ports tant que la connection est à l'état TIME_WAIT.
^
29 mai 2017

htmlpdflatexmanmd




augenrules

augenrules

Script qui fusionne les fichiers de règle d'audit

   augenrules est un script qui fusionne tous les composants de règle d'audit dans /etc/audit/rules.d dans un fichier /etc/audit/audit.rules. Les fichiers de règle doivent se terminer par .rules pour être traités. Les fichiers sont concaténés dans l'ordre. Le fichier généré est copié dans /etc/audit/audit.rules seulement s'il diffère.

- La dernière directive -D traitée sans option, si presente, et toujours émise comme première ligne du fichier résultant.
- La dernière directive -h traitée, si présente, est toujours émise comme seconde ligne du fichier résultant.
- La dernière directive -f traitée, si présente, est toujours émise comme 3ème ligne
- La dernière directive -e traitée, si présente, est toujours émise comme dernière ligne.

OPTIONS

--check Teste si les règles ont changées et doivent être mises à jours sans écrases les règles d'audit
--load Charge les anciennes et les nouvelles règles dans le kernel
^
31 mai 2017

htmlpdflatexmanmd




aulast

aulast

Programme similaire à last

   aulast affiche une liste des dernières connexions utilisateurs, similairement au programme last et lastb. Il recherche dans le logs d'audit et affiche une liste de tous les utilisateurs connectés/déconnectés.

OPTIONS

--bad Affiche les mauvais logins
--extract Écrit les enregistrement brut pour créer le rapport affiché dans un fichier aulast.log dans le répertoire courant
-f‹file› Lit les logs d'audit depuis le fichier spécifié
--proof Affiche les numéros de série d'évènement d'audit utilisés pour déterminer la ligne précédente du rapport.
--stdin Prend les enregistrements depuis stdin. Les évènement doivent être au format brut
--tty Limite le rapport à l'activité du tty
--user‹name› Limite de rapport à l'utilisateur spécifique

Exemples

Voir les logins de ce mois
ausearch --start this-month --raw | aulast --stdin
^
29 mai 2017

htmlpdflatexmanmd




aulastlog

aulastlog

Programme similaire à lastlog

   aulastlog est un programme qui afiche le dernier login pour tous les utilisateurs de la machine locale.

OPTIONS

-u, --user Affiche l'enregistrement lastlog pour l'utilisateur avec le login spécifié uniquement
--stdin Utilise stdin comme source des enregistrement d'audit. Les évènements doivent être au format raw
^
31 mai 2017

htmlpdflatexmanmd




aureport

aureport

Outil de rapports des logs d'audit

   aureport produit un sommaire des logs d'audit système.

OPTIONS

-au, --auth Affiche les tentative d'authentification
-a, --avc Affiche les messages avc
--comm afficher les commandes lancées
-cr, --crypto Affiche les évènements crypto
-f, --file Affiche les fichiers et sockets af_unix
--failed Ne sélectionne que les évènements échoués.
-h, --host Afficher les hôtes
-i, --interpret Interprète les entités numérique en texte.
-if, --input file | directory Utilise le fichier donné au lieu des logs
--input-logs Utilise l'emplacement des logs depuis auditd.conf comme entrées.
--integrité Affiche les évènements d'intégrité
-k, --key Affiche les clés des règles d'audit
-l, --login Affiche les logins
-m, --mods Affche les modifications de compte
-ma, --mac Affiche les évènements MAC
-n, --anomaly Affiche les évènement anormaux
--node node-name Ne sélectionne que les évènements venant du nœud spécifié
-nc, --no-config N'inclus pas les évènements CONFIG_CHANGE
-p, --pid Affiche les processus
-r, --response AFfiche les réponse aux évènements anormaux
-s, --syscall Affiche les syscall
--success Affiche seulement les évènements réussis
--summary Lance un sommaire qui donne un total des éléments du rapport principal
-t, --log Affiche un rapport du début et fin pour chaque log
--tty AFfiche les touches tty
-te, --end [end-date] [end-time] Recherche les évènement avant cette date/heure. mots clés permis: now, recent, today, yesterday, this-week, wwek-ago, this-month, this-year.
-tm, --terminal Affiche les terminaux
-ts, --start [start-date] [start-time] Affiche les évènements après cette date/heure. Les mots clé de -te sont permis.
-u, --user Affiche les utilisateurs
--virt Affiche les évènement de virtualisation
-x, --executable Affiche les exécutables
^
31 mai 2017

htmlpdflatexmanmd




ausearch

ausearch

Outil de requête de logs d'audit

OPTIONS

-a, --event audit-event-id Recherche un évènement basé sur l'id doné. Les messages commencent toujours par msg=audit(1116360555.329:2401771, l'id étant le nombre après le ':'.
--arch CPU Recherche les évènements basé sur une architecture CPU.
-c, --comm comm-name Recherche un évènement basé sur le nom de l'exécutable.
--debug Affiche les évènements mal-formés sur stderr
--checkpoint checkpoint-file checkpoint la sortie entre les invocation successive de ausearch de manière à ce que seuls les évènements qui n'ont pas été sortie sont affichés dans les invocations suivantes
-e, --exit exit-code-or-errno Recherche un évènement basé sur le code de sortie syscall donné
-f, --file filename Recherche un évènement basé sur le nom de fichier donné, ou socket af_unix
-ga, --gid-all all-group-id Recherche en évènement avec le gid ou gid effectif spécifié
-ge, --gid-effective effective-group-id Recherche en évènement avec le gid effectif spécifié
-gi, --gid group-id Recherche en évènement avec le gid spécifié
-hn, --host hostname Recherche en évènement avec le nom d'hôte spécifié
-i, --interpret Interprète les entités numériques en texte.
-if, --input filename | directory Utilise le fichier ou répertoire au lieu des logs
--input-logs Utilise l'emplacement des logs spécifié dans auditd.conf pour la recherche
--just-one Stop une fois le première évènement correspondant trouvé
-k, --key key-string Recherche en évènement basé sur la clé donnée
-l, --line-buffered Vide la sortie sur chaque ligne.
-m, --message message-type | comma-sep-message-type-list Recherche un évènement correspondant au type de message spécifié.
-n, --node node-name Recherche les évènements venant du ou des nœuds spécifiés.
-o, --object SE-Linux-context-string Recherche des évènements venant avec le tcontext donné
-p, --pid process-id Recherche un évènement avec le PID de processus donné
-pp, --ppid parent-process-id Recherche un évènement ayant le PID de processus parent donné
-r, --raw Sortie non formatée
-sc, --syscall syscall-name-or-value Recherche un évènement correspondant au syscall donné
-se, --context SE-Linux-context-string Recherche un évènement avec les scontext ou tcontext donné
--session Login-Session-ID Recherche un évènement avec l'ID de session donné
-su, --subject SE-Linux-context-string Recherche un évènement avec le scontext donné
-sv, --success success-value Recherche un évènement avec la valeur de succès donné (yes ou no)
-te, --end [end-date] [end-time] Recherche les évènement avant cette date/heure. mots clés permis: now, recent, today, yesterday, this-week, wwek-ago, this-month, this-year.
-ts, --start [start-date] [start-time] Affiche les évènements après cette date/heure. Les mots clé de -te sont permis.
-tm, --terminal terminal Recherche un évènement correspondant à la valeur terminal donnée
-ua, --uid-all all-user-id Recherche un évènement avec l'UID ou UID effectif donné
-ue, --uid-effective effective-user-id Recherche un évènement avec l'UID effectif donné
-ui, --uid user-id Recherche un évènement avec l'UID donné
-ul, --loginuid login-id Recherche un évènement avec le login id donné
-uu, --uuid guest-uuid Recherche un évènement avec l'uuid invité donné
-vm, --vm-name guest-name Recherche un évènement avec le nom de l'invité donné
-w, --word Chaîne de recherche à matcher
-x, --executable executable Recherche un évènement correspondant à l'exécutable donné

Codes de sortie

0 succès
1 Rien n'est trouvé, erreur d'argument, erreur d'accès fichier mineur
10 données checkpoint invalide
11 Erreur de traitement de checkpoint
12 Évènement checkpoint non trouvé dans le fichier de log
^
02 juin 2017

htmlpdflatexmanmd




ausearch-expression

ausearch-expression

Format d'expression de recherche d'audit

Structure lexicale

   Les espaces blancs sont ignorés. Les éléments suivants sont reconnus:

Ponctuation
( ) \
opérateurs logiques
! && ||
Opérateurs de comparaison
‹ ‹= == › ›= !== i= i!= r= r!=
expressions régulières

Syntaxe

field comparison-operator value
field est une chaîne qui spécifie le premier champ avec ce nom dans l'enregistrement, ou \ suivi d'une chaîne, qui spécifie un champ virtuel avec le nom spécifié.
operator Spécifie la comparaison à effectuer
r= r!= chaîne brute du champ (tel que stocké), et la compare à la valeur.
i= i!= Chaîne interprétée du champs
‹ ‹= == › ›= !== Opérateurs d'évaluation
\regexp string-or-regexp Dans ce cas spécial, l'enregistrement d'audit est pris comme une chaîne, et matché avec regexp-or-string, qui est une expression régulière étendue,.

   Si E1 et E2 sont des expressions valides, alors ! E1, E1 && E2, et E1 || E2 sont des expressions valides également. Noter que ! field op value est interprétée comme !(field op value), et non pas (!field) op value.

Champs virtuels

\timestamp Valeur d'horodatage de l'évènement courant. Value doit avoir le format ts:‹seconds›.‹milli›.
\record_type La valeur est le type d'enregistrement courant.
^
31 mai 2017

htmlpdflatexmanmd




ausyscall

ausyscall

Mappage des noms en numéro syscall

   ausyscall affiche le mappage des noms syscall en numéro et inversement pour l'architecture donnée. Il peut être utilisé pour vérifier les numéros syscall dans une plateforme pour optimiser les règles.

Supposons une règle auditctl:
-a always, exit -S open -F exit=-EPERM -k fail-open
Pour vérifier que les programmes 32 et 64 bits sont audités, lancer
ausyscall i386 open
et
ausyscall x86_64 open
Et regarder les numéros retournés. S'ils sont différents, il faut écrire 2 règles pour obtenir une couverture complète:
-a always,exit -F arch=b32 -S open -F exit=-EPERM -k fail-open
-a always,exit -F arch=b64 -S open -F exit=-EPERM -k fail-open

OPTIONS

--dump Affiche tous les syscalls pour l'architecture donnée
--exact Match exact (au lieu de partiel) du nom syscall
^
29 mai 2017

htmlpdflatexmanmd




autrace

autrace

Programme similaire à strace

   autrace est un programme qui ajoute des règles d'audit pour tracer une processus, similairement à strace. Il exécute ainsi le programme en lui passant les arguments. Les informations d'audit résultant sont au format de log d'audit si auditd fonctionne ou syslog. Cette commande supprime toutes les règles d'audit avant d'exécuter le programme cible et après d'avoir exécuté. C'est une précaution, il ne se lance pas si les règles ne sont pas supprimées avec auditctl avant.

OPTIONS

-r Limite les appels système collectés à celles nécessaire pour l'analise d'utilisation de ressource.

Exemples

Exemple de session
autrace /bin/ls /tmp
ausearch --start recent -p 2442 -i
ou le mode d'utilisation de ressource
autrace -r /bin/ls
ausearch --start recent -p 2450 --raw | aureport --file --summary
ausearch --start recent -p 2450 --raw | aureport --host --summary
^
31 mai 2017

htmlpdflatexmanmd




auvirt

auvirt

Affiche les évènements lié aux machines virtuelles

   auvirt affiche une liste de sessions invité trouvés dans les logs d'audit. Si un invité est spécifié, seul les évènement liés à cet invité sont considérés. Pour chaque invité, il affiche un enregistrement avec le nom de domaine, l'utilisateur qui a démarré l'invité, la date à laquelle l'invité a été démarré/stoppé.

OPTIONS

--all-events Sortie plus détaillée
--debug Mode debug
-f, --file Lit les enregistrements depuis le fichier spécifié
--proof Ajoute après chaque évènement, une ligne contenant tous les identifiants des enregistrements d'audit utilisés pour calculer l'évènement. Chaque identifiant consiste du temps UNIX, millisecondes, et le numéro de série
--show-uuid Affiche l'UUID de l'invité dans chaque enregistrement
--stdin Lit les enregistrements depuis d'entrée standard
--summary AFfiche un sommaire des évènements trouvés.
-te, --end [end-date] [end-time] Recherche les évènement avant cette date/heure. mots clés permis: now, recent, today, yesterday, this-week, wwek-ago, this-month, this-year.
-ts, --start [start-date] [start-time] Affiche les évènements après cette date/heure. Les mots clé de -te sont permis.
-u, --uuid N'affiche que les évènement liés à l'invité spécifié par son uuid
-v, --vm N'affiche que les évènement liés à l'invité spécifié par son nom

Exemples

Affiche tous les enregistrements dans ce mois pour un invité
auvirt --start this-month --vm GuestVmName --all-events