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

MateriaDB KV, Functions: découvrez le futur de Clever Cloud à Devoxx Paris 2024

Clever Cloud est fier de présenter sa nouvelle gamme de produits serverless : Materia !
Entreprise

Notre nouvelle interface de logs est disponible en bêta publique

Notre nouvelle interface de logs est désormais disponible en bêta publique, venez la tester dès aujourd'hui !
Entreprise

Métriques : archiver des milliards de points chaque mois

Les métriques sont essentielles à notre fonctionnement. Avec une croissance de 2 To/semaine, il nous a fallu trouver une solution d'archivage automatisée.
Engineering