Netskope LogoNetskope Logo
  • Services de sécurité
  • Services d’IA
  • Services de miseenréseau
  • Services d'analyse
  • Intégrations
  • getting-started.svgPour commencer
    • Support
    • Communauté
    • Netskope.com
    © 2026 Tous droits réservés. Netskope Inc.
    Accueil
    Netskope Cloud Exchange
    Module Risk Exchange
    Configurer les plugins d'échange de risques tiers
    Qualys Plugin for Risk Exchange (en anglais)

    Qualys Plugin for Risk Exchange (en anglais)

    Ce document explique comment configurer le plugin Qualys v1.0.0 avec le module Risk Exchange de la plateforme Netskope Cloud Exchange. Ce plugin est utilisé pour récupérer les données sur les actifs de la page Gestion des actifs de cybersécurité > Inventory, les vulnérabilités des actifs de la page Détection de la gestion des vulnérabilités & Response > Vulnerabilities, les données sur les applications Web de la page Analyse des applications Web > Applications, et les conclusions sur les applications Web de la page Analyse des applications Web > Detections. Ce plugin prend également en charge les actions Add/Remove Asset Tag(s), Scan Assets et Add/Remove Web Application Tag(s).

    Calcul du score de normalisation Netskope => 1000 - (Qualys Asset/Web Application Risk Score).

    Conditions préalables

    • Un locataire Netskope (ou plusieurs, par exemple des instances de production et de développement/test).
    • Un locataire Netskope Cloud Exchange avec le plugin Tenant et le plugin Risk Exchange déjà configurés.
    • Les modules suivants sont activés sur Qualys :
      • Gestion des actifs de cybersécurité (CSAM)
      • Analyse des applications web (WAS)
      • Gestion, détection et réponse aux vulnérabilités (VMDR)
      • Agent Cloud (CA)
    • Connectivité avec l'hôte suivant : https://qualysguard.qg3.apps.qualys.com/qglogin/index.html
    Support du plugin Qualys

    Ce plugin est utilisé pour récupérer les données sur les actifs de la page Gestion des actifs de cybersécurité > Inventory, les vulnérabilités des actifs de la page Détection de la gestion des vulnérabilités & Response > Vulnerabilities, les données sur les applications Web de la page Analyse des applications Web > Applications, et les conclusions sur les applications Web de la page Analyse des applications Web > Detections. Ce plugin prend également en charge les actions Add/Remove Asset Tag(s), Scan Assets et Add/Remove Web Application Tag(s).

    Type of Data Pulled

    Actions

    Actifs Applications Web

    Add/Remove Asset Tag(s)

    Scanner les actifs

    Ajouter/supprimer des balises d'application Web

    No Action

    Mises en correspondance

    La cartographie sera utilisée pour visualiser les actifs ou les applications Web tirés et leurs détails respectifs. Les champs mappés lors de la configuration du plugin seront visibles sur la page Enregistrements une fois les données extraites. Voici les mappings suggérés à utiliser lors de la configuration du plugin.

    Mappages d'extraction pour les actifs

    Plugin Field

    Expected Datatype

    Suggested Field Name

    Suggested Aggregate Strategy

    Sample Value

    ID de l'actif

    String

    ID de l'actif

    Unique (Conservez cette option Ecraser si vous souhaitez fusionner des enregistrements avec des enregistrements provenant du plugin Netskope Risk Exchange)

    1035748148

    ID de l'hôte

    String

    ID de l'hôte

    Overwrite

    572072142

    Numéro de série

    String

    Numéro de série

    Écraser
    (Conservez cette valeur unique si vous souhaitez fusionner des enregistrements avec des enregistrements provenant du plugin Netskope Risk Exchange ou de tout autre plugin/intégration qui fournit un numéro de série comme identifiant unique).

    VMware-42 12 5b fc 5c fa 1a 6b-8a 84 be 65 a7 02 f6 53

    Score de risque

    Number

    Score de risque

    Overwrite

    N'importe quelle valeur entre 0 et 1000

    Score de risque normalisé de Netskope

    Number

    Score de risque normalisé de Netskope

    Overwrite

    N'importe quelle valeur entre 0 et 1000

    Score de criticité

    Number

    Score de criticité

    Overwrite

    De 1 à 5

    Tags

    List

    Tags

    Overwrite

    Tag1, Tag2, Tag3

    Type d'actif

    String

    Type d'actif

    Overwrite

    HOST

    Adresse IP

    String

    Adresse IP

    Overwrite

    10.50.9.73

    DNS Name

    String

    DNS Name

    Overwrite

    ub22-50-9-73

    Nom de l'actif

    String

    Nom de l'actif

    Overwrite

    ub22-50-9-73

    BIOS Asset Tag

    String

    BIOS Asset Tag

    Overwrite

    BiosTag

    Utilisateurs

    List

    Utilisateurs

    Overwrite

    root, serviceuser, devuser

    Ports ouverts

    List

    Ports ouverts

    Overwrite

    8080, 9090, 10010

    Interfaces réseau Adresse IPv4

    List

    Interfaces réseau Adresse IPv4

    Overwrite

    100.65.0.2, 10.50.9.73

    Interfaces réseau Adresse IPv6

    List

    Interfaces réseau Adresse IPv6

    Overwrite

    fe80:0:0:0:a0:bded:7c67:d862, fe80:0:0:0:aede:48ff:fe00:1122

    Interfaces réseau Adresse Mac

    List

    Interfaces réseau Adresse Mac

    Overwrite

    00:50:56:92:4f:14, 66:36:c1:6e:7c:30

    domaine

    List

    domaine

    Overwrite

    ec.local

    Sous-domaine

    List

    Sous-domaine

    Overwrite

    ec.local

    OS

    String

    OS

    Overwrite

    Ubuntu Linux 20.04.6

    QID de vulnérabilité

    String

    QID de vulnérabilité

    Append

    115284

    Identifiant unique de vulnérabilité

    String

    Identifiant unique de vulnérabilité

    Append

    6943986864

    Type de vulnérabilité

    String

    Type de vulnérabilité

    Append

    Potentiel ou confirmé

    Gravité de la vulnérabilité

    Number

    Gravité de la vulnérabilité

    Append

    De 1 à 5

    Est SSL

    Number

    Est SSL

    Append

    1 ou 0

    État de la vulnérabilité

    String

    État de la vulnérabilité

    Append

    Actif, New, Réouvert, Corrigé

    Score QDS de vulnérabilité

    String

    Score QDS de vulnérabilité

    Append

    Bas, Moyens, Hauts, critiques

    Catégorie de vulnérabilité

    String

    Catégorie de vulnérabilité

    Append

    Politique de sécurité

    Peut être réparé

    Number

    Peut être réparé

    Append

    Yes or No

    Product

    String

    Product

    Append

    openssh

    Vendor

    String

    Vendor

    Append

    openbsd

    ID CVE

    String

    ID CVE

    Append

    CVE-2024-6387

    Score CVSS de base

    Number

    Score CVSS de base

    Append

    5.5

    Score CVSS temporel

    Number

    Score CVSS temporel

    Append

    4.5

    Mappings pull pour les applications web

    Plugin Field

    Expected Datatype

    Suggested Field Name

    Suggested Aggregate Strategy

    Sample Value

    ID de l'application Web

    String

    ID de l'application Web

    Unique

    1043082757

    Nom de l'application Web

    String

    Nom de l'application Web

    Overwrite

    Application de gestion des utilisateurs

    URL de l'application Web

    String

    URL de l'application Web

    Overwrite

    https://userapp.com

    Score de risque

    Number

    Score de risque

    Overwrite

    N'importe quelle valeur entre 0 et 1000

    Score de risque normalisé de Netskope

    Number

    Score de risque normalisé de Netskope

    Overwrite

    N'importe quelle valeur entre 0 et 1000

    Tags

    List

    Tags

    Overwrite

    Tag1, Tag2, Tag3

    Trouver un QID

    String

    Trouver un QID

    Append

    150176

    Type de recherche

    String

    Type de recherche

    Append

    VULNERABILITE, INFORMATIONS GATHERISEES, CONTENU SENSIBLE

    Potential

    String

    Potential

    Append

    False

    Recherche Score de détection

    Number

    Recherche Score de détection

    Append

    55

    Détermination de la gravité

    Number

    Détermination de la gravité

    Append

    De 1 à 5

    État de la recherche

    String

    État de la recherche

    Append

    Actif, New, Réouvert, Corrigé

    Peut être réparé

    String

    Peut être réparé

    Append

    Yes or No

    Score CVSS de base

    Number

    Score CVSS de base

    Append

    5.5

    Score CVSS temporel

    Number

    Score CVSS temporel

    Append

    4.5

    Score CVSS3 de base

    Number

    Score CVSS3 de base

    Append

    6.5

    Score CVSS3 temporel

    Number

    Score CVSS3 temporel

    Append

    5.0

    Note

    • Le score de risque normalisé pour les deux entités sera calculé sur la base du champ Score de risque. Calcul du score de normalisation Netskope => 1000 - (Qualys Asset/Web Application Risk Score).
    • Les utilisateurs peuvent fusionner les enregistrements d'actifs entre Netskope Tenant et Qualys en conservant le numéro de série comme champ commun et unique entre les deux plugins.

    Permissions

    • Vous devez avoir un rôle de gestionnaire, avec l'option Autoriser l'utilisateur à disposer de toutes les permissions et l'option Étendue cochée.
    • Pour les autorisations au niveau du module, vous pouvez créer un rôle personnalisé avec le module suivant, puis attribuer ce rôle personnalisé à l'utilisateur :
      • Vulnerability Management (VM / VMDR): Nécessaire pour télécharger les statuts de détection des hôtes, évaluer les scores de détection Qualys (QDS) et interroger la base de connaissances sur les vulnérabilités.
      • Web Application Scanning (WAS): Nécessaire pour rechercher les profils d'applications web configurés, récupérer les résultats d'applications spécifiques et mettre à jour les configurations d'applications web telles que les injections d'en-tête.
      • CyberSecurity Asset Management (CSAM) and Asset Management: Nécessaire pour lire ou modifier l'inventaire de l'entreprise, effectuer des requêtes sur l'inventaire global des actifs informatiques et gérer des taxonomies d'étiquettes dynamiques.
      • Cloud Agent (CA): Nécessaire pour interagir avec l'architecture de l'agent et lancer des analyses à la demande.
      • Tagging: Nécessaire pour créer, ajouter ou supprimer des balises.

    Note

    Pour plus d'informations sur les autorisations au niveau du module, contactez l'équipe d'assistance Qualys.

    Détails de l'API

    Liste des API utilisées
    API EndpointMethodUse case
    /authPUBLIERGénérer un jeton d'accès
    /rest/2.0/search/am/assetPUBLIERRécupérer tous les actifs
    /qps/rest/3.0/search/was/webappPUBLIERRécupérer toutes les applications web
    /api/5.0/fo/asset/host/vm/detection/PUBLIERRécupérer l'identifiant de la vulnérabilité de l'actif
    /qps/rest/3.0/search/was/findingPUBLIERRécupérer l'identifiant de recherche de l'application web
    /api/4.0/fo/knowledge_base/vuln/PUBLIERObtenir des informations sur la vulnérabilité/la recherche
    /qps/rest/2.0/search/am/tagPUBLIERFetch all tags
    /qps/rest/2.0/create/am/tagPUBLIERCreate tag
    /qps/rest/2.0/update/am/hostassetPOStAjouter une balise à l'actif
    /qps/rest/2.0/update/am/hostassetPOStRetirer l'étiquette du bien
    /qps/rest/3.0/update/was/webapp/<web_app_id>PUBLIERAjouter une balise à l'application web
    /qps/rest/3.0/update/was/webapp/<web_app_id>PUBLIERSupprimer la balise de l'application web
    /qps/rest/1.0/ods/ca/agentassetPUBLIERLancer à la demande Scanner sur l'actif
    Générer un jeton d'accès

    Endpoint: POST /auth

    Headers

    KeyValue
    Content-Typeapplication/x-www-form-urlencoded
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    KeyValue
    nom d'utilisateur<username><nom d'utilisateur>
    password<password>
    jetonVrai

    Sample Response

    eyJhbGciOiJIUzUxMiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJuZXRzazNnZSIsImxvZ2luUmVzcG9uc2UiOiJTVUNDRVNTRlVMIiwiaXNzIjoicWFzIiwiaXBBZGRyZXNzIjoiNDkuNDcuMTYuOCIsInBvcnRhbFVzZXJJZCI6NDQyNDI1ODUsInVzZXJ0eXBlIjoiZm8iLCJxd2ViVXNlcklkIjo4NjI3OTY2LCJhdWQiOiJxYXMiLCJjdXN0b21lclV1aWQiOiJhOTQ3OGVlZi05OTA1LWY1ODMtODNkZS0yOTc1MWQ1Njc4ZTIiLCJtb2R1bGVzQWxsb3dlZCI6WyJBU1NFVCBJTlZFTlRPUlkiLCJFQzIiLCJLQlgiLCJSRVBPUlQgQ0VOVEVSIiwiU1dDQSIsIkFETUlOIiwiQ0VSVFZJRVciLCJRV0VCX1ZNIiwiQ09OVElOVU9VUyBNT05JVE9SSU5HIiwiRlJFRSBBR0VOVCIsIlBDIEFHRU5UIiwiUEMgU0NBTk5FUiIsIlNFQ1VSRUNPTkZJRyIsIlVEIiwiVk0iLCJBU1NFVF9NQU5BR0VNRU5UIiwiUFMiLCJDTE9VRFZJRVciLCJHTE9CQUxfQUlfQ01EQl9TWU5DIiwiUE0iLCJQT1JUQUwgVEFHR0lORyIsIlNDQU4gQlkgSE9TVE5BTUUiLCJTRU0iLCJBR0VOVF9Td0NBIiwiQ09OVEFJTkVSX1NFQ1VSSVRZIiwiTURTIiwiUEMiLCJRR1MiLCJTQ0FfQUdFTlQiLCJTTSIsIlVOSUZJRURfREFTSEJPQVJEIiwiVkxBTiIsIlZNIEFHRU5UIiwiSVRBTSIsIlBDSSIsIlFXRUJfUEMiLCJUSFJFQVQgUFJPVEVDVCIsIlZJUlRVQUwgU0NBTk5FUiIsIldBUyIsIkFQSSIsIkNBIiwiQ0VSVF9WSUVXIiwiQ00iLCJDUyIsIlBBU1NJVkVfU0NBTk5FUiIsIlZNIFNDQU5ORVIiXSwiY3VzdG9tZXJJZCI6MjEzNTYzMiwic2Vzc2lvbkV4cGlyYXRpb24iOiI2MCIsInVzZXJVdWlkIjoiODljZmU2NjEtNTIxZi1lYjFkLTgzYzUtMTE4ZjU2YjE1MjgyIiwic3Vic2NyaXB0aW9uVXVpZCI6ImE5NDc4ZWVmLTk5MDUtZjU4My04M2RlLTI5NzUxZDU2NzhlMiIsImV4cCI6MTc2NzA5MzgzOSwiaXNUZ3RFeHBpcmVkIjoidHJ1ZSIsImp3dEV4cGlyeU1pbnV0ZSI6IjI0MCIsInN1YnNjcmlwdGlvbklkIjo4OTg1NjI0LCJ0b2tlblR5cGUiOiJiYXNpYyIsImlhdCI6MTc2NzA3OTQzOSwianRpIjoiVEdUMTk4MDgxMS1FS01KT3l0VktMYkZNUURBcFVQWnNzdEtidUNCTEpXWW1JUXRScUJwcEticFh2c2lpZkhYUllNZWRGaHhTQ213LXFhcy03N2I3YmY4YzVkLXE1bHRqIn0.45_IeJBPMDpwXciCxJby1OUraRkztNs1glbdr7DHjhvN6rCxr9Dq3eewja-uL4ORyDHONEN8ge8mWQU4sqqKCQ
    Récupérer tous les actifs

    Endpoint: POST <gateway_url>/rest/2.0/search/am/asset

    Headers

    KeyValue
    Acceptapplication/json
    Content-Typeapplication/json
    AuthorizationBearer <access_token>
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Query Parameters

    KeyValueDescription
    pageSize300Taille de la réponse de l'API
    lastSeenAssetId1035748148Dernier identifiant de bien reçu de la réponse API précédente pour la recherche de la page suivante

    Request Body

    {
        "filters": [
            {
                "field": "asset.lastUpdatedDate",
                "operator": "GREATER",
                "value": "2026-02-03T11:19:44Z"
            }
        ]
    }
    

    Sample Response

    {
        "responseMessage": "Valid API Access",
        "count": 1,
        "responseCode": "SUCCESS",
        "lastSeenAssetId": 1035748148,
        "hasMore": 1,
        "assetListData": {
            "asset": [
                {
                    "assetId": 1035748148,
                    "assetUUID": "875eb84c-bf37-4dae-b2ee-484ffd4c23e5",
                    "hostId": 572072142,
                    "lastModifiedDate": "2026-01-18T15:56:06.000Z",
                    "agentId": "875eb84c-bf37-4dae-b2ee-484ffd4c23e5",
                    "createdDate": "2025-12-15T13:29:52.000Z",
                    "sensorLastUpdatedDate": "2026-01-18T15:56:06.000Z",
                    "assetType": "HOST",
                    "address": "10.50.9.73",
                    "dnsName": "ub22-50-9-73",
                    "assetName": "ub22-50-9-73",
                    "netbiosName": null,
                    "timeZone": "+05:30",
                    "biosDescription": "Phoenix Technologies LTD 6.00 12/12/2018",
                    "lastBoot": "2026-01-02T07:47:28.000Z",
                    "totalMemory": 9906,
                    "cpuCount": 6,
                    "lastLoggedOnUser": "root",
                    "domainRole": null,
                    "hwUUID": "fc5b1242-fa5c-6b1a-8a84-be65a702f653",
                    "biosSerialNumber": "VMware-42 12 5b fc 5c fa 1a 6b-8a 84 be 65 a7 02 f6 53",
                    "biosAssetTag": "No Asset Tag",
                    "isContainerHost": true,
                    "operatingSystem": {
                        "osName": "Ubuntu Linux 22.04.5",
                        "fullName": "Canonical Ubuntu Jammy Jellyfish (22.04.5 LTS)",
                        "category": "Linux / Unidentified",
                        "category1": "Linux",
                        "category2": "Unidentified",
                        "productName": "Ubuntu",
                        "publisher": "Canonical",
                        "edition": null,
                        "marketVersion": "Jammy Jellyfish",
                        "version": "22.04 LTS",
                        "update": "22.04 LTS 22.04.5 LTS",
                        "architecture": "x86_64",
                        "lifecycle": {
                            "gaDate": "2022-04-21T00:00:00.000Z",
                            "eolDate": "2027-04-30T00:00:00.000Z",
                            "eosDate": "2027-04-30T00:00:00.000Z",
                            "stage": "GA",
                            "lifeCycleConfidence": "Exact",
                            "eolSupportStage": "End of Standard Support",
                            "eosSupportStage": "End of Standard Support",
                            "detectionScore": 0
                        },
                        "taxonomy": {
                            "id": null,
                            "name": "Linux / Unidentified",
                            "category1": "Linux",
                            "category2": "Unidentified"
                        },
                        "productUrl": ",,",
                        "productFamily": null,
                        "installDate": "2022-05-13T16:34:48.000Z",
                        "release": "22.04.5",
                        "cpeId": null,
                        "cpe": "cpe:2.3:o:canonical:ubuntu_linux:22.04:*:*:*:lts:*:*:*",
                        "cpeType": "NIST"
                    },
                    "hardware": {
                        "fullName": "VMware VMware Virtual Platform VMware Virtual Platform",
                        "category": "Virtualized / Virtual Machine",
                        "category1": "Virtualized",
                        "category2": "Virtual Machine",
                        "manufacturer": "VMware",
                        "productName": "VMware Virtual Platform",
                        "model": "VMware Virtual Platform",
                        "lifecycle": {
                            "introDate": null,
                            "gaDate": null,
                            "eosDate": null,
                            "obsoleteDate": null,
                            "stage": "Unknown",
                            "lifeCycleConfidence": " "
                        },
                        "taxonomy": {
                            "id": null,
                            "name": "Virtualized / Virtual Machine",
                            "category1": "Virtualized",
                            "category2": "Virtual Machine"
                        },
                        "productUrl": ",,",
                        "productFamily": null
                    },
                    "userAccountListData": {
                        "userAccount": [
                            {
                                "name": "root"
                            },
                            {
                                "name": "devuser"
                            }
                        ]
                    },
                    "openPortListData": {
                        "openPort": [
                            {
                                "port": 39956,
                                "description": "",
                                "protocol": "UDP",
                                "detectedService": "stagentsvc",
                                "firstFound": "2026-01-16T14:07:37.000Z",
                                "lastUpdated": "2026-01-16T14:07:37.000Z",
                                "authorization": null,
                                "detectionScore": null,
                                "discoverySources": "Cloud Agent"
                            },
                            {
                                "port": 50212,
                                "description": "",
                                "protocol": "UDP",
                                "detectedService": "stagentsvc",
                                "firstFound": "2026-01-16T14:07:37.000Z",
                                "lastUpdated": "2026-01-16T14:07:37.000Z",
                                "authorization": null,
                                "detectionScore": null,
                                "discoverySources": "Cloud Agent"
                            }
                        ]
                    },
                    "volumeListData": {
                        "volume": [
                            {
                                "name": "/run/lock",
                                "free": 5242880,
                                "size": 5242880
                            }
                        ]
                    },
                    "networkInterfaceListData": {
                        "networkInterface": [
                            {
                                "hostname": "ub22-50-9-73",
                                "addressIpV4": "100.65.0.2",
                                "addressIpV6": null,
                                "macAddress": "00-00-00-00-00-00",
                                "interfaceName": "sta0",
                                "dnsAddress": "10.0.1.94, 10.0.1.99",
                                "gatewayAddress": "10.50.0.1",
                                "manufacturer": "Xerox",
                                "macVendorIntroDate": 968371200000,
                                "netmask": null,
                                "addresses": null
                            },
                            {
                                "hostname": "ub22-50-9-73",
                                "addressIpV4": "10.50.9.73",
                                "addressIpV6": null,
                                "macAddress": "00:50:56:92:4f:14",
                                "interfaceName": "ens160",
                                "dnsAddress": "10.0.1.94, 10.0.1.99",
                                "gatewayAddress": "10.50.0.1",
                                "manufacturer": "VMware",
                                "macVendorIntroDate": 946944000000,
                                "netmask": null,
                                "addresses": null
                            },
                            {
                                "hostname": "ub22-50-9-73",
                                "addressIpV4": "192.168.250.1",
                                "addressIpV6": null,
                                "macAddress": "8e:bd:6e:0a:b8:14",
                                "interfaceName": "docker0",
                                "dnsAddress": "10.0.1.94, 10.0.1.99",
                                "gatewayAddress": "10.50.0.1",
                                "manufacturer": null,
                                "macVendorIntroDate": null,
                                "netmask": null,
                                "addresses": null
                            }
                        ]
                    },
                    "softwareListData": {
                        "software": [
                            {
                                "id": 8052815498819100064,
                                "discoverySources": "Cloud Agent, Cloud Agent",
                                "fullName": "printer-driver-m2300w 0.51-15build1",
                                "softwareType": "Others",
                                "isIgnored": true,
                                "ignoredReason": "Device Drivers",
                                "category": "Unknown / Unknown",
                                "category1": "Unknown",
                                "category2": "Unknown",
                                "productName": "Unknown",
                                "component": null,
                                "publisher": "Unknown",
                                "edition": null,
                                "marketVersion": null,
                                "version": "0.51-15build1",
                                "update": "0.51-15build1",
                                "architecture": null,
                                "installDate": null,
                                "installPath": null,
                                "lastUpdated": "2026-01-17T07:14:32.000Z",
                                "lastUseDate": null,
                                "language": null,
                                "formerlyKnownAs": null,
                                "isPackage": false,
                                "isPackageComponent": false,
                                "packageName": null,
                                "productUrl": null,
                                "lifecycle": {
                                    "gaDate": null,
                                    "eolDate": null,
                                    "eosDate": null,
                                    "stage": "Unknown",
                                    "lifeCycleConfidence": null,
                                    "eolSupportStage": null,
                                    "eosSupportStage": null,
                                    "detectionScore": null
                                },
                                "supportStageDesc": null,
                                "license": {
                                    "category": null,
                                    "subcategory": null
                                },
                                "authorization": null,
                                "discoveredPublisher": null,
                                "discoveredName": "printer-driver-m2300w",
                                "discoveredVersion": "0.51-15build1",
                                "authorizationDetectionScore": null,
                                "cpeId": null,
                                "cpe": null,
                                "cpeType": null,
                                "softwareInstances": null
                            }
                        ]
                    },
                    "softwareComponent": null,
                    "provider": null,
                    "cloudProvider": null,
                    "agent": {
                        "version": "7.2.3.8",
                        "configurationProfile": "NetskopeProfile1",
                        "activations": [
                            {
                                "key": "dc679ede-14e6-4847-b785-9c266f4d4082",
                                "status": "ACTIVE"
                            }
                        ],
                        "connectedFrom": "163.116.213.162",
                        "lastActivity": 1768602133000,
                        "lastCheckedIn": 1768634073000,
                        "lastInventory": 1768572511000,
                        "udcManifestAssigned": false,
                        "errorStatus": false
                    },
                    "sensor": {
                        "activatedForModules": [
                            "VM",
                            "SCA",
                            "SwCA"
                        ],
                        "pendingActivationForModules": [],
                        "lastVMScan": 1768634071000,
                        "lastComplianceScan": 1768522200000,
                        "lastFullScan": 1768634071000,
                        "lastVmScanDateScanner": 0,
                        "lastVmScanDateAgent": 1768634071000,
                        "lastPcScanDateScanner": 0,
                        "lastPcScanDateAgent": 1768522200000,
                        "firstEasmScanDate": null,
                        "lastEasmScanDate": null
                    },
                    "container": {
                        "product": "DOCKER",
                        "version": "28.2.2",
                        "noOfContainers": 1,
                        "noOfImages": 20,
                        "hasSensor": true
                    },
                    "inventory": {
                        "source": "QAGENT",
                        "created": 1765805392000,
                        "lastUpdated": 1768634073000
                    },
                    "inventoryListData": {
                        "inventory": [
                            {
                                "source": "Cloud Agent",
                                "created": 1765805391000,
                                "lastUpdated": 1768634072000
                            }
                        ]
                    },
                    "activity": {
                        "source": "QAGENT",
                        "lastScannedDate": 1768634073000
                    },
                    "tagList": {
                        "tag": [
                            {
                                "tagId": 82163802,
                                "tagName": "UbuntuLinux",
                                "foregroundColor": 0,
                                "backgroundColor": -16711681,
                                "businessImpact": null,
                                "criticalityScore": null
                            },
                            {
                                "tagId": 82539085,
                                "tagName": "VirtualMachine",
                                "foregroundColor": 0,
                                "backgroundColor": 0,
                                "businessImpact": null,
                                "criticalityScore": null
                            }
                        ]
                    },
                    "serviceList": {
                        "service": [
                            {
                                "description": null,
                                "name": "docker.service",
                                "status": "loaded/active/running"
                            }
                        ]
                    },
                    "lastLocation": {
                        "city": "Mumbai",
                        "state": "Maharashtra",
                        "country": "India",
                        "name": "Mumbai, Maharashtra - India",
                        "continent": "Asia",
                        "postal": "400017"
                    },
                    "criticality": {
                        "default": true,
                        "score": 2,
                        "isDefault": true,
                        "lastUpdated": null
                    },
                    "businessInformation": null,
                    "assignedLocation": null,
                    "businessAppListData": null,
                    "riskScore": 327,
                    "passiveSensor": null,
                    "domain": null,
                    "subdomain": null,
                    "missingSoftware": [],
                    "whois": null,
                    "organizationName": null,
                    "isp": null,
                    "asn": null,
                    "easmTags": null,
                    "hostingCategory1": null,
                    "customAttributes": null,
                    "lparId": null,
                    "processor": {
                        "description": "Intel(R) Xeon(R) Bronze 3106 CPU @ 1.70GHz",
                        "speed": 1700,
                        "numCPUs": 6,
                        "noOfSocket": 3,
                        "threadsPerCore": 1,
                        "coresPerSocket": 2,
                        "multithreadingStatus": "DISABLED"
                    }
                }
            ]
        }
    }
    
    Récupérer toutes les applications web

    Endpoint: POST /qps/rest/3.0/search/was/webapp

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Headers

    KeyValue
    Acceptapplication/json
    Content-Typeapplication/json
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    {
        "ServiceRequest": {
            "preferences": {
                "limitResults": 1000,
                "startFromOffset": 1,
                "verbose": true
            },
            "filters": {
                "Criteria": [
                    {
                        "field": "updatedDate",
                        "operator": "GREATER",
                        "value": "2026-02-01T12:00:00Z"
                    }
                ]
            }
        }
    }

    Sample Response

    {
        "ServiceResponse": {
            "lastId": 1043082757,
            "data": [
                {
                    "WebApp": {
                        "updatedDate": "2026-02-26T13:10:24Z",
                        "id": 1044849387,
                        "riskScore": 41,
                        "createdDate": "2025-12-30T09:49:50Z",
                        "name": "Netskope App",
                        "tags": {
                            "count": 4,
                            "list": [
                                {
                                    "Tag": {
                                        "id": 84663143,
                                        "name": "WebAppTag1"
                                    }
                                },
                                {
                                    "Tag": {
                                        "id": 84664135,
                                        "name": "WebAppTag2"
                                    }
                                },
                            ]
                        },
                        "url": "https://plugin.xo.je",
                        "owner": {
                            "id": 44242585
                        }
                    }
                }
            ],
            "responseCode": "SUCCESS",
            "count": 1,
            "hasMoreRecords": "true"
        }
    }
    Récupérer l'identifiant de la vulnérabilité de l'actif

    Endpoint: POST /api/5.0/fo/asset/host/vm/detection

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Headers

    KeyValue
    Content-Typeapplication/x-www-form-urlencoded
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    KeyValueDescription
    actionlist–
    idsHost_id1, host_id2ID de l'hôte de l'actif
    show_qds1–
    detection_updated_since2026-02-24T12:00:00ZFiltre temporel

    Sample Response

    
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE KNOWLEDGE_BASE_VULN_LIST_OUTPUT SYSTEM "https://qualysapi.qg3.apps.qualys.com/api/4.0/fo/knowledge_base/vuln/knowledge_base_vuln_list_output.dtd">
    <!-- This report was generated with an evaluation version of Qualys //-->
    <KNOWLEDGE_BASE_VULN_LIST_OUTPUT>
        <RESPONSE>
            <DATETIME>2026-02-27T05:11:48Z</DATETIME>
            <VULN_LIST>
                <VULN>
                    <QID>115284</QID>
                    <VULN_TYPE>Potential Vulnerability</VULN_TYPE>
                    <SEVERITY_LEVEL>2</SEVERITY_LEVEL>
                    <TITLE>
                        <![CDATA[IP Forwarding Enabled]]>
                    </TITLE>
                    <CATEGORY>Local</CATEGORY>
                    <LAST_SERVICE_MODIFICATION_DATETIME>2026-01-30T16:00:19Z</LAST_SERVICE_MODIFICATION_DATETIME>
                    <PUBLISHED_DATETIME>2005-09-29T07:00:00Z</PUBLISHED_DATETIME>
                    <CODE_MODIFIED_DATETIME>2005-09-29T07:00:00Z</CODE_MODIFIED_DATETIME>
                    <PATCHABLE>0</PATCHABLE>
                    <SOFTWARE_LIST>
                        <SOFTWARE>
                            <PRODUCT>
                                <![CDATA[None]]>
                            </PRODUCT>
                            <VENDOR>
                                <![CDATA[none]]>
                            </VENDOR>
                        </SOFTWARE>
                    </SOFTWARE_LIST>
                    <CVE_LIST>
                        <CVE>
                            <ID>
                                <![CDATA[CVE-1999-0511]]>
                            </ID>
                            <URL>
                                <![CDATA[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-0511]]>
                            </URL>
                        </CVE>
                    </CVE_LIST>
                    <DIAGNOSIS>
                        <![CDATA[If this machine is not a router or a firewall, then IP forwarding should not be activated.<P>Note: Disabling IP Forward on containers and/or Kubernetes hosts may cause issues and may not be applicable.]]>
                    </DIAGNOSIS>
                    <CONSEQUENCE>
                        <![CDATA[If this machine is not intended to be a router, then it may allow a malicious user to access your internal network.]]>
                    </CONSEQUENCE>
                    <SOLUTION>
                        <![CDATA[Disable IP forwarding by following the appropriate instructions below: <UL><LI>On Windows set the value of the following registry key to zero:  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter<LI>On Linux, insert this line in your startup script: &quot;sysctl -w net.ipv4.ip_forward=0&quot;<LI>On Solaris, HP-UX insert this line in your startup script: &quot;ndd -set /dev/ip ip_forwarding 0&quot;<LI>On Mac OS X, insert this line in your startup script: &quot;sysctl -w net.inet.ip.forwarding=0&quot;</UL>]]>
                    </SOLUTION>
                    <CVSS>
                        <BASE>7.5</BASE>
                        <TEMPORAL>6.0</TEMPORAL>
                        <VECTOR_STRING>CVSS:2.0/AV:N/AC:L/Au:N/C:P/I:P/A:P/E:U/RL:W/RC:C</VECTOR_STRING>
                        <ACCESS>
                            <VECTOR>3</VECTOR>
                            <COMPLEXITY>1</COMPLEXITY>
                        </ACCESS>
                        <IMPACT>
                            <CONFIDENTIALITY>2</CONFIDENTIALITY>
                            <INTEGRITY>2</INTEGRITY>
                            <AVAILABILITY>2</AVAILABILITY>
                        </IMPACT>
                        <AUTHENTICATION>1</AUTHENTICATION>
                        <EXPLOITABILITY>1</EXPLOITABILITY>
                        <REMEDIATION_LEVEL>3</REMEDIATION_LEVEL>
                        <REPORT_CONFIDENCE>3</REPORT_CONFIDENCE>
                    </CVSS>
                    <PCI_FLAG>1</PCI_FLAG>
                    <THREAT_INTELLIGENCE>
                        <THREAT_INTEL id="5">
                            <![CDATA[Easy_Exploit]]>
                        </THREAT_INTEL>
                        <THREAT_INTEL id="8">
                            <![CDATA[No_Patch]]>
                        </THREAT_INTEL>
                        <THREAT_INTEL id="14">
                            <![CDATA[Unauthenticated_Exploitation]]>
                        </THREAT_INTEL>
                    </THREAT_INTELLIGENCE>
                    <DISCOVERY>
                        <REMOTE>1</REMOTE>
                        <AUTH_TYPE_LIST>
                            <AUTH_TYPE>Unix</AUTH_TYPE>
                        </AUTH_TYPE_LIST>
                    </DISCOVERY>
                </VULN>
            </VULN_LIST>
        </RESPONSE>
    </KNOWLEDGE_BASE_VULN_LIST_OUTPUT>
    <!-- This report was generated with an evaluation version of Qualys //-->
    <!-- CONFIDENTIAL AND PROPRIETARY INFORMATION. Qualys provides it's Service "As Is," without any warranty of any kind. Qualys makes no warranty that the information contained in this report is complete or error-free. Copyright 2026, Qualys, Inc. //--> 
    
    Récupérer les résultats d'une application web

    Endpoint: POST /qps/rest/3.0/search/was/finding

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Headers

    KeyValue
    Content-Typeapplication/json
    Acceptapplication/json
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    {
        "ServiceRequest": {
            "preferences": {
                "limitResults": 1000,
                "startFromOffset": 1
            },
            "filters": {
                "Criteria": [
                    {
                        "field": "lastDetectedDate",
                        "operator": "GREATER",
                        "value": "2026-02-24T10:53:40Z"
                    },
                    {   
                        "field": "webApp.id",
                        "operator": "IN",
                        "value": "id1,id2,id3"
                    }
                ]
            }
        }
    }

    Sample Response

    {
    "ServiceResponse": {
    "responseCode": "SUCCESS",
    "count": 34,
    "data": [
    {
    "Finding": {
    "webApp": {
    "name": "Netskope App",
    "id": 1044849387,
    "url": "https://plugin.xo.je"
    },
    "potential": "false",
    "lastDetectedDate": "2025-12-30T10:53:38Z",
    "qid": 150497,
    "name": "Progressive scan completely crawled and tested the website",
    "lastTestedDate": "2025-12-30T10:53:38Z",
    "firstDetectedDate": "2025-12-30T10:53:38Z",
    "uniqueId": "06a187a3-ceae-435f-befd-0cd38f158ea8",
    "type": "INFORMATION_GATHERED",
    "findingType": "QUALYS",
    "severity": "1",
    "id": 18181479,
    "detectionScore": 0
    }
    },
    {
    "Finding": {
    "timesDetected": 3,
    "webApp": {
    "name": "Netskope App",
    "id": 1044849387,
    "url": "https://plugin.xo.je"
    },
    "status": "ACTIVE",
    "potential": "false",
    "lastDetectedDate": "2025-12-30T10:53:38Z",
    "url": "http://plugin.xo.je/",
    "qid": 150263,
    "name": "Insecure Transport",
    "lastTestedDate": "2025-12-30T10:53:38Z",
    "firstDetectedDate": "2025-12-30T09:58:23Z",
    "uniqueId": "a916d560-163b-4d13-800c-2c85d152f026",
    "type": "VULNERABILITY",
    "findingType": "QUALYS",
    "isIgnored": "false",
    "severity": "3",
    "id": 38761268,
    "detectionScore": 55
    }
    }
    ],
    "hasMoreRecords": "false"
    }
    }
    Obtenir des informations sur la vulnérabilité/la recherche

    Endpoint: POST /api/4.0/fo/knowledge_base/vuln/

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Headers

    KeyValue
    Content-Typeapplication/x-www-form-urlencoded
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    KeyValueDescription
    actionlist–
    detailsall–
    idsid1,id2QID de la vulnérabilité de l'actif ou de la découverte de l'application web

    Sample Response

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE KNOWLEDGE_BASE_VULN_LIST_OUTPUT SYSTEM "https://qualysapi.qg3.apps.qualys.com/api/4.0/fo/knowledge_base/vuln/knowledge_base_vuln_list_output.dtd">
    <!-- This report was generated with an evaluation version of Qualys //-->
    <KNOWLEDGE_BASE_VULN_LIST_OUTPUT>
        <RESPONSE>
            <DATETIME>2026-02-27T05:11:48Z</DATETIME>
            <VULN_LIST>
                <VULN>
                    <QID>115284</QID>
                    <VULN_TYPE>Potential Vulnerability</VULN_TYPE>
                    <SEVERITY_LEVEL>2</SEVERITY_LEVEL>
                    <TITLE>
                        <![CDATA[IP Forwarding Enabled]]>
                    </TITLE>
                    <CATEGORY>Local</CATEGORY>
                    <LAST_SERVICE_MODIFICATION_DATETIME>2026-01-30T16:00:19Z</LAST_SERVICE_MODIFICATION_DATETIME>
                    <PUBLISHED_DATETIME>2005-09-29T07:00:00Z</PUBLISHED_DATETIME>
                    <CODE_MODIFIED_DATETIME>2005-09-29T07:00:00Z</CODE_MODIFIED_DATETIME>
                    <PATCHABLE>0</PATCHABLE>
                    <SOFTWARE_LIST>
                        <SOFTWARE>
                            <PRODUCT>
                                <![CDATA[None]]>
                            </PRODUCT>
                            <VENDOR>
                                <![CDATA[none]]>
                            </VENDOR>
                        </SOFTWARE>
                    </SOFTWARE_LIST>
                    <CVE_LIST>
                        <CVE>
                            <ID>
                                <![CDATA[CVE-1999-0511]]>
                            </ID>
                            <URL>
                                <![CDATA[http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-0511]]>
                            </URL>
                        </CVE>
                    </CVE_LIST>
                    <DIAGNOSIS>
                        <![CDATA[If this machine is not a router or a firewall, then IP forwarding should not be activated.<P>Note: Disabling IP Forward on containers and/or Kubernetes hosts may cause issues and may not be applicable.]]>
                    </DIAGNOSIS>
                    <CONSEQUENCE>
                        <![CDATA[If this machine is not intended to be a router, then it may allow a malicious user to access your internal network.]]>
                    </CONSEQUENCE>
                    <SOLUTION>
                        <![CDATA[Disable IP forwarding by following the appropriate instructions below: <UL><LI>On Windows set the value of the following registry key to zero:  HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\IPEnableRouter<LI>On Linux, insert this line in your startup script: &quot;sysctl -w net.ipv4.ip_forward=0&quot;<LI>On Solaris, HP-UX insert this line in your startup script: &quot;ndd -set /dev/ip ip_forwarding 0&quot;<LI>On Mac OS X, insert this line in your startup script: &quot;sysctl -w net.inet.ip.forwarding=0&quot;</UL>]]>
                    </SOLUTION>
                    <CVSS>
                        <BASE>7.5</BASE>
                        <TEMPORAL>6.0</TEMPORAL>
                        <VECTOR_STRING>CVSS:2.0/AV:N/AC:L/Au:N/C:P/I:P/A:P/E:U/RL:W/RC:C</VECTOR_STRING>
                        <ACCESS>
                            <VECTOR>3</VECTOR>
                            <COMPLEXITY>1</COMPLEXITY>
                        </ACCESS>
                        <IMPACT>
                            <CONFIDENTIALITY>2</CONFIDENTIALITY>
                            <INTEGRITY>2</INTEGRITY>
                            <AVAILABILITY>2</AVAILABILITY>
                        </IMPACT>
                        <AUTHENTICATION>1</AUTHENTICATION>
                        <EXPLOITABILITY>1</EXPLOITABILITY>
                        <REMEDIATION_LEVEL>3</REMEDIATION_LEVEL>
                        <REPORT_CONFIDENCE>3</REPORT_CONFIDENCE>
                    </CVSS>
                    <PCI_FLAG>1</PCI_FLAG>
                    <THREAT_INTELLIGENCE>
                        <THREAT_INTEL id="5">
                            <![CDATA[Easy_Exploit]]>
                        </THREAT_INTEL>
                        <THREAT_INTEL id="8">
                            <![CDATA[No_Patch]]>
                        </THREAT_INTEL>
                        <THREAT_INTEL id="14">
                            <![CDATA[Unauthenticated_Exploitation]]>
                        </THREAT_INTEL>
                    </THREAT_INTELLIGENCE>
                    <DISCOVERY>
                        <REMOTE>1</REMOTE>
                        <AUTH_TYPE_LIST>
                            <AUTH_TYPE>Unix</AUTH_TYPE>
                        </AUTH_TYPE_LIST>
                    </DISCOVERY>
                </VULN>
            </VULN_LIST>
        </RESPONSE>
    </KNOWLEDGE_BASE_VULN_LIST_OUTPUT>
    <!-- This report was generated with an evaluation version of Qualys //-->
    <!-- CONFIDENTIAL AND PROPRIETARY INFORMATION. Qualys provides it's Service "As Is," without any warranty of any kind. Qualys makes no warranty that the information contained in this report is complete or error-free. Copyright 2026, Qualys, Inc. //--> 
    Fetch all tags

    Endpoint: /qps/rest/2.0/search/am/tag?fields=id,name

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Headers

    KeyValue
    Content-Typeapplication/json
    Acceptapplication/json
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    {
      "ServiceRequest": {
      "preferences": {
      "limitResults": 1000,
      "startFromOffset": 1
        }
       }
    }

    Sample Response

    
     {
        "ServiceResponse": {
            "data": [
                {
                    "Tag": {
                        "id": 82262213,
                        "name": "NetskopeTag1"
                    }
                },
                {
                    "Tag": {
                        "id": 82262214,
                        "name": "NetskopeTag2"
                    }
                },
                {
                    "Tag": {
                        "id": 82262215,
                        "name": "NetskopeTag3"
                    }
                },
                {
                    "Tag": {
                        "id": 82262216,
                        "name": "NetskopeTag4"
                    }
                },
                {
                    "Tag": {
                        "id": 82262217,
                        "name": "NetskopeTag5"
                    }
                }
            ],
            "count": 5,
            "responseCode": "SUCCESS",
            "hasMoreRecords": "true",
            "lastId": 82262217
        }
    }
    Create tag

    Endpoint: POST /qps/rest/2.0/create/am/tag

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Headers

    KeyValue
    Content-Typeapplication/json
    Acceptapplication/json
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    {
        "ServiceRequest": {
            "data": {
                "Tag": [
                    {
                        "name": "NetskopeCloudExchange"
                    }
                ]
            }
        }
    }
    Ajouter une balise à l'actif

    Endpoint: POST /qps/rest/2.0/update/am/hostasset

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Headers

    KeyValue
    Content-Typeapplication/json
    Acceptapplication/json
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Corps de la demande

    {
        "ServiceRequest": {
            "filters": {
                "Criteria": [
                    {
                        "field": "id",
                        "operator": "IN",
                        "value": "1035748148"
                    }
                ]
            },
            "data": {
                "HostAsset": {
                    "tags": {
                        "add": {
                            "TagSimple": [
                                {
                                    "id": "82263926"
                                }
                            ]
                        }
                    }
                }
            }
        }
    }

    Exemple de réponse

    {
        "ServiceResponse": {
            "responseCode": "SUCCESS",
            "count": 1,
            "data": [
                {
                    "HostAsset": {
                        "id": 1035748148
                    }
                }
            ]
        }
    }
    Retirer l'étiquette du bien

    Endpoint: POST /qps/rest/2.0/update/am/hostasset

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Headers

    KeyValue
    Content-Typeapplication/json
    Acceptapplication/json
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    {
        "ServiceRequest": {
            "filters": {
                "Criteria": [
                    {
                        "field": "id",
                        "operator": "IN",
                        "value": "1035748148"
                    }
                ]
            },
            "data": {
                "HostAsset": {
                    "tags": {
                        "remove": {
                            "TagSimple": [
                                {
                                    "id": "82263926"
                                }
                            ]
                        }
                    }
                }
            }
        }
    }

    Exemple de réponse

    {
        "ServiceResponse": {
            "responseCode": "SUCCESS",
            "count": 1,
            "data": [
                {
                    "HostAsset": {
                        "id": 1035748148
                    }
                }
            ]
        }
    }
    Ajouter une balise à l'application web

    Endpoint: POST /qps/rest/3.0/update/was/webapp/<web_app_id>

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Path Parameters

    KeyValueDescription
    web_app_id12345678ID de l'application web à laquelle ajouter la balise

    Headers

    KeyValue
    Content-Typeapplication/json
    Acceptapplication/json
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    {
        "ServiceRequest": {
            "data": {
                "WebApp": {
                    "tags": {
                        "add": {
                            "Tag": [
                                {
                                    "id": "82263926"
                                }
                            ]
                        }
                    }
                }
            }
        }
    }

    Sample Response

    {
        "ServiceResponse": {
            "count": 1,
            "data": [
                {
                    "WebApp": {
                        "id": 1043082757
                    }
                }
            ],
            "responseCode": "SUCCESS"
        }
    }
    Supprimer la balise de l'application web

    Endpoint: POST /qps/rest/3.0/update/was/webapp/<web_app_id>

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Path Parameters

    KeyValueDescription
    web_app_id12345678ID de l'application web dont il faut supprimer l'étiquette

    Headers

    KeyValue
    Content-Typeapplication/json
    Acceptapplication/json
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    {
        "ServiceRequest": {
            "data": {
                "WebApp": {
                    "tags": {
                        "remove": {
                            "Tag": [
                                {
                                    "id": "82263926"
                                }
                            ]
                        }
                    }
                }
            }
        }
    }

    Sample Response

    {
        "ServiceResponse": {
            "count": 1,
            "data": [
                {
                    "WebApp": {
                        "id": 1043082757
                    }
                }
            ],
            "responseCode": "SUCCESS"
        }
    }
    Lancer à la demande Scanner sur l'actif

    Endpoint: POST /qps/rest/1.0/ods/ca/agentasset

    Authorization: Auth de base (nom d'utilisateur + mot de passe)

    Query Parameters

    KeyValueDescription
    scanInventory_ScanType d'analyse à la demande à lancer. Les valeurs valides sont les suivantes : Inventory_Scan, Vulnerability_Scan, PolicyCompliance_Scan, UDC_Scan, SCA_Scan, SWCA_scan Remarque : vous ne pouvez lancer qu'un seul type d'analyse à la fois.
    overrideConfigCputrue or falseActivez cet indicateur pour définir les limites d'étranglement du CPU que l'analyse à la demande utilisera. - La valeur "true" permet d'ignorer les limites d'accélération du processeur définies dans le profil de configuration. - Réglez ce paramètre sur false pour utiliser les valeurs limites d'accélération du processeur définies dans le profil de configuration. Si vous ne fournissez aucune valeur dans l'URL de la requête API, la valeur par défaut - false - est prise en compte. Remarque : par défaut, l'agent Cloud pour Windows utilise une valeur d'étranglement de 80 et l'agent Cloud pour Linux utilise une valeur de 0 (pas d'étranglement).

    Headers

    KeyValue
    Content-Typeapplication/json
    Acceptapplication/json
    X-Requested-Withnetskope-ce-6.0.1-cre-qualys-v1.0.0
    User-Agentnetskope-ce-6.0.1-cre-qualys-v1.0.0

    Request Body

    {
        "ServiceRequest": {
            "filters": {
                "Criteria": {
                    "field": "id",
                    "operator": "IN",
                    "value": "1035771068,1035771069"
                }
            }
        }
    }

    Sample Response

    {
        "ServiceResponse": {
            "count": 1,
            "data": [
                {
                    "SingleModuleResponse": {
                        "module": "Inventory Scan",
                        "count": 1,
                        "responseCode": "SUCCESS",
                        "assetIds": "[1035771068,1035771069]"
                    }
                }
            ],
            "responseCode": "SUCCESS"
        }
    }

    Matrice de performance

    Voici les relevés de performances effectués sur une grande pile Cloud Exchange avec ces spécifications de VM en tirant 500k enregistrements d'actifs/applications Web du plugin Qualys.

    DescriptionSpécifications

    Détails de la pile

    Taille : Grand

    RAM : 32 GO

    CPU : 16 cœurs

    Temps nécessaire à l'extraction et à la mise à jour des données sur les actifs

    ~ 30 minutes

    Temps nécessaire pour extraire et mettre à jour les enregistrements des applications web

    ~ 30 minutes

    Agent utilisateur

    netskope-ce-6.0.1-cre-qualys-v1.0.0

    Workflow
    1. Créez un utilisateur New dans Qualys et obtenez le nom d'utilisateur et le mot de passe.
    2. Obtenez l'URL de votre serveur API Qualys et l'URL de votre passerelle API.
    3. Configurez le plugin Qualys.
    4. Configurez une règle de gestion pour Qualys.
    5. Configurez les actions d'échange de risques pour Qualys.
    6. Validez le plugin.

    Regardez une vidéo

    Cliquer sur « play » pour regarder une vidéo.

     

    Créer un utilisateur dans Qualys

    1. Dans Qualys, allez à VMDR > Users.
    2. Cliquez sur New button.
    3. Indiquez le prénom, le nom, le titre, le téléphone et l'adresse électronique selon vos besoins.
    4. Accédez à User Role et sélectionnez Manager pour le rôle utilisateur, puis assurez-vous que les options d'interface graphique et d'API sont cochées.
    5. Cliquez sur Save.
    6. Accédez à la console d'administration.
    7. Select l’utilisateur créé et cliquez Edit.
    8. Dans la section Rôles et étendues, assurez-vous que Allow user full permissions and scope est coché, puis cliquez sur Save.
    9. Connectez-vous avec l'utilisateur nouvellement créé et définissez un mot de passe New pour ce compte. Copiez le nom d'utilisateur et le mot de passe tels qu'ils seront utilisés lors de la configuration du plugin dans Cloud Exchange.

    Note

    Pour plus d'informations sur les autorisations au niveau du module, contactez l'équipe d'assistance Qualys.

    Obtenez l'URL de votre serveur API et l'URL de votre passerelle API

    Consultez cette documentation Qualys ou contactez l’équipe de support Qualys.

    Configurer le plugin Qualys

    1. Dans Cloud Exchange, allez sur Settings > Plugin Store. Cherchez et sélectionnez le plugin Qualys v1.0.0 (CRE) .
    2. Ajoutez un nom de configuration du plugin et modifiez l'intervalle de synchronisation si nécessaire.
    3. Cliquez sur Next et saisissez les paramètres de configuration :
      • API Server URL: URL du serveur API de l'instance Qualys. Consultez ce document sur Qualys.
      • API Gateway URL: URL de passerelle API de l’instance Qualys. Consultez ce document sur Qualys.
      • Username: Le nom d’utilisateur associé au compte Qualys.
      • Password: Le mot de passe associé au compte Qualys.
      • Pull Asset VulnerabilitiesActiver/Désactiver la récupération des vulnérabilités des ressources. Laissez-le Yes pour activer.
    4. Cliquez sur Next et sélectionnez l’Entité requise dans le menu déroulant de l’Entité . Fournir les mappages de champs selon les exigences. Vous pouvez créer une entité New en cliquant sur Add New Entity.
      Pour créer un champ New , cliquez sur +Add field.

      Fournissez l’étiquette de champ, le type de données et la stratégie agrégée selon vos besoins.




      De même, les mappages pour les applications Web sont les suivants :

    5. Cliquez sur Save.

    Note

    Veuillez vous référer à la section « Mappages » avant de configurer le plugin.

    Configurer une règle de gestion de l'échange de risques pour Qualys

    1. Dans Risk Exchange, allez sur Business Rules et cliquez sur Create New Rule dans le coin supérieur droit.
    2. Saisissez le nom de la règle. Select l'entité pour les champs qui ont été configurés pour le plugin Qualys, et configurez la requête en fonction de vos besoins.
    3. Cliquez sur Save.

    Configurer une action d'échange de risques pour Qualys

    Le plugin Qualys prend en charge les types d'action suivants :

    Add/Remove Web Application Tag(s): L'action Add/Remove Web Application Tag(s) peut être utilisée pour attacher/détacher des balises de l'application Web sur Qualys.

    Add/Remove Asset Tag(s): L'action Add/Remove Asset Tag(s) peut être utilisée pour attacher/détacher des tags d'un actif sur Qualys.

    Scan Assets: L'action Scan Assets peut être utilisée pour effectuer différents types de scans sur les actifs présents dans Qualys.

    No ActionAucune action ne sera effectuée pour cette action. Vous pouvez générer des alertes UBA dans Ticket Orchestrator en utilisant cette action et en activant l'option « Générer des alertes » .

    Note

    Vous pouvez effectuer plusieurs actions sur les enregistrements tirés de Qualys sur le locataire Netskope. Pour effectuer les actions correspondantes sur Netskope, reportez-vous au guide du plugin Netskope Risk Exchange.

    Ajouter/supprimer des balises d'application Web
    1. Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
    2. Select la règle métier, la configuration du plugin cible et l'action requises dans leurs listes déroulantes respectives.
    3. Activez le bouton Exiger une approbation si l’approbation est nécessaire avant d’effectuer une action sur les enregistrements consultés. Notez que si le bouton Exiger l’approbation est activé, vous devez alors approuver manuellement l’exécution de chaque action depuis Risk Exchange > Action Logs dans Cloud Exchange.

    4. Définissez les paramètres d'action suivants :
      • Action Type: Select Add Tag(s) pour étiqueter l'application Web, ou Remove Tag(s) pour désétiqueter l'application Web à partir de la liste déroulante du champ statique.
      • Web Application ID: Select Le champ ID de l'application Web de la source ou fournir plusieurs ID d'application Web statiques séparés par des virgules.
      • Tag(s): Select champ source pour les balises ou fournir des balises statiques séparées par plusieurs virgules. Notez que « tag1 » et « tag1 » sont considérés comme des tags différents dans Qualys.
    5. Cliquez sur Save.

    Add/Remove Asset Tag(s)

    1. Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration..
    2. Select la règle métier, la configuration du plugin cible et l'action requises dans leurs listes déroulantes respectives.
    3. Activez le bouton Exiger une approbation si l’approbation est nécessaire avant d’effectuer une action sur les enregistrements consultés. Notez que si le bouton Exiger l’approbation est activé, vous devez alors approuver manuellement l’exécution de chaque action depuis Risk Exchange > Action Logs dans Cloud Exchange.

    4. Enter these Action Parameters:
      • Action Type: Select Add Tag(s) pour étiqueter l'actif, ou Remove Tag(s) pour le désétiqueter dans la liste déroulante du champ Statique.
      • Asset ID: Select Champ d'identification de l'actif à partir de la source ou fournir plusieurs ID d'actifs statiques séparés par des virgules.
      • Tag(s): Select champ source pour les balises ou fournir des balises statiques séparées par plusieurs virgules. Notez que « tag1 » et « tag1 » sont considérés comme des tags différents dans Qualys.
    5. Cliquez sur Save.

    Scan Assets

    1. Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration..
    2. Select la règle métier, la configuration du plugin cible et l'action requises dans leurs listes déroulantes respectives.
    3. Activez le bouton Exiger une approbation si l’approbation est nécessaire avant d’effectuer une action sur les enregistrements consultés. Notez que si l'option « Approbation requise » est activée, vous devez approuver manuellement l'exécution de chaque action depuis Risk Exchange > Action Logs dans Cloud Exchange.
    4. Enter these Action Parameters:
      • Asset ID: Select Champ d'identification de l'actif à partir de la source ou fournir plusieurs ID d'actifs statiques séparés par des virgules.
      • Scan Type: Type de scan à la demande.
      • Override Config CPU: Activez cet indicateur pour définir les limites d'étranglement du CPU que l'analyse à la demande utilisera.
    5. Cliquez sur Save.

    No Action

    1. Dans Risk Exchange, allez à Actions et cliquez sur Add Action Configuration.
    2. Select la règle métier, la configuration du plugin cible et l'action requises dans leurs listes déroulantes respectives.
    3. Activez l'option « Approbation requise » si une approbation est nécessaire avant d'effectuer une action sur les enregistrements extraits.
    4. Cliquez sur Save.

    Valider le plugin Qualys

    Valider dans Cloud Exchange

    1. Dans Risk Exchange, allez sur Records. Select l’Entité sélectionnée lors de la configuration du mappage de champs pour visualiser les enregistrements extraits.

    2. Pour vérifier les journaux liés aux enregistrements extraits, allez dans Logging et appliquez le filtre avec le nom du plugin.

    3. Journaux des actions effectuées :
      Add/Remove Web Application Tag(s)


      Add/Remove Asset Tag(s)


      Scan Assets
    4. Lorsqu'un enregistrement extrait correspond à l'une des règles métier configurées, l'action configurée sera exécutée sur cet enregistrement. Cela est visible à Risk Exchange > Action Logs.

    Valider dans Qualys

    1. Le plugin Qualys récupère les données d’actifs depuis la page Inventaire de gestion des actifs en cybersécurité>, ainsi que les vulnérabilités des actifs depuis la page de détection et réponse > vulnérabilités de gestion des vulnérabilités. Connectez-vous à Qualys et allez sur le Cyber Security Asset Management > Inventory.

    2. Cliquez sur un actif pour obtenir plus d'informations à son sujet :
    3. Le plugin Qualys récupère les données des applications Web depuis la page Analyse > applications Web Application et les résultats des applications Web depuis la page Analyse > Détection des applications Web . Connectez-vous à Qualys et allez sur Web Application Scanning > Applications.

    4. Cliquez sur une application Web pour obtenir plus d'informations sur cette application Web.
    Valider l'action Ajouter/Supprimer des balises d'application Web
    1. Connectez-vous à Qualys et à Web Application Scanning > Applications.
    2. Cliquez sur une application Web pour obtenir plus d'informations sur cette application Web.
    3. La même application Web, après avoir effectué l'action Supprimer la balise, ressemblera à ceci :
    Valider l'action Ajouter/Supprimer un ou des marqueur(s) d'immobilisation
    1. Connectez-vous à Qualys et allez sur le Cyber Security Asset management > Inventory.
    2. Cliquez sur un actif pour obtenir plus d'informations à son sujet.
    3. Le même asset après avoir effectué l'action Supprimer le tag ressemblera à ceci :
    Valider l'action Scan Asset
    1. Va à Cloud Agent Module à Qualys.

    Note

    Sur la plateforme Qualys, l'état de certaines analyses seulement est visible. Si vous ne trouvez pas de statut pour une action spécifique, contactez l'équipe de support Qualys.

    Dépannage du plugin Qualys

    Impossible de configurer le plugin CRE Qualys

    Si vous ne parvenez pas à configurer le plugin Qualys, cela peut être dû à l'une des raisons suivantes :

    • URL du serveur API, URL de la passerelle API, nom d'utilisateur et mot de passe incorrects.
    • Les informations d'identification fournies n'ont pas les permissions suffisantes.

    What to do:

    1. Pour obtenir la clé d'accès ou la clé secrète, suivez les étapes décrites dans la section Configuration sur Qualys .
    2. Pour accorder les autorisations appropriées au paramètre de configuration, reportez-vous à la section Configuration sur Qualys .
    Impossible d'extraire des actifs ou une application Web

    Si vous ne parvenez pas à extraire des actifs ou des applications Web du plugin Qualys, cela peut être dû à l'une des raisons suivantes :

    • Aucun actif ou application Web n'est présent sur la plateforme Qualys.
    • Une erreur s'est produite lors de l'extraction des enregistrements de la plate-forme.
    • Le mappage n'est pas ajouté lors de la configuration du plugin dans la page source de l'entité.

    Ce qu'il faut faire :

    1. Vérifiez sur la plateforme Qualys si les actifs/applications web existent ou non.
    2. Réception d'une erreur 500 : Le serveur est peut-être en panne, attendez un peu et vérifiez plus tard.
    3. Réception d'une erreur 401 : Les informations d'identification fournies lors de la configuration du plugin n'existent plus. Vérifiez les informations d'identification et modifiez la configuration du plugin avec des informations d'identification valides si nécessaire.
    4. Pour Asset/Web Application, assurez-vous que le mappage est ajouté sous Asset Entity/Web Application Entity, et que le champ obligatoire est mappé lors de la configuration du plugin.
    Impossible d'afficher les détails d'un actif ou d'une application Web sur la page Enregistrements

    Si vous n'arrivez pas à afficher les détails de l'application/activité Web dans le tableau des enregistrements, cela peut être dû au fait que les mappings pour tous les champs Qualys ne sont pas fournis lors de la configuration du plugin Qualys.

    What to do:

    1. Veillez à fournir le mappage nécessaire lors de la configuration du plugin.
    2. Assurez-vous que les champs créés dans une entité sont conformes aux mappages suggérés.

    Comportement connu

    • Pour les champs d’adresse IPv4, IPv6 et MAC de l’interface réseau :
      L’API peut fournir des valeurs vides.
      API Response

      Cloud Exchange Records

    • Un champ unique dans la réponse de l'API peut avoir plus d'une valeur, comme les valeurs séparées par des virgules.
      API Response

      Cloud Exchange Records

    Pour maintenir la cohérence des données, ces valeurs sont stockées telles quelles, sans aucun traitement.

    Create a Tag API limitation
    Lors de la création d'une balise contenant le < or > symbole, qualys ne donne pas d'erreur même si la balise est la même, par exemple si une balise appelée Cloud Exchange existe déjà sur la plateforme Qualys, et que vous essayez de créer la même balise, l'API de Qualys ne donne pas d'erreur mais crée la balise à nouveau.

    Cela pourrait causer un problème lors des actions d'ajout/suppression de balises. Lors de la récupération de l'ID du tag, le mauvais ID du tag peut être récupéré puisqu'il y a plusieurs tags avec le même nom existant sur Qualys.

    Dans ce thème
    • Qualys Plugin for Risk Exchange (en anglais)