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

Instructions générales
Procédure
-
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.
-
Installer l'agent IAST dans le cluster :
L'agent peut être installé dans un ou plusieurs espaces de noms. Un
MutatingAdmissionWebhookest 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é.Installez l'agent à l'aide de l'une des méthodes suivantes :
-
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é.
-
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.
- Facultatif :
Les fonctions facultatives suivantes sont disponibles :
Installation basée sur Helm
Pourquoi et quand exécuter cette tâche
Procédure
-
Installer l'agent IAST :
-
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
Procédure
-
Installer l'agent IAST :
-
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
-
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. - Pour inclure à nouveau le pod, supprimez le libellé ou définissez-le sur false, puis redémarrez le pod.
-
Exclusion de pods via une configuration utilisateur :
Si le fichier YAML Kubernetes n'est pas accessible pour modification, vous pouvez exclure des pods de l'instrumentation IAST à l'aide d'un fichier de configuration utilisateur.Un exemple de fichier user-config.json est disponible dans le dossierexamples du package téléchargé.Exemple
{ "name": "demo-app-frontend", "namespace": "default", "ignore": true, "agents": ["java"] }Description des champs- name (obligatoire) : Nom du pod.
- namespace (obligatoire) : Espace de noms dans lequel le pod est exécuté.
- ignore (facultatif) : Lorsque ce champ est défini sur TRUE, IAST ignore l'instrumentation pour ce pod.
- agents (facultatif) : Spécifie quel(s) agent(s) IAST doit tenter d'installer. Si ce champ n'est pas renseigné, IAST essaiera tous les types d'agent pris en charge. Les valeurs sont les suivantes : [java, net-core, nodejs]
Utilisation d'un registre privé
Pourquoi et quand exécuter cette tâche
Procédure
-
Extrayez les images du registre IAST public :
docker pull iastappscan.azurecr.io/webhook-certificate:latest docker pull iastappscan.azurecr.io/webhook-server:latest docker pull iastappscan.azurecr.io/secagent-sidecar:latest -
Déployez les images vers votre registre privé.
Example: docker tag iastappscan.azurecr.io/secagent-sidecar:latest my.registry.com/secagent-sidecar:latest Docker push my.registry.com/secagent-sidecar:latest -
Exécutez le script avec le paramètre suivant :
./install-secagent-webhook.sh -n my-namespace --registry=my.registry.comVous pouvez également utiliser le graphique Helm :helm install secagent helm-secagent --wait \ --set config.namespaceConfig.namespaces={test-ns1,test-ns2,test-ns3} \ --set registry=my.registry.com -
Si le registre privé nécessite une authentification, procédez comme suit :
Installation dans des environnements restreints
Pourquoi et quand exécuter cette tâche
secagent dans lequel MutatingAdmissionWebhook est déployé.- Plateformes Kubernetes gérées, telles que les clusters d'entreprise ou gérés dans le cloud, où seuls les administrateurs peuvent créer des espaces de noms.
- Environnements avec des stratégies RBAC strictes qui empêchent les comptes de service ou les scripts de créer des espaces de noms.
- Clusters avec espaces de noms pré-provisionnés qui doivent être utilisés tels quels.
Procédure
- Créez et configurez manuellement l'espace de noms à l'avance.
-
Installez l'agent dans les espaces de noms requis en suivant les étapes précédentes. Si un espace de noms nommé
secagentexiste déjà, le script d'installation le détecte et l'utilise sans tenter de le recréer. -
Pour désinstaller, notez que le script de désinstallation supprime l'espace de noms
secagentet toutes les ressources associées par défaut. Pour désinstaller le webhook sans supprimer l'espace de noms ni la configuration RBAC associée, utilisez la commande suivante :./uninstall-secagent-webhook.sh --keep-namespace

