Pour réaliser un audit de sécurité sur un système d’exploitation, vous allez vous appuyer fortement sur le contexte. En effet, en fonction de la situation existante et de celle vers laquelle vous souhaitez tendre, vous devrez, en tant qu'auditeur, prendre en compte un certain nombre de variables complémentaires.
On ne préconise pas forcément les mêmes actions correctives pour un serveur hébergeant le site statique HTML d'une association locale et pour un serveur de base de données hébergeant les données paie d'une entreprise de 1 500 collaborateurs.
L'analyse de risques et la fermeté des curseurs de sécurité attendus vont également faire évoluer les conclusions de l'audit. Dans ce chapitre, je vous propose de prendre connaissance du scénario qui va guider l'audit de ce cours.
Prenez connaissance de la situation proposée
Pour ce cours, je vous propose de prendre la casquette d'un salarié d'ASE-Systems, une entreprise de 250 personnes.
Vous êtes attaché au service informatique, et notamment au département Exploitation, chargé de la maintenance des systèmes et de la maintenance opérationnelle des matériels et applications informatiques de l'entreprise.
Un directeur marketing vous convoque pour une réunion à propos d'un projet dont vous n'avez pas entendu parler jusqu'à ce jour. Lors de cette réunion, le manager vous explique qu'il y a 6 mois, il a lancé un projet d'application Web de gestion des fiches produits en mode agile, avec un prestataire externe. Le projet a été livré et le prototype fonctionnel est hébergé à l'extérieur de l'entreprise. Les utilisateurs sont ravis et s'en servent déjà !
Découvrez les objectifs de la mission d'audit
Évidemment, votre DSI n'a pas apprécié ce lancement de projet. Elle a immédiatement demandé au directeur marketing d'effectuer une analyse des risques liés à l'utilisation de cette application. Vous êtes donc sur le coup !
Dans un premier temps, l'objectif de votre collaboration est d'effectuer un audit de la sécurité de la machine hébergeant le serveur, et de proposer les ajustements indispensables et immédiats à effectuer pour continuer à exploiter cette application.
Dans un second temps, il faudra aussi déterminer l'effort à produire pour rapatrier l'hébergement du serveur et l'application sur le réseau interne de l'entreprise, car ils n'ont vraiment rien à faire chez un prestataire d'hébergement externe…
Faites l'inventaire des informations fiables
La mission du prestataire est terminée et votre seul interlocuteur est le directeur marketing, qui possède néanmoins les informations suivantes :
la machine est un Linux CentOS version 7, l'installation a été effectuée par le prestataire de développement ;
elle possède le mot de passe root123 ;
l'application est développée en PHP, avec un design pattern MVC ;
elle propose la gestion partagée de fiches produits à l'aide d'une base de données ;
trois personnes du département marketing ont un accès FTP pour mettre à jour les fiches produits, notamment les images.
Appréhendez le déroulé de l'audit de sécurité
Dans ce cours, je vous propose un découpage « chronologique » de l'audit. En d'autres termes, il suit l'ordre dans lequel les actions sont effectuées lorsque vous prenez la main sur un serveur pour la première fois, que vous explorez et cherchez à découvrir sa configuration courante. Il y a tout d'abord audit du processus de démarrage, puis audit du système, puis des services, etc.
Certains chapitres sont fortement liés (par exemple le chapitre 1 de la partie 2 sur la minimisation des modules et le chapitre 2 de la partie 5 sur le module ip_tables du noyau), mais cela n'est pas bloquant pour le bon déroulé général de l'audit.
Les parties 2 à 5 couvriront l’audit en tant que tel. Elles permettront de découvrir les recommandations à émettre et de les classer selon deux types (priorités) :
CRITICAL : les actions doivent absolument être effectuées, quel que soit le contexte ;
WARNING : les actions sont facultatives et dépendent du contexte.
La partie 6 permettra justement de recenser l'ensemble des recommandations et de les replacer dans le contexte de l'audit. Dans notre cas : un serveur hébergé pour le moment à distance chez un prestataire externe, mais qui doit être rapidement rapatrié en interne sur le réseau de l'entreprise.
En résumé
Vous êtes maintenant plongé dans le contexte de l'audit. Vous connaissez les enjeux et les livrables attendus. Mais avant de vous lancer dans les tâches techniques de l'audit, vous devez connaître quelques infos clés. Dans le chapitre suivant, je vous propose notamment de passer en revue les trois grands principes de sécurisation d'un système d'exploitation.