Deploying the AcuSensor agent for JAVA - Docker & WAR File

The AcuSensor agent will need to be deployed to your Docker container. This section describes how to deploy AcuSensor together with your web application into a Docker container.

The Java AcuSensor requires:

  • Deploying aspectjweaver.jar into your web server - provides the integration required for AcuSensor to work with your application
  • Deploying the Acunetix Java AcuSensor into your web server - this is unique for each Target, and can be downloaded by using the Download JAVA AcuSensor button
  • Configuring your web server to use Load Time Weaving (AspectJWeaver)

Assumptions for this document

  • This document assumes that you will be using version 1.9.5 (latest at time of writing) of AspectJWeaver.
  • This document assumes that you are logged into the docker host as root, and that all files for this web application will be kept in the folder "/root/mywar/"
  • This document assumes the URL for your WAR web application will be http://<mydockerhostipaddress>:8080/helloworld/

Prepare Folder for Spring Boot Docker deployment

On the docker host, run the following command:

  • mkdir /root/mywar/

Preparing AspectJWeaver for your container

To download and deploy AspectJWeaver, run the following commands:

Preparing AcuSensor for your container

  • Create a Target in your Acunetix UI for the exact URL of your new web application (for this example: http://<mydockerhostipaddress>:8080/helloworld/ )
  • Download the Acunetix JAVA AcuSensor for your web application target from the Acunetix UI
  • Copy the Acunetix JAVA AcuSensor (AcuSensor.jar) to the docker host into folder /root/mywar/

Preparing Environment Variables for Tomcat to use AcuSensor

  • Run the following command on the docker host:
  • nano /root/mywar/setenv.sh
  • This will create a new file. Add this line to the "setenv.sh" file:

JAVA_OPTS="$JAVA_OPTS -javaagent:/usr/local/tomcat/lib/aspectjweaver.jar -Dacusensor.debug.log=ON"

  • Exit nano and save the changes to the "setenv.sh" file.

Preparing your web application for your container

  • Build your application called, for example, HelloWorld.war
  • Copy the HelloWorld.war file to the docker host folder /root/mywar/

Create Dockerfile for your web application

  • To create and edit your Dockerfile, run the following command:
  • nano /root/mywar/Dockerfile
  • Edit the contents of your Dockerfile to show the following:

FROM tomcat:9.0-alpine

COPY AcuSensor.jar /usr/local/tomcat/lib/AcuSensor.jar

COPY aspectjweaver.jar /usr/local/tomcat/lib/aspectjweaver.jar

COPY HelloWorld.war /usr/local/tomcat/webapps/helloworld.war

EXPOSE 8080

CMD ["catalina.sh", "run"]

  • Save the Dockerfile and exit the nano editor

Build your Docker Image and Start a Container based on the Image

On the docker host, run the following commands:

  • cd /root/mywar/
  • docker build -t mywar:test .
  • docker run --publish:8080:8080 --detach --name mywar mywar:test

Confirm your new Web Application works by pointing your browser to your docker container:

http://<mydockerhostipaddress>:8080/helloworld

Congratulations! You are now ready to scan your web application with Acunetix.

 

 

« Back to the Acunetix Support Page