Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 5 additions & 3 deletions content/docs/capabilities/session-recording.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ This article describes a use case available to [Pomerium Enterprise](/docs/deplo

Pomerium supports recording, storage, and playback (via Enterprise Console) of interactive SSH sessions for auditing and compliance needs. To enable session recording in Pomerium, you will be required to set up the session recording extension, a cloud or self-hosted blob storage provider, make the relevant policy changes to routes and connect the Pomerium instance to the Enterprise Console.

Once recording is enabled, see [Session Recording for Audit and Compliance](/docs/capabilities/session-recording/compliance) for how to operate it as defensible audit evidence: WORM storage and retention, audit-log correlation, and SOC 2 / PCI DSS / HIPAA / FedRAMP control mappings.

:::danger

Recording SSH sessions carries inherent risk. Anything the user sees in their terminal is recorded as-is without modification or redaction. This can include sensitive information such as private keys, passwords, logs, etc.
Expand Down Expand Up @@ -895,11 +897,11 @@ StorageBlobLogs

### Integrity checks

The following criteria indicate that an object has been accessed or modified outside of Pomerium's chain of custody:
The following criteria indicate that recording content or metadata may have been accessed or modified outside of Pomerium's chain of custody:

- there is more than one object revision for any session recording object in the remote store
- there are blob storage access logs that are not annotated with Pomerium access information
- there are blob storage access logs whose `access_id` or `hmac_user_id` do not match any Pomerium Enterprise audit logs
- there are blob storage data-read logs for recording content or metadata that are not annotated with Pomerium access information
- there are blob storage data-read logs whose `access_id` or `user_hmac_id` do not match any Pomerium Enterprise audit logs

## Recording Contents

Expand Down
301 changes: 301 additions & 0 deletions content/docs/capabilities/session-recording/compliance.mdx
Comment thread
desimone marked this conversation as resolved.

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
"argjson",
"argparse",
"auditability",
"auditd",
"Authorization",
"Amazonbot",
"alexl",
Expand All @@ -51,6 +52,7 @@
"caroot",
"certmanager",
"CHACHA20",
"CMEK",
"classmethod",
"cloudrun",
"cloudsmith",
Expand Down Expand Up @@ -83,6 +85,7 @@
"esgee",
"exfiltrate",
"fallbackcerts",
"fedramp",
"Flatpak",
"FQDL",
"freeipa",
Expand Down Expand Up @@ -222,6 +225,7 @@
"traefik",
"unclonable",
"Unimpersonate",
"unredacted",
"unsandboxed",
"upsert",
"urandom",
Expand Down
13 changes: 12 additions & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,18 @@ const sidebars = {
'docs/capabilities/kubernetes-access',
'docs/capabilities/native-ssh-access',
'docs/capabilities/reverse-tunneling',
'docs/capabilities/session-recording',
{
type: 'category',
label: 'Session Recording',
className: 'enterprise',
link: {type: 'doc', id: 'docs/capabilities/session-recording'},
items: [
{
type: 'autogenerated',
dirName: 'docs/capabilities/session-recording',
},
],
},
{
type: 'category',
label: 'Non-HTTP Protocols',
Expand Down