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. À l'aide d'un MutatingAdmissionWebhook, l'agent IAST est automatiquement installé sur n'importe quel pod de démarrage. Vous pouvez installer ou supprimer l'agent à l'aide de scripts Helm ou Webhook.

Pourquoi et quand exécuter cette tâche

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

Image montrant l'installation sur Kubernetes

Instructions générales

Procédure

  1. Télécharger l'agent :

    Téléchargez l'agent IAST Kubernetes AppScan 360°, comme décrit ici, et extrayez le contenu du fichier ZIP.

  2. Installer l'agent IAST dans le cluster :

    L'agent peut être installé dans un ou plusieurs espaces de noms. Un MutatingAdmissionWebhook est déployé et injecte automatiquement l'agent IAST dans chaque pod créé dans les espaces de noms sélectionnés. Si aucun espace de noms n'est indiqué, l'espace de noms par défaut est utilisé.

  3. Redémarrer les pods existants :

    Après l'installation, redémarrez tous les pods en cours d'exécution dans les espaces de noms cibles pour vous assurer que l'agent IAST est injecté.

  4. Affichage des noms de pods dans les problèmes :

    Les noms de pods pour les problèmes signalés sont disponibles sous Informations supplémentaires dans l'onglet Détails du problème.

  5. Facultatif : Les fonctions facultatives suivantes sont disponibles :
    1. Configuration d'agent personnalisé : Utilisez cette option pour exclure des pods spécifiques.
    2. Analyseur IAST : Permet d'obtenir une vue graphique complète des services et de réduire le nombre de faux positifs. Actuellement pris en charge pour Node.js et .NET uniquement.

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

Installation basée sur Helm

Pourquoi et quand exécuter cette tâche

Pour installer ou désinstaller l'agent IAST dans votre cluster Kubernetes en utilisant le graphique Helm, suivez ces étapes.

Procédure

  1. Installer l'agent IAST :

    Installez l'agent IAST comme décrit ci-dessous. Après l'installation, redémarrez les pods en cours d'exécution dans les espaces de noms cibles pour terminer l'installation.

    1. Installez dans l'espace de noms par défaut :

      helm install secagent helm-secagent --wait

    2. Installez dans un ou plusieurs espaces de noms :
      helm install secagent helm-secagent --wait --set 
                          config.namespaceConfig.namespaces={my-namespace,my-second-namespace}
    3. Facultatif : Installez avec l'Analyseur activé :
      helm install secagent helm-secagent --wait \
                        --set config.namespaceConfig.namespaces={my-namespace} \
                        --set analyzer.enabled=true 
  2. Désinstallez l'agent IAST : Exécutez la commande suivante :

    helm uninstall secagent

    Cette opération supprime la version Helm nommée secagent. Redémarrez ensuite tous les pods en cours d'exécution pour finaliser la suppression.

    Pour une configuration avancée et une documentation complète, voir helm-secagent/README.md.

Installation basée sur des scripts

Pourquoi et quand exécuter cette tâche

Pour installer ou désinstaller l'agent IAST dans votre cluster Kubernetes à l'aide des scripts, procédez comme suit.

Procédure

  1. Installer l'agent IAST :

    Installez l'agent IAST comme décrit ci-dessous. Après l'installation, redémarrez les pods en cours d'exécution dans les espaces de noms cibles pour terminer l'installation.

    1. Installez dans l'espace de noms par défaut :

      ./install-secagent-webhook.sh

    2. Installez dans un ou plusieurs espaces de noms :
      ./install-secagent-webhook.sh -n my-namespace -n my-second-namespace
    3. Facultatif : Installez avec l'Analyseur activé :
      ./install-secagent-webhook.sh -n my-namespace --with-analyzer
  2. Désinstallez l'agent IAST : Exécutez la commande suivante :

    ./uninstall-secagent-webhook.sh

    Une fois l'exécution du script terminée, redémarrez tous les pods en cours d'exécution pour terminer la suppression.

Exclusion d'un pod de l'installation IAST

Procédure

  1. Excluez un pod spécifique dans un espace de noms inclus.

    Ajoutez le libellé skip-iast-webhook="true" à la configuration YAML du pod.

    Un pod créé avec ce libellé est ignoré par IAST Mutating Webhook.
  2. Pour inclure à nouveau le pod, supprimez le libellé ou définissez-le sur false, puis redémarrez le pod.