Gérez les vulnérabilités et mettez en conformité vos machines avec Outscan NX
Sommaire
I. Présentation
Cet article a pour objectif de vous initier à la gestion des vulnérabilités à l'aide de l'application Outscan NX de l'éditeur Outpost24. Cette application va agir sur votre réseau en tant que scanner de vulnérabilités afin d'analyser vos machines et équipements à la recherche de vulnérabilités.
Grâce à cette analyse, qu'il est possible de réaliser périodiquement, vous avez une vue d'ensemble des vulnérabilités présentes dans votre infrastructure, pour chaque machine analysée, avec à la clé des informations pour vous aider à corriger la vulnérabilité. Parfois, il s'agit d'une modification à apporter à la configuration du système, tandis que dans d'autres cas il s'agit d'une mise à jour à installer. Par exemple, sur un système d'exploitation Windows, l'outil peut vous indiquer quelle mise à jour (KB) doit être installée pour corriger la vulnérabilité détectée.
- Qu'appelle-t-on une vulnérabilité ?
En informatique, une vulnérabilité correspond à une faille de sécurité dans une application, un service, un protocole (SMBv1, par exemple), un matériel, et qui pourrait avoir un impact négatif sur le bon fonctionnement de l'élément concerné. Pire encore, certaines vulnérabilités peuvent permettre de mener une cyberattaque, telles que la compromission d'une machine ou le déni de service d'une machine. Plus ou moins critiques, plus ou moins faciles à exploiter, les vulnérabilités sont très souvent impliquées dans les attaques informatiques.
De ce fait, il est important d'avoir une bonne connaissance de son système d'information : quels sont les systèmes d'exploitation que j'utilise ? Quelles sont les applications que j'utilise ? Dans quelles versions ? etc... Puisque chaque vulnérabilité connue est associée à un numéro d'identification CVE, il est possible de faire un suivi des failles de sécurité.
Le problème, c'est que dans un système d'information, on peut avoir des dizaines de systèmes, matériels, applications et services. Dans le temps, il n'est pas toujours facile de faire le suivi de la configuration et d'assurer une bonne maintenance (mise à jour du firmware sur un équipement ou les mises à jour d'un OS, par exemple), ce qui implique que certains composants du SI peuvent devenir vulnérables à des failles de sécurité.
Pour faciliter ce travail de recherche de vulnérabilités et gagner du temps pour la remédiation, il existe aujourd'hui sur le marché diverses solutions pour faire de la gestion de vulnérabilités. C'est le cas de la solution Outscan NX de chez Outpost24 présentée dans cet article. Suivre et corriger les vulnérabilités permet d'être mieux protégé des cyberattaques puisque l'on ferme des portes aux attaquants (même s'il en reste toujours d'autres comme le vol d'identifiants, par exemple).
II. Les fonctionnalités d'Outpost24 Outscan NX
La solution Outpost24 Outscan NX se présente comme une solution de gestion des vulnérabilités basée sur les risques. Pour permettre la gestion des vulnérabilités, l'outil va scanner les machines et équipements du réseau à la recherche de vulnérabilités et gérer un compte-rendu de ce qu'il a trouvé. Ce compte rendu contiendra la liste des vulnérabilités détectées sur les machines analysées, avec des informations sur le niveau de risque : intéressant pour traiter en priorité les vulnérabilités avec un risque élevé ou critique.
Voici les 4 types de scans que peut réaliser cet outil :
- Scan de vulnérabilités non authentifié (anonyme) sur des équipements ou des applications Web
- Scan de vulnérabilités authentifié (SSH, SMB, etc.)
- Scan de vulnérabilités sur les adresses IP publiques (analyse depuis l'extérieur du réseau)
- Scan de conformité, ou de "Compliance" si vous préférez
Les trois premiers types de scans vont permettre d'effectuer la recherche de vulnérabilités tandis que le dernier type permet de vérifier la configuration de vos machines. Par exemple, la configuration de votre serveur Windows Server 2022 est-elle conforme aux recommandations du CIS Benchmark à ce sujet ?
L'outil pourra effectuer des analyses régulières, selon un planning, et générer des rapports complets. L'objectif étant d'effectuer un suivi dans le temps des vulnérabilités, tout en vous aidant à corriger les vulnérabilités détectées. Pour que vous puissiez dépenser votre temps efficacement, Outscan NX s'appuie sur de la threat intelligence pour vous indiquer les vulnérabilités à traiter en priorité. C'est très important car cet indicateur est dynamique en fonction des campagnes d'attaques actuelles, contrairement au score CVSS qui est statique.
Avant de poursuivre, quelques précisions sur le scan d'applications Web qui n'est pas mis en avant dans la démonstration ci-dessous mais qui est tout de même un atout de la solution. Outscan NX est capable de rechercher des vulnérabilités sur une application Web en employant la méthode DAST (Dynamic Application Security Testing), ce qui permet de faire un audit de sécurité en mode boîte noire, en positionnant depuis l'extérieur et en créant de l'interaction avec l'application comme pourrait le faire un pirate. La solution est conforme PCI, ce qui permet à l'entreprise d'obtenir une certification PCI ASV (voir la liste ici).
Voilà pour cette présentation succincte de l'outil, maintenant passons à son utilisation.
III. Installation d'Outpost24 Outscan NX
L'application Outpost24 Outscan NX peut être mise en œuvre sur votre infrastructure locale on-premise ou elle peut être utilisée dans le Cloud, en mode SaaS. Pour cette démonstration, et parce que je pense que ce sera le mode de déploiement préféré des entreprises pour ce type d'outil, la solution sera déployée en local.
Sur son portail, Outpost24 met à disposition des images prêtes à l'emploi pour VMware ESXi, VMware Workstation Pro/Player et VMware Fusion, ainsi que pour Hyper-V. Par ailleurs, il y a des images pour le Cloud à destination d'Azure et AWS. L'image VMware ESXi est utilisée dans cet exemple.
En matière de ressources, le strict minimum à prévoir est :
- CPU virtuels : 2
- RAM : 8 Go
- Espace disque : 150 Go
Grâce au fait que ce soit une image prête à l'emploi, l'installation est très simple : il suffit d'importer l'image OVA sur son hyperviseur VMware. Une fois que c'est fait, la machine virtuelle démarre et nous donne accès à un menu principal en mode console. Ce menu sert à effectuer la configuration de base, notamment la configuration réseau.
Une fois que cette mise en route est effectuée, la suite se passe en mode web à partir d'un navigateur ! En effet, l'interface d'Outscan NX est accessible à l'adresse suivante :
https://<adresse IP de la VM>/
Pour finir la mise en route, il faut réaliser l'enrollment de l'appliance auprès des serveurs Outpost24. Cette inscription s'effectue avec un compte Outpost24 et elle est nécessaire, car l'appliance doit se connecter aux serveurs pour récupérer le détail de votre licence, mettre à jour la base de vulnérabilités (la première fois comptez une vingtaine de minutes), etc.
À partir de là, l'appliance est prête à l'emploi ! Il ne reste plus qu'à poursuivre la configuration et réaliser une première analyse de vulnérabilités.
IV. Utilisation d'Outpost24 Outscan NX
L'interface de gestion de l'application, full web, se présente sous la forme d'un bureau virtuel. En bas, à gauche il y a comme "un menu Démarrer" qui permet d'accéder aux différents modules de l'application et un système de fenêtre permet de naviguer entre les modules ouverts. C'est relativement intuitif, car nous sommes tous familiers avec ce type d'interface. Vous pouvez constater que l'interface est en anglais, mais un tour dans les paramètres permettrait de passer l'interface en français.
A. Déclarer les cibles à analyser
Pour que le scanner de vulnérabilités puisse analyser les machines, nous devons déclarer des cibles. C'est la première étape à mener, accessible dans le menu "Netsec" puis "Manage targets".
Il y a plusieurs façons de déclarer les cibles : adresses IP, réseau IP complet, noms DNS, etc. Dans cet exemple, un nouveau groupe intitulé "192.168.100.0/24" est créé : il s'agit de mon sous-réseau où sont adressés plusieurs machines (un firewall, un poste de travail et plusieurs serveurs). Ainsi, le champ "New Target List" contiendra la valeur "192.168.100.0/24" et on utilisera bien le scanner "Local" pour que la recherche de vulnérabilités soit effectuée par notre VM.
B. Découverte des cibles
Bien que l'on ait déclaré un sous-réseau IP entier, toutes les adresses IP ne sont pas utilisées. Donc, pour la suite, on va devoir passer par une phase de découverte qui sera suivie par la phase de recherche de vulnérabilités. On peut le faire en deux temps, ou dans deux tâches séparées (comme dans cet exemple). La création des tâches planifiées s'effectue via le menu "Netsec" puis "Scan scheduling".
Pendant cette phase de découverte, l'outil va analyser chaque adresse IP du réseau "192.168.100.0/24" afin de voir s'il y a un équipement ou non. Pour effectuer cette découverte, l'outil va s'appuyer sur des requêtes ARP, ICMP (ping) et des requêtes sur des ports TCP/UDP. Les machines détectées seront ajoutées au groupe "192.168.100.0/24" créé précédemment.
Lorsque la tâche est configurée, il ne reste plus qu'à l'exécuter dans la foulée. L'outil va analyser chaque adresse IP.
À la fin de la découverte, notre groupe de cibles contient la liste des machines découvertes. Lorsque la colonne "Host Name" est renseignée, c'est qu'un nom d'hôte DNS a pu être détecté. C'est pratique, car l'inventaire est plus parlant avec des noms de machines que des adresses IP.
La liste de cibles est prête : la prochaine étape va consister à effectuer la recherche de vulnérabilités.
C. Scan de vulnérabilités sur les cibles
Pour effectuer sa recherche de vulnérabilités, l'outil d'Outspot24 s'appuie sur une base qui contient plus de 233 000 entrées à l'heure où j'écris ces lignes. Une ligne correspond à une vulnérabilité.
Voici quelques exemples de systèmes d'exploitation et d'applications que l'on retrouve dans cette liste :
- Linux : Fedora, Red Hat Enterprise Linux, Debian, Oracle Linux, Ubuntu,
- macOS
- Windows, Windows Server
- CMS : WordPress, Moodle, Umbraco CMS, dotCMS
- Réseau : Fortinet, F5 BIG-IP, Cisco, Aruba
- Autres : KeePass, ElasticSearch, FreeBSD, Samba, Microsoft Office, ManageEngine, Docker, Kubernetes, Citrix, OpenSSH
- Etc... Etc...
Désormais, voyons comment lancer un scan de vulnérabilités sur les cibles découvertes.
C'est également à partir du menu "Netsec" puis "Scan scheduling" que l'on va pouvoir créer une nouvelle tâche planifiée correspondante à un scan de vulnérabilités. Lors de la configuration de la tâche, il convient de sélectionner le groupe de cibles, la politique de scan et la fréquence d'exécution de ce scan. On peut faire en sorte que l'analyse de vulnérabilités soit effectuée de façon récurrente.
Lorsque la tâche est créée, on peut l'exécuter dans la foulée. Désormais, c'est notre scanner de vulnérabilités local qui se met au travail. La première étape consiste à effectuer une analyse de ports pour détecter les ports ouverts sur la machine cible, puis il y aura la recherche de vulnérabilités dans la continuité. Ce scan sera plus ou long selon le nombre de machines à analyser : plusieurs dizaines de minutes peuvent être nécessaires.
D. Analyse des résultats
À la fin du scan, on va se poser une question évidente : quelles sont les vulnérabilités détectées sur mon infrastructure ? La réponse se situe dans la section "Reporting Tools", accessible dans le menu "Netsec" de l'application.
Dans "Reporting Tools", la partie supérieure de la fenêtre de l'application recense l'historique des scans effectués, avec la possibilité de sélectionner les différents groupes de cibles et les hôtes. Quant à la partie inférieure, elle affiche les résultats du scan sélectionné avec la liste des vulnérabilités par cible, mais aussi la liste des solutions à mettre en œuvre, et une vue d'ensemble par service/protocole. En supplément, l'onglet "Trend" permet de voir la tendance dans le temps (est-ce qu'il y a plus ou moins de vulnérabilités depuis le précédent scan) tandis que l'onglet "Delta" indique le nombre de vulnérabilités ajoutées/corrigées/inchangées entre deux scans (avec la même information pour les ports ouverts).
La liste des vulnérabilités se présente sous la forme d'un tableau. Ce tableau est personnalisable puisque l'on peut changer l'ordre de tri, ajouter ou supprimer des colonnes, mais aussi appliquer des filtres. Par exemple, on peut créer un filtre pour lister uniquement les vulnérabilités avec une criticité "élevée" ou "critique". C'est intéressant, car on va pouvoir mettre un maximum d'énergie pour corriger ces failles en particulier.
Au-delà du filtre sur la sévérité CVSS, ce qui est pertinent, c'est d'ajouter la colonne "Farsight risk" est de faire un filtre basé sur ce score. Pourquoi ? Et bien parce que ce score s'appuie sur la threat intelligence d'Outscan NX : si le score est élevé, c'est que la vulnérabilité est exploitée dans le cadre d'attaques et qu'elle doit être traitée en priorité, même si sa sévérité initiale est peut-être "Moyenne" ou "Faible". C'est assez fréquent que d'anciennes vulnérabilités se retrouvent sur le devant de la scène : le score Farsight risk en tient compte. C'est une donnée cruciale pour mettre ses efforts sur la bonne vulnérabilité au bon moment.
Pour chaque vulnérabilité détectée, l'outil Outscan NX donne accès à un ensemble d'informations : nom du produit, niveau de risque, score CVSS, numéro de CVE (s'il y en a un), la solution à apporter, ainsi que des liens permettant d'en savoir plus sur la vulnérabilité en question.
La notion d'historique est pertinente aussi, car vous pouvez savoir depuis quand Outscan NX est capable de vérifier la présence de cette faille de sécurité, quand elle a été vue pour la première fois sur le serveur analysé et quand elle a été vue pour la dernière fois. Cela permettra de savoir facilement si c'est une vulnérabilité qui persiste sur l'un de vos systèmes.
Dans l'exemple ci-dessous, l'outil Outscan NX fait référence à une vulnérabilité dans OpenSSH qu'il est possible de corriger en passant sur OpenSSH 9.3 ou supérieur.
Par ailleurs, sur cette même machine, une autre vulnérabilité a été découverte : "SSL/TLS Certificate Validation Failure", elle fait référence à un défaut de configuration du serveur Web puisqu'il utilise un certificat SSL invalide. Typiquement, si le certificat SSL a expiré, cette vulnérabilité sera remontée.
Un clic droit sur une vulnérabilité présente dans la liste permet d'accéder à un ensemble d'actions. Par exemple, vous pouvez ajouter un commentaire, marquer la vulnérabilité comme "un faux positif" ou encore accepter le risque. Par exemple, sur une application interne, on pourrait accepter le risque d'avoir un problème de validation du certificat (pour faire référence à la vulnérabilité évoquée précédemment).
Basculons sur l'onglet "Solutions" qui fournit une liste des solutions pour venir à bout des vulnérabilités détectées. Parfois, et comme le montre l'image ci-dessous, une même vulnérabilité pourra être détectée sur plusieurs hôtes. C'est un cas très fréquent si l'on a plusieurs serveurs équivalents maintenus de la même façon.
E. Scan de vulnérabilités avec authentification
Dans un premier temps, la recherche de vulnérabilités a été effectuée sans authentification, c'est-à-dire en agissant en interrogeant les machines de manière anonyme. Cela permet de remonter diverses vulnérabilités comme nous l'avons vu. Toutefois, pour aller plus loin et détecter des vulnérabilités supplémentaires, il s'avère intéressant de réaliser un scan de vulnérabilité authentifié. Mais, dans un second temps, comme nous allons le faire dans cet exemple.
L'application Outscan NX est capable de s'authentifier sur les équipements avec différents protocoles, y compris les protocoles SMB et SSH, très utile pour s'authentifier sur les machines Windows et Linux, mais aussi sur les équipements réseau pour le second. À cela s'ajoute le SNMP, l'authentification sur un environnement vSphere ou encore l'utilisation d'un dictionnaire pour effectuer du brute force sur les systèmes. Pour créer une politique de scan authentifié, il convient d'éditer la politique "Normal" (utilisée précédemment), de faire les ajouts de credentials, et de sauvegarder la politique sous un nouveau nom.
L'authentification SMB prend en charge plusieurs comptes, ce qui permet d'ajouter des comptes de différents domaines Active Directory, ou un compte Active Directory et un compte local. Cette flexibilité offre plusieurs angles d'exploration possibles. Quant à l'authentification SSH, elle prend en charge seulement un compte par politique de scan. Par contre, elle a le mérite de supporter l'authentification par mot de passe et par clé.
Après avoir renseigné les différents identifiants, la politique doit être enregistrée et un nouveau scan basé sur cette politique doit être exécuté.
Sur mes machines utilisées pour les tests, cette analyse en étant authentifié a permis d'identifier des vulnérabilités supplémentaires. Grâce au mode authentifié, on peut identifier plus facilement les vulnérabilités sur Windows et lorsque la vulnérabilité est corrigée par une mise à jour du système, Outscan NX présente l'avantage d'indiquer directement la ou les mises à jour nécessaire via le numéro de KB. C'est pratique, car on sait vers quoi se diriger pour apporter une solution à cette vulnérabilité.
Que ce soit avec un scan authentifié ou non authentifié, l'interface de l'application reste la même et les informations les mêmes. Seule la liste de vulnérabilités va évoluer et c'est l'essentiel.
F. L'analyse de conformité
Un système peut s'avérer vulnérable car il est mal configuré ! Autrement dit, s'il ne respecte pas les bonnes pratiques. Mais, quelles sont les bonnes pratiques ? En France, nous avons la chance d'avoir l'ANSSI, qui met en ligne de nombreux guides pour nous aiguiller.
Il y a aussi les guides "CIS Benchmark" sur les systèmes et applications populaires qui font office de référence lorsque l'on fait du hardening, et qui ont une très bonne réputation. Par exemple, il y a un guide CIS Benchmark pour "Windows Server 2022" qui fait un peu plus de 1 000 pages et qui indique la configuration à mettre en place pour avoir un système durci et qui respecte les bonnes pratiques. La bonne nouvelle, c'est que l'outil Outscan NX permet de comparer la configuration de vos machines avec les bonnes pratiques du CIS Benchmark.
Pour cela, il suffit de créer un nouveau scan et d'activer la partie "Compliance Scanning" en sélectionnant les politiques de conformité que l'on veut activer. Dans cet exemple, l'analyse sera effectuée sur un serveur Windows Server 2022, donc je sélectionne la politique correspondante.
Même si j'évoque ici le CIS, l'image ci-dessous montre que l'outil intègre les stratégies en provenance d'autres organismes (ou d'autres catégories).
Une fois le scan configuré, il peut être exécuté et ses résultats apparaîtront dans la section "Compliance Scanning" de l'application.
La partie inférieure de l'interface liste les points de conformité vérifiés sur la machine sélectionnée, en fonction de la politique choisie. Sur la droite, la colonne "Compliant" indique si la machine respecte ou non chaque point de conformité.
Pour chaque point, il y a une description complète, des informations sur la solution à mettre en oeuvre (si une GPO peut permettre de configurer le point en question, le paramètre est spécifié) et la méthode utilisée par l'outil pour vérifier ce point de conformité. On trouve aussi des liens vers des ressources externes, comme la documentation Microsoft par exemple.
En complément du scan de vulnérabilités, le scan de conformité automatique est très intéressant et il permet de beaucoup de temps. Grâce à Outscan NX, on peut gérer efficacement les vulnérabilités et durcir la configuration des systèmes et applications.
G. Les rapports
Même si l'analyse des résultats est disponible dans l'interface de l'application, on peut générer des rapports au format PDF, Excel ou XML. En fonction du destinataire du rapport, on pourra avoir plus ou moins de détails en jouant sur le type de rapport et le niveau de détail. On peut aussi protéger le rapport par un mot de passe, ce qui est pertinent puisqu'il contient des informations sensibles sur le système d'information.
Un rapport complet et détaillé pourra être très volumineux : 221 pages pour 6 machines dans mon cas. Ceci s'explique par le fait que l'on a tout le détail pour chaque vulnérabilité de chaque hôte. Globalement, le rapport contient les mêmes informations que le "Reporting Tools" de l'application.
V. Conclusion
Suite à la lecture de cet article, d'une part vous êtes sensibilisé à l'importance de la gestion des vulnérabilités en entreprise, et d'autre part vous avez un exemple d'un outil capable de vous accompagner pour le faire efficacement : Outpost24 Outscan NX.
Pour obtenir plus d'informations ou effectuer une demande de devis, n'hésitez pas à contacter l'éditeur. Outpost24 est présent en France, ce qui vous permettra d'avoir un interlocuteur francophone pour votre projet.
Cet article contient une communication commerciale.
Un peut galere pour avoir leurs logiciel, deja une adresse pro, et une fois passer avec une adresse pro le message » on vous contactera » et je n’ai aucun mail ou lien pour DL. :/
Pas pu trouver le lien de téléchargement des VM
Si j’en crois ce lien sur leur page support, il faut un compte pour télécharger les images.
https://kb.outpost24.com/kb/vulnerability-management-netsec/outscan-hiab/netsec-getting-started/virtual-hiab-appliance
Bonjour Sébastien,
Vous devez demander une version d’essai sur le site de l’éditeur, et ensuite, vous allez obtenir un accès pour télécharger les images. 🙂
Effectivement j’ai eu un retour dans la journée pour me demander :
• date de démarrage souhaitée, à partir du 11 juillet 2023 ?
• un compte avec 4 Ip publiques et 20 Ips locales est-il suffisant?
Merci pour ta réponse Floriant 🙂