Deploying Custom Image Using Command-line Tool

This section describes how to deploy a Qualys Virtual Scanner Appliance using the Google gcloud CLI tool.

Starting with qVSA image version 4.1.82, Qualys Virtual Scanner Appliances, deployed on GCP, support the following Google Shielded VM features. To ensure proper functionality, these features must be enabled during deployment:

  • Secure Boot  
  • Virtual TPM(vTPM)
  • Integrity monitoring

For more information on how the Qualys Virtual Scanner Appliance is secured, see Scanner Appliance FAQs.

Deploying Scanner Appliance on Private Cloud Platforms (PCP) or SCPs with No Access to Google Cloud Marketplace

First, you need to create a Qualys scanner image from a qVSA image link provided to you by Qualys Operations.

Once you have created the image, you can use the gcloud tool to deploy a Qualys Virtual Scanner Appliance in Google Cloud.

This scanner, once deployed, functions as a standard Virtual Scanner and can scan based on IP address or CIDR block.

Step 1: Create Qualys Scanner image in GCE with the gcloud tool

Perform the following steps to download the provided image tarball, upload it to your Google Cloud Storage bucket, and create a UEFI-compatible image suitable for Shielded VMs.

  1. Download the .tar.gz file using the Signed URL / SAS URL provided to you by Qualys and save the file locally on your system.

  2. Upload the downloaded file into a bucket within your own Google Cloud project. You can upload the image by using the GCP UI console or the gsuitil CLI tool.

    Example:

    gsutil cp qVSA-GCE.x86_64-4.1.82-1.tar.gz gs://<your-bucket-name>/

    Replace <your-bucket-name> with the name of your bucket.

  3. To ensure the image fully supports Shielded VM and performance features, you must enable the appropriate guest OS features when creating the GCP image.

    This is an example gcloud command you can use.

    Replace  <your-bucket-name> with the name of your bucket.

    gcloud compute images create shielded-qvsa-gce-x86-64-4-1-82-1 \
        --source-uri=gs://<your-bucket-name>/qVSA-GCE.x86_64-4.1.82-1.tar.gz \
        --family=qvsa \
        --guest-os-features=UEFI_COMPATIBLE,VIRTIO_SCSI_MULTIQUEUE,SEV_CAPABLE,GVNIC

    On  our current GCP Marketplace image  , the following features are supported:

    UEFI_COMPATIBLE, VIRTIO_SCSI_MULTIQUEUE, SEV_CAPABLE,GVNIC

Step 2: Deploy Qualys Virtual Scanner Appliance

The following gcloud command creates an instance with no service account assigned to it.

The 'metadata' option is where PERSCODE and Proxy server configuration should be specified, separated by a comma.

Use this command:

gcloud compute instances create qualys-scanner --image-project=qvsa-test --image=qvsa-gce-x86-64-4-1-82-1 --zone us-east1-b  --custom-cpu=2 --custom-memory=4096MiB --metadata=PERSCODE=12345678901234,PROXY_URL=proxy_user:[email protected]:8080 --no-scopes --no-service-account

If you want to deploy a Shielded VM on GCP, you should add these three gcloud parameters: 
--shielded-secure-boot \
--shielded-vtpm  \
--shielded-integrity-monitoring.

Example:

gcloud compute instances create qualys-scanner-shielded --image-project=qvsa-test --image=qvsa-gce-x86-64-4-1-82-1 --zone us-east1-b  --custom-cpu=2 --custom-memory=4096MiB --metadata=PERSCODE=12345678901234,PROXY_URL=proxy_user:[email protected]:8080 --no-scopes --no-service-account  --shielded-secure-boot  --shielded-vtpm --shielded-integrity-monitoring 

On your newly deployed Scanner VM, you should see all three secure boot options enabled:

Deploying Scanner Appliance on Marketplace (SCP)

Use the following options for image family and image project to get the latest Qualys Virtual Scanner Appliance image from Marketplace:

--image-family=qvsa --image--project=qualys-gcp-security 

Example:

To deploy a Virtual Scanner with the latest qVSA image, you need to specify  "--image-family=qvsa --image-project=qualys-gcp-security " in your gcloud command.

Example:

gcloud compute instances create qualys-scanner --image-family=qvsa --image-project=qualys-gcp-security --zone us-east1-b --custom-cpu=2 --custom-memory=4096MiB --metadata=PERSCODE=12345678901234,PROXY_URL=proxy_user:[email protected]:8080 --no-scopes --no-service-account

If you want to deploy a Shielded VM on GCP, you should add these three gcloud parameters: 
--shielded-secure-boot \
--shielded-vtpm  \
--shielded-integrity-monitoring.

gcloud compute instances create qualys-scanner --image-family=qvsa --image-project=qualys-gcp-security --zone us-east1-b --custom-cpu=2 --custom-memory=4096MiB --metadata=PERSCODE=12345678901234,PROXY_URL=proxy_user:[email protected]:8080 --no-scopes --no-service-account --shielded-secure-boot  --shielded-vtpm --shielded-integrity-monitoring

  • For generating Perscode through API, refer to the Add new virtual scanner API from the VM API documentation.
  • You receive an 'Activation Code' in the API response, referred to as 'perscode' in the case of the Scanner Appliance.

To deploy Qualys Virtual Scanner Appliance using the latest Marketplace image via Google Cloud CLI

Use the following command:

gcloud compute images list --filter="family=qvsa" --project qualys-gcp-security --sort-by=~creationTimestamp --limit=1 --uri

Post-deployment Progress and Monitoring

Deployment of the Qualys Virtual Scanner Appliance may take up to 10 minutes to complete. Once deployment is complete, the appliance automatically connects to the Qualys Enterprise TruRisk™ Platform for registration. After registration, the appliance downloads the latest software and vulnerability signatures to ensure it is equipped with the most current information.

You can monitor the progress of the instance creation in the GCE VM instances.

To view further progress on the appliance configuration or to diagnose any issues, refer to the serial console output.

logs_1

Click 'Serial port 1 (console)' in the logs section.

logs_2_vm

In Google Compute Engine (GCE), you can also check VM status graphs, for instance, resources such as CPU Utilization, Disk IO, and Network status:

vm_instance_details

From the Qualys Enterprise TruRisk™ Platform UI, you can check the activation status of your Qualys Virtual Scanner Appliance. Click "Check Activation" in the "Add New Virtual Scanner" dialog from which you copied the personalization code.

Learn more about Generating a Personalization Code.

activate_virtual_scanner