UTD CNSP 2.0 Cloud Operations Track
UTD CNSP 2.0 Cloud Operations Track
ULTIMATE
TEST DRIVE
Cloud Native Security
Platform
with Prisma Cloud
Workshop Guide
UTD-CNSP-2.0 | Cloud Operations Track
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary Last Update: 20230831
Table of Content
Note: Unless specified, the Google Chrome web browser will be used to perform any tasks outlined in the
following activities.
Before beginning this workshop, make sure your laptop is installed with a modern browser that supports HTML
5.0. We recommend using the latest version of Firefox®, Chrome, or Internet Explorer. We also recommend you
install the latest Java® client for your browser.
Step 1. Open a browser window and navigate to the class URL. If you have an invitation email, you will find
the class URL and passphrase there. Otherwise, your instructor will provide them.
Step 2. Complete the registration form and click Register and Login at the bottom.
Step 3. Depending on your browser, you may be asked to install a plugin. Please click yes to allow the plugin
to be installed, then continue the login process.
Step 4. Once you log in, the environment will be created automatically for you. The upper left-hand corner will
show you the progress of the preparation. You will see the lab availability time when it is ready for use.
Note: You can leverage the keyboard > send text feature inside of CloudShare when the guide instructs you to
copy/paste linux commands. Also note that when copying/pasting commands, make sure to remove the line
breaks if any before commands are executed.
The Docker workstation provided in this workshop has multiple applications running on it in the form of Docker
containers such as:
All of the above applications are accessible via the Application Portal tab from your CloudShare environment.
Note: You can also SSH to Docker Workstation from your laptop terminal (MAC) or Putty (Windows) using the
external address and login credentials as highlighted in the screenshot.
1. Credentials: kasm_user/p@lo@lto
2. Homepage: http://homepage:3000 (henceforth referred to as Homepage).
3. The Application Portal, upon startup, opens the webpage: If Homepage is not loaded, please refresh the
browser tab or open a new browser tab and navigate to aforementioned URL
4. Homepage provides you access to the various applications used within this workshop.
5. These applications are all running as Docker containers and they are accessible via their internal IPs only
via the Application portal.
6. This ensures that the traffic doesn’t go out the internet, making the setup a bit more secure and reduces
latency.
Below are the list of applications that are accessible via Application Portal and the respective tracks where these
are used in the lab:
1. Prisma Cloud Compute Edition: Click this tab to login on Prisma Cloud Compute Edition (PCCE)
console (Common for all the Tracks)
➢ Credentials: admin/p@lo@lto
2. Prometheus: Monitoring and Alerting Toolkit (Common for all the Tracks)
3. Grafana: Analytics and interactive visualization web application (Common for all the Tracks)
➢ Credentials: admin/admin
4. Splunk: Log aggregation (Common for all the Tracks)
➢ Credentials: admin/password
5. Webhook Receiver: Webhook container to receive incoming webhooks (Common for all the Tracks)
6. Mail Server: Locally hosted mail server (Common for all the Tracks)
7. Visual Studio Code: IDE (Cloud Operations and Developer Tracks)
➢ Credentials: admin/password
8. Jenkins: CICD (Development Track)
➢ Credentials: admin/p@lo@lto
9. DVWA: Damn Vulnerable Web Application docker container is a PHP/MySQL web application
Step 5. Important: This is a browser in browser setup running as a Docker container. DO NOT open more
than 3-4 browser tabs at the same time as it may cause resource exhaustion on the Docker
workstation VM.
If you prefer to use your own terminal from your laptop, you can ssh to this VM using the External Address and
the user name and password under Connection Details in the Connectivity section.
Note: You can also SSH to Docker Workstation from your laptop terminal (MAC) or Putty (Windows) using the
external address and login credentials as highlighted in the screenshot.
Complexity: Easy
Key Takeaways:
● Logging into Prisma Cloud
● View onboarded Cloud Accounts
Step 1. Click on the Prisma Cloud Enterprise Edition tab to open the demo tenant login.
NOTE: If you see a page expired message then refresh the web page by clicking on the Home
button as highlighted in below screen capture.
Step 3. Use the icons from the Action panel virtual keyboard to go back, forward and home screen while using
the Prisma Cloud console.
Step 4. To check the on-boarded public cloud accounts click on the Settings on the left-hand side and select
Account Groups. Click on the 4 Cloud Account(s) under Default Account Group. You can see the
public cloud accounts connected to this Prisma Cloud demo account.
NOTE: The screenshots captured in this workshop guide might vary slightly from the actual lab account.
Complexity: Easy
Key Takeaways:
● View SecOps dashboard
● View Policies
● Compliance Dashboard
When you access Prisma Cloud, you first see the homepage. You can then use the following tabs to interact with
the data and visualize the traffic flow and connection details to and from the different resources in your cloud
deployment; review the default policy rules and compliance standards; and explore how the web interface is
organized to help you and DevSecOps teams to monitor cloud resources.
● Dashboard
● Inventory
● Investigate
● Policies
● Compliance
● Alerts
● Compute
● Settings
Step 1. Click on the Dashboard > SecOps to review the Dashboard. The Dashboard provides a graphical
view of all assets deployed across multiple public cloud environments. You can use the predefined or
custom Time Range to view current trends or historical data. Or use the Cloud Accounts to focus on
specific public cloud accounts.
Step 3. The Investigate tab helps in identifying security threats and vulnerabilities, creating and saving
investigative queries, and analyzing impacted resources. To conduct investigations, Prisma Cloud
provides a proprietary query language called Resource Query Language (RQL) that is similar to SQL.
Step 4. The Policies tab shows the Prisma Cloud policy which is a set of one or more constraints or
conditions that must be adhered to. Any new or existing resources that violate these policies are
automatically detected.
Step 5. The Compliance > Overview dashboard enables you to view, access, report, monitor and review their
cloud infrastructure health compliance posture. You can also create compliance reports and run them
immediately, or schedule them on a recurring basis to measure your compliance over time.
Step 6. Click on the Compute tab to open up the Compute module in Prisma Cloud. Prisma Cloud offers a
rich set of cloud workload protection (CWPP) capabilities. Collectively, these features are called
Compute.
The Compute tab enables cloud native assets anywhere they operate - regardless of whether running
as containers, serverless functions, non-container hosts, or any combination of them.
Prisma Cloud Compute is also available to install as a self hosted deployment known as Prisma
Cloud Compute Edition. We have provided access to Prisma Cloud Compute Edition for the cloud
workload protection lab activities in Part 2 of this lab.
For more information on Prisma Cloud Compute (in Enterprise Edition) vs Compute Edition, please
visit here for a detailed comparison.
Step 7. The Alerts > Overview allows the admin to view the list of discovered violations and anomalies, drill
into the details and look up remediation options, and create alert rules and notification templates.
When you access Prisma Cloud, you first see the Alerts.
Complexity: Easy
Key Takeaways:
● SecOps dashboard
● Assets exposed to the internet and traffic that they are taking.
The Dashboard SecOps provides a graphical view of the performance of resources that are connected to the
internet, the risk rating for all accounts that Prisma Cloud is monitoring, the policy violations over time and a list of
the policies that have generated the maximum number of alerts across your cloud resources. It makes the
security challenges visible to you as a quick summary, so you can dig in.
Step 1. Click the Dashboard > SecOps, set the Time Range to All Time.
Step 2. Scroll down and click on one of the Top Internet Trafficked Assets by Traffic Type, such as the RDP.
Click on one of the resources, such as PANW-WindowsBastionServer-awsjamconfig to open an
investigation pane for the workload to see what traffic is coming from the internet. Expand the time range
to the last 6 months and you’ll see details about the workloads that are taking traffic directly from the
Internet.
Question: Did the workload take traffic from the Suspicious IP?
Step 4. Now go to the Dashboard > SecOps and scroll down to the bottom of the page and view the connections
from the Internet Connected Assets by Source Network Traffic Behavior map.
Note that if you do not see graphical data for the pink bubble you selected, try a different one. When you
do this, your graph may look different than what’s indicated in the screenshot
Step 6. Click on View Details to go to the Investigate tab with the subsequent network information.
Complexity: Easy
Key Takeaways:
● Prisma Cloud Asset Inventory
Public cloud environments are very dynamic environments, and a very common customer pain point is visibility
and asset inventory tracking. You can’t protect what they don’t know about, that is why a central cloud
Configuration Management Database(CMDB) is the foundation for building and implementing a solid Cloud
Security program.
The Asset Inventory dashboard (on the Inventory tab) provides a snapshot of the current state of all cloud
resources or assets that you are monitoring and securing using Prisma Cloud. From the dashboard, you gain
operational insight over all our cloud infrastructure, including assets and services such as Compute Engine
instances, Virtual machines, Cloud Storage buckets, Accounts, Subnets, Gateways, and Load Balancers.
Step 3. In the Prisma Cloud Asset Inventory dashboard, scroll down the page and search for and click on the
Google VPC line item in the table in the Service Name column. This will open up the Google VPC assets
view.
Step 4. In the Asset Inventory / GCP | Google VPC page, you can see a quick count on all the number of
unique VPC assets.
Note: Prisma Cloud allows you to easily discover all your cloud resources
across all of your cloud accounts and gives you a security posture view with
regard to those resources. It also allows you to easily drill down to get
details of each resource and whether it has passed or failed a policy. This
enables you to get quite granular at a per resource level.
End of Activity 1
Prisma Cloud Compute Edition (PCCE) - Hosted by you in your environment. Prisma Cloud Compute Edition
(PCCE) is a self-hosted offering that’s deployed and managed by you. It includes the Prisma Cloud Compute
module only. You can download the Prisma Cloud Compute Edition software from the Palo Alto Networks
Customer Support Portal. Compute Console is delivered as a container image, so you can run it on any host with
a container runtime (e.g. Docker Engine).
With Prisma Cloud Compute Edition (PCCE), Radar is the primary interface for monitoring and understanding
your environment. It is the default view when you first log into PCCE Console. It is designed to let you visualize
and navigate through all of Prisma Cloud’s data. For example, you can visualize connectivity between
Complexity: Easy
Key Takeaways:
● Different ways to access Prisma Cloud Compute Edition in the lab.
Step 1. There are a couple of ways to access the Prisma Cloud Compute Edition Console (PCCE Console) in
this lab.
c) When presented a Security exception, click on Advanced > Proceed to 10.160.154.170 (unsafe)
➢ Credentials: admin/p@lo@lto
a) Click on Docker Workstation CloudShare Tab. From the left pane, select Connectivity > Connection
Details > External Address (when you click on it, the address will be copied to clipboard)
Note: You will get a security exception, please ignore it for this lab and proceed to the login page. We
are using a self-signed certificate, which causes the exception.
Step 4. If the message Your connection is not private opens, click Advanced, and then Proceed to <IP
address> (unsafe). Non Chrome browsers might have a different behavior
Step 5. Login to the PCCE console using the following credentials, with Local/LDAP in the drop down:
➢ Credentials: admin/p@lo@lto
Complexity: Easy
Key Takeaways:
● Containers and Hosts discovered by Prisma Cloud
● Radar view
This task guides you through key elements of the Prisma Cloud Compute console to ensure that you are aware of
them. Use this time to explore these elements at your own pace to discover points of interest.
Step 2. Change the View based on different Radar view categories by clicking the dropdown on the top left
corner
Step 3. Click Radars > Hosts, then click the docker-workstation host icon to review the host dashboard.
There is only one host in this lab.
End of Activity 2
Scenario:
● There is already a containerized microservice bank application (Bank-of-Anthos) that exists and you
are working on deploying it on your Kubernetes cluster.
● You are now working on developing Kubernetes manifests to do that and make it production ready.
● You want to ensure there are no misconfigurations in the code during the coding phase.
Key Takeaways:
● Development starts with code and Prisma Cloud aims to provide security right from the first step, where
it all begins, by integrating right into your IDE
Step 1. Headover to the Application Portal in CloudShare as outlined in Activity 0 > Task 3
Step 2. Click on VS Code. When prompted for password, enter the credential password
If you see the insecure context warning pop up on the bottom right of your VS Code screen, you can safely
ignore that by clicking I Understand
Step 4. The necessary Checkov extension has been pre installed and configured for you. To review, click on
Extensions Icon and in the results, you can see Checkov extension
Step 6. Checkov scans happen automatically. However, to manually initiate a Checkov scan, click on Settings >
View > Command Palette and then type Checkov and select Checkov Scan from the result by clicking
on it. This will initiate a Checkov scan against the code in context.
Step 7. Kubernetes(bank-of-anthos)
1. Expand the bank-of-anthos folder tree from the left pane and click on the file frontend.yaml.
Note: It may take a few seconds for the red underlines to appear after opening a file in the editor
2. Notice how the line 15 is underlined in red ? That’s a result of a Checkov scan and it indicates
that there are misconfigurations found in this code.
3. Hovering your mouse over the underlined code will provide more information about the detected
violations/misconfigurations
5. Clicking on CKV_K8S_16 will take you to the Bridgecrew website where there’s more information
about the failed check.
7. Click on other files within bank-of-anthos folder to see other detected violations
8.
1. Expand the terraform-aws folder tree from the left pane and click on the file eks.tf.
Note: It may take a few seconds for the red underlines to appear after opening a file in the editor
2. Scroll down to line 72. Notice how the line 72 is underlined in red ? That’s a result of a Checkov
scan and it indicates that there are misconfigurations found in this code.
3. Hovering your mouse over the underlined code will provide more information about the detected
violations/misconfigurations
Scenario:
● There is already a containerized microservice bank application (Bank-of-Anthos) that exists and you
are working on deploying it on your Kubernetes cluster.
● You are now working on developing Kubernetes manifests to do that and make it production ready.
● You want to ensure there are no misconfigurations in the code during the coding phase. So, you want
to run a CLI scan against it.
Key Takeaways:
● Bridgecrew cli scanning using Python PIP package.
● Free bridgecrew API key can be obtained by signing up for a Bridgecrew account
● All the bridecrew/checkov features are integrated seamlessly into Prisma Cloud Enterprise.
Step 1. Login to Docker workstation via SSH. We will work with the same Bank-of-Anthos and Terraform code as
in the previous activity.
Step 3. Since the code is already set up, we can run the scan right away. Change into the following dir:
Through all the command line arguments, we are scanning Kubernetes framework code (--framework
kubernetes) , hiding all the passing checks (--quiet) and skipping LOW severity violations
(--skip-check LOW) and focussing only on MEDIUM, HIGH and CRITICAL severity alerts.
Note: We are scanning for HIGH and CRITICAL (--check HIGH,CRITICAL) severity violations. Explore
checkov CLI Reference for more information.
Scenario:
● Your team has a Github source code repository and you want to assess the security posture by
scanning the repo to see if there are any misconfigurations and vulnerabilities before it’s deployed.
Key Takeaways:
● Explore Prisma Cloud Application Security module.
● Explore detected misconfigurations and vulnerabilities in code such as Terraform, Kubernetes
manifests etc.
● Use different filters to filter out the detections by this module
● Prisma Cloud’s automated fix feature.
Step 1. Navigate to Prisma Cloud > Application Security > Projects. Below are a few examples of filters
that you can use. Make sure that there’s nothing selected for the Severities filter.
Step 2. Example #1: Select the Secrets tab and set the repository filter to UltimateTestDrive/utd-vuln-code
Step 3. The above filter lists all the resource definitions (Terraform and AWS CloudFormation) where secrets
are hard coded or exposed. Explore the different code blocks that are matched by this filter.
Step 4. Click on cnf.yaml and on the right pane, select issues and scroll down to see the details.
Step 5. Example #2: Select the IaC Misconfiguration tab and set the below filters:
Note: Once you apply the filter, you may need to scroll down the page to find the highlighted result.
Step 6. The above filter lists all the issues/misconfiguration within the selected repository. Explore the different
code blocks that are matched by this filter.
Step 7. Select AWS S3 bucket ACL grants READ permission to everyone and click on one of the entries
that has the label Has Fix. See the screenshot above.
Step 8. Optionally, click on the overview tab. Here you can add an additional filter by clicking on the filter icon
on the left and selecting IaC Categories and selecting Kubernetes to filter only Kubernetes related
code. Once you apply the filter, explore the filtered results before proceeding to the next step.
Repository: UltimateTestDrive/utd-vuln-code
Issue Status: Errors
Code Categories: Vulnerabilities
Severities: Critical, High
Step 10. The above filter lists all the resource definitions (Dockerfiles) vulnerable base-image, package or code
is detected. Explore the different code blocks that are matched by this filter.
Step 12. Navigate to Prisma Cloud > Application Security > Projects and click on the overview tab. Select
the below filters. Make sure to unselect the filters selected in the previous task(s) first.
Repository: UltimateTestDrive/utd-vuln-code
Step 13. From your left pane, select the filter icon to add a filter: IaC Labels and select Has Fix
Step 15. Please note that you will not be able to see “Fix” and “Submit” (grayed out) options as we are using a
user with Read-Only permissions for the purpose of the lab. “Fix” and “Submit” options will apply the
Prisma Cloud suggested fix and commit the changes to the source control repository. The “Fix” and
“Submit” options are included in the screenshots to demonstrate the capabilities of the Application
Security module.
Scenario:
● Your team has a Github source code repository which is onboarded into Prisma Cloud.
● Whenever your team creates a PR (pull request), you would like automated scans to be performed on
the changes and you’d like the PR to automatically be received by Prisma Cloud and have it comment
it’s findings on the PR
Key Takeaways:
● Prisma Cloud Pull request review feature.
Step 1. Head over to utd-vuln-code Github repository. This repo contains intentionally vulnerable code and this
repo has already been onboarded within Prisma Cloud, which we will review in a bit.
Step 3. Here, you can see various comments by Prisma Cloud that occur automatically when a pull request is
created for an onboarded source code repository.
Step 4. Looking closely at one of the findings and comments, you can see the violation title and description
and also information on how to fix it. You can also see the code snippet which triggered this violation.
1. Repositories: UltimateTestDrive/utd-vuln-code
2. Pull Request: #1 - Second Commit
Step 7. Navigate to Docker Workstation and in the terminal run the below commands to stop VS Code
container in preparation for the next set of activities:
End of Activity 3
Complexity: Easy
Scenario:
● There is already a containerized microservice bank application (Bank-of-Anthos) that exists and you
are working on deploying it on your Kubernetes cluster.
● You’ve developed the Kubernetes manifests for it in Task 1 of previous activity and you think it’s
production ready.
● You’ve pushed your code to the development branch in GitHub and created a pull request (PR) to the
main branch.
● You've configured Prisma Cloud IaC scan via GitHub actions to run when a PR is created.
Key takeaways:
● Understand how Prisma Cloud can integrate with Github Actions to scan IaC during build phase.
● See how Prisma Cloud can perform Kubernetes IaC scan and cause the build to fail if
misconfigurations are found.
Integrating Prisma Cloud with GitHub Actions makes it possible for Prisma Cloud Application Security to scan
your Infrastructure-as-code files, review scan results in a number of formats, display Incidents on the Console and
cause a build to fail if security vulnerabilities are found. For this activity, we will be working with a Github
repository that contains intentionally misconfigured and vulnerable code.
Step 1. Head over Development branch of the Bank of Anthos application Github repository which contains
Kubernetes manifests to deploy the Bank of Anthos application.
Step 3. In summary, the build will detect any MEDIUM, HIGH and CRITICAL misconfigurations within the code
that is being scanned. To see a triggered workflow Github Action, head over to Github Actions.
Step 4. Click on Kubernetes scan tile to see the workflow run log within the log, you can see that there are
multiple steps that get executed. Expand Run Kubernetes Scan step
Step 5. At the beginning of the output of Run Kubernetes Scan step, you can see the summary of the scan.
o File: Violating file and the line numbers (eg: /contacts.yaml: 15-93)
Step 7. You can scroll through the output to see other detected violations. Towards the end of the output of Run
Kubernetes Scan step.
Step 8. You can also see the result of the Passing Github workflow run for comparison. The QA branch of this
same repo contains the code that contains fixes for all the Medium, HIGH and CRITICAL violations
detected during a failed run from the Development branch. Below are the details:
Step 9. To see the scan results in Prisma Cloud, navigate to Prisma Cloud > Application Security > Projects.
Select CI/CD Runs at the top (see screenshot below). Select the following filters:
o Repositories: 951206484523005952_utd-prisma-cloud1/bank-of-anthos
You can change the CICD Run filter to QA and Issue Status to Passed to see the results of QA branch scan.
Scenario:
● As the frontend application pod in the Kubernetes Bank-Of-Anthos application needs to be highly
reliable, you want to make it robust by offloading health check logic to a sidecar container.
● You’re building a Docker image that you're considering for this purpose but you want to evaluate it first.
● For your Docker image, you are using a base Ubuntu image that looks safe and it is recommended by
a colleague/article.
● You’ve pushed your code to the Development branch in GitHub and created a pull request (PR) to the
main branch.
● You've configured GitHub actions to run when a PR is created to build the Docker image, perform
Prisma Cloud Image scan and also Sandbox scan.
Key takeaways:
● Understand how Prisma Cloud can integrate with Github Actions to scan Docker images and detect
vulnerabilities early on before the images are even stored in the registry.
● See how Prisma Cloud Sandbox scanning can detect critical security vulnerabilities, which are not
traditionally detected by Docker image scanning.
By integrating Prisma Cloud with GitHub Actions, you can scan your Infrastructure-as-code files, review scan
results in a number of formats, display Incidents on the Console and cause a build to fail if security vulnerabilities
are found.
Step 1. Head over Development branch of the Ubuntu Docker image Github repository which contains source
code to build Ubuntu based Docker image. Review the README.md of the repository to know more
about the code.
Step 2. Review the Github Actions workflow YAML file, which runs a Bridgecrew scan on the Kubernetes
manifests within this repo whenever there’s a pull request created to the Main branch. To understand
about this Workflow file and steps involved in this scan, head over to this workflow readme document.
Step 3. In summary, the build will detect any HIGH and CRITICAL vulnerabilities within the code that is being
Step 4. Navigate to Prisma Cloud Enterprise > Compute > Defend > Vulnerabilities > Images > CI and click
on the rule Block images with High and Critical vulnerabilities.
Step 5. The build runs the following scans: Docker image scan and Docker image Sandbox scan. To see a
triggered workflow Action, head over to Github Actions and select any run.
o Expand the Docker Image Scan step to see the result of the Docker image scan that’s run
against the locally built Docker image from the previous step in the Github workflow Action run
(Docker Build step).
o Explore the different vulnerabilities detected by this scan and the severity of the alert (similar to
what we did in previous task)
o To see the result of this scan in Prisma Cloud, head over to Prisma Cloud Enterprise >
Compute > Monitor > Vulnerabilities > Images > CI .In the filter option, type in
ultimatetestdrive/ubuntu and hit return.
o Expand the Docker Image Sandbox Scan step to see the result of the Docker image sandbox
o Explore the different vulnerabilities detected by this scan and the severity of the alert (similar to
what we did in previous task)
o To see the result of this scan in Prisma Cloud, head over to Prisma Cloud Enterprise >
Step 9. For a more end to end example of a single Github workflow action that involves complex scan of different
types of code such as Terraform, Kubernetes and Docker Images, please complete step 10 and this is
optional.
Step 10. prisma-cloud-demo github repository contains full IaC scan. Below are key pieces of information:
o Code in the Development branch contains intentionally misconfigured code and code in QA
branch contains code that contains all the fixes.
o See the repository readme doc to understand about this repository.
o See the workflow readme doc to understand about this Github workflow YAML file.
o Github Failed Build
o Github Passing Build
Complexity: Easy
Scenario:
● You’re building a Docker image that you want to deploy in your environment but you are not using
Github Actions or a CICD setup as of now but you still want to perform a scan to ensure that the image
contains no security vulnerabilities.
● Your Docker image code is ready and you are ready to perform the image and sandbox scan with
Prisma Cloud Twistcli.
● See the scan results in terminal as well as Prisma Cloud Compute Edition Console (PCCE Console)
Key takeaways:
● Understand how Prisma Cloud can scan Docker images and detect vulnerabilities early on before the
images are even stored in the registry.
● See how Prisma Cloud Sandbox scanning can detect critical security vulnerabilities, which are not
traditionally detected by Docker image scanning.
Step 3. Build the Docker image (period at the end of the below line is part of the command)
Step 5. It will take a few seconds or a minute for the Docker image scan to be complete. Once that is done, we
can examine the results of the scan in the CLI output.
Here we are specifying that the sandbox analysis be performed on the Ubuntu image that we built earlier
and the analysis duration is set to 1 minute.
Once the scan is done, you can examine the results in the CLI output as well as the Prisma Cloud
Compute Edition Console. Repeat steps 5 - 6 for this.
Complexity: Easy
Scenario:
● We will need to deploy the Bank-of-Anthos application on Kubernetes and we will use ArgoCD to do
that, which also runs on Kubernetes cluster.
● We need to setup Kubernetes cluster
Argo CD in this context, will connect to our Github repository that we were working with in the previous activity
(Bank-Of-Anthos) and our infrastructure (Kubernetes) and deploy the Bank-of-Anthos application.
Step 1. Login via SSH to the Kubernetes VM as outlined in Activity 0 > Task 4
Step 2. Run the following script to setup your Kubernetes cluster (it will take approximately less than 2 mins for
the creation to be complete):
bash /home/sysadmin/apps/00-k3s-setup.sh
Complexity: Easy
Scenario:
● Argo CD is a continuous delivery tool that lets you deploy your application on a Kubernetes cluster.
● We will be using Argo CD to deploy Bank-Of-Anthos application from the previous activities on our
Kubernetes cluster
Step 1. Run the command to examine the ArgoCD setup script, which sets up required kubernetes namespaces
and other things:
cat /home/sysadmin/apps/01-argo-setup.sh
bash /home/sysadmin/apps/01-argo-setup.sh
Step 4. Head over to the Application Portal > ArgoCD tile and login using the credentials that you copied from
the previous step.
Complexity: Easy
Scenario:
● You have a Kubernetes cluster where you intend to run critical workloads and you want to secure your
cluster with Prisma Cloud by running defender.
● The process is the same for all flavors of Kubernetes - EKS, AKS, GKE etc. For simplicity we will be
working with a single node self hosted Kubernetes cluster running k3s
Key takeaways:
● Understand the process to deploy Prisma Cloud defender on Kubernetes to secure your cluster.
Step 1. Login via SSH to the Kubernetes VM as outlined in Activity 0 > Task 4 .
cat /home/sysadmin/apps/02-install-defender.sh
bash /home/sysadmin/apps/02-install-defender.sh
Step 5. Head over to Prisma Cloud Compute Edition Console > Manage > Defenders to verify the successful
deployment. It might take 1-2 mins for the defender to show up as active after it was deployed from step 4
Step 6. Navigate to Prisma Cloud Compute Edition Console > Radars > Hosts to see the newly added
Kubernetes host. If you don’t see it yet, click on the Refresh icon (see the screenshot)
Complexity: Easy
Scenario:
● You have a Kubernetes cluster where you intend to run critical workloads and you have Prisma Cloud
defender running.
● You want to create security guardrails in your Kubernetes environment by enforcing policies such as
protecting against misconfigured or overprivileged pods etc.
Key takeaways:
● Setup Kubernetes Auditing.
● Explore and understand Prisma Cloud’s integration with Open Policy Agent (OPA) and enable and set
up an Admission controller to secure your Kubernetes environment.
Step 1. Navigate to Prisma Cloud Compute Edition Console > Defend > Access and select Kubernetes tab
and enable Kubernetes auditing.
Complexity: Medium
Scenario:
● You have a Kubernetes cluster where you intend to run critical workloads and you have Prisma Cloud
defender running.
● You want to ensure that all your Kubernetes deployments use Docker images from your trusted docker
repository.
● Ensure that the Bank-of-Anthos application uses Docker images from your own trusted image repo.
Key takeaways:
● Prisma Cloud’s trusted images functionality.
Step 1. Navigate to Prisma Cloud Compute Edition Console > Compliance and select Trusted images tab
and select Trust Groups sub tab and click on Add group.
● Name: UTD-GCR-Bank-of-Anthos
● Registry: us-central1-docker.pkg.dev
● Repository: panw-utd-public-cloud/utd-demo-images/utd-cnsp/bank-of-anthos-ci/*
● Click on Add to Group
● Registry: docker.io
● Repository: rancher/*
● Click on Add to Group
Step 6. Click on Scope > +Add Collection and set the following options:
Step 9. You will now be back on the create new trust page. Here, under Allowed section, click on Select
Groups and then select the UTD-GCR-Bank-of-Anthos rule that we created before and click Apply
Complexity: Medium
Scenario:
● You have set up Kubernetes audits, Admission controller and Trusted images rules within Prisma
Cloud. Now, time to see it in action.
● Deploy the Bank of Anthos application via ArgoCD to see failing and passing deployments and the
alerts triggered by it.
Key takeaways:
● Prisma Cloud Kubernetes audits, Admission controller and Trusted images alerts.
Step 1. The ArgoCD apps can also be deployed as a YAML manifest. For the sake of simplicity in this
workshop, the necessary configuration has already been saved within a YAML file.
Step 2. Head over to Kubernetes VM and run the following command to see the application that we are
deploying:
cat /home/sysadmin/apps/01-dev-argo-app.yaml
Step 3. We are deploying 2 versions of the same Bank-of-Anthos applications but based on different Github
branches in the same repo.
Step 5. You can apply the same principles to the second ArgoCD application 02-qa-argo-app.yaml file, which
gets deployed in the QA Kubernetes namespace.
Step 7. Once you deploy it, you can see the apps in the Argo CD GUI
Step 8. Head over to Prisma Cloud > Monitor > Events . Select Admission Audits . You can see that there
are a lot of misconfigured Kubernetes deployments that Prisma Cloud Admission Controller detected.
Step 9. Click on any of the Audits to see details. Notice that it’s only set to Alert. We will be revisiting this in
just a bit.
Step 11. You can see the blocked images that were being pulled from gcr (untrusted)
Step 13. Head back to ArgoCD and you should see that the deployment is degraded and failed.
Step 14. Head back to the Kubernetes cluster, run the below command and you can see that the Pods failed
because the images were blocked. And describing one of the Pods, we can see the blocked output.
Step 16. First, we have to clean up the previous deployment to free up resources and ports. Head over to
ArgoCD and click DELETE on development-bank-of-anthos. Also confirm at the prompt by typing in
development-bank-of-anthos
Step 18. Now, head over to ArgoCD and you should see the newly deployed app
Step 19. It takes about 1-2 mins for the application to be ready. You can monitor the state in ArgoCD and/or in
the Kubernetes cluster. Within the cluster, you can run: kubectl -n qa get pods -w
Complexity: Easy
Scenario:
● Your organization has a Docker registry where all the Docker images are stored.
● You want to scan the images in your registry to ensure that there are no images with critical
vulnerabilities making their way into the production environment.
Key takeaways:
● Understand how Prisma Cloud can integrate effortlessly with the existing Docker registry in your
infrastructure to scan Docker images.
Registry is a system used for storing and distributing container images. Prisma Cloud can scan container images
in both public and private repositories on both public and private registries.
Step 2. Add a container image to the registry with the following command.
Step 3. Go to Defend > Vulnerabilities > Images and click on Registry Settings.
Step 4. Click on +Add Registry, and enter the following info in the settings:
C. Click the drop next to the Credentials field, click on Add to add new Credentials
a. Name: registry-server
b. Type: Basic Authentication
c. Username: admin
d. Password: p@lo@lto
Step 5. Click Save and Scan next to Add Registry and scanning will start.
Step 7. The repository has been scanned and you can see the alerts from the vulnerable images that are
uploaded to the registry.
End of Activity 5
Complexity: Easy
Scenario:
● You have deployed the Bank-of-Anthos application from the previous activity and you see a suspicious
deployment named manual-run.
● You want to understand what it is doing and take measures to prevent malicious/suspicious things.
Key takeaways:
● Explore the prebuilt malicious setup.
● Container Models.
Step 1. Head over to Kubernetes VM and run the below commands to understand the setup and workloads
that we’ll be investigating.
The output of the first command lists out Pod that is part of a Kubernetes deployment named
Step 2. Navigate to Monitor > Runtime > Container Models. Search for ubuntu:malware (shorthand for the
Container image that our malicious deployments are using)
Step 3. If the state(s) are in “Learning”, then click on three dots in the Actions column, choose Manual
Relearning. Click on Action again, and choose Manual Relearning again to stop the learning.
Complexity: Easy
Scenario:
● You have deployed the Bank-of-Anthos application from the previous activity and you see a suspicious
deployment named auto-run.
● Use Prisma Cloud to monitor processes during runtime and enforce protections.
Key takeaways:
● Prisma Cloud runtime monitoring for processes.
Step 2. Navigate to Prisma Cloud > Monitor > Events > Container Audits and clear the existing filter.
Step 3. Set the below filters. After each filter, hit the Return (or Enter) key
Step 1. Filter 1 - ubuntu:malware
Step 2. Hit return
Step 4. Clicking on the result will bring up more details about the identified process. Once done reviewing,
close it.
Step 5. Navigate to Prisma Cloud > Monitor > Events > Admission Audits and clear the existing filter. Set
the following filter: Operation: Connect
Complexity: Easy
Scenario:
● You have deployed the Bank-of-Anthos application from the previous activity and you want to monitor
the container processes in one of the Pods.
● Use Prisma Cloud to monitor processes during runtime and enforce protections.
Key takeaways:
● Prisma Cloud runtime networking monitoring.
Step 1. Navigate to Prisma Cloud > Monitor > Events > Container Audits and clear the existing filter.
Complexity: Easy
Scenario:
● You have deployed the Bank-of-Anthos application from the previous activity and you want to monitor
the container processes in one of the Pods.
● Use Prisma Cloud to monitor processes during runtime and enforce protections.
Key takeaways:
● Runtime monitoring for file systems.
Step 1. Navigate to Prisma Cloud > Monitor > Events > Container Audits and clear the existing filter.
Step 3. Explore the event related to /usr/bin/useradd. Clicking on that, we can see that there was a user
created by the script
Complexity: Easy
Scenario:
● You have deployed the Bank-of-Anthos application from the previous activity and you want to monitor
the container processes in one of the Pods.
● Use Prisma Cloud to monitor processes during runtime and enforce protections.
Key takeaways:
● Runtime defense for processes, networking, filesystem and crypto miner protection.
Step 1. Navigate to Monitor > Runtime > Container Models. Search for ubuntu:malware (shorthand for the
Container image that our malicious deployments are using)
Step 3. Anti-malware - Click on the Anti-malware. Under Anti-malware monitoring and set the Prisma
Cloud advanced threat protection to Prevent
1) Under Denied & all other processes, set the first 2 items to Prevent under Anti-malware and exploit
prevention and the last 2 to block
1) Under Denied & all other network activity, set the outbound IP to 1.1.1.1 and set the Outbound IPs
effect to Block
1) Set all the items to Prevent under Denied & all other paths > Anti-malware and exploit prevention
2) For Paths list, set /usr/bin/ and set the Paths effect to Prevent
3) Click Save. You will be asked whether to relearn the container model. Click Don’t Relearn.
Step 8. Run: kubectl -n qa exec -it deploy/manual-run sh ; Now that we have an interactive
shell for the Pod, let’s re-run commands from the manual-run.sh that we ran before.
5) The previous command will terminate the shell. To reinitiate, run the below command:
Complexity: Easy
Scenario:
● The Ubuntu application that was deployed as a sidecar to bank-of-anthos application, is involved in an
incident.
● Investigate the incident.
● Use Prisma Cloud to monitor processes during runtime and enforce protections.
Key takeaways:
● Prisma Cloud Incident monitoring.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 100
Step 1. At the Prisma Cloud Compute console, go to RADAR View by navigating to Radars > Containers,
and clear all the filters.
Step 2. Select the filter icon and select qa namespace checkbox to filter Pods only from QA namespace.
Step 3. You can use your mouse to zoom in and out of the Radar graph view to view a container/pod closely.
Step 4. Find the ubuntu container and click the image to bring up details for the image.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 101
Step 5. Go to Monitor > Runtime > Incident Explorer
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 102
Task 7 - Forensics
Complexity: Easy
Scenario:
● View Incidents on Prisma Cloud Compute
● Use Prisma Cloud to monitor processes during runtime and enforce protections.
Key takeaways:
● Prisma Cloud Forensics
Step 1. From the Incident Explorer view on the Prisma Cloud Compute console, click View live forensic.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 103
Step 2. The Forensics view shows the events that were detected.
Step 3. Run the below command in Docker-Workstation VM to clean up containers from previous task to free
up some resources:
End of Activity 6
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 104
Activity 7: Runtime Defense - II
Background: Identify and prevent vulnerabilities across the entire application lifecycle while prioritizing risk for
your cloud native environments. Integrate vulnerability management into any process, while continuously
monitoring, identifying, and preventing risks to all the hosts, images, and functions in your environment. Prisma
Cloud combines vulnerability detection with an always up-to-date threat feed and knowledge about your runtime
deployments to prioritize risks specifically for your environment.
Complexity: Easy
Scenario:
● In your environment, you are trying to get an overview of Images, Hosts and Function vulnerabilities
trend over the time
Key takeaways:
● Prisma Cloud - Vulnerability overview.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 105
Step 1. Navigate to PCCE Console > Monitor > Vulnerabilities. This gives an overview of Images, Hosts
and Function vulnerabilities trend over the time
Step 2. Scroll down to the Top critical vulnerabilities (CVEs) section to view the top 10 CVEs based on Risk
Score. It may take a few moments for the vulnerabilities to become visible.
Step 3. The Risk Score takes into account the CVE’s severity, and other info such as is there a fix, is the
container reachable from the Internet, etc.
Step 4. This allows customer to prioritize which CVEs to fix first in their environment, among the hundreds of
CVEs discovered
This gives an overview of the number of vulnerabilities found in each image, color coded Brown for
Critical, Red for High severity, Orange for Medium severity, and Yellow for Low severity.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 106
Step 6. Click on vulnerables/web-dvwa:latest image to open the details page. Note, there is a High
vulnerability in the image.
Step 7. Select the Layers tab. This shows the vulnerabilities found at each layer of the container image.
Complexity: Medium
Scenario:
● In this task, you will set up a rule to alert when a log4j attack occurs.
● Later in this activity, we will update this rule to block these attacks instead of alerts.
Key takeaways:
● Prisma Cloud WAAS
Step 1. Head over the PCCE Console > Defend > WAAS > Container > In-line. Click on Add Rule . Use the
name Log4j-WaaS-Inline
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 107
Step 2. Click in Scope field > Add Collection and set the following options:
a) Name: Log4j-Image-Collection
b) Images: us-central1-docker.pkg.dev/panw-utd-public-cloud/utd-public-images/utd-cnsp/log4j-victim:1.0
c) Click Save
d) In this screen, select Log4j-Image-Collection checkbox and click Select Collections and then click save
Step 3. Expand the WaaS rule that we created in previous step and click on +Add App
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 108
Step 4. In the Create new WAAS app screen:
a) Scroll down and click on + Add endpoint and leave all the default options that are preselected
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 109
c) Scroll up and head over the Custom rule column in the same Create new WAAS app screen. Click on
Select Rules
d) In the Custom rules search bar, type in log4j and hit return. Select all the resulting items and click
Apply. At the next screen, click Save.
Complexity: Easy
Scenario:
● In this task, you will create log4j vulnerable Kubernetes deployment and perform the lo4j attack in your
Kubernetes cluster.
● We will then examine the alerts that were triggered as a result of this attack. This will utilize the rules
that we set up in the previous tasks.
Key takeaways:
● Perform log4j attack in Kubernetes.
● Explore the triggered alerts/events in Prisma Cloud.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 110
Step 1. Deploy the vulnerable log4j and the attacker applications within your Kubernetes setup (you can
examine the code first if you’d like).
Step 2. Monitor the Pods and wait until they are fully Running:
Once they are running, you can press CTRL+C to exit out of the previous command and proceed with
next steps
Step 3. As part of the log4j attack, a malware sample is downloaded to /tmp directory. Before we run the
attack, let’s make sure there’s no malware (file named as malware-sample):
Step 4. Run the attack and verify. You should see a string Hello World after the first command executes and a
malware-sample downloaded after the second command executes.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 111
Step 5. To see if the actual attack was detected, head over to Prisma Cloud Compute Console > Events >
WAAS for Containers. Scroll down further to and click on the number corresponding to Custom Rule
under Attack type
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 112
Step 6. Examine the detected event. Scrolling down further to the forensic event, you can see that the attack
was detected.
Step 7. Navigate to Prisma Cloud Compute Console > Monitor > WAAS and examine the WAAS dashboard.
Scrolling down to the Event Traffic Sources, you can find the log4j attack event here .
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 113
Task 4 - Block log4j attacks and images
Complexity: Medium
Scenario:
● Now that you understand how to create rules to detect log4j images and attacks, in this task, we will
update the rules to block them.
Key takeaways:
● Explore Prisma Cloud WaaS
● Explore Prisma Cloud Runtime Protection
a) Head over the PCCE Console > Defend > WAAS > Container > In-line. Expand the previously created
rule Log4j-WaaS-Inline
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 114
b) Under the App list, we had created an app previously. For that app, click on 3 dots under the Actions
column and click edit.
c) Head over to Custom rules and under user-selected custom rules, change the Alert setting to Prevent
and click save
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 115
c) Run the below command in preparation for the next step:
a) Go to PCCE Console > Defend > Vulnerabilities > Images > Deployed
b) Click on +Add Rule to add a new rule called “Block Log4j vulnerability”
c) Go to Advanced settings and click on +Add exception with the following configurations:
CVE: CVE-2021-44228
Effect: Block
d) Click Add
e) Repeat steps 6 and 7 for the following 2 additional Log4j CVEs: CVE-2021-45046 and CVE-2021-4104
and click save.
f) Run the following command to redeploy the log4j vulnerable application and this time, you will see that
the Victim Pod will not get to the running state
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 116
End of Activity 7
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 117
Activity 8: Prisma Cloud Data Security
Background: This section showcases the Data Security capabilities of Prisma Cloud and how it enables you to
discover and classify data stored in AWS S3 buckets and protect accidental exposure, misuse, or sharing of
sensitive data. To identify and detect confidential and sensitive data, Prisma Cloud Data Security integrates with
Palo Alto Network's Enterprise DLP service and provides built-in data profiles, which include data patterns that
match sensitive information such as PII, health care, financial information and Intellectual Property. In addition to
protecting your confidential and sensitive data, your data is also protected against threats—known and unknown
(zero-day) malware—using the Palo Alto Networks WildFire service.
● Get an overview of Data Security via Prisma Cloud dashboard and inventory
● Examine Sensitive Objects discovered by Data Security
Scenario:
● You have AWS S3 bucket(s) in your organization, where you store certain data.
● You want to discover and classify data stored in AWS S3 buckets and protect against accidental
exposure, misuse, or sharing of sensitive data.
Key takeaways:
● Explore Prisma Cloud Data Security Dashboard to get an overview of the assets discovered by it.
Step 1. Navigate to Prisma Cloud > Dashboard > Data and select the following filters:
Step 2. This dashboard provides a good overview and representation of detections by the Data Security module.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 118
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 119
Step 3. Navigate to Prisma Cloud > Inventory > Data and select the following filters:
Step 4. This provides an overview of the Data inventory of the connected Cloud Account and a specific S3 bucket
based on the selected filters.
Complexity: Easy
Scenario:
● You have AWS S3 bucket(s) in your organization, where you store certain data.
● You want to discover and classify data stored in AWS S3 buckets and protect against accidental
exposure, misuse, or sharing of sensitive data.
Key takeaways:
● To identify and detect confidential and sensitive data, Prisma Cloud Data Security integrates with Palo
Alto Network's Enterprise DLP service and provides built-in data profiles, which include data patterns
that match sensitive information such as PII, health care, financial information and Intellectual Property.
● Protect data against threats - known and unknown (zero-day) malware—using the Palo Alto Networks
WildFire service.
Step 1. Click on the number in the Sensitive Objects column. In this page, for the Data Profiles filter, make
sure that the following options are selected: Financial information, Healthcare, Intellectual Property,
PII
Step 3. In the results, search for and select 26_all_patterns_test.txt. This displays all the sensitive information
detected by the Data Security module in that specific file/object Now, under the Snippets column, if
there's a snippet available, “available” keyword should be highlighted which can be selected to display
the snippet which triggered the alert. There are multiple snippets that are detected based on selected
data profiles and feel free to check out different snippets that are generated.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 120
Note: If the snippet is not available, select Generate Snippet and the snippet will be generated and it will
take a few moments for it to complete.
Step 4. Navigate to Prisma Cloud > Inventory > Data and select the following filters:
Step 5. Click on the number in the Malware column and in the search bar and click on any of the files to find
details about the detected malware.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 121
End of Activity 8
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 122
Activity 9 [Optional]: Prisma Cloud Integrations
Background: 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. In this activity you
will explore some of those integrations.
It’s recommended that you pick 1 or 2 tasks in this activity that are most relevant to you depending on
your interest.
Complexity: Easy
Scenario:
● In your organization, you have an existing monitoring setup that consists of Prometheus and Grafana.
● You want to integrate Prisma Cloud with Prometheus and Grafana
Key takeaways:
● Prisma Cloud Prometheus and Grafana integration.
Step 1. We’ve already configured Prisma Cloud Compute and Prometheus instrumentation. Navigate to PCCE
Console > Manage > Alerts > Logging and you can see that Prometheus Instrumentation is
enabled.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 123
Note: Vulnerability and compliance data is refreshed every 24 hours. All other data is refreshed every 10 minutes.
To ensure a reliable and smoother user experience, the integration has been preconfigured. To review the
Prometheus configuration file, please run:
cat /home/sysadmin/setup/volumes/prometheus/prometheus.yml
Step 2. From the Application Portal, click on Prometheus to ensure that it’s up and running.
Step 3. Navigate to Prometheus > Status > Targets and notice that targets are Up. If not, wait for a few
seconds.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 124
Step 4. Navigate to Application Portal > Grafana (creds: admin/admin). When logging in for the first time, if
you are prompted to change the password, you can skip it by clicking Skip.
Step 5. Within Grafana, head over to Home > Connections > Data Sources
Step 6. The Grafana setup is already configured with Prometheus as its Data Source.
Step 7. Head back to Grafana Dashboard. There are already some Grafana Dashboards that are set up as
part of the bootstrap process to visualize data that would come in from Prisma Cloud, which we can
explore. Head over to Grafana > Home > Dashboards
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 125
Step 8. Expand Prisma-Cloud-Dashboards and click on Compute Prometheus Gauge
Step 9. In the top right corner of Grafana, select the drop down against Last 1Hour and select 5m
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 126
Step 10. This Dashboard provides a lot of useful pieces of information about Prisma Cloud Setup, which you
can explore. As we progress through the lab and as more data comes in, the Dashboards will be
populated with more information.
Step 11. Let’s repeat the process for the other Prisma-Cloud-Dashboards from step 7 . Head over to Grafana
> Home > Dashboards > Compute Prometheus Counters
Step 12. Navigate to Docker Workstation and in the terminal run the below commands to stop Prometheus and
Grafana containers in preparation for the next set of tasks as they aren’t needed anymore:
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 127
Task 2 - Webhook Integration
Complexity: Easy
Scenario:
● In your organization, you have a custom setup that consumes incoming webhook data from multiple
sources and runs custom data processing and/or manipulation.
● You would like to configure Prisma Cloud alerting via webhooks feature.
Key takeaways:
● Prisma Cloud webhook integration.
Step 1. Navigate to PCCE Console > Manage > Alerts > Manage and click on Add Profile to add a provider
Step 2. Set the Profile name as Webhook and select Webhook in the Provider dropdown and click Next
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 128
Step 3. For the Triggers, enable the following and click next:
● Vulnerabilities: All
● Compliance: Container and Image compliance
● Runtime: Container runtime and Incidents
● Access: All
Step 4. Head over to the Application Portal and click on Webhook under Monitoring and Alerting
Step 5. Select Copy Webhook URL and head back to the Prisma Cloud Compute screen.
Step 6. Paste the copied URL into the Incoming webhook URL field and click Next
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 129
Step 7. Click on Send Test Alert and if the test was successful, click save.
Step 8. Head back to the webhook application page and you should see the test webhook data come in from
Prisma Cloud.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 130
Step 9. You have now successfully configured the Prsima Cloud Webhook integration. Let’s test it in real time.
Head back to the Docker Workstation and run the below command to trigger an incident:
Step 10. Head back to the Webhook page to see the alert come in (the alert might differ in your case if a
different alert is triggered that was covered in previous tasks/activities):
Step 11. Navigate to Docker Workstation and in the terminal run the below commands to stop webhook and
redis containers in preparation for the next set of tasks as they aren’t needed anymore:
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 131
Task 3 - Splunk Integration
Complexity: Medium
Scenario:
● In your organization, you have an existing log aggregator such as Splunk setup.
● You would like to configure Prisma Cloud to ship alerts to Splunk
Key takeaways:
● Prisma Cloud Splunk integration.
Step 1. Navigate to Application Portal and select Splunk and login to Splunk (Credentials: admin/password).
Once done, click on Settings drop down from the Splunk landing page and select Data Inputs
Step 2. Click on +Add New corresponding to HTTP Event Collector row from the Data Inputs page
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 132
Step 3. Provide a Name - Prisma Cloud Compute for the event collector and click next
Step 4. In the Input Settings page, click on main under Select Allowed Indexes . Once you do this, you
should see the selected main item get copied over to the Selected item(s) box. Then click review
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 133
Step 6. In the next page, make sure to copy the token value as we will need this when we configure Prisma
Cloud. Token value might appear grayed out but it can still be copied.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 134
Step 9. Click on Global Settings and ensure that Enable SSL checkbox is unchecked and click save
Step 10. Navigate to PCCE Console > Manage > Alerts > Manage and click on Add Profile to add a provider
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 135
Step 11. In the next screen, set the Profile Name as “Splunk” and select “Splunk” as Provider and click next
Step 12. For the Triggers, enable the following and click next:
Vulnerabilities: All
Compliance: Container and Image compliance
Runtime: Container runtime and Incidents
Access: All
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 136
Step 13. In the next settings screen, you are required to input Auth token and Splunk HTTP event collector
URL . Scroll down to the bottom:
Auth Token: Paste the one that you have copied or made note of in Step 6.
Step 14. Click Next. At the summary screen, click Send test Alert and click save.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 137
Step 15. Head back to Splunk and click on the Splunk Enterprise icon to get to the Splunk homepage. At the
homepage, click on Search and Reporting.
Step 16. Within the Search bar, enter the following search string: index=main and hit return or click the search
icon
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 138
Step 17. You have now successfully configured Prisma Cloud Integration with Splunk. Let’s test it in real time.
Head back to the Docker Workstation and run the below command to trigger an incident:
Step 18. Head back to the previous Splunk page and within the Search bar, enter the following search string:
index=main and hit return or click the search. Click the first result and expand the message [+].
Step 19. Navigate to Docker Workstation and in the terminal run the below commands to stop splunk container
in preparation for the next set of tasks as they aren’t needed anymore:
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 139
Task 4 - Mail Integration
Complexity: Easy
Scenario:
● You would like to configure Prisma Cloud to send you emails when there’s an alert/incident.
Key takeaways:
● Prisma Cloud mail integration.
Step 1. Navigate to PCCE Console > Manage > Alerts > Manage and click on Add Profile to add a provider
Step 2. Set the Profile name as “Email” and select “Email” in the Provider dropdown and click Next
Step 3. For the Triggers, enable the following and click next:
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 140
● Vulnerabilities: All
● Compliance: Container and Image compliance
● Cloud Discovery: Cloud Discovery
● Runtime: Container runtime and Incidents
● Access: All
Step 4. Head over to the Application Portal and click on Mail and copy the IP address from the URL bar (IP
may be different in your case)
Step 5. Head back to the Prisma Cloud Compute screen and input the following information on the
configuration screen:
● SMTP Address: The IP that you copied (without the http:// )
● Port: 1025
● From: [email protected]
● Recipients - Static list of emails: [email protected]
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 141
Step 6. Click Next
Step 7. Click Next. At the summary screen, click Send test Alert and click save.
Step 8. Head over to the mail server and you should see the Prisma Cloud test alert.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 142
Step 9. You have now successfully configured Prisma Cloud and Email integration. Let’s test it in real time.
Head back to the Docker Workstation and run the below command to trigger an incident:
Step 10. Navigate to Docker Workstation and in the terminal run the below commands to stop mail container as
they it isn’t needed anymore:
End of Activity 9
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 143
Activity 10: Feedback on Ultimate Test Drive
Thank you for attending the Ultimate Test Drive workshop. We hope you have enjoyed the presentation
and lab activities that we have prepared for you. Please take a few minutes to complete the online survey
form to tell us what you think.
Step 1. In your lab environment, click on the Survey menu item in the left menu bar.
Step 2. Please complete the survey and let us know what you think about this workshop.
Congratulations! You have now successfully completed the Prisma Cloud Native Security Ultimate Test Drive
workshop.
End of Lab
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 144
Appendix 1: On-board a AWS Account
Prisma Cloud trial provisioning will take a few hours to complete. It’s very likely your free trial version tenant will
not be ready during this workshop. You can refer to the steps here to connect your existing AWS account to the
Prisma Cloud trail when it is ready. To connect other public cloud services to your Prisma Cloud trial account, visit
here for more details.
To connect your AWS Organizations (only supported on public AWS) or AWS accounts on the public AWS, AWS
China, AWS GovCloud account to Prisma™ Cloud, you must complete some tasks on the AWS management
console and some on Prisma Cloud. You will need sufficient access rights on the AWS account in order to
complete the onboarding process. The onboarding workflow enables you to create a Prisma Cloud role with either
read-only access to your traffic flow logs or with limited read-write access to remediate incidents. With the correct
permissions, Prisma Cloud can successfully connect to and access your AWS account(s).
Step 1: Create a CloudWatch log group and enable flow logs on your AWS account.
Step 2: Download the CFT template to set up the Prisma Cloud role on AWS.
https://s3.amazonaws.com/redlock-public/cft/rl-read-only.template
(2) CFT to setup a role to Monitor & Protect the AWS account:
https://s3.amazonaws.com/redlock-public/cft/rl-read-and-write.template
Step 3: Create CloudFormation stack to deploy one of the CFT downloaded in the previous step to setup the
Prisma Cloud role on AWS.
Step 4: Once CFT deployment is successful, copy the value of the Prisma CloudARN from stack Outputs.
Step 5: With your Prima Cloud trial account ready, login to the Prisma Cloud tenant console and select
Settings > Cloud Accounts > Add New.
NOTE: Access denied is expected if you do this step on a Prisma Cloud tenant used in this lab. The
demo account used in this lab is a read-only account, it does not have full access to the Prisma Cloud
Service and access to some functions is denied.
A cloud account name is auto-populated for you. You can replace it with a cloud account name that
uniquely identifies your AWS account on Prisma Cloud.
Step 8: Select either the Monitor or Monitor & Protect Mode and click Next.
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 145
Mode selection decides whether to enable permissions to only monitor (read-only access) or to
monitor and protect (read-write access) the resources in your AWS cloud account.
Step 9: Paste the Prisma CloudARN (refer step 4) and click Next.
The Prisma Cloud ARN has the External ID and permissions required for enabling authentication
between Prisma Cloud and your AWS account.
Step 11: Review the onboarding Status of your AWS account and click Done and then click Close.
The status check verifies the services that are enabled and disabled on your AWS account.
https://docs.paloaltonetworks.com/prisma/prisma-cloud/prisma-cloud-admin/connect-your-cloud-platfor
m-to-prisma-cloud/onboard-your-aws-account/add-aws-cloud-account-to-prisma-cloud.html#id8cd842
21-0914-4a29-a7db-cc4d64312e56
End of Appendix-1
UTD-CNSP-2.0 ©2023 Palo Alto Networks, Inc. | Confidential and Proprietary 146