Information de sécurité à propos de Log4Shell

information_de_sécurité

Qu’est-ce que Log4Shell?

Vous avez très probablement entendu parler de Log4Shell (ou CVE-2021-44228), la faille critique qui a touché Log4js, une bibliothèque de logs populaire écrite en Java.

Ce qui a été mis en place chez Clever Cloud ?

Chez Clever Cloud, nous avons œuvré tout le week-end pour résoudre ce problème.

En clair, tous les add-ons Elasticsearch chez nous ont été sécurisés rapidement, et beaucoup de nos clients sont sécurisés par les versions les plus récentes de JDK. Edit (13/12 16h41) : Même les versions les plus récentes de Java sont à présent vulnérables à la RCE (Remote Code Execution) en raison d’un bypass. La seule solution viable est donc de patcher et mettre à jour log4j directement.

Veuillez noter également :

  • Si vous êtes sur Java 8 (ou plus), vous devriez passer à la version 2.17.0.
  • Si vous êtes sur Java 7 , vous devriez passer à la version 2.12.2.
  • Sinon, vous pouvez supprimer la classe JndiLookup du classpath grâce à un hook après le build de votre application (vous devez exécuter le hook dans le dossier où se trouve le jar de log4j) :
CC_POST_BUILD_HOOK=zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class "

En ce qui concerne les autres, nous avons déclenché une politique de surveillance et d’analyse approfondie.

Nous sommes également en train de mettre en mettre à jour l’image Java avec la propriété de configuration de Log4j suivante : Edit (14/12 14h04) : L’image Java a bien été mise à jour et toutes les applications Java ont bien été redéployées avec la propriété de configuration suivante:

log4j2.formatMsgNoLookups=true

Il est important de noter que ce paramètre ne fonctionne qu’avec Log4j en version 2.10.0 minimum.

Nous avons mis à jour l’agent Java New Relic vers la version 7.4.1 et les applications sur lesquelles l’agent était déployé ont toutes été redéployées. 

Nous avons également patché le cluster Pulsar.

Comment limiter les risques ?

Nous vous encourageons fortement à mettre à jour votre dépendance pour Log4j v2.17.0.

Ensuite, en fonction des environnements et add-ons avec lesquels vous travaillez, voilà ce que vous pouvez mettre en place également :

Pour Docker

Si vous utilisez Docker, vous devrez soit :

  • Mettre à jour vers Log4j v2.17.0 (reccomandé)
  • Ou mettre en ligne Log4j (uniquement pour v2.10.0 minimum) avec la propriété de configuration suivante : log4j2.formatMsgNoLookups=true

Pour Jenkins

L’équipe sécurité de Jenkins a confirmé que Log4j n’est pas utilisé dans le core de Jenkins. Par contre, elle peut être utilisée dans certains plugins Jenkins. Vous pouvez identifier si Log4j est incluse dans un plugin en utilisant la commande suivante dans la Script Console :

org.apache.logging.log4j.core.lookup.JndiLookup.class.protectionDomain.codeSource

Équipe support

Bien entendu, notre équipe support se tient à votre disposition pour toute question concernant la situation actuelle. Vous pouvez les contacter via le chat ou alors envoyer un e-mail à support@clever-cloud.com.

Blog

À lire également

Clever Tools : une année d’évolutions au service de vos déploiements, cap sur la v4

Une interface en ligne de commandes (CLI) est au cœur de l'expérience développeur. Chez Clever Cloud, cela fait bientôt 10 ans que nous proposons les Clever Tools.
Engineering Fonctionnalités

Otoroshi with LLM : simplifiez la gestion de vos API et services IA sur Clever Cloud

Vos applications et services évoluent dans un environnement de plus en plus complexe, nécessitant une gestion efficace des API et des interactions avec des modèles d'intelligence artificielle tels que les très populaires LLM (Large Language Models).
Fonctionnalités

Markitdown-as-a-Service: de l’IA à la production sur Clever Cloud

Chaque jour, de nouveaux outils sont rendus disponibles, l'IA apporte de nouvelles perspectives, vous avez de nouvelles idées. C'est l'un des objectifs de Clever Cloud que de vous aider à les développer et les tester en conditions réelles sans effort, avant de pouvoir les mettre à disposition de tous.
Engineering