PCCSE Study Guide
PCCSE Study Guide
Engineer
(PCCSE)
Study Guide
October 2022
You can read through this study guide from start to finish, or you may jump straight to topics you
would like to study. Hyperlinked cross-references will help you locate important definitions and
background information from earlier sections.
More information is available from the Palo Alto Networks public page at:
https://www.paloaltonetworks.com/services/education
Exam Format
The test format is 75-85 items. Candidates will have five minutes to review the NDA, 70-80 minutes
to complete the exam questions, and five minutes to complete a survey at the end of the exam.
The approximate distribution of items by topic (Exam Domain) and topic weightings are shown in
the following table.
This exam is based on Product version Prisma Cloud 22.9.2. (Compute 22.06.)
TOTAL 100%
The exam is available through the third-party Pearson VUE testing platform. To register for the
exam, visit: https://home.pearsonvue.com/paloaltonetworks
Disclaimer
This study guide is intended to provide information about the objectives covered by this exam,
related resources, and recommended courses. The material contained within this study guide is not
intended to guarantee that a passing score will be achieved on the exam. Palo Alto Networks
recommends that candidates thoroughly understand the objectives indicated in this guide and use
the resources and courses recommended in this guide where needed to gain that understanding.
Skills Required
● You can design, develop, and maintain detection checks for cloud security policies and
compliance standards
● You can research on cloud attack techniques, tactics, and detections based on events and
network flow logs
● You can participate in the public outreach forums and represent the recommendations
adhering to Palo Alto Networks standards
● You have 0-3 years of experience working on public cloud, experience in Python, knowledge
of containers, Kubernetes, Terraform, and cloud technologies
Recommended Training:
Palo Alto Networks strongly recommends that you attend the following instructor-led training
courses or equivalent digital-learning courses:
To know the state of your cloud infrastructure, you need visibility into all the assets and
infrastructure that make up your cloud environment and a pulse on your security posture.
Whether you want to detect a misconfiguration or you want to continually assess your security
posture and adherence to specific compliance standards Prisma Cloud provides out-of-the-box
policies (auditable controls) for ongoing reporting and measurement.
o Pass—Displays the resources without any open alerts. Click the link for the passed resources
and you will be redirected to the Asset Explorer that is filtered to display all the resources
that have Scan Status set to Pass.
o The View Alerts link enables you to view a list of all resources that have open alerts sorted
by severity. Click each link to view the Alerts Overview sorted for low-, medium-, or
high-severity alerts. You can review the policies that triggered the alerts along with a count
of the total number of alerts for each policy.
o Fail—Displays the total number of resources that have generated at least one open alert
when the hourly snapshot was generated. Click the link and you will be redirected to the
Asset Explorer that is filtered to display all resources that have Scan Status set to Failed.
● Asset Classification—Bar graph for each cloud type (default), region name, account name,
or service name that depicts the ratio of passed to failed resources for policy checks.
● Tabular data—The table enables you to group the results by account name, cloud region, or
service name (default) and then drill down to view granular information on the resource
types within your cloud accounts. All global resources for each cloud are grouped under
AWS Global, Alibaba Cloud Global, Azure Global, and GCP Global.
Each row displays the service name with details on the cloud type (which you can filter on), and the
percentage of resources that pass policy checks to which you want to adhere. The links in each
column help you explore and gain the additional context you may need to take action.
1.1.4 References
● Asset Inventory,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/prisma-cloud-
dashboards/asset-inventory
If you want to enable autoremediation, Prisma Cloud requires write access to the cloud platform to
successfully execute the remediation commands.
● Data—Data policies protect against malware and enable data classification. To identify
sensitive data in cloud storage buckets, they use machine learning and pattern matching.
See Use Data Policies to Scan for Data Exposure or Malware.
● Audit Event—Event policies monitor audit events in your environment for potential policy
violations. Create audit policies to flag sensitive events such as root activities or configuration
changes that may potentially put your cloud environment at risk. See Create a Network or
Audit Event Policy.
● IAM—IAM policies monitor the identities in your cloud environment for excess or unused
permissions. See Create an IAM Policy.
1.2.4 References
● Create a Custom Policy on Prisma Cloud,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/prisma-cloud-
policies/create-a-policy
● Policy types,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/prisma-cloud-
policies/create-a-policy
1.3.1 Standards
You can create your own custom compliance standards that are tailored to your own business
needs, standards, and organizational policies. When defining a custom compliance standard, you
can add requirements and sections. A custom compliance standard that has a minimum of one
requirement and one section can be associated with policies that check for adherence to your
standards.
You can create an all-new standard or clone an existing compliance standard and edit it.
2. Hover over the standard you want to clone, and click Clone.
When you clone, Prisma Cloud creates a new standard with the same name with “Copy”
in the prefix. You can then edit the cloned compliance standard to include the
requirements, sections, and policies you need.
sargets
6. Add sections to your custom compliance standard after adding the requirement.
○ Select the requirement for which you are adding the section and click +Add New.
○ Select Policies.
○ Filter the policies you want to associate with the standard. You can filter by cloud
type, policy type, and policy severity to find the rules you want to attach.
○ Select the policy rule to edit, on 3 Compliance Standards click + and associate
the policy with the custom compliance standard.
1.3.2 Reports
Creating compliance reports is the best way to monitor your cloud accounts across all cloud
types—AWS, Azure, and GCP—and ensure that you are adhering to all compliance standards. You
can create compliance reports based on a cloud compliance standard for immediate online viewing
or download, or schedule recurring reports so you can monitor compliance to the standard over
time. From a single report, you have a consolidated view of how well all of your cloud accounts are
adhering to the selected standard. Each report details how many resources and accounts are being
monitored against the standard, and how many of those resources passed or failed the compliance
check. In addition, the report provides detailed findings for each section of the standard, including a
1. Select Compliance > Overview and select the standard for which you want to create a new
compliance report.
2. On the page for the compliance standard you selected, click Create Report.
After you create a compliance report, it will automatically run at the time you specified. You can
then view and manage your reports as follows:
● To see the list of all compliance reports that have run, select Compliance > Reports. You can
use the filters to narrow the list of compliance reports shown, or you can search for the
report.
● If you want to refine the report so that it only shows the details you are interested, clone it.
You can then use the Compliance filters to customize the report to show only the
information you are interested in. You can use the Compliance filters to set the report
timeframe and narrow the report to only show compliance information for specific cloud
accounts, cloud regions, or cloud types. As you add or remove filters, the report updates so
that you can see your changes reflected in the report. When the cloned report shows the
information you want it to, click Create Report to save it as a new report instance.
● You can also download the compliance reports from Compliance > Reports using the
Download icon that corresponds to the specific report you want to download. Note that for
recurring reports, this downloads the most recent report generated.
● For recurring reports, use the corresponding History icon to view the report history. You can
then view individual instances of the compliance report, or download them.
● To edit the recurrence settings of a report you added, or to add or remove email addresses of
report recipients, click the corresponding Edit icon.
1.3.3 References
● Create a Custom Compliance Standard,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/prisma-cloud-
compliance/create-a-custom-compliance-standard
● Add a New Compliance Report,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/prisma-cloud-
compliance/add-a-new-compliance-report
Prisma Cloud alerts can trigger a notification to a manual and/or automatic remediation:
● Alert mechanism
● AWS Security Hub
● Cortex XDR alerts
● Cortex XSOAR alerts
When you create an alert rule for run-time checks, you select the account groups to which the rule
applies and the corresponding set of policies for which you want to trigger alerts. You can add more
granularity to the rule by excluding some cloud accounts from the selected account groups, by
specifying specific regions for which to send alerts, and even by narrowing down the rule to specific
cloud resources identified by resource tags. This provides you with flexibility in how you manage
alerts and ensures that you can adhere to the administrative boundaries you defined. You can
create a single alert rule that alerts on all policy rules, or you can define granular alert rules that
send very specific sets of alerts for specific cloud accounts, regions, and even resources to specific
destinations.
When you create an alert rule, you can Configure Prisma Cloud to Automatically Remediate Alerts,
which enables Prisma Cloud to automatically run the CLI command required to remediate the
policy violation directly in your cloud environments. Automated remediation is only available for
default policies (Config policies only) that are designated as Remediable ( ) on the Policies page.
In addition, if you Configure External Integrations on Prisma Cloud with third-party tools, defining
granular alert rules enables you to send only the alerts you need to enhance your existing
operational, ticketing, notification, and escalation workflows with the addition of Prisma Cloud
alerts on policy violations in all your cloud environments. To see any existing integrations, go
to Settings > Integrations.
Step 1: Select Alert > Alert Rules and Add Alert Rule.
Step 2: In Add Details, enter a Name for the alert rule and, optionally, a Description to
communicate the purpose of the rule.
● You can enable the optional Auto-Actions, Alert Notifications, and Auto-Remediation
settings up front. If you enable any of these options, they are displayed as additional steps in
● Click Next.
Step 3: Assign Targets to add more granularity for which cloud resources trigger alerts for this alert
rule, and then provide more criteria as needed:
● Select the Account Groups to which you want this alert rule to apply.
● Exclude Cloud Accounts and Regions from your selected account group—If there are some
cloud accounts and regions in the selected account groups for which you do not want to
trigger alerts, select the accounts and regions from the list.
● Select Include Tag Resource Lists to easily manage or identify the type of your
resources—To trigger alerts only for specific resources in the selected cloud accounts, enter
the Key and Value of the resource tag you created for the resource in your cloud
environment. Tags apply only to Config and Network policies. When you add multiple
resource tags, it uses the Boolean logical OR operator.
● Either Select All Policies or select the specific policies that match the filter criteria for which
you want to trigger alerts on this alert rule. Selecting All Policies will create a large volume
of alerts. It is recommended that you use a granular filtered selection for more relevant and
high-fidelity alerts.
To help you find the specific group of policies for which you want this rule to alert:
○ Filter Results—Enter a Search term to filter the list of policies to those with
specific keywords.
○ Column Picker—Click Edit ( ) to modify which columns to display.
○ Sort—Click the corresponding Sort icon ( ) to sort on a specific column.
● Click Next.
Add a Reason, Requestor, and Approver for the automatic dismissal and click Next.
Step 7: (Optional) Configure Notifications to enable alert notifications for all states.
If you want to receive external notifications for when an existing alert status has changed, you can
configure Prisma Cloud to generate alerts when an existing alert is Dismissed, Snoozed,
or Ignored. The options for configuring the notification settings are:
● Trigger notification for config alert only after the alert is open for—Specify the length of
time (in minutes) you want to wait after an alert is generated before sending notifications.
This value does not apply for recurring (or scheduled) notifications.
Step 8: View the Summary of all the alert rule. Edit if you want to change any setting and Save the
alert rule.
If you configured the rule to Send Prisma Cloud Alert Notifications to Third-Party Tools, make sure
you also see the alert notifications in those tools.
In addition, Prisma Cloud provides the out-of-the-box ability to Configure External Integrations on
Prisma Cloud with third-party technologies, such as SIEM platforms, ticketing systems, messaging
systems, and automation frameworks, so that you can continue using your existing operational,
escalation, and notification tools. To monitor your cloud infrastructures more efficiently and provide
visibility into actionable events across all your cloud workloads, you can also:
● Generate Reports on Prisma Cloud Alerts on demand or schedule reports on open alerts and
email them to your stakeholders
● Send the Alert Payload to a third-party tool
The Cloud Security Assessment report is a PDF report that summarizes the risks from open alerts in
the monitored cloud accounts for a specific cloud type. The report includes an executive summary
and a list of policy violations, including a page with details for each policy that includes the
description and the compliance standards that are associated with it, as well as the number of
resources that passed and failed the check within the specified time period.
The Business Unit report is a .csv file that includes the total number of resources that have open
alerts against policies for any compliance standard, and you can generate the report on demand or
The overview report lists cloud resources by account group and aggregates information about the
number of resources failing and the failure percentage against each policy. In contrast, the detailed
Business Unit report lists cloud resources by account group, account name, and account ID, and it
includes information about the number of resources failing against each policy and the status of
cloud resources that have been scanned against that policy. The status can be pass or fail; a status
of “pass” means that the count of resources that failed the policy check is zero.
● Alert profile – Specifies which events should be sent to which channel. You can create any
number of alert profiles, where each profile gives you granular control over which audience
should receive which notifications.
● Alert channel – Messaging medium over which alerts are sent. Prisma Cloud supports
email, JIRA, Slack, PagerDuty, and others.
● Alert trigger – Events that require further scrutiny. Alerts are raised when the rules that
make up your policy are violated. When something in your environment violates a rule, an
audit is logged, and an alert is sent to any matching alert profile (channel, audience). You
can configure Prisma Cloud to notify the appropriate party when an entire policy, or even a
specific rule, is violated.
You can also set up alerts for Defender health events. These events tell you when Defender
unexpectedly disconnects from the Console. Alerts are sent when a Defender has been
disconnected for more than six hours.
Not all triggers are available for all channels. For example, new JIRA issues can only be opened
when vulnerability rules are triggered.
1.4.5 References
● Alerts,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/alert
s
Prisma Cloud provides multiple out-of-the-box integration options that you can use to integrate
Prisma Cloud into your existing security workflows and with the technologies you already use. The
Amazon GuardDuty, AWS Inspector, Qualys, and Tenable integrations are inbound or pull-based
integrations where Prisma Cloud periodically polls for the data and retrieves it from the external
integration system; all other integrations are outbound or push-based integrations where Prisma
Cloud sends data about an alert or error to the external integration system.
● Amazon S3—Amazon Simple Storage Service (Amazon S3) is designed to make web-scale
computing easier. You can use Amazon S3 to store and retrieve any amount of data using
highly scalable, reliable, fast, and inexpensive data storage. Prisma Cloud can send alerts to
an Amazon S3 bucket/folder.
● AWS Security Hub—AWS Security Hub is a central console where you can view and monitor
the security posture of your cloud assets directly from the Amazon console. Because the
Prisma Cloud application monitors your assets on the AWS cloud and sends alerts on
resource misconfigurations, compliance violations, network security risks, and anomalous
user activities, you have a comprehensive view of all your cloud assets across all your AWS
accounts directly from the Security Hub console.
● Google Cloud SCC—Google Cloud Security Command Center (SCC) is the security and data
risk database for Google Cloud Platform. Google Cloud SCC enables you to understand your
security and data attack surface by providing inventory, discovery, search, and management
of your assets. Prisma Cloud integrates with Google Cloud SCC and sends alerts to the
Google Cloud SCC console to provide centralized visibility into security and compliance risks
of your cloud assets.
● Slack—Slack is an online instant messaging and collaboration system that enables you to
centralize all your notifications. You can configure Prisma Cloud to send notifications of
Prisma Cloud alerts through your Slack channels.
● You can check status updates on demand in Settings Integrations by clicking the Get
Status icon for the relevant integration. The status check displays red if the integration fails
validation checks for accessibility or credentials; it displays green when the integration is
working and all templates are valid. To review the list of integrations that do not support the
status checks, see Prisma Cloud Integrations—Supported Capabilities. Status errors are
displayed to help you find and fix potential issues.
● When you Send Prisma Cloud Alert Notifications to Third-Party Tools, the value of the cloud
service provider in the cloudType field for the resource that generated the alert the values is
in lowercase letters—for example, “aws” or “alibaba_cloud”.
1.5.2 References
● Third-party integration,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/configure-exte
rnal-integrations-on-prisma-cloud/prisma-cloud-integrations
Ad hoc investigations happen when an administrator sees a vulnerability or suspicious activity and
decides to investigate further. This investigation has two purposes:
1. Identify whether the relevant entity (virtual machine instance, Docker container, etc.) really
has been broken into. For example, a vulnerability could exist but never have been exploited.
2. If the entity has been broken into, identify the harm done and whether the entity itself was
used as a conduit for attacking other entities.
An investigation typically starts with an RQL query that shows details about what is happening.
For example, here is the result of a query asking which APIs were used and when:
RQL is a structured query language that resembles Structured Query Language (SQL). RQL
supports the following types of queries:
● Config—Use Config Query to search for the configuration of the cloud resources.
Use RQL to find answers to fundamental questions that help you understand what is happening on
your network. For example, you can find answers to the following questions:
To investigate events, use “event from cloud.audit_logs where” queries in the search box on
the Investigate tab of the Prisma Cloud administrative console. The query uses the event data that
Prisma Cloud ingested from the audit logs to help you learn who did what and when on your cloud
assets.
● Flow Log-based Network Query: Query for incidents and threats that are based on flow logs.
● Configuration-based Network Query: Query for true exposures that are based on
configuration.
Each attribute allows you to narrow your search criteria. As you use these attributes, the
autosuggestion feature shows the available expressions and the Operators that are applicable for
each attribute.
● alert.id
Use the alert.id attribute to view alert details on the Investigate tab.
For example, you can visualize the alert details for a set of alerts such as P-8444, P-8421, and
P-8420.
● anomaly.type
Use the anomaly.type to view details on specific anomaly policies. The autosuggestion
displays the different anomaly policies that are supported with this attribute.
For example, you can list entities or users who deleted security groups from a given cloud
account:
● cloud.account.group
Use the cloud.account.group attribute to narrow your search to only the cloud accounts in
your cloud account group.
For example, you can list entities or users who deleted virtual private clouds in all your AWS
accounts:
● Cloud.type
Use the cloud.type attribute to narrow your search to a specific cloud platform. Supported
options are AWS, Azure, and GCP.
● cloud.region
Use the cloud.region attribute to narrow the audit search to one or more cloud regions.
For example, you can list entities or users who deleted access keys from a given cloud
account:
● cloud.service
Use the cloud.service attribute to search for information using a specific service name in
your cloud accounts.
For example, you can review details for users who performed operations, such as deleting
cloud trail logs or disabling or stopping logging events:
● crud
Use the crud attribute to search for information on users or entities who performed create,
read, update, or delete operations.
● Has.anomaly
Use the has.anomaly attribute to search for information on events that include anomalies.
For example, you can list all events that have identified anomalies for a cloud type:
● operation
An operation is an action that users perform on resources in a cloud account. Use
the operation attribute to start typing the name of the operation in which you are interested,
and Prisma Cloud autocompletes a list of operations that match your search criteria.
For example, you can list details of delete operations on VPCs, VPC endpoints, and VPC
peering connections:
● Subject
Use this attribute to search for actions that a specific user or an instance performed on your
cloud account.
● Role
Use this attribute to filter the search results by role.
For example, you can look for events performed by the Okta role:
● json.rule
Use this attribute to filter specific elements included in the JSON configuration related to a
cloud resource. The json.rule attribute enables you to look for specific configurations—parse
JSON-encoded values, extract data from JSON, or search for a value within any configuration
policy for cloud accounts that you are monitoring using Prisma Cloud.
For example, you can check for login failures on the console:
1.6.6 References
● Prisma Cloud Resource Query Language,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-rql-reference/rql-refer
ence/rql#idde117f54-0bc9-497a-a8d3-fe6cac849b65
● Event Query,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-rql-reference/rql-refer
ence/event-query#id7f21ba55-c711-4996-be59-3e6ce80ea9e4
● Network Query,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-rql-reference/rql-refer
ence/network-query
● Network Flow Log Query Attributes,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-rql-reference/rql-refer
ence/network-query/network-flow-log-query-attributes#id96c19819-a48e-40a6-843c-2ad88d
8a7fb3
● Network Flow Log Query Examples,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-rql-reference/rql-refer
ence/network-query/network-flow-log-query-examples#id76bff997-dacb-4a4c-94f9-485070
35b498
1.7.1 Autoremediation
If you want Prisma Cloud to automatically resolve policy violations, such as misconfigured security
groups, you can configure Prisma Cloud for automated remediation. To automatically resolve a
policy violation, Prisma Cloud runs the CLI command associated with the policy in the cloud
environments where it discovered the violation. On Prisma Cloud, you can enable automated
remediation for default policies (Config policies only) that are designated as remediable (indicated
by in the Remediable column) and for any cloned or custom policies that you add.
To enable automated remediation, identify the set of policies that you want to remediate
automatically and verify that Prisma Cloud has the required permissions in the associated cloud
environments. Then Create an Alert Rule for Run-Time Checks that enables automated remediation
for the set of policies you identified.
If you want to use automated remediation using serverless functions for your cloud resources on
AWS, use the runbooks on GitHub. The Prisma Cloud platform sends alert messages to an AWS SQS
queue, which in turn invokes a Lambda function, index_prisma.py. The function then calls the
appropriate runbook script to remediate the alert(s). To use AWS Lambda for automatic
remediation, you do not need to give Prisma Cloud read-write access to your AWS accounts; it is an
alternative way for you to try remediation for violating resources.
Step 1: Verify that Prisma Cloud has the required privileges to remediate the policies you plan to
configure for automated remediation.
● To view remediable policies, select Policies and set the filter to Remediable > True.
● You can edit the policy that triggered the alert and view the details on the resources and the
policy recommendations in separate tabs. Select the Alert ID and the slide-out panel
provides a better view of the alert details.
Review the required privileges in the CLI Command Description to identify which
permissions Prisma Cloud requires in the associated cloud environments to be able to
remediate violations of the policy.
● Click Edit Policy to access the policy directly from the alert.
● Click the Recommendation tab to view the policy that triggered the alert.
Step 2: Create an Alert Rule for Run-Time Checks or modify an existing alert rule.
Step 4: Finish configuring and Save the new alert rule or Confirm your changes to an existing alert
rule.
When you save the alert rule, Prisma Cloud automatically runs the remediation CLI to resolve policy
violations for all open alerts, regardless of when they were generated, and updates the alert status
to Resolved.
● Manually Remediate IAM Security Alerts—Copy and paste the CLI commands for your
AWS or Azure environments and then execute them to manually remove excess
permissions.
● Custom Python scripts—Copy, paste, and configure the custom Python scripts so that you
can automate the steps of executing the CLI commands to remediate excess permissions in
your AWS or Azure environments.
1.7.3 References
● Configure Prisma Cloud to Automatically Remediate Alerts,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/manage-prism
a-cloud-alerts/configure-prisma-cloud-to-automatically-remediate-alerts
● Remediate Alerts for IAM Security,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/prisma-cloud-i
am-security/remediate-alerts-for-iam-security
By default, the map shows aggregated numbers by specific regions in the map, but you can zoom
in on any of the regions in the map to get more granular detail on the specific location.
You can use the multiselect filter option available on the map to only present information for the
type of workload(s) you are interested in viewing traffic for. By default, the map filters out traffic to
destination resources that are allowed to accept inbound connections such as NAT gateways, ELB,
web servers, and HTTP traffic.
To see the network graph representing connections, click any of the connections from a specific
region and you will be redirected to the Investigate page to see the network graph. The network
query will carry forward the IP address, destination resources, and time filters so you can pinpoint a
specific incident.
Monitored Accounts
This graph shows the number of accounts Prisma Cloud is monitoring.
Open Alerts
Whenever a resource violates a policy, Prisma Cloud generates an alert to inform you of the policy
violation. The Open Alerts graph displays the number of alerts that were opened within the
selected time period and helps you visualize the trend across five equal time slices. The first point in
the timeline represents all open alerts since the cloud account was onboarded or up to the
preceding three years of the selected time range.
In each slice, the count includes alerts that are opened or have remained open through the period
using the last updated status. When you close or dismiss an alert, the last updated status is reset,
and this change determines whether or not the alert is counted within a time slice.
Alerts by Severity
Alerts are graphically displayed and classified based on their severity into High, Medium, and Low.
By clicking the graph, you can directly reach the alerts section.
1.8.3 References
● SecOps Dashboard,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/prisma-cloud-
dashboards/secops
This task shows you how Prisma Cloud Compute can scan the Docker images you intend to use to
identify any vulnerabilities so you can take steps to remove those vulnerabilities before they can be
abused and put the integrity of the container at risk.
To view Vulnerability Explorer, open Console, then go to Monitor > Vulnerabilities > Vulnerability
Explorer.
Roll-ups
The charts at the top of the Vulnerability Explorer help you answer two questions:
1. How many common vulnerabilities and exposures (CVEs) do you have?
For each object type (image, host, function), the chart reports a count of vulnerabilities in each
object class in your environment as a function of time. Consider an environment that has just a
single image, where that image has three vulnerabilities: one high, one medium, and one low. Then
at time=today on the Images vulnerabilities chart, you could read the following values:
● Critical - 0
● High - 1
● Medium - 1
● Low - 1
● Critical - 0
● High - 1
● Medium - 0
● Low - 0
Let’s look at it another way with a different set of data. Assume the reading at t=today reports the
following values, where t is some point on the x-axis of the chart:
● Critical - 1
● High - 1
● Medium - 0
● Low - 2
If your policy calls for addressing all critical vulnerabilities, then the chart tells you that there is
precisely one image in your environment that has at least one critical vulnerability. Therefore, your
work for today is to fix one image. That image might also have two high vulnerabilities and 20 low
vulnerabilities, which you will see when you open the image’s scan report, but this chart is not
designed to give you the total number of vulnerabilities.
Search tool
The search tool at the top of the page lets you determine if any image or host in your environment
is impacted by a specific vulnerability (whether it is in the top ten list or not).
The top ten table is driven by a risk score. The most important factor in the risk score is the
vulnerability’s severity. But additional factors are taken into account, such as:
The underlying goal of the risk score is to make it actionable so you know whether you should
address the vulnerability, and with what urgency. Factors that contribute to the risk score are
shown in the Risk Factors column.
Running containers can introduce additional environmental factors that increase the calculated
score for a vulnerability. For example, when the container runs as root, it could exacerbate the
problem. A list of container traits that heighten the risk are listed in the detailed information dialog
when you click a row in the top ten table.
Risk factors can also be used to prioritize individual vulnerabilities for mitigation. For example, if
your cluster runs containers from disparate business groups, a major concern might be container
breakouts. DoS vulnerabilities would likely be much less important than remote code execution
vulnerabilities, particularly if exploit code were available, you were running as root, and you didn’t
have AppArmor or SELinux applied.
To filter vulnerabilities based on risk factors: open the image, host, or function scan report; open
the Vulnerabilities tab; and select one or more risk factors.
Risk trees
Risk trees list all the images, namespaces, containers, and hosts that are vulnerable to a specific
CVE. Risk trees are useful because they show you how you are exposed to a given vulnerability.
Because Prisma Cloud already knows which vulnerabilities impact which packages, which
packages are in which images, which containers are derived from which images, which containers
run in which namespaces, and which hosts run which containers, it can show you the full scope of
your exposure to a vulnerability across all objects in your environment.
For each top ten vulnerability, Prisma Cloud shows you a vulnerability risk tree. To see the
vulnerability tree for a given CVE, click the corresponding row in the top ten table to open a detailed
CVE assessment dialog.
Recalculating statistics
Statistical data is calculated every 24 hours. You can force Console to recalculate the statistics for
the current day with the current data by clicking the Refresh button in the top left of Vulnerability
Explorer. The Refresh button has a red marker when new data is available to be crunched.
Rules let you target segments of your environment and specify actions to take when vulnerabilities
of a given type are found. For example:
Block images with critical severity vulnerabilities from being deployed to prod environment hosts
There are separate vulnerability policies for containers, hosts, and serverless functions. Host and
serverless rules offer a subset of the capabilities of container rules, the big difference being that
container rules support blocking.
As you build out your policy, you will create rules that filter out insignificant information, such as
low-severity vulnerabilities, and surface vital information, such as critical vulnerabilities.
Rule order is important. Prisma Cloud evaluates the rule list from top to bottom until it finds a
match based on the object filters.
By default, Prisma Cloud optimizes resource usage by only scanning images with running
containers. Therefore, you might not see a scan report for an image when it is first pulled into your
environment unless it has been run. To scan all images on the hosts in your environment, go
to Manage > System > Scan, set Only scan images with running containers to Off, and click Save.
2.1.3 References
● Vulnerability Explorer,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/vuln
erability_management/vuln_explorer
● Vulnerability management rules,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/vuln
erability_management/vuln_management_rules
Step 1: Open Console, then go to Monitor > Compliance > Hosts > Running Hosts.
Step 2: Click a host in the list.
A report for the compliance issues on the host is shown.
2.2.3 Reference
● Host scanning,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/com
pliance/host_scanning
The key pivot for Compliance Explorer is failed compliance checks. Compliance Explorer tracks each
failed check and the resources impacted by each failed check. From there, you can further slice and
dice the data by secondary categories, such as collection, benchmark, and issue severity.
● Which resources (containers, images, hosts, serverless functions) are failing the compliance
checks you care about?
● Docker Benchmark
● Kubernetes Benchmark
● Openshift Benchmark (note: part of Kubernetes CIS benchmarks)
● Distribution Independent Linux
● Amazon Web Services Foundations
We have graded each check using a system of four possible scores: critical, high, medium, and low.
This scoring system lets you create compliance rules that take action, depending on the severity of
the violation. If you want to be reasonably certain that your environment is secure, address all
critical and high checks. By default, all critical and high checks are set to alert, and all medium and
low checks are set to ignore. We expect customers to review, but probably never fix, medium and
low checks.
There are just a handful of checks that are graded as critical. “Critical” is reserved for situations
where your container environment is exposed to the internet, where they are vulnerable to a direct
attack by somebody on the outside. They should be addressed immediately.
Prisma Cloud has not implemented CIS checks marked as Not Scored. These checks are hard to
define in a strict way. Other checks might not be implemented because the logic is resource-heavy,
results depend on user input, or files cannot be parsed reliably.
Benchmark versions—To see which version of the CIS benchmark is supported in the product, click
the All types drop-down list.
Built-in policy library —To enable the checks for the PCI DSS, HIPAA, NIST SP 800-190, and GDPR
standards, select the appropriate template.
Prisma Cloud Labs compliance checks can be enabled or disabled in custom rules. New rules can
be created under Defend > Compliance > Policy.
Container checks
● 596—Potentially dangerous NET_RAW capability enabled – Checks if a running container
has the NET_RAW capability enabled. This capability grants an application the ability to craft
raw packets. In the hands of an attacker, NET_RAW can enable a wide variety of networking
exploits, such as ARP-spoofing and hijacking a cluster’s DNS traffic.
● 598—Container app is running with weak settings – Weak settings incidents indicate that
a well-known service is running with a nonoptimal configuration. This check covers settings
for common applications, specifically: Mongo, Postgres, Wordpress, Redis, Kibana, Elasitc
Search, RabbitMQ, Tomcat, Haproxy, KubeProxy, Httpd, Nginx, MySql, and registries. These
settings check for such things as the use of default passwords, requiring SSL, etc. The output
for a failed compliance check will contain a Cause field that gives specifics on the exact
settings detected that caused a failure.
● 599—Container is running as root (container check) – Checks if the user value in the
container configuration is root. If the user value is 0, root, or “” (empty string), the container is
running as a root user, and the policy’s configured effect (ignore, alert, or block) is actuated.
2.3.3 References
● Compliance Explorer,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/com
pliance/compliance_explorer
● CIS Benchmarks,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/com
pliance/cis_benchmarks
● Compliance checks,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/com
pliance/prisma_cloud_compliance_checks
● 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
● Fargate scanning
● Detect secrets
● Cloud discovery
● OSS license management
Enforcement
Compliance rules are defined and applied in the same way as vulnerability rules. Checks that can be
performed on static images are performed as images that are scanned (either in the registry or on
local hosts). Results are then displayed in the compliance reports under Monitor > Compliance on
the Console.
When compliance rules are configured with block actions, they are enforced when a container is
created. If the instantiated container violates your policy, Prisma Cloud prevents the container from
being created.
Note that compliance enforcement is only one part of a defense in depth approach. Because
compliance enforcement is applied at creation, it is possible that a user with appropriate access
Assume that you want to block any container that runs as root. The flow for blocking such a
container is:
1. Prisma Cloud admin creates a new compliance rule that blocks containers from running as
root.
2. The admin optionally targets the rule to specific resources, such as a set of hosts, images, or
containers.
4. Prisma Cloud compares the image being deployed to the compliance state that it detected
when it scanned the image. For deploy-time parameters, the specific Docker client
commands that are sent are also analyzed.
● If the comparison determines that the image is compliant with the policy, the
“docker run” command is allowed to proceed as normal, and the return message
from Docker Engine is sent back to the user.
● If the comparison determines that the image is not compliant, the container_create
command is blocked and Prisma Cloud returns an error message back to the user
describing the violation.
5. All activities are centrally logged in Console and (optionally) syslog in both success and
failure cases.
2.4.3 References
● Compliance,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/com
pliance
● Manage compliance,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/com
pliance/manage_compliance
Runtime defense is the set of features that provide both predictive and threat-based active
protection for running containers. For example, predictive protection includes capabilities like
determining when a container runs a process not included in the origin image or creates an
unexpected network socket. Threat-based protection includes capabilities such as detecting when
malware is added to a container or when a container connects to a botnet.
Prisma Cloud Compute has distinct sensors for file system, network, and process activity. Each
sensor is implemented individually, with its own set of rules and alerts. The runtime defense
Navigate to Monitor > Runtime > Container Models. Click the image to view the model.
There is a 1:1 relationship between models and images: Every image has a model and every model
applies to a single unique image. For each image, a unique model is created and mapped to the
image digest. So, even if there are multiple images with the same tags, Prisma Cloud creates
unique models for each image.
Models are built from both static analysis (such as building a hashed process map based on parsing
an init script in a Dockerfile ENTRYPOINT) and dynamic behavioral analysis (such as observing
actual process activity during early runtime of the container). Models can be in one of three modes:
Active, Archived, or Learning.
For containers in Kubernetes clusters, Prisma Cloud considers the image, namespace, cluster, and
deployment (YAML) file when it creates models.
● When the same image runs in multiple different clusters, Prisma Cloud creates separate
models for each image in each cluster.
● When the same image runs in multiple different namespaces, Prisma Cloud creates
separate models for each image in each namespace.
Prisma Cloud shows you how models map to specific images. Go to Monitor > Runtime >
Container Models, click a model in the table, and click the General tab.
Creating a new rule enables runtime defense. When Defender is installed, it automatically starts
collecting data about the underlying host. To create a rule, open Console, go to Defend > Runtime
> Host Policy, and click Add rule. Create new rules to enhance host protection.
Anti-malware provides a set of capabilities that lets you alert or prevent malware activity and exploit
attempts.
Audit events that are generated as a byproduct of an attack rarely occur in isolation. Attackers
might modify a configuration file to open a backdoor, establish a new listener to shovel data out of
the environment, run a port scan to map the environment, or download a rootkit to hijack a node.
To learn more about the challenges of incident response in cloud native environments, and how
Prisma Cloud can help, see this webinar recording.
Viewing incidents
To view incidents, go to Monitor > Runtime > Incident Explorer. Click an incident to examine the
events in the kill chain. Clicking on individual events shows more information about what triggered
the audit. After you have examined the incident, and have taken any necessary action, you can
declutter your workspace by archiving the incident.
All the raw audit events that comprise the incident can be found in the Audit Data tab. To see the
individual events and export the data to a CSV file, go to Monitor > Events > Container audits /
Host audits / App-Embedded audits.
Incident Explorer is organized to let you quickly access the data you need to investigate an incident.
The following diagram shows the contextual data presented with each incident:
2.5.6 References
This task shows you how to identify and protect against vulnerabilities in serverless apps. The term
“serverless” does not mean that there is no server. It means that for most purposes you can ignore
the server because it is managed by the service provider. However, it still is implemented on a
virtual machine, possibly on a Docker container, that runs an application runtime environment
such as Node.js or Tomcat. This environment, and any libraries you import into your serverless app,
still can contain vulnerabilities.
2.6.1 Monitor
Prisma Cloud can scan serverless functions for vulnerabilities. Prisma Cloud supports AWS Lambda,
Google Cloud Functions, and Azure Functions.
Serverless computing is an execution model in which a cloud provider dynamically manages the
allocation of machine resources and schedules the execution of functions that users provide.
Serverless architectures delegate the operational responsibilities, along with many security
concerns, to the cloud provider. In particular, your app itself is still prone to attack. The
vulnerabilities in your code and associated dependencies are the footholds attackers use to
compromise an app. Prisma Cloud can show you a function’s dependencies, and surface the
vulnerabilities in those dependent components.
Capabilities
For serverless, Prisma Cloud can scan Node.js, Python, Java, C#, Ruby, and Go packages. For a list of
supported runtimes, see system requirements.
● When the settings change, including when new functions are added for scanning.
● When you explicitly click the Scan button in the Monitor > Vulnerabilities > Functions >
Scanned Functions page.
● Periodically. By default, Prisma Cloud rescans serverless functions every 24 hours, but you
can configure a custom interval in Manage > System > Scan.
● (AWS only) Select Scan only latest versions to just scan the latest version of each function.
Otherwise, the scan will cover all versions of each function up to the specified Limit value.
All vulnerabilities identified in the latest serverless scan report can be exported to a CSV file by
clicking on the CSV button in the top right of the table.
2.6.2 Policy
Prisma Cloud Labs has developed compliance checks for serverless functions. Currently, only AWS
Lambda is supported.
In AWS Lambda, every function has an execution role. Execution roles are identities with permission
policies that control what functions can and cannot do in AWS. When you create a function, you
specify an execution role. When the function is invoked, it assumes this role.
When Prisma Cloud scans the functions in your environment, it inspects the execution role for
overly permissive access to AWS services and resources.
Two fields are inspected: resource and action.
Resource
Specifies the objects to which the permission policy applies. Resources are specified with ARNs.
ARNs let you unambiguously specify a resource across all of AWS. ARNs have the following format:
arn:partition:service:region:account-id:resource
Where:
● service—Identifies the AWS product, such as Amazon S3, IAM, or CloudWatch Logs.
● resource—Identifies the objects in the service. It often includes the resource type, followed
by the resource name itself. For example, the following ARN uniquely identifies the user
Francis in the IAM service:
arn:aws:iam::586975633310:user/Francis
Action
Describes the tasks that can be performed on the service. For example, ec2:StartInstances,
iam:ChangePassword, and s3:GetObject. Wildcards can be used to grant access to all the actions of
a given AWS service. For example, s3:* applies to all S3 actions.
2.6.3 Auto-protect
Auto-defend is an additional option for deploying the Serverless Defender, in addition to manually
adding it as a dependency or adding it as a Lambda layer.
Limitations
Auto-protect is implemented with a layer. AWS Lambda has a limit of five layers per function. If your
functions have multiple layers, and they might exceed the layer limit with auto-defend, consider
protecting them with the embedded option.
Required permissions
Prisma Cloud needs the following permissions to automatically protect Lambda functions in your
AWS account. Add the following policy to an IAM user or role:
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "PrismaCloudComputeServerlessAutoProtect",
"Effect": "Allow",
"Action": [
"lambda:PublishLayerVersion",
"lambda:UpdateFunctionConfiguration",
"lambda:GetLayerVersion",
"lambda:GetFunctionConfiguration",
"iam:SimulatePrincipalPolicy",
"lambda:GetFunction",
"lambda:ListFunctions",
"iam:GetPolicyVersion",
"iam:GetRole",
"iam:ListRolePolicies",
"iam:ListAttachedRolePolicies",
"iam:GetRolePolicy",
"iam:GetPolicy",
"lambda:ListLayerVersions",
"lambda:ListLayers",
"lambda:DeleteLayerVersion",
"kms:Decrypt",
"kms:Encrypt",
"kms:CreateGrant"
],
2.6.4 References
● Serverless function scanning,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/vuln
erability_management/serverless_functions
● Serverless functions compliance checks,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/com
pliance/serverless
● Auto-defend serverless functions,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/insta
ll/install_defender/auto_defend_serverless
WAAS enhances the traditional WAF protection model by deploying closer to the application, easily
scaling up or down and allowing for inspection of “internal” traffic (east-to-west) from other
microservices, as well as inbound traffic (north-to-south).
For containerized web applications, WAAS binds to the application’s running containers, regardless
of the cloud, orchestrator, node, or IP address where it runs, and without the need to configure any
complicated routing. For noncontainerized web applications, WAAS simply binds to the host where
the application runs.
● File Upload Control—WAAS secures application file uploads by enforcing file extension
rules.
● Penalty Box for Attackers—WAAS supports a five-minute ban of IPs triggering one of its
protections to slow down vulnerability scanners and other attackers probing the application.
● Bot Protection—WAAS detects good known bots as well as other bots, headless browsers,
and automation frameworks. WAAS is also able to fend off cookie droppers and other
primitive clients by mandating the use of cookies and JavaScript in order for the client to
reach the protected origin.
● DoS Protection—WAAS is able to enforce rate limitation on IPs or Prisma Sessions to protect
against high-rate and “low and slow” layer-7 DoS attacks.
Architecture
WAAS is deployed via Prisma Cloud Compute Defenders that operate as a transparent HTTP proxy,
evaluating client requests against Security policies before relaying the requests to your application.
Defenders are deployed into the environment in which the web applications run. The WAAS
management console is independent of the Defenders and can be self-hosted or provided as a
service (SaaS):
When a firewall is deployed, Defender reroutes traffic bound for your web application to WAAS for
inspection. If a connection is secured with TLS, Defender decrypts the traffic, examines the content,
and then re-encrypts it.
WAAS event audits can be further explored in the Monitor section of Prisma Cloud Compute’s
management console (Monitor > Events). In addition, event audits are registered in the
Defender’s syslog thus allowing for integration with third-party analytics engines or SIEM platforms
of choice.
● Alert - The request is passed to the protected application and an audit is generated for
visibility.
● Prevent - The request is denied from reaching the protected application, an audit is
generated and WAAS responds with an HTML page indicating the request was blocked.
● Ban - Can be applied on either IP or Prisma Session IDs. All requests originating from the
same IP/Prisma Session to the protected application are denied for the configured time
period (default is 5 minutes) following the last detected attack.
2. Click Import.
7. Review protected endpoints listed under Protected Endpoints and verify configured base
paths all end with a trailing *.
3. Add protected endpoints under Protection endpoints and verify configured base paths all
end with a trailing *.
Paths entered in this section are additional subpaths to the base path defined in the
previous endpoint section. For example, if in the endpoint definition hostname was set
to www.example.com and base path was set to /api/v2/*, and in the API Protection tab
resource path was set to /product, the full protected resource would
be www.example.com/api/v2/product.
9. Configure an API protection action for the resources defined under API resources, and
an action for all other resources.
● Burst Rate - Average rate of requests per second is calculated over a five-second period.
● Average Rate - Average rate of requests per second is calculated over a 120-second period.
Users are able to specify match conditions for qualifying requests to be included in the count.
Match conditions are based on HTTP methods, File Extensions, and HTTP response codes.
Users are also able to specify Network lists to be excluded from the DoS protection-rate accounting.
Step 3: Apply rate-limitation thresholds (requests per second) for Burst rate (calculated over five
seconds) and for Average rate (calculated over 120 seconds).
Step 4: To apply the rate limitation on a subset of requests, click the On button.
● HTTP Methods
● File Extensions - multiple extensions are allowed (e.g. .jpg, .jpeg, .png).
● HTTP Response Codes - specify either a single response code, a range or a combination of
them (e.g. 302, 400-410, 500-599).
Step 5: Multiple match conditions are allowed (OR relation between them).
In the above example the following request would be counted against the rate limitation
thresholds:
Step 6: Specify Network lists of IP addresses to be excluded from the rate accounting.
DoS actions
Requests that exceed the rate limitation thresholds are subject to one of the following actions:
● Alert—The request is passed to the protected application and an audit is generated for
visibility.
● Ban—Can be applied to either the IP or Prisma Session. All requests originating from the
same IP/Prisma Session to the protected application are denied for the configured time
period (default is five minutes) following the last detected attack.
Network Controls
● Denied inbound IP Sources - WAAS applies selected action (Alert or Prevent) for IP
addresses in network lists.
● IP Exception List - Traffic that originates from IP addresses listed in this category is not
inspected by any of the protections defined in this policy.
● Denied Inbound Source Countries - WAAS applies selected action (Alert or Prevent) for
requests originating from the specified countries.
● Allowed Inbound Source Countries - Requests originating from specified countries will be
forwarded to the application (pending inspection). WAAS will apply an action of choice (Alert
or Prevent) on all other requests that do not originate from the specified countries.
To access Network Lists, open Console, go to Defend > WAAS and select the Network List tab.
WAAS lets you block or allow requests that contain specific strings in HTTP headers by specifying a
header name and a value to match. The value can be a full or partial string match. Standard pattern
matching is supported.
If the Required toggle is set to On, WAAS applies the defined action on HTTP requests in which the
specified HTTP header is missing. When the Required toggle is set to Off, no action will be applied
for HTTP requests missing the specified HTTP header.
HTTP Header fields consist of a name followed by a colon, and then the field value. When decoding
field values, WAAS treats all commas as delimiters. For example, the Accept-Encoding request
header advertises which compression algorithm the client supports.
Accept-Encoding: gzip, deflate, br
To match it, specify the following wildcard expression in your WAAS rule:
Mozilla/5.0*
Attackers may try to upload malicious files, such as malware, to your systems. WAAS protects your
applications against malware by restricting uploads to just the files that match any allowed content
types. All other files will be blocked.
Files are validated both by their extension and their magic numbers. Built-in support is provided for
the following file types:
WAAS rules let you explicitly allow additional file extensions. These lists provide a mechanism to
extend support to file types with no built-in support, and as a fallback in case Prisma Cloud’s built-in
inspectors fail to correctly identify a file of a given type. Any file with an allowed extension is
automatically permitted through the firewall, regardless of its magic number.
● Search Engine Crawlers - Bots that systematically crawl and index the worldwide web to
index pages for online searches. These are also known as spider bots or web crawlers.
● Business Analytics Bots - Bots that crawl, extract, and index business-related information.
● Educational Bots - Bots that crawl, extract, and index information for educational purposes,
such as academic search engines.
● News Bots - Bots that crawl, extract, and index the latest news articles, usually for
news-aggregation services.
● Financial Bots - Bots that crawl, extract, and index financial data.
● Content Feed Clients - Automated tools, services, or end-user clients that fetch web
contents for feed readers.
● Archiving Bots - Bots that crawl, extract, and archive website information.
● Career Search Bots - Automated tools or online services that extract and index job-related
postings.
● Media Search Bots - Bots that crawl, extract, and index media contents for search engines.
This category contains various bots and other automation frameworks that cannot be classified by
their activity or origin:
Users can create custom signatures based on HTTP headers and source IPs. User-defined
signatures are useful for tracking customer-specific bots, self-developed automation clients, and
traffic that appears suspicious.
Detection methods
WAAS uses static and active methods for detecting bots.
Static detection examines each incoming HTTP request and analyzes it to determine whether it
was sent by a bot.
Active detections make use of JavaScript and Prisma Sessions Cookies to detect and classify bots.
Prisma Session Cookies set by WAAS are encrypted and signed to prevent cookie tampering. In
addition, cookies include advanced protections against cookie-replay attacks where cookies are
harvested and re-used in other clients.
When enabled, JavaScript is injected periodically in server responses to collect browser attributes
and flag anomalies typical to various bot frameworks. JavaScript fingerprint results are received and
processed asynchronously and are used to classify sessions for future requests.
Detection workflow
Unknown bots
1. Click the Bot protection tab.
User-defined bots
Click the Bot protection tab.
● HTTP Header name - Specify HTTP header name to include in the signature.
● Header Values - Comma-separated list of values to be matched on in the HTTP header
(wildcard is allowed).
● Inbound IP sources - Specify Network list of IP addresses from which the bot originates.
2.7.9 Rules
WAAS custom rules offer an additional mechanism to protect your running web apps. Custom rules
are expressions that give you a precise way to describe and detect discrete conditions in requests
and responses. WAAS intercepts Layer 7 traffic, passes it to Prisma Cloud for evaluation. Expressions
let you inspect various facets of requests and responses in a programmatic way, then take action
when they evaluate to true. Custom rules can be used in container, host, and app-embedded
WAAS policies.
You may filter the audit logs by time range (with the ability to go back in time by at least six
months), by site, by device, and by type such as security, network policy, system administration, and
users. The Audit logs provide details on the number of attempted logins to an enterprise portal by a
specific user from a particular IP address with information on all successful and failed attempts.
Users will have a view of all system changes and access attempts.
Audit logs auto-expire after two years, although the last two actions carried out on any resource are
kept forever. They are accessible to the ROOT, SUPER, and IAM ADMIN user roles. Custom roles with
GET and POST permissions for the audit log resource may access these logs.
Audit logs support Regex queries and compare versions by rewinding or fast-forwarding to earlier
or later versions and keeping a version static while changing the other version. Access the audit
logs from the System Administration tab on the Prisma SD-WAN web interface, as well as directly
from resources, such as sites, devices, SNMP traps, Syslog exports, NTP clients, server, BGP, static
route, interface configuration, policy rule, policy set, stacked policy prefix, custom application,
application override configuration, network contexts, circuit categories, IPSec profiles, Policies
(Original), zones, and prefix filters. You can export audit logs CSV files through the Audit log menu.
2.7.11 Reference
● Web-Application and API Security (WAAS),
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/waas
/waas-intro
● WAAS Actions,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/waas
/waas-intro
● API Protection,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/waas
/waas_api_protection
● DoS protection,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/waas
/waas_dos_protection
● Network lists,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/waas
/waas_access_control
2.8.1 Scanning
Prisma Cloud can scan container images in public and private repositories on both public and
private registries.
The registry is a system for storing and distributing container images. The most well-known public
registry is Docker Hub, although there are also registries from Amazon, Google, and others.
Organizations can also set up their own internal private registries. Prisma Cloud can scan container
images on all of these types of registries.
After repository scanning is configured, Prisma Cloud automatically scans images for vulnerabilities.
Periodic scans are run at an interval specified in Configure > System > Scan (by default, once every
24 hours).
Deployment patterns
Registry scanning is handled by Defenders. When you configure Prisma Cloud to scan a registry,
you can select the scope of Defenders that will be used for performing the scan job.
Any Container Defender running on a host with the Docker Engine container runtime or container
runtime interface (CRI) can scan a registry, and any number of them can simultaneously operate as
registry scanners. This gives you a lot of options when you are trying to determine how to cover
disparate environments.
Select a collection of Defenders that are defined by hostnames or AWS tags, and the scan job will
be distributed between them according to the “Number of scanners” setting. When selecting the
“All” collection, you let Prisma Cloud automatically distribute the scan job across all available
Defenders.
In general, you should configure Prisma Cloud with a large scope of Defenders, because it reduces
operational complexity and improves resiliency. At scan-time, Prisma Cloud enumerates the
available Defenders according to your scope, manages the resource pool, and handles issues such
as restarting partially completed jobs. If you explicitly select one or two Defenders to handle
scanning, the hosts where these Defenders run are a single point of failure. If the host fails, or gets
destroyed, you have to reconfigure your scan settings with different Defenders.
If you remove an image from the registry, or the registry becomes unavailable, Prisma Cloud
maintains the scan results according to your setup under Manage > System > Scan > Registry
scan results. After the specified number of days, the scan results are purged.
2.8.2 CI
Continuous integration and continuous delivery (CI/CD) systems automatically identify when a
module, such as a container or a serverless function, is ready to be pushed into the pipeline. After a
module is pushed, it goes through multiple tests before it is actually deployed as part of an
application. Prisma Cloud allows one of those scans to be a compliance test. If you are using Jenkins
or CloudBees, you can use the plugin. For other systems you will need to add a call to the
executable, called twistcli.
2.8.3 References:
● Configure registry scans,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/vuln
erability_management/registry_scanning
● CI,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/conti
nuous_integration
● Integration with the CI Pipeline,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-reference-architectur
e-compute/ci_pipeline
● Other CI Tools,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-reference-architectur
e-compute/ci_pipeline/other_ci_tools
You can use a data-collection and user-interface platform hosted by Palo Alto Networks for Prisma
Cloud Compute. Or, you can host your own console with software that is provided to you as a
Docker image.
There are two different methods for accessing images in the cloud registry:
● Basic authorization
● URL authorization
Prerequisites:
Password:
Where Username can be any string, and Password must be your access token.
Step 2: Pull the Defender image from the Prisma Cloud registry.
$docker(orpodman)pull
registry.twistlock.com/twistlock/defender:defender_<VERSION>
Prerequisites:
● The Docker or Podman client requires that repository names be lowercase. Therefore, all
characters in your access token must be lowercase. To convert your access token to
lowercase characters, use the following command:
$ echo <ACCESS-TOKEN> | tr '[:upper:]' '[:lower:]'
Step 1: Pull the Defender image from the Prisma Cloud registry.
$ docker (or podman) pull \
registry-auth.twistlock.com/tw_<ACCESS-TOKEN>/twistlock/defender:defender_<VERSION>
Prerequisites:
Step 1: Download the latest Prisma Cloud release to the host where you’ll install Onebox.
Step 2: Extract the tarball. All files must be in the same directory when you run the install.
$ mkdir twistlock
$ tar -xzf prisma_cloud_compute_<VERSION>.tar.gz -C twistlock/
Open twistlock.cfg and review the default settings. The default settings are acceptable for most
environments.
● -s –
Agree to EULA.
Configure Console
Create your first admin user and enter your license key.
Uninstall
Use the twistlock.sh script to uninstall Prisma Cloud from your host. The script stops and removes
all Prisma Cloud containers, removes all Prisma Cloud images, and deletes the /var/lib/twistlock
directly, which contains your logs, certificates, and database.
Step 2: Verify that all Prisma Cloud containers have been stopped and removed from your host.
$ docker ps -a
Step 3: Verify that all Prisma Cloud images have been removed from your host.
$ docker images
If Console fails to upgrade one or more Defenders, manually upgrade your Defenders.
Step 1: Download the latest recommended release.
Step 4: Upgrade Prisma Cloud while retaining your current data and configs by using the -j option.
The -j option merges your current configuration with any new configuration settings in the new
version of the software.
You must use the same install target in your upgrade as your original installation. There are two
install targets: onebox and console, where onebox installs both Console and Defender onto a host
and console just installs Console.
Step 5: Go to Manage > Defenders > Manage and validate that Console has upgraded your
Defenders.
3.1.4 Business use case to determine the Prisma Cloud version to use
This article describes the key differences between Compute in Prisma Cloud Enterprise Edition and
Prisma Cloud Compute Edition. Use this guide to determine which option is right for you.
Tenant projects are like silos. They each have their own rules and settings that are created and
maintained separately from all other projects.
Defenders communicate to the scale project Console (5,000 Defenders per scale project Console)
and the scale project Console aggregates and sends information to a Central Console.
Policies and rules are inherited by the scale project from the Central Console. Users and
administrators operate the Central Console which then pushes changes to the scale projects.
These are shown in the right-hand side of the above diagram.
3.1.6 References
3.2.1 Types
Defenders enforce the policies you set in Console. They come in a number of different flavors. Each
flavor is designed to protect specific types of cloud-native resources and for optimal deployment
into the environment, with full support for automated workflows. Use the following flowchart to
choose the best Defender for the job.
Deploy one Container Defender per host. Container Defender can be deployed in several ways:
● With cluster constructs - Container orchestrators often provide native capabilities for
deploying agents, such as Defender, to every node in the cluster. Prisma Cloud leverages
these capabilities to install Defender. Kubernetes and OpenShift, for example, offer
DaemonSets As such, Container Defender is deployed as a DaemonSet on Kubernetes.
● As a stand-alone entity - Stand-alone Container Defenders are installed on hosts that are not
part of a cluster.
● Host Defender utilizes Prisma Cloud’s model-based approach for protecting hosts that do
not run containers. This Defender type lets you extend Prisma Cloud to protect all the hosts
in your environment, regardless of their purpose. Defender runs as a systemd service on
Linux and a Windows service on Windows. If Docker Engine is detected on the host,
installation of this Defender type is blocked; install Container Defender instead.
● Deploy one Host Defender per host. Do not deploy Host Defender if you’ve already deployed
Container Defender to a host. Container Defender offers the same host protection
capabilities as Host Defender.
Serverless Defender
Serverless Defenders offer runtime protection for AWS Lambda functions. Serverless Defender
must be embedded inside your functions. Deploy one Serverless Defender per function.
App-Embedded Defender
App-Embedded Defenders offer runtime protection for containers.
Deploy App-Embedded Defender anywhere you can run a container, but you can’t run Container
Defender. Container-on-demand services are a typical use case for App-Embedded Defender. They
remove the underlying cluster, host, operating system, and software modules (such as Docker
Engine) and present them as a single black box. Hooks into the operating system that Container
Defender needs to monitor and protect resources aren’t available in these environments. Instead,
embed App-Embedded Defender directly inside the container to establish a point of control.
Prisma Cloud supports an automated workflow for embedding App-Embedded Defenders.
Deploy one App-Embedded Defender per container. Deploy one Defender per task for Fargate.
Fargate
If you have an AWS Fargate task, deploy App-Embedded Fargate Defender.
● It hosts the Defender binary that gets injected into containers in the task.
● It proxies all communication to Console. Even if you have multiple containers in a task, it
appears as a single entity in Console’s dashboard.
● It synchronizes policy with Console and sends alerts to Console.
Dockerfile
The Docker image format, separate from the runtime, is becoming a universal runnable artifact. If
you are not using Fargate, but something else that runs a Docker image, such as Azure Container
Instances, use the App-Embedded Defender with the Dockerfile method.
Provide a Dockerfile, and Prisma Cloud returns a new version of the Dockerfile in a bundle. Rebuild
the new Dockerfile to embed Prisma Cloud into the container image. When the container starts,
Prisma Cloud App-Embedded Defender starts as the parent process in the container, and it
immediately invokes your program as its child.
There are two big differences between this approach and the Fargate approach:
● With the Fargate approach, you don’t change the actual image. With the Dockerfile
approach, you have the original image and a new protected image. You must modify the
way your containers are built to embed App-Embedded Defender into them. You need to
make sure you tag and deploy the right image.
● Each Defender binary makes its own connection to Console. In the Console dashboard, they
are each counted as unique applications.
Nothing prevents you from protecting a Fargate task using the Dockerfile approach, but it’s
inefficient.
Manual
Use the manual approach to protect almost any type of runtime. If you are not running a Docker
image, but you still want Prisma Cloud to protect it, deploy App-Embedded Defender with the
manual method. Download the App-Embedded Defender, set up the required environment
variables, then start your program as an argument to the App-Embedded Defender.
If you choose the manual approach, you have to figure out how to deploy, maintain, and upgrade
your app on your own. While the configuration is more complicated, it’s also the most universal
option because you can protect almost any executable.
The TAS Defender is delivered as a tile that can be installed from your TAS Ops Manager Installation
Dashboard.
By default, Defender establishes a connection to the Console on TCP port 8084 but you can
customize the port to meet the needs of your environment. All traffic between the Defender and
the console is TLS encrypted.
You can upgrade from an immediate previous major version only. If your installation is more than
one major release behind, you must upgrade in steps. For example, you cannot directly upgrade
from version 19.11 to 20.09.
You must upgrade from version 19.11 to 20.04, and then from 20.04 to 20.09.
Console notifies you when new versions of Prisma Cloud are available. Notifications are displayed in
the top-right corner of the dashboard.
When you upgrade the Console, the old Console container is completely replaced with a new
container. Because Prisma Cloud stores state information outside of the container, all your rules
and settings are immediately available to the upgraded Prisma Cloud containers.
Prisma Cloud state information is stored in a database in the location that is specified by
DATA_FOLDER, which is defined in twistlock.cfg. By default, the database is located
in /var/lib/twistlock.
1. Upgrade Console.
4. Manually upgrade all other Prisma Cloud Compute components, such as the Jenkins plugin,
so that their versions exactly match Console’s version.
● Defenders - Console can automatically upgrade most Defender types for you.
App-embedded Defenders and PCF Defenders (also known as Twistlock for Pivotal
Platform) must be manually upgraded.
● Jenkins plugin
● twistcli
● If you are using projects, supervisor Consoles must match the Central Console version.
Version mismatches
● In Monitor > Events, any audits generated by older Defenders are marked with an
out-of-date indicator. Links to the rules that triggered the audit are disabled (explanation
follows).
● In Monitor > Vulnerabilities and Monitor > Compliance, any scan reports that are
generated by older components (Defender registry scanners, Jenkins plugins, twistcli) are
marked with an out-of-date indicator.
Although older Defenders can interoperate with newer Consoles, their operation is restricted. Older
Defenders fully protect your nodes using the policies and settings that were most recently cached
before upgrading the Console. They can emit audits to Console and local logs, including syslog.
However, they cannot access any API endpoint other than the upgrade endpoint, and they cannot
share any new data with the Console. No new policies or settings can be pushed from Console to
older Defenders. When Defender is in this state, its status is shown as “Upgrade needed” in Manage
> Defenders > Manage. To restore older Defenders to a fully operational state, upgrade them so
that their versions match Console’s version.
● Console - Onebox
● Console - Kubernetes
● Console - OpenShift
● Console - Helm
● Console - Docker Swarm
● Console - Amazon ECS
3.2.4 Reference
● Defender types,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/insta
ll/defender_types
Due to their nature, it is crucial that the agents perform well in diverse environments, and they
must also be low impact and low maintenance.
Agent-based systems are modeled on the pull communication style. In this case, the client is the
central server that pulls the data from the agents on demand. Agents typically have to be installed
on each machine following an automated process. Once the agents are configured, they can
receive requests from the central server for the results of security-related actions and status
updates.
Agentless security, on the other hand, performs many of the same actions, just without the
agents. In practice, this means that we can inspect and review security scans and vulnerabilities on
a remote machine without having to install an agent on that system. You may have to install
software on a different layer of the system (like networking) to capture associated risk metrics, but
you won’t need to have direct access to the host to install any service.
Agentless systems, therefore, are based on the push communication style. In other words, the
associated software pushes data to a remote system on a periodic basis. Because of the flexibility of
this setup, agentless security solutions work well for baseline security monitoring. You can
configure them to scan the whole infrastructure without having to install them to each subsystem.
However, a central system still needs to be available to coordinate scanning and the deployment of
patches.
On the other hand, you may need to install agent-based systems to certain hosts that require
stricter controls. For example, if you have hosts that deal with financial data, you might want to
maximize your use of available security technology by installing agents that can carefully monitor
and protect those systems, as well as improve their overall security posture.
To summarize, agentless systems have a number of features that make them appealing, including:
● Quicker setup and deployment: You don’t need to have direct access to all hosts to perform
security scans.
● Less maintenance and lower provisioning costs.
● Wider initial visibility and greater scalability.
● Ideal for networks with large amounts of bandwidth.
● Need for a center host available to perform actions.
On the other hand, agent-based systems have the following benefits over agentless systems:
● Enable in-depth scanning and monitoring of hosts. Agents can perform more specialized
scanning of components and services.
● Can be used as a firewall because they can block network connections based on filtering
rules.
● Offer runtime protection per host or per application.
● Provide security controls, such as the ability to block attacks and patch live systems.
● Are ideal for networks with limited bandwidth, locations within DMZ zones, or laptops that
can be out of network reach. You can install the agent in systems without network
connectivity.
● Do not need a central host because they can perform tasks independently. Once installed,
the agent runs its set of actions on demand without needing to establish a connection to a
server beforehand – even when it is disconnected from the enterprise network.
Cloud Platforms discovery helps you find all cloud-native services being used in AWS, Azure, and
Google Cloud, across all regions, and across all accounts. Cloud Provider discovery continuously
monitors these accounts, detects when new services are added, and reports which services are
unprotected. It helps mitigate your exposure to rogue deployments, abandoned environments, and
sprawl.
Registries:
● AWS
● Azure
Managed platforms:
● AWS ECS
● AWS EKS
● Azure Kubernetes Service (AKS)
● Azure Container Instances (ACI)
● Google Kubernetes Engine (GKE)
Virtual machines:
● AWS EC2 instances
● Azure VMs
● Google Cloud Platform (GCP) Compute Engine VM instances
Auto-defend capabilities are available on these services. Auto-defend utilizes rule-based policies to
automatically deploy Prisma Cloud Defenders via Console to protect resources in your environment.
Prisma Cloud ingestion only provides information on the LATEST version of AWS serverless
functions and not other versions.
Step 3: Select the accounts to scan. If there are no accounts in the table, you can import Prisma
Cloud onboarded accounts, using the “Add account” workflow and selecting “Prisma Cloud” as the
provider.
1. Select Compute > Manage > Cloud Accounts to view the scan report in tabular format.
● Select the Show account details icon to see the discovery scan results for resources
within the cloud account.
2. Select Radar > Cloud to view the scan report in a visual format.
3. Select Defend for the entities you want Prisma Cloud to scan for vulnerabilities.
A new auto-defend rule is proposed. Select the appropriate credential, tweak the scan rule
as desired, then click Add.
4. See the scan results on Compute > Monitor > Vulnerabilities > {Images >
Registry|Functions}.
3.3.3 Reference
Prisma Cloud is implemented with containers that cleanly separate the application from its state
and configuration data. To back up a Prisma Cloud installation, only the files in the data directory
need to be archived. Because Prisma Cloud containers read their state from the files in the data
When data recovery is enabled (default), Prisma Cloud archives its data files periodically and copies
the backup file to a location you specify. The default path to the data directory is /var/lib/twistlock.
You can specify a different path to the data directory in twistlock.cfg when you install Console.
Step 4: After the database is reloaded from the backup file, restart Console.
For a onebox installation, ssh to the host where Console runs, then run the following command:
$ docker restart twistlock_console
For a Kubernetes installation, delete the Console pod, and the replication controller will
automatically restart it:
// Get the name of Prisma Cloud Console pod:
$ kubectl get po -n twistlock | grep console
Prerequisites:
● Your host can access the volume where the Prisma Cloud backups are stored. By default,
backups are stored in /var/lib/twistlock-backup, although this path might have been
customized at install time.
● Your host can access the Prisma Cloud’s data volume. By default, the data volume is located
in /var/lib/twistlock, although this path might have been customized at install time.
● Your version of twistcli matches the version of the backup you want to restore.
Step 1: Go to the directory where you unpacked the Prisma Cloud release.
Step 2: Run the twistcli restore command. Run twistcli restore --help to see all arguments.
● List all available backups. To list all files in the default backup folder
(/var/lib/twistlock-backup), run twistcli restore without any arguments:
● Choose a file to restore by entering the number that corresponds with the backup file.
For example:
aqsa@aqsa-faith: ./twistcli restore --data-recovery-folder
/var/lib/twistlock-backup/
Please select from the following:
0: backup1 2.5.91 2018-08-07 15:10:10 +0000 UTC
1: daily 2.5.91 2018-08-06 16:10:48 +0000 UTC
2: monthly 2.5.91 2018-08-06 16:10:48 +0000 UTC
3: weekly 2.5.91 2018-08-06 16:10:48 +0000 UTC
Please enter your selection:
0
Step 3: After the database is reloaded from the backup file, re-install/restart Console.
For a onebox installation, ssh to the host where Console runs, then rerun the installer:
$ sudo ./twistlock.sh -ys onebox
For a Kubernetes installation, delete the Console pod, and the replication controller will
automatically restart it:
// Get the name of Prisma Cloud Console pod:
$ kubectl get po -n twistlock | grep console
3.4.3 Reference
● Backup and restore,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/21-08/prisma-cloud-compute-editio
n-admin/configure/disaster_recovery
● Disaster Recovery,
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin-compute/confi
gure/disaster_recovery
3.5.1 Certificates
To ensure trust between parties in a secure communication session, Prisma Access uses digital
certificates. Each certificate contains a cryptographic key to encrypt plaintext or decrypt ciphertext.
● Decrypting Trusted Sites—For outbound SSL/TLS traffic, if a firewall acting as a forward proxy
trusts the CA that signed the certificate of the destination server, the firewall uses the
forward trust CA certificate to generate a copy of the destination server certificate to present
to the client. To set the private key size, see Configure the Key Size for SSL Forward Proxy
Server Certificates. For added security, store the key on a hardware-security module (for
details, see Secure Keys with a Hardware Security Module).