Tiller, le composant serveur de Helm V2, présente une vulnérabilité de sécurité connue permettant aux attaquants d'installer des applications non autorisées dans un cluster. Mettez à niveau vers Helm V3 pour éliminer ce risque.
Périmètre d'impact
Exécutez la commande suivante pour vérifier la présence d'un déploiement Tiller :
kubectl get deploy -n kube-system tiller-deploy
Si un déploiement existe, vérifiez les conditions suivantes :
Le fichier kubeconfig du cluster est partagé avec des utilisateurs externes.
L'accès externe à la console ACK est autorisé.
Le cluster fonctionne en mode multi-locataire avec isolation des privilèges utilisateur.
Si l'une de ces conditions est remplie, mettez à niveau vers Helm V3.
Alternative : mettre à jour uniquement Tiller
Si votre cluster n'est pas concerné ou si vous ne pouvez pas mettre à niveau vers Helm V3, mettez plutôt à jour Tiller vers sa dernière version.
-
Mettez à jour Tiller :
helm init --tiller-image registry.cn-hangzhou.aliyuncs.com/acs/tiller:v2.16.3 --upgrade -
Une fois que Tiller a passé le contrôle de santé, exécutez helm version pour vérifier la mise à jour.
Cette opération met à jour uniquement le composant serveur Helm. Téléchargez séparément le composant client adapté à votre système d'exploitation.
Si votre cluster n'est pas concerné ou si la mise à niveau vers Helm V3 n'est pas disponible, mettez à jour Tiller et ignorez les étapes restantes. Vous pourrez mettre à niveau vers Helm V3 ultérieurement.
Prérequis
Vérifiez l'état de votre cluster avant de mettre à niveau vers Helm V3.
Exécutez kubectl get deploy -n kube-system tiller-deploy pour vérifier si Tiller est installé.
Si Tiller est présent, exécutez helm ls -a pour lister les applications installées.
-
Si des applications existent, supprimez-les. Les formats de données de Helm V2 et V3 sont incompatibles.
ImportantLa communauté Helm propose le plug-in
pour migrer les configurations et les versions de V2 vers V3. Utilisez ce plug-in avec prudence afin d'éviter toute perte de données.
Procédure
Effectuez les prérequis.
Supprimez le déploiement Tiller : kubectl delete deploy tiller-deploy -n kube-system.
-
Téléchargez le client Helm V3 et réinstallez vos applications.
ImportantAvant de réinstaller les applications :
Les applications Helm V2 doivent être réinstallées avec Helm V3. Évaluez l'impact sur vos charges de travail.
La réinstallation entraîne une perte de données. Sauvegardez vos données au préalable.