Flux de travaux du connecteur Universal Cloud REST API pour Darktrace

Vous pouvez personnaliser votre flux de travaux et vos paramètres de flux de travaux en fonction du flux de travaux par défaut.

Un flux de travaux est un document XML qui décrit le processus d'extraction d'alerte. Le flux de travaux définit un ou plusieurs paramètres, auxquels des valeurs peuvent être explicitement affectées dans le XML du flux de travaux ou qui peuvent dériver des valeurs du document XML des valeurs des paramètres de flux de travaux. Le flux de travaux se compose de plusieurs actions qui s'exécutent de manière séquentielle.

Flux de travaux par défaut de Darktrace

Utilisez le code XML suivant pour renseigner la zone Workflow dans la section des paramètres du connecteur de l'API REST Universal Cloud.

Cliquez sur l'icône Copier dans le presse-papiers en haut à droite du bloc de code, puis collez le contenu dans la zone Flux de travaux .

<?xml version="1.0" encoding="UTF-8" ?>
<Workflow name="Darktrace" version="1.0" xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/Workflow/V2">

    <Parameters>
        <Parameter name="hostname" label="The Base URL For your Darktrace instance." required="true" />
        <Parameter name="publicToken" label="Public  Authorization Token" required="true" />
        <Parameter name="privateToken" label="Private Authorization Token" required="true" secret = "true" />
    </Parameters>

    <Actions>

        <Initialize path="/darktraceAlerts/starttimeMilli" value="${time() - (60000 * 60 * 24 * 7)}"/>
        <Set path="/darktraceAlerts/endtimeMilli" value="${time()}"/>

        <FormatDate pattern="yyyy-MM-dd'T'HH:mm:ss.SSS" timeZone="UTC" savePath="/darktraceAlerts/starttime" time="${/darktraceAlerts/starttimeMilli}"/>
        <FormatDate pattern="yyyy-MM-dd'T'HH:mm:ss.SSS" timeZone="UTC" savePath="/darktraceAlerts/endtime" time="${/darktraceAlerts/endtimeMilli}"/>

        <Set path="/darktraceAlerts/query" value="/modelbreaches?from=${/darktraceAlerts/starttime}&amp;to=${/darktraceAlerts/endtime}&amp;minimal=false&amp;fulldevicedetails=true&amp;expandenums=true&amp;deviceattop=true&#xA;${/publicToken}&#xA;${/darktraceAlerts/endtime}"/>
        <GenerateHMAC algorithm="SHA1" secretKey="${/privateToken}"
                      message="${/darktraceAlerts/query}"
                      saveFormat="HEX"
                      savePath="/darktraceAlerts/signature" />

        <!-- GET Model Breaches -->

        <CallEndpoint url="https://${/hostname}/modelbreaches" method="GET" savePath="/darktraceAlerts/response">

            <QueryParameter name="from" value="${/darktraceAlerts/starttime}" />
            <QueryParameter name="to" value="${/darktraceAlerts/endtime}" />
            <QueryParameter name="minimal" value="false" />
            <QueryParameter name="fulldevicedetails" value="true" />
            <QueryParameter name="expandenums" value="true" />
            <QueryParameter name="deviceattop" value="true" />

            <RequestHeader name="DTAPI-Token" value="${/publicToken}" />
            <RequestHeader name="DTAPI-Date" value="${/darktraceAlerts/endtime}" />
            <RequestHeader name="DTAPI-Signature" value="${/darktraceAlerts/signature}" />
        </CallEndpoint>

        <!-- Catch any status code other than 200 (success) -->
        <If condition="/darktraceAlerts/response/status_code != 200">
            <Abort reason="Failed to pull Model Breaches. ${/darktraceAlerts/response/status_code}: ${/darktraceAlerts/response/status_message}" />
        </If>
        <Else>
            <SetStatus type="INFO" message="Successfully Queried for events." />
        </Else>

        <Log type="DEBUG" message="We have received ${count(/darktraceAlerts/response/body)} alerts." />

        <!-- Post the alerts -->
        <PostEvents path="/darktraceAlerts/response/body" source="${/hostname}" />

        <ParseDate pattern="yyyy-MM-dd'T'HH:mm:ss.SSS" date="${/darktraceAlerts/endtime}" timeZone="UTC" savePath="/darktraceAlerts/endtimeMilli"/>
        <Set path="/darktraceAlerts/starttimeMilli" value="${/darktraceAlerts/endtimeMilli + 1}"/>
        <Delete path="/darktraceAlerts/response" />
        <Delete path="/darktraceAlerts/signature" />
        <Delete path="/darktraceAlerts/query" />
    </Actions>

    <Tests>
        <DNSResolutionTest host="${/hostname}"/>
        <TCPConnectionTest host="${/hostname}"/>
        <SSLHandshakeTest  host="${/hostname}"/>
        <HTTPConnectionThroughProxyTest url="https://${/hostname}"/>
    </Tests>

</Workflow>

Valeurs de paramètre de flux de travaux par défaut de Darktrace

Utilisez le code XML suivant pour renseigner la zone Valeurs de paramètre de flux de travaux dans la section des paramètres du connecteur de l'API REST d'Universal Cloud.

Cliquez sur l'icône Copier dans le presse-papiers en haut à droite du bloc de code, puis collez le contenu dans un fichier texte. Remplacez les valeurs de < The-hostname-of-your-Darktrace-Threat-Visualizer-(aucun protocole principal, par exemple, <tenancyID>.cloud.darktrace.com) >, < your-public-token> et < your-private-token> par vos propres valeurs. Copiez ensuite le contenu mis à jour dans la zone Valeurs de paramètre de flux de travaux .

<?xml version="1.0" encoding="UTF-8" ?>
<WorkflowParameterValues xmlns="http://qradar.ibm.com/UniversalCloudRESTAPI/WorkflowParameterValues/V2">
    <Value name="hostname"                  value="<The-hostname-of-your-Darktrace-Threat-Visualizer-(no leading protocol, for example, <tenancyID>.cloud.darktrace.com)>"/>
    <Value name="publicToken"               value="<your-public-token>"/>
    <Value name="privateToken"              value="<your-private-token>"/>
</WorkflowParameterValues>