Créer un paquet Audit

Note

Cette fonctionnalité est disponible dans la version Entreprise.

Principe de l’audit

L’audit permet d’effectuer des vérifications régulières sur les configurations des postes et de centraliser le résultat des vérifications dans la console WAPT. Ceci permet de vérifier que votre parc est conforme à votre référentiel sur la durée.

Vous pouvez par exemple :

  • vérifier régulièrement la liste des administrateurs locaux des postes ;
  • vérifier régulièrement la bonne configuration d’un logiciel ;
  • vérifier régulièrement la présence de la bonne version d’un logiciel ;
  • vérifier régulièrement les configurations de sécurité d’un poste ;

La fonction audit bénéficie de toute la puissance et de l’étendue des librairies python pour atteindre une précision d’audit élevée.

Fonctionnement de l’Audit

Les tâches d”audit s’exécutent après un upgrade puis à intervalle régulier défini par la valeur de audit_schedule.

Pour executer manuellement un audit vous pouvez également exécuter la commande :

C:\Program Files (x86)\wapt\wapt-get.exe audit

Note

Par défaut l’audit ne sera pas exécuté si l’audit n’est pas nécessaire.

Pour forcer l’exécution vous pouvez exécuter la commande :

C:\Program Files (x86)\wapt\wapt-get.exe audit -f

L’appel à cette fonction permet d’exécuter la partie audit de chaque paquet WAPT logiciel installé sur la machine.

WAPT enregistre en base locale les instructions d’audit de tous les paquets lors de l’installation dans le fichier C:Program Fileswaptwaptdb.sqlite.

Exemple de sortie de la commande wapt-get audit :

Auditing tis-disable-ipv6 ...
Skipping audit of tis-disable-ipv6(=1.0-6), returning last audit from 2018-09-25T11:20:58.426000
tis-disable-ipv6 -> OK
Auditing tis-disable-js-adobe ...
Skipping audit of tis-disable-js-adobe(=13), returning last audit from 2018-09-25T11:20:58.502000
tis-disable-js-adobe -> OK
Auditing tis-disable-js-chrome ...
Skipping audit of tis-disable-js-chrome(=3), returning last audit from 2018-09-25T11:20:58.566000
tis-disable-js-chrome -> OK
Auditing tis-disable-office-dde ...
Skipping audit of tis-disable-office-dde(=1.0-2), returning last audit from 2018-09-25T11:20:58.615000
tis-disable-office-dde -> OK
Auditing tis-sysmon ...
Skipping audit of tis-sysmon(=8.0-12), returning last audit from 2018-09-25T11:20:58.722000
tis-sysmon -> OK
Auditing tis-java ...
OK: Uninstall Key {26A24AE4-039D-4CA4-87B4-2F32180181F0} in Windows Registry.
OK: Uninstall Key {26A24AE4-039D-4CA4-87B4-2F64180181F0} in Windows Registry.
tis-java -> OK

Note

Dans l’exemple ci-dessus, l’audit avait déjà été exécuté pour tis-disable-js-chrome, tis-disable-ipv6 … mais pas pour tis-java.

Utiliser l’Audit

On définit la partie audit dans le fichier setup.py du paquet dans une fonction def audit() :

Exemple :

def audit():
    if not registry_readstring(HKEY_LOCAL_MACHINE,makepath('SYSTEM','CurrentControlSet','Services','USBSTOR'),'Start'):
        print(r"La key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR\Start n'existe pas")
        return "ERROR"
    valuestart = registry_readstring(HKEY_LOCAL_MACHINE,makepath('SYSTEM','CurrentControlSet','Services','USBSTOR'),'Start')
    if int(valuestart) != 4 :
        print("La valeur de Start n'est pas 4 , Start=%s " % valuestart )
        return "WARNING"
    print(ur"La valeur de Start est bien est bien égal a 4")
    return "OK"

Indication

Cet exemple permet de vérifier que les clés usb sont bien interdites sur le poste.

L’audit restitue une des 3 valeurs suivantes :

  • OK ;
  • WARNING ;
  • ERROR ;

Attention

Avec audit, il n’est pas possible de faire appel à des fichiers contenus dans le paquet.

Pour utiliser des fichiers lors de l’audit il faut d’abord les copier dans un répertoire temporaire de la machine lors de l’installation du paquet.

Planifier un audit

Les tâches d”audit s’exécutent après un upgrade puis à intervalle régulier défini par la valeur de audit_schedule.

Par défault si audit_schedule est vide alors il faudra effectuer l’audit manuellement ou à partir de la console.

Sinon la valeur peut être indiquée de plusieurs manières :

  • Un entier (représente la valeur en minutes) ;
  • Un entier suivi d’une lettre (m = minutes , h = heure , d = jour , w = semaine) ;

Audit par défaut

Par défault, si aucun audit n’est déclaré, l’agent WAPT vérifiera la présence des uninstallkey du paquet wapt.

De cette manière WAPT vérifie que le logiciel est toujours présent.