Skip to content

Commit 758f013

Browse files
author
ian
committed
Merge remote-tracking branch 'docs/master'
2 parents 9e61c10 + 5d7531e commit 758f013

26 files changed

+275
-72
lines changed

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,11 @@ endif::prisma_cloud[]
7878

7979
# Building the site locally
8080

81-
The site uses a [RedHat fork of Asciidoctor](https://github.com/redhataccess/ascii_binder) in conjunction with our own package `ascii_binder_pan-0.0.00.1.gem`, located at the root of this repo.
81+
The site uses a Red Hat project called [AsciiBinder](https://github.com/redhataccess/ascii_binder) in conjunction with our own package `ascii_binder_pan-0.0.00.1.gem`, located at the root of this repo.
8282

8383
As you create and edit content, we recommend making a local build to check the rendering.
8484
To do so, complete the following steps.
85+
Instructions are geared for macOS.
8586

8687
1. Ensure that Ruby is installed.
8788

@@ -124,6 +125,7 @@ To do so, complete the following steps.
124125
1. Navigate into the `_build` directory and use the following command to install our custom `ascii_binder` package.
125126
126127
```bash
128+
cd _build/
127129
sudo gem install -V ./ascii_binder_pan-0.0.00.1.gem
128130
```
129131

admin_guide/_topic_map_compute_edition.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Topics:
106106
- Name: Upgrade
107107
File: upgrade
108108
- Name: Upgrade process
109-
File: upgrade_process
109+
File: upgrade_process_self_hosted
110110
- Name: Onebox
111111
File: upgrade_onebox
112112
- Name: Kubernetes

admin_guide/_topic_map_prisma_cloud.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ Topics:
106106
- Name: Upgrade
107107
File: upgrade
108108
- Name: Upgrade process
109-
File: upgrade_process
109+
File: upgrade_process_saas
110110
- Name: Kubernetes
111111
File: upgrade_kubernetes
112112
- Name: OpenShift

admin_guide/alerts/jira.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ Configure the channel.
7979
.. Select *Basic authentication*.
8080

8181
.. Enter a username and password.
82+
+
83+
NOTE: If you are using Jira Cloud, this will be an email address and API token respectively. You can generate your API token https://id.atlassian.com/manage-profile/security/api-tokens[here].
8284

8385
.. Click *Save*.
8486

admin_guide/api/automate_defender_install.adoc

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ xref:../install/defender_types.adoc[Single Container Defenders] are installed on
4242
[.procedure]
4343
. Validate that the node where you will install Defender can reach Console over the network.
4444

45-
$ curl -k https://<COMPUTE_CONSOLE>:8083/api/v1/_ping
45+
$ curl -k https://<COMPUTE_CONSOLE>/api/v1/_ping
4646

4747
. Retrieve an auth token from Console.
4848

4949
$ curl -H "Content-Type: application/json" \
5050
-d '{"username":"<USERNAME>", "password":"<PASSWORD>"}' \
51-
https://<COMPUTE_CONSOLE>:8083/api/v1/authenticate
51+
https://<COMPUTE_CONSOLE>/api/v1/authenticate
5252
+
5353
Where:
5454
+
@@ -63,13 +63,14 @@ Use the token you just retrieved to get a list of deployed Defenders.
6363

6464
$ curl \
6565
-H "authorization: Bearer <TOKEN>" \
66-
https://<COMPUTE_CONSOLE>:8083/api/v1/defenders
66+
https://<COMPUTE_CONSOLE>/api/v1/defenders
6767

6868
. Download and run the Defender install script.
6969

7070
$ curl \
71-
-H "authorization: Bearer <TOKEN> \
72-
https://<COMPUTE_CONSOLE>:8083/api/v1/scripts/defender.sh \
71+
-H "authorization: Bearer <TOKEN>" \
72+
-X POST \
73+
https://<COMPUTE_CONSOLE>/api/v1/scripts/defender.sh \
7374
-o defender.sh && \
7475
chmod a+x defender.sh && \
7576
sudo ./defender.sh -c "<CONSOLE>" -d "none"
@@ -103,13 +104,14 @@ By default, it is 8084.
103104

104105
$ curl -H "Content-Type: application/json" \
105106
-d '{"username":"<USERNAME>", "password":"<PASSWORD>"}' \
106-
https://<COMPUTE_CONSOLE>:8083/api/v1/authenticate
107+
https://<COMPUTE_CONSOLE>/api/v1/authenticate
107108

108109
. Download and run the Defender install script with the `--install-host` option.
109110

110111
$ curl \
111-
-H "authorization: Bearer <TOKEN> \
112-
https://<COMPUTE_CONSOLE>:8083/api/v1/scripts/defender.sh \
112+
-H "authorization: Bearer <TOKEN>" \
113+
-X POST \
114+
https://<COMPUTE_CONSOLE>/api/v1/scripts/defender.sh \
113115
-o defender.sh && \
114116
chmod a+x defender.sh && \
115117
sudo ./defender.sh -c "<COMPUTE_CONSOLE>" -d "none" --install-host
@@ -154,14 +156,16 @@ The following call generates the same YAML file as the xref:../install/install_k
154156
+
155157
$ curl -k \
156158
-u <USER> \
157-
'https://<COMPUTE_CONSOLE>:8083/api/v1/defenders/daemonset.yaml?consoleaddr=<COMPUTE_CONSOLE>&namespace=twistlock&orchestration=kubernetes&privileged=true' \
159+
-X POST \
160+
'https://<COMPUTE_CONSOLE>/api/v1/defenders/daemonset.yaml?consoleaddr=<COMPUTE_CONSOLE>&namespace=twistlock&orchestration=kubernetes&privileged=true' \
158161
> defender.yaml
159162
+
160163
The following command generates the same YAML file as the default _twistcli_ invocation for OpenShift:
161164
+
162165
$ curl -k \
163166
-u <USER> \
164-
'https://<COMPUTE_CONSOLE>:8083/api/v1/defenders/daemonset.yaml?consoleaddr=<COMPUTE_CONSOLE>&namespace=twistlock&orchestration=openshift' \
167+
-X POST \
168+
'https://<COMPUTE_CONSOLE>/api/v1/defenders/daemonset.yaml?consoleaddr=<COMPUTE_CONSOLE>&namespace=twistlock&orchestration=openshift' \
165169
> defender.yaml
166170

167171
. Create the DaemonSet.

admin_guide/compliance/cloud_discovery.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ Then configure Prisma Cloud to protect them with a single click.
7171
"Sid": "VisualEditor0",
7272
"Effect": "Allow",
7373
"Action": [
74+
"lambda:GetFunction",
7475
"lambda:ListFunctions",
7576
"ecr:DescribeRepositories",
7677
"eks:DescribeCluster",

admin_guide/install/install_openshift_3_11.adoc

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
== OpenShift
22

3-
Prisma Cloud supports the Docker version of OpenShift 3.11.
43

54
ifdef::compute_edition[]
65
Prisma Cloud Console is deployed as a ReplicationController, which ensures it's always running.
@@ -493,7 +492,6 @@ Designate Prisma Cloud's cloud registry by omitting the _--image-name_ flag.
493492
$ <PLATFORM>/twistcli defender export openshift \
494493
--address https://twistlock-console.apps.ose.example.com \
495494
--cluster-address 172.30.41.62 \
496-
--selinux-enabled \
497495
--helm
498496
+
499497
*Outside the OpenShift cluster + pull the Defender image from the OpenShift internal registry.*
@@ -502,7 +500,6 @@ Use the _--image-name_ flag to designate an image from the OpenShift internal re
502500
$ <PLATFORM>/twistcli defender export openshift \
503501
--address https://twistlock-console.apps.ose.example.com \
504502
--cluster-address 172.30.41.62 \
505-
--selinux-enabled \
506503
--image-name 172.30.163.181:5000/twistlock/private:defender_<VERSION> \
507504
--helm
508505
+
@@ -513,7 +510,6 @@ This flag specifies the endpoint for the Prisma Cloud Compute API and must inclu
513510
$ <PLATFORM>/twistcli defender export openshift \
514511
--address https://172.30.41.62:8083 \
515512
--cluster-address 172.30.41.62 \
516-
--selinux-enabled \
517513
--helm
518514
+
519515
*Inside the OpenShift cluster + pull the Defender image from the OpenShift internal registry.*
@@ -522,7 +518,6 @@ Use the _--image-name_ flag to designate an image in the OpenShift internal regi
522518
$ <PLATFORM>/twistcli defender export openshift \
523519
--address https://172.30.41.62:8083 \
524520
--cluster-address 172.30.41.62 \
525-
--selinux-enabled \
526521
--image-name 172.30.163.181:5000/twistlock/private:defender_<VERSION> \
527522
--helm
528523

admin_guide/install/install_openshift_4.adoc

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
== OpenShift
22

3-
Prisma Cloud supports OpenShift v3.9 and later.
43

54
ifdef::compute_edition[]
65
Prisma Cloud Console is deployed as a ReplicationController, which ensures it's always running.
@@ -433,14 +432,16 @@ Example for export of a YAML file:
433432

434433
$ <PLATFORM>/twistcli defender export openshift \
435434
--address <ADDRESS> \
436-
--cluster-address <CLUSTER-ADDRESS>
435+
--cluster-address <CLUSTER-ADDRESS> \
436+
--cri
437437

438438
Example for export of a Helm chart:
439439

440440
$ <PLATFORM>/twistcli defender export openshift \
441441
--address <ADDRESS> \
442442
--cluster-address <CLUSTER-ADDRESS> \
443-
--helm
443+
--helm \
444+
--cri
444445

445446
The command connects to Console’s API, specified in _--address_, to generate the Defender DaemonSet YAML config file or helm chart.
446447
The location where you run twistcli (inside or outside the cluster) dictates which Console address should be supplied.
@@ -537,7 +538,6 @@ Designate Prisma Cloud's cloud registry by omitting the _--image-name_ flag. Def
537538
$ <PLATFORM>/twistcli defender export openshift \
538539
--address https://twistlock-console.apps.ose.example.com \
539540
--cluster-address 172.30.41.62 \
540-
--selinux-enabled \
541541
--helm \
542542
--cri
543543
+
@@ -547,7 +547,6 @@ Use the _--image-name_ flag to designate an image from the OpenShift internal re
547547
$ <PLATFORM>/twistcli defender export openshift \
548548
--address https://twistlock-console.apps.ose.example.com \
549549
--cluster-address 172.30.41.62 \
550-
--selinux-enabled \
551550
--image-name 172.30.163.181:5000/twistlock/private:defender_<VERSION> \
552551
--helm \
553552
--cri
@@ -559,7 +558,6 @@ This flag specifies the endpoint for the Prisma Cloud Compute API and must inclu
559558
$ <PLATFORM>/twistcli defender export openshift \
560559
--address https://172.30.41.62:8083 \
561560
--cluster-address 172.30.41.62 \
562-
--selinux-enabled \
563561
--helm \
564562
--cri
565563
+
@@ -569,7 +567,6 @@ Use the _--image-name_ flag to designate an image in the OpenShift internal regi
569567
$ <PLATFORM>/twistcli defender export openshift \
570568
--address https://172.30.41.62:8083 \
571569
--cluster-address 172.30.41.62 \
572-
--selinux-enabled \
573570
--image-name 172.30.163.181:5000/twistlock/private:defender_<VERSION> \
574571
--helm \
575572
--cri

admin_guide/technology_overviews/defender_architecture.adoc

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
Customers often ask how Prisma Cloud Defender really works under the covers. Prisma Cloud leverages Docker's ability to grant advanced kernel capabilities to enable Defender to protect your whole stack, while being completely containerized and utilizing a least privilege security design.
44

5-
65
=== Defender design
76

87
Because we’ve built Prisma Cloud expressly for cloud native stacks, the architecture of our agent (what we call Defender) is quite different. Rather than having to install a kernel module, or modify the host OS at all, Defender instead runs as a Docker container and takes only those specific system privileges required for it to perform its job. It does not run as --privileged and instead takes the specific system capabilities of net_admin, sys_admin, sys_ptrace, audit_control, mknod, and setfcap that it needs to run in the host namespace and interact with both it and other containers running on the system. You can see this clearly by inspecting the Defender container:
@@ -36,7 +35,6 @@ Critically, though, Defender runs as a user mode process. If Defender were to f
3635

3736
In the event of a communications failure with Console, Defender continues running and enforcing the active policy that was last pushed by the management point. Events that would be pushed back to Console are cached locally until it is once again reachable.
3837

39-
4038
=== Why not a kernel module?
4139

4240
Given the broad range of security protection Prisma Cloud provides, not just for containers, but also for the hosts they run on, you might assume that we use a kernel module - with all the associated baggage that goes along with that. However, that’s not actually how Prisma Cloud works.
@@ -45,6 +43,20 @@ Kernel modules are compiled software components that can be inserted into the ke
4543

4644
Because kernel modules have unrestricted system access, a security flaw in them is a system wide exposure. A single unchecked buffer or other error in such a low level component can lead to the complete compromise of an otherwise well designed and hardened system. Further, kernel modules can introduce significant stability risks to a system. Again, because of their wide access, a poorly performing kernel module that’s frequently called can drag down performance of the entire host, consume excessive resources, and lead to kernel panics. For these reasons, many modern operating systems designed for cloud native apps, like Google Container-Optimized OS, explicitly prevent the usage of kernel modules.
4745

46+
=== Defender-Console communication
47+
48+
By default, Defender establishes a connection to Console on TCP port 8084, although the port number can be customized to meet the needs of your environment.
49+
All traffic between Defender and Console is TLS encrypted.
50+
51+
Defender has no privileged access to Console or the underlying host where Console is installed.
52+
By design, Console and Defender don't trust each other and Defender mutual certificate-based authentication is required to connect.
53+
Pre-auth, connections are blocked
54+
Post-auth, Defender's capabilities are limited to getting policies from Console and sending event data to Console.
55+
56+
If Defender were to be compromised, the risk would be local to the system where it is deployed, the privilege it has on the local system, and the possibility of it sending garbage data to Console.
57+
Console communication channels are separated, with no ability to jump channels.
58+
Defender has no ability to interact with Console beyond port 8084.
59+
Both Console's API and web interfaces, served on port 8083 (HTTPS), require authentication via different channels (such as user name and password, access key, etc.), none of which Defender holds.
4860

4961
[#_blocking_rules]
5062
=== Blocking rules
@@ -70,7 +82,6 @@ When starting a container in a Prisma Cloud-protected environment:
7082
The last step guarantees that Defender always fails open, which is important for the resiliency of your environment.
7183
Even if the Defender process terminates, becomes unresponsive, or cannot be restarted, a failed Defender will not hinder deployments or the normal operation of a node.
7284

73-
7485
=== Firewalls
7586

7687
Defender enforces WAF policies (WAAS) and monitors layer 4 traffic (CNNF).

admin_guide/upgrade/upgrade.adoc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,11 @@
33
ifdef::compute_edition[]
44
Console notifies you when new versions of Prisma Cloud are available.
55
You can upgrade Prisma Cloud without losing any of your data or configurations.
6-
After upgrading Console, all your deployed Defenders will automatically upgrade themselves.
6+
After upgrading Console, all your deployed Defenders will automatically upgrade themselves if you have auto-upgrade turned ON.
7+
Learn more about the upgrade process here: xref:../upgrade_process.adoc
78
endif::compute_edition[]
89

910
ifdef::prisma_cloud[]
10-
Palo Alto Networks periodically upgrades your Prisma Cloud Console.
11-
After a Console upgrade, all your deployed Defenders will automatically upgrade themselves.
11+
Palo Alto Networks manages and maintains your Prisma Cloud Console.
12+
For email notifications about Prisma Cloud Compute's maintenance schedules and upgrade notifications, subscribe to the Prisma Cloud service on the https://status.paloaltonetworks.com/[Palo Alto Networks status page].
1213
endif::prisma_cloud[]

0 commit comments

Comments
 (0)