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 IAST Java ASoC, comme décrit ici.
  2. Extrayez le contenu du fichier ZIP.
  3. Déployez l'agent IAST en tant que servlet WAR ou que fichier JAR :
    Déployer en tant que servlet WAR :
    1. Localisez Secagent.war à la racine du fichier ZIP extrait :
    2. Suivez les instructions pour 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 comme vous le feriez pour n'importe quel autre servlet WAR.
        Remarque : Veillez à :
        1. déployer l'agent en tant qu'application Web, et non en tant qu'application d'entreprise
        2. sélectionner /Secagent en tant que racine de contexte
      • Serveur WebSphere Liberty/Serveur Open Liberty : Copiez Secagent.war dans votre dossier dropins ou déployez-le comme vous le feriez pour n'importe quel autre servlet WAR.
      • 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. Pour vérifier le déploiement, ouvrez un navigateur et accédez à :
      http://<server address>/Secagent
      La page Secagent s'ouvre et indique que l'agent a été chargé avec succès. Au fur et à mesure que vous utilisez ou testez votre application (en effectuant des tests fonctionnels, un examen dynamique ou en explorant l'application manuellement), l'agent IAST surveille les demandes au fur et à mesure de leur envoi et signale les problèmes de sécurité qu'il trouve.
    Déployer en tant que fichier JAR :

    Utilisez cette méthode de déploiement lorsqu'il n'est pas possible de déployer l'agent IAST en tant que fichier WAR. Par exemple, lors de l'exécution d'IAST sur une structure Quarkus. Dans cette méthode de déploiement, l'agent IAST s'exécutera en tant qu'agent Java.

    1. Dans le dossier jar_deployment, localisez secagent.jar.
    2. Ajoutez l'indicateur suivant à votre ligne de commande d'application :
      -Djavaagent:<path to secagent.jar>
    3. Pour vérifier le déploiement, recherchez dans stdout les messages commençant par « [IAST Secagent] ».
    L'agent est désormais installé. Au fur et à mesure que vous utilisez ou testez votre application (en effectuant des tests fonctionnels, un examen dynamique ou en explorant l'application manuellement), l'agent IAST surveillera les requêtes et signalera les problèmes de sécurité qu'il détecte.

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.