• 20 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 24/08/2021

Rédigez le document de livraison

Votre analyse des recommandations est maintenant terminée et alignée avec le besoin initial. Vous avez également croisé cette analyse avec Lynis, un outil d'audit automatique. Il est temps de commencer à rédiger le rapport.

Dans ce chapitre, je vous propose d'étudier, dans un premier temps, la première page du rapport, qui s'adresse plus spécifiquement à votre commanditaire, le DSI. Puis nous verrons comment remplir les pages suivantes s'adressant, elles, aux techniciens qui vont appliquer les recommandations.

Relevez les informations indispensables à faire figurer sur première page

Un rapport d'audit est un document qui sera soigneusement conservé. Il peut servir à justifier une certification par exemple. Il sera ainsi probablement relu plusieurs fois longtemps après la réalisation de l'audit.

La première page doit donc contenir toutes les informations permettant de re-situer le contexte de l'audit.

Vous y trouverez notamment les informations générales suivantes :

  • les dates de réalisation de l'audit et de rédaction du rapport ;

  • le nom de l'auditeur et son organisme juridique d'affiliation ;

  • le titre du rapport, par exemple « Audit de sécurité du serveur hébergeant l'application Fiches Produit » ;

  • la liste des destinataires du rapport, avec leur nom et leur titre.

Il est également nécessaire de rappeler :

  • l'identité du commanditaire ;

  • les objectifs de l'audit (sécurisation en deux étapes, dans un contexte existant puis dans un autre, par exemple).

Vous pouvez aussi résumer très succinctement le mode opératoire de l'auditeur :

  • la façon dont il a procédé et depuis quel lieu ;

  • les outils et logiciels utilisés ;

  • les données initiales possédées par l'auditeur (le compte root par exemple)

  • les personnes rencontrées ou avec lesquelles l'auditeur a communiqué lors de l'audit.

Enfin, sûrement le plus important, il faut indiquer les conclusions de l'audit de manière claire et succincte. Par exemple :

  • le nombre de recommandations totales ;

  • le nombre de recommandations critiques ;

  • le nombre de recommandations moins critiques ;

  • une conclusion globale sous la forme d'une recommandation unique, par exemple :

« Le serveur présente des défauts de sécurité critiques. Les recommandations critiques n'induisant pas de changement opérationnel pour le serveur doivent être exécutées dans les plus brefs délais, elles représentent une estimation de XX jours hommes de charge. »

Je vous propose une version de cette première page de rapport à télécharger pour vous donner une idée. 

Écrivez le reste du rapport

La plupart du temps, le reste du rapport n'est pas destiné au même lectorat. Souvent, la première page est à destination des managers tandis que le reste concerne plutôt les équipes techniques.

Il s'agit donc, dans le reste du rapport, de détailler chaque recommandation de façon à ce que le lecteur (avec un profil technique) puisse se représenter votre mode opératoire et s'imaginer ce qui vous a permis de rédiger cette recommandation. Il est souvent efficace de présenter cette partie sous forme de fiche

Prenons la recommandation suivante :

Recommandation

Type

Principe

SYS.11

Examiner la liste des fichiers avec les droits spéciaux setuid, setgid et sticky bit

CRITICAL

Moindre privilège

À partir de cette recommandation, nous pourrions imaginer la fiche suivante :

SYS.11

Fichiers à droits spéciaux

Objectif

Examiner la liste des fichiers avec les droits spéciaux setuid, setgid et sticky bit

Principe associé

Moindre privilège

Type

CRITICAL

Explications

Les fichiers disposant de ces droits spéciaux s'exécutent avec les privilèges de l'utilisateur ou du groupe, et non avec ceux de l'utilisateur qui les exécute. C'est donc un processus d'élévation de privilèges qui peut représenter une faille de sécurité si les fichiers concernés ne prennent pas en compte cette élévation

Exemple

La commande /usr/bin/passwd s'exécute avec les privilèges de root et permet à tout utilisateur de changer son mot de passe de connexion

Mode opératoire

Une fois connecté en tant que root, lister les fichiers disposant de ces droits spéciaux avec la commande suivante : find / -type f -perm /6000 -ls 2>/dev/null

Résultat 

Voir le code ci-dessous 

Recommandation 

À comparer avec un référentiel connu et fiable, notamment celui proposé en page 33 du guide de configuration de l'ANSSI.

Retirer les bits de droits spéciaux lorsque non nécessaires en fonction du contexte du serveur. Par exemple ici : newgrp, postdrop, postqueue, wall, chsh, chfn, … |

Résultat :

[root@fichesproduits ~]# find / -type f -perm /6000 -ls 2>/dev/null
12638690 16 -r-xr-sr-x 1 root tty 15344 juin 10 2014 /usr/bin/wall
12849314 24 -rws--x--x 1 root root 24048 avril 11 2018 /usr/bin/chfn
12849317 24 -rws--x--x 1 root root 23960 avril 11 2018 /usr/bin/chsh
12849350 44 -rwsr-xr-x 1 root root 44320 avril 11 2018 /usr/bin/mount
12849198 64 -rwsr-xr-x 1 root root 64240 nov. 5 2016 /usr/bin/chage
12849199 80 -rwsr-xr-x 1 root root 78216 nov. 5 2016 /usr/bin/gpasswd
12849201 44 -rwsr-xr-x 1 root root 41776 nov. 5 2016 /usr/bin/newgrp
12849365 32 -rwsr-xr-x 1 root root 32184 avril 11 2018 /usr/bin/su
12849369 32 -rwsr-xr-x 1 root root 32048 avril 11 2018 /usr/bin/umount
12849375 20 -rwxr-sr-x 1 root tty 19624 avril 11 2018 /usr/bin/write
13008451 140 -rwsr-x--- 1 root root 143184 avril 11 2018 /usr/bin/sudo
12897988 28 -rwsr-xr-x 1 root root 27680 avril 11 2018 /usr/bin/pkexec
12898157 60 -rwsr-xr-x 1 root root 57576 avril 11 2018 /usr/bin/crontab
12969583 376 ---x--s--x 1 root nobody 382240 avril 11 2018 /usr/bin/ssh-agent
13008558 28 -rwsr-xr-x 1 root root 27832 juin 10 2014 /usr/bin/passwd
70193 12 -rwsr-xr-x 1 root root 11216 avril 11 2018 /usr/sbin/pam_timestamp_check
70195 36 -rwsr-xr-x 1 root root 36280 avril 11 2018 /usr/sbin/unix_chkpwd
269843 12 -rwxr-sr-x 1 root root 11224 avril 11 2018 /usr/sbin/netreport
269848 12 -rwsr-xr-x 1 root root 11288 avril 11 2018 /usr/sbin/usernetctl
344902 216 -rwxr-sr-x 1 root postdrop 218552 juin 10 2014 /usr/sbin/postdrop
344909 256 -rwxr-sr-x 1 root postdrop 259992 juin 10 2014 /usr/sbin/postqueue
12897991 16 -rwsr-xr-x 1 root root 15432 avril 11 2018 /usr/lib/polkit-1/polkit-agent-helper-1
12849263 12 -rwx--s--x 1 root utmp 11192 juin 10 2014 /usr/libexec/utempter/utempter
12879166 60 -rwsr-x--- 1 root dbus 58016 avril 11 2018 /usr/libexec/dbus-1/dbus-daemon-launch-helper
271691 460 ---x--s--x 1 root ssh_keys 469880 avril 11 2018 /usr/libexec/openssh/ssh-keysign

En résumé

Vous pouvez procéder ainsi avec chacune des recommandations, que vous pouvez retrouver résumées dans ce document. Une fois toutes vos fiches constituées, vous aurez une version finalisée du rapport d'audit, que vous pourrez adresser aux différents destinataires.

Voilà, nous arrivons à la fin de cours ! J'espère que vous avez pu apprendre de façon efficace à mener un audit d'un système d'exploitation et à rédiger le rapport de cet audit !

Exemple de certificat de réussite
Exemple de certificat de réussite