Déploiement d'un agent IAST Java

Vous pouvez déployer un agent IAST sur le serveur d'applications qui prend en charge les applications Java, .NET, Node.js ou PHP. Cette section explique comment créer un type d'agent Java sur votre serveur Web.

Avant de commencer

Le moyen le plus simple et le plus efficace d'utiliser IAST consiste à le déployer en tant que servlet de fichier WAR sur votre serveur Web. Lorsque cela n'est pas possible, par exemple lors de l'exécution d'IAST sur une structure Quarkus, l'agent IAST peut être installé en tant qu'agent Java, en utilisant un fichier JAR.
Support : Seuls les serveurs d'applications Web qui exécutent JRE/JDK 1.8 ou version ultérieure sont pris en charge.
  1. Si le serveur sur lequel IAST est en cours d'exécution se trouve derrière un proxy :
    • Pour un proxy transparent, utilisez l'une des propriétés Java suivantes lors de l'exécution du serveur :
      • Propriétés Java standard :
        -Dhttps.proxyHost={proxy_ip} -Dhttps.proxyPort={proxy_port}
      • Propriétés Java personnalisées :
        -DIast.proxyHost={proxy_ip} -DIast.proxyPort={proxy_port}
      • Variables d'environnement :
        IAST_PROXY_HOST={proxy_ip} IAST_PROXY_PORT={proxy_port}
    • Si un certificat est nécessaire pour communiquer en externe (par exemple, pour transmettre un proxy transparent), fournissez un certificat valide et exécutez la commande suivante pour l'importer dans le fichier de clé :
      Remarque : Si vous avez installé JRE avec les paramètres par défaut, le nom du fichier de clé est cacerts et il est protégé par le mot de passe changeit. Sinon, remplacez les valeurs -storepass, -keystore et -file par vos propres valeurs.
      keytool.exe -import 
                                              -storepass "changeit" 
                                              -keystore "C:\Program Files (x86)\Java\jre1.8.0_144\lib\security\cacerts" 
                                              -alias certificate.cer 
                                              -file "C:\certificate.cer" 
                                              -noprompt
                                          
  2. Pour les versions de l'agent IAST antérieures à la version 1.14.2, si à la fois la phase de compilation et les versions Java d'exécution sont des versions 9 ou supérieures, ajoutez l'indicateur suivant à la commande d'exécution Java :
    –Djava.lang.invoke.stringConcat=BC_SB

Procédure

  1. Téléchargez l'agent ASoC Java IAST :
    1. Suivez les instructions fournies ici pour télécharger l'agent.
  2. Extrayez le fichier ZIP :
    1. Décompressez le fichier téléchargé pour accéder à son contenu.
  3. Déployez l'agent IAST :
    Option A : Déployer en tant que servlet WAR :
    1. Localisez le fichier WAR :
      1. Recherchez Secagent.war dans le répertoire racine du fichier ZIP extrait.
    2. Déployez votre serveur :
      • Serveur Tomcat/Serveur Jetty : Copiez Secagent.war dans votre dossier webapps ou déployez-le comme vous le feriez pour n'importe quel autre servlet WAR.
      • Serveur WebSphere : Déployez Secagent.war en tant qu'application Web, et non en tant qu'application d'entreprise. Assurez-vous que la racine de contexte est définie sur /Secagent.
      • Serveur WebSphere Liberty/Serveur Open Liberty : Copiez Secagent.war dans le dossier dropins ou déployez-le comme d'habitude.
      • Serveur JBoss/WildFly/Serveur JBoss EAP : Copiez Secagent.war dans le dossier deployments ou déployez-le comme vous le feriez pour n'importe quel autre servlet WAR.
      • Weblogic : Déployez Secagent.war comme vous le feriez pour n'importe quel autre servlet WAR.
    3. Vérifiez le déploiement :
      1. Ouvrez un navigateur Web et accédez à http://<server address>/Secagent.
      2. Si la page Secagent s'ouvre, l'agent a été déployé avec succès.
      3. L'agent IAST surveille les requêtes et signale les problèmes de sécurité lorsque vous utilisez ou testez votre application (exécution de tests fonctionnels, exécuter d'un examen dynamique ou exploration manuelle de l'application).
    Option B : Déployer en tant que fichier JAR :

    Utilisez cette méthode si le déploiement de l'agent IAST en tant que fichier WAR n'est pas possible (lors de l'utilisation de la structure QuarkXPress US, par exemple).

    1. Localisez le fichier JAR :
      1. Recherchez secagent.jar dans le dossier jar_deployment.
    2. Ajoutez l'agent Java à votre application :
      1. Option de la ligne de commande : Ajoutez l'indicateur suivant à la ligne de commande de votre application :
        -Djavaagent:<path to secagent.jar>
      2. Option de variable d'environnement : Définissez la variable d'environnement JAVA_TOOL_OPTIONS :
        set JAVA_TOOL_OPTIONS=-javaagent:<path to secagent.jar>  
    3. Vérifiez le déploiement :
      1. Vérifiez stdout dans les messages commençant par « [IAST Secagent] ».
      2. Si ces messages s'affichent, l'agent a été installé avec succès.
      3. L'agent IAST surveille les requêtes et signale les problèmes de sécurité lorsque vous utilisez ou testez votre application (exécution de tests fonctionnels, exécuter d'un examen dynamique ou exploration manuelle de l'application).

Exécution d'un agent Java avec le gestionnaire de sécurité

Pourquoi et quand exécuter cette tâche

Vous pouvez exécuter l'agent Java avec le gestionnaire de sécurité :

Pour exécuter l'agent Java avec le gestionnaire de sécurité en tant que WAR sur Tomcat :

Procédure

  1. Localisez le fichier catalina.policy.
    Le fichier catalina.policy se trouve généralement dans le répertoire de configuration d'installation Tomcat. Le chemin exact peut varier en fonction de votre système d'exploitation et de la version Tomcat.
  2. Ouvrez le fichier catalina.policy dans un éditeur de texte.
  3. Localisez le bloc « grant ».

    Recherchez un bloc commençant par le mot-clé « grant » suivi d'une ou plusieurs déclarations « permission ».

  4. Ajoutez les droits requis comme suit :
    1. Dans le bloc « grant », ajoutez le droit suivant :
      permission java.lang.RuntimePermission "net.bytebuddy.*";
    2. A la fin du fichier, ajoutez le droit suivant :
      grant codeBase "file:${catalina.base}/webapps/Secagent/-" {
                                          permission java.security.AllPermission;
                                          };
  5. Enregistrez le fichier catalina.policy.
  6. Redémarrez le serveur Tomcat pour appliquer les modifications.