Webhook alerts
Table of Contents
Self.Hosted 22.06 (EoL)
Expand all | Collapse all
-
- Getting started
- System Requirements
- Prisma Cloud container images
- Onebox
- Kubernetes
- OpenShift v4
- Console on Fargate
- Amazon ECS
- Alibaba Cloud Container Service for Kubernetes (ACK)
- Azure Kubernetes Service (AKS)
- Amazon Elastic Kubernetes Service (EKS)
- Google Kubernetes Engine (GKE)
- Google Kubernetes Engine (GKE) Autopilot
- IBM Kubernetes Service (IKS)
- Windows
- Defender types
- Cluster Context
-
- Install a single Container Defender
- Automatically Install Container Defender in a Cluster
- App-Embedded Defender
- App-Embedded Defender for Fargate
- Default setting for App-Embedded Defender file system protection
- VMware Tanzu Application Service (TAS) Defender
- Serverless Defender
- Serverless Defender as a Lambda layer
- Auto-defend serverless functions
- Install a single Host Defender
- Auto-defend hosts
- Deploy Prisma Cloud Defender from the GCP Marketplace
- Decommission Defenders
- Redeploy Defenders
- Uninstall Defenders
-
- Rule ordering and pattern matching
- Backup and restore
- Custom feeds
- Configuring Prisma Cloud proxy settings
- Prisma Cloud Compute certificates
- Configure Agentless Scanning
- Agentless Scanning Modes
- Configure scanning
- User certificate validity period
- Enable HTTP access to Console
- Set different paths for Defender and Console (with DaemonSets)
- Authenticate to Console with certificates
- Configure custom certs from a predefined directory
- Customize terminal output
- Collections
- Tags
- Logon settings
- Reconfigure Prisma Cloud
- Subject Alternative Names
- WildFire Settings
- Log Scrubbing
- Clustered-DB
- Permissions by feature
-
- Logging into Prisma Cloud
- Integrating with an IdP
- Integrate with Active Directory
- Integrate with OpenLDAP
- Integrate Prisma Cloud with Open ID Connect
- Integrate with Okta via SAML 2.0 federation
- Integrate Google G Suite via SAML 2.0 federation
- Integrate with Azure Active Directory via SAML 2.0 federation
- Integrate with PingFederate via SAML 2.0 federation
- Integrate with Windows Server 2016 & 2012r2 Active Directory Federation Services (ADFS) via SAML 2.0 federation
- Integrate Prisma Cloud with GitHub
- Integrate Prisma Cloud with OpenShift
- Non-default UPN suffixes
- Compute user roles
- Assign roles
- Credentials store
- Cloud accounts
-
- Prisma Cloud vulnerability feed
- Vulnerability Explorer
- Vulnerability management rules
- Search CVEs
- Scan reports
- Scanning procedure
- Customize image scanning
- Configure Registry Scans
-
- Scan Images in Sonatype Nexus Registry
- Scan images in Alibaba Cloud Container Registry
- Scan images in Amazon EC2 Container Registry (ECR)
- Scan images in Azure Container Registry (ACR)
- Scan images in Docker Registry v2 (including Docker Hub)
- Scan images in Google Artifact Registry
- Scan images in Google Container Registry (GCR)
- Scan images in Harbor Registry
- Scan images in IBM Cloud Container Registry
- Scan images in Artifactory Docker Registry
- Scan images in OpenShift integrated Docker registry
- Trigger registry scans with Webhooks
- Base images
- Configure VM image scanning
- Configure code repository scanning
- Agentless scanning
- Malware scanning
- Vulnerability risk tree
- Vulnerabilities Detection
- CVSS scoring
- Windows container image scanning
- Serverless function scanning
- VMware Tanzu blobstore scanning
- Scan App-Embedded workloads
- Troubleshoot vulnerability detection
-
- Compliance Explorer
- Enforce compliance checks
- CIS Benchmarks
- Prisma Cloud Labs compliance checks
- Serverless functions compliance checks
- Windows compliance checks
- DISA STIG compliance checks
- Custom compliance checks
- Trusted images
- Host scanning
- VM image scanning
- App-Embedded scanning
- Detect secrets
- Cloud discovery
- OSS license management
- API
End-of-Life (EoL)
Webhook alerts
Prisma Cloud offers native integration with a number of services, including email, JIRA, and Slack.
When no native integration is available, webhooks provide a mechanism to interface Prisma Cloud’s alert system with virtually any third party service.
A webhook is an HTTP callback.
When an event occurs, Prisma Cloud notifies your web service with an HTTP POST request.
The request contains an JSON body that you configure when you set up the webhook.
A webhook configuration consists of:
- URL
- Custom JSON body
- Credentials
- CA Certificate
Custom JSON body
You can customize the body of the POST request with values of interest.
The content of the JSON object in the request body is defined using predefined macros.
For example:
{ "type":#type, "host":#host, "details":#message }
When an event occurs, Prisma Cloud replaces the macros in your custom JSON with real values, and then submits the request.
{ "type":"ContainerRuntime", "host":"host1", "details":"/bin/cp changed binary /bin/busybox MD5:XXXXXXX" }
All supported macros are described in the following table.
Not all macros are applicable to all alert types.
Rule | Description |
---|---|
Audit alert type.
For example, 'Container Runtime'. | |
Audit alert time.
For example, 'Jan 21, 2018 UTC'. | |
Impacted container. | |
Impacted image. | |
Hostname for the host where the audit occurred. | |
Fully qualified domain name for the host where the audit occurred. | |
Serverless function where the audit occurred. | |
Region where the audit occurred.
For example 'N. Virginia'. | |
Language runtime in which the audit occurred.
For example, 'python3.6'. | |
Serverless or Function name. | |
Rule which triggered the alert. | |
Associated alert message. | |
All fields in the audit message as a single JSON object. | |
All subsequent alerts that occurred during the aggregation period, in JSON format. | |
API link to download the forensics data for the incident. | |
The cloud account ID in which the audit was detected. | |
The cluster in which the audit was detected. | |
A list of the alert labels of the resource in which the audit was detected. | |
A list of the associated collections for the resource where the issue was detected. | |
The compliance issues detected in the latest scan of the resource. A single alert includes compliance issues for a single resource. | |
The new vulnerabilities detected in the latest scan. A single alert includes vulnerabilities for all resources where new vulnerabiltiies were found, so the vulnerabilities macro includes the data about the resources as well. All other macros, except type and time, will be empty. |
The #vulnerabilities and #complianceIssues macros include inner structures.
Below is an example of their content.
Notice that the structure is subject to minor changes between versions.
{ "vulnerabilities": [ { "imageName": "ubuntu@sha256:c95a8e48bf...", [only for image vulnerabilities] "imageID": "sha256:f643c72bc25212974c1...", [only for image vulnerabilities] "hostname": "console.compute.internal", [only for host vulnerabilities] "distribution": "Ubuntu 20.04.1 LTS", "labels": { "key1": "value1", "key2": "value2" }, "collections": [ "All", "collection1", "collection2" ], "newVulnerabilities": [ { "severity": "High", "vulnerabilities": [ { "cve": "CVE-2020-1971", "severity": "high", "link": "https://people.canonical.com/~ubuntu-security/cve/2020/CVE-2020-1971", "status": "Fixed in: 1.0.1f-1ubuntu2.27+esm2", "packages": "openssl", "packageVersion": "1.0.1f-1ubuntu2.27" }, ... more vulnerabilities ] }, { "severity": "Low", "vulnerabilities": [ { "cve": "CVE-2019-25013", "severity": "low", "link": "https://people.canonical.com/~ubuntu-security/cve/2019/CVE-2019-25013", "status": "needed", "packages": "libc-dev-bin,libc6-dev,libc6,libc-bin", "packageVersion": "2.31-0ubuntu9.1", "sourcePackage": "glibc" }, ... more vulnerabilities ] } ] }, ... more images/hosts ] }
{ "complianceIssues": [ { "title": "(CIS_Docker_v1.2.0 - 4.1) Image should be created with a non-root user", "id": "41", "description": "It is a good practice to run the container as a non-root user, if possible...", "type": "image", "category": "Docker", "severity": "high" }, "title": "Private keys stored in image", "id": "425", "description": "", "type": "image", "category": "Twistlock Labs", "severity": "high", "cause": "Found: /usr/share/npm/node_modules/agent-base/..." }, ... more compliance issues ] }
Configuring alert frequency
You can configure the rate at which alerts are emitted.
This is a global setting that controls the spamminess of the alert service.
Alerts received during the specified period are aggregated into a single alert.
For each alert profile, an alert is sent as soon as the first matching event is received.
All subsequent alerts are sent once per period.
- Open Console, and go toManage > Alerts.
- InAggregate audits every, specify the maximum rate that alerts should be sent.You can specifySecond,Minute,Hour,Day.
Sending alerts to a webhook
Alert profiles specify which events should trigger the alert machinery, and to which channel alerts are sent.
You can send alerts to any combination of channels by creating multiple alert profiles.
Alert profiles consist of two parts:
(1) Alert settings — Who should get the alerts, and on what channel?
Configure Prisma Cloud to integrate with your messaging service and specify the people or places where alerts should be sent.
For example, configure the email channel and specify a list of all the email addresses where alerts should be sent.
Or for JIRA, configure the project where the issue should be created, a long with the type of issue, priority, assignee, and so on.
(2) Alert triggers — Which events should trigger an alert to be sent?
Specify which of the rules that make up your overall policy should trigger alerts.
If you use multi-factor authentication, you must create an exception or app-specific password to allow Console to authenticate to the service.
Create new alert channel
Create a new alert channel.
Prerequisites:
You have a service to accept Prisma Cloud’s callback.
For purely testing purposes, consider PostBin or RequestBin.- InManage > Alerts, clickAdd profile.
- Enter a name for your alert profile.
- InProvider, selectWebhook.
Configure the channel
Configure the channel.
- InWebhook incoming URL, enter the endpoint where Prisma Cloud should submit the alert.
- InCustom JSON, Enter the structure of the JSON payload that your web application is expecting.For more details about the type of data in each field, clickShow macros.
- (Optional) InCredential, specify a basic auth credential if your endpoint requires authentication.
- (Optional) InCA Certificate, enter a CA cert in PEM format.When using a CA cert to secure communication, only one-way SSL authentication is supported. If two-way SSL authentication is configured, alerts will not be sent.
- ClickSend Test Alertto test the connection. An alert is sent immediately.
Configure the triggers
Configure how the alert is triggered.
- UnderAlert Types, check the boxes types of events that should trigger an alert.
- For additional configuration options, clickEdit.
- To specify specific rules that should trigger an alert, deselectAll rules, and then select any individual rules.
- ClickSave.