Déploiement d'un agent IAST pour les microservices sur Kubernetes

AppScan prend en charge l'installation automatique de l'agent IAST sur un cluster Kubernetes. A l'aide d'un MutatingAdmissionWebhook, l'agent IAST est automatiquement installé sur n'importe quel pod de démarrage.

Pourquoi et quand exécuter cette tâche

Illustration des étapes d'installation d'un agent IAST sur Kubernetes, avec prise en charge de Java, .Net et Node.js.

Image montrant l'installation sur Kubernetes

Procédure

  1. Téléchargez l'agent IAST Kubernetes ASoC, comme décrit ici.
  2. Extrayez le contenu du fichier ZIP.
  3. Pour installer l'agent IAST dans votre cluster Kubernetes :
    1. Exécutez le script install-secagent-webhook.sh et spécifiez l'espace de noms pour l'installation d'IAST. Par exemple : install-secagent-webhook.sh -n my-namespace -n my-second-namespace
      Ce script installe le MutatingAdmissionWebhook dans le cluster, qui permet d'ajouter des agents IAST à tous les pods dans les espaces de noms spécifiés lors de leur lancement. Lorsqu'aucun espace de noms n'est spécifié, l'espace de noms default est utilisé.
    2. Pour appliquer l'agent IAST, redémarrez tous les pods existants.
    3. Facultatif : Afin de déployer l'analyseur IAST pour les microservices, ajoutez l'indicateur : --with-analyzer. Cela permet d'obtenir une vue graphique complète des services et de réduire le nombre de faux positifs. Seuls les environnements Node.js sont actuellement pris en charge.

      Graphique des services affichant un problème d'injection de commandes dans les pods Kubernetes.

  4. Facultatif : Vous pouvez configurer le programme d'installation IAST pour ignorer des pods spécifiques ou spécifier la langue du pod pour la détection d'agent. Le fichier de configuration doit être placé dans le dossier « config » avant d'exécuter le script install-secagent-webhook.sh.
    Des exemples de configurations sont disponibles dans le dossier « examples » du fichier zip extrait.
    { 
    // don't install IAST agent on service1. Default for ignore is false 
    "name":"service1", 
    "namespace":"default", 
    "ignore":true 
    }, 
    { 
    // hint IAST installer that service2 is Java. Possible values: java, net-core, nodejs 
    "name":"service2", 
    "namespace":"my-namespace", 
    "agents":["java"] 
    }, 
  5. Pour afficher le nom du pod des problèmes signalés à partir des différents pods, reportez-vous à la section Informations complémentaires de l'onglet Détails du problème.
  6. Pour désinstaller l'agent IAST de votre cluster Kubernetes :
    1. Exécutez le script uninstall-secagent-webhook.sh.
    2. Pour terminer le processus de désinstallation, vous devez redémarrer tous les pods en cours d'exécution, car l'agent n'est pas automatiquement supprimé de ces pods lors de la désinstallation.