Most engineers think…
Most engineers think session recording is surveillance theatre — a big-brother camera pointed at admins, useful only for catching someone after the damage is done.
Wrong on both counts. The proxy+recording pair is primarily an attribution machine: the target's own log can only ever say which account logged in (everyone arrives as svc-dbadmin from the proxy IP) — only the session record says which human. And it cuts both ways: when prod breaks at 2 AM, the replay proves the innocent engineer innocent in fifteen minutes instead of a week of interviews. Plus it is live, not forensic — a senior can watch, freeze or kill a session while it is happening.
① Why session proxy — Connect without ever holding the password
Lesson 7 ended with Sneha's request approved: RDP to the ICICI prod DB server 192.168.40.18 as svc-dbadmin, ticket CHG0042118, 120-minute release. Old world, the portal would now show her the password — and from that second the bank has a problem: the secret is in her head, her clipboard, maybe her notepad. New world, she just clicks Connect. The portal hands her client a connection — and the password never appears anywhere. That trick is the session proxy.
Mechanically there are two legs. Leg 1: Sneha's laptop connects to the Password Safe host — not the target — on the proxy ports: 4489 for RDP, 4422 for SSH (a third listener, 4488 on 127.0.0.1, feeds session monitoring). On this leg she authenticates as herself — her own directory login and MFA. Leg 2: the proxy pulls svc-dbadmin's password from the vault and opens its own connection to the target on the real port (3389/22), performing credential injection. The secret travels only on the far leg. A keylogger on her laptop captures her typed commands — but the one thing it came for, the privileged password, was never typed, never displayed, never on her side of the gate.
Now the question interviewers love: what does the target see? A perfectly normal logon — account svc-dbadmin, source IP = the proxy, not Sneha's laptop. The Windows security log on 192.168.40.18 cannot name Sneha at all. That is not a bug; it is the design. Think of a hotel master-key register: the room lock only knows "the master key opened me" — it is the register at the front desk that records which staff member signed the key out, when, and for which room. Target log = the lock; Password Safe session record = the register. Attribution lives in the register, which is why section ④ matters so much to auditors. One operational consequence to teach your network team: firewall the real ports so that only the proxy may speak 3389/22 to managed targets — otherwise an admin who once saw the password can quietly bypass the gate.
Sneha opens a proxied RDP session to 192.168.40.18. Security review later reads that server's own Windows event log. What does it show for her session?
For terminal people there is a power-user path that skips the portal: Direct Connect. You SSH to the proxy port with a composite username — requester, managed account and system stitched together with + delimiters — and Password Safe matches it to your approved request. RDP gets the same convenience differently: the portal serves a unique .rdp file per account + system combo, pre-pointed at port 4489. Those files expire — a stale one is the classic "it worked yesterday" ticket.
ssh -p 4422 sneha.r+svc-dbadmin@icici.in+DBPROD01@pam.icici.in
sneha.r@pam.icici.in's password: ******** ← HER password + MFA, not the managed one Password Safe: request 4112 matched (svc-dbadmin @ DBPROD01, 118 min left) Session is being recorded. [svc-dbadmin@DBPROD01 ~]$
Three usual suspects, in order: the downloaded .rdp file went stale (re-download from the portal — each account+system combo has its own), the release expired so there is no active request behind the session, or the client is pointed at 3389 instead of 4489 (someone "helpfully" edited the file). Check the request first, then re-fetch the file. If all three pass, verify the proxy service itself — session monitoring rides 4488 on the appliance.
▶ One click of Connect — the proxied session, stage by stage
This is Sneha's approved RDP request turning into a live, recorded session. Press Play for the healthy path, then Break it to see the failure.
Pause & Predict
Predict: Sneha's laptop has a commodity keylogger on it (she does not know). She completes a full proxied RDP session with credential injection. What exactly does the attacker harvest? Type your guess.
The four numbers and names of the proxy layer
Tap each card — these four come up in every Password Safe interview round.
SSH proxy listener. Users SSH here, never to target port 22. So: a 22 in your client config means you bypassed PAM.
RDP proxy listener. The portal's .rdp files point here. So: firewall 3389 so only the proxy may reach prod.
Session monitoring listener on 127.0.0.1 — feeds recording and live view. So: if replay is dark, check this service first.
Vault supplies the credential on the far leg. User never sees it. So: nothing to phish, photo, or paste into chat.
② Session recording — what the camera sees, what it honestly cannot
Recording is switched on per access policy — the same schedule that carried Approvers and Auto Approve in lesson 7 also carries Record Session, Keystroke Logging (on by default) and Enhanced Session Auditing. What lands on disk depends on the session type, and the difference matters in audits. RDP is a camera: full screen video of everything Sneha saw, plus — via Enhanced Session Auditing — keystrokes and mouse activity, and even text copied to the clipboard in-session (captured the first time only; copying the same text again is not re-logged). SSH is a transcript: every keystroke stored as text, which makes it the searchable one.
That word searchable is where SSH recording earns its keep. In Password Safe → Sessions → Completed Sessions, the grid filter has a Filter by: Keystroke option — type DROP TABLE or rm -rf and you get every session, across months, where those characters were typed. Open a recording and the keystroke pane sits on the right; click any keystroke entry and the replay jumps to that exact moment. One more SSH-specific control: Session Masks (Configuration → Privileged Access Management → Session Masks) replace matched secrets with asterisks on replay — so the DBA who typed an application password mid-session has not leaked it to every future reviewer of the recording.
Who may watch all this? Replay is gated by role: Administrator, Auditor, Recorded session reviewer, or ISA. Inside the player you get Play, a progress bar with hover timestamps, a Snapshot button that exports the current frame as a JPEG (1024×768 — auditors love attachable frames), and a Mark as Reviewed checkbox that itself leaves an audit trail of who reviewed what. Storage is the unglamorous half of the design: video is heavy, and in Password Safe Cloud the recordings cache on your Resource Broker first — the documented 64 GB session-cache disk is not a suggestion; undersized broker disks kill session monitoring before anything else. Cloud-side, sessions older than six months auto-archive; an archived session is one ⋮ → Restore Session away from replayable (add the Archive Status column via Column Chooser to see what state each row is in).
POST https://pam.icici.in/BeyondTrust/api/public/v3/Keystrokes/Search
Authorization: PS-Auth key=c479a66f...; runas=icici\\audit-svc;
Content-Type: application/json
{ "Data": "DROP TABLE" }HTTP/1.1 200 OK
[
{ "KeystrokeID": 88231, "SessionID": 5521, "TimeMarker": 412,
"Type": 0, "Data": "DROP TABLE customers_old;" }
]Enhanced Session Auditing has a precondition people miss: the functional account on the managed Windows / RDS host must have administrative rights — ESA plants its capture hooks using that account. Rotation may work fine with lesser rights, so the gap hides until an auditor asks for keystrokes. Verify the functional account's group membership on the target, then test one fresh session — ESA only applies from session start, it cannot backfill old recordings.
Now the honest limits — say these before the auditor discovers them. ① If Rahul RDPs to the target and from there opens a second RDP to another box, that second hop is only pixels inside the video — no per-system keystroke audit, no separate session record. (Fix the behaviour: make the second system a managed system and broker it too.) ② RDP video is not text-searchable — search runs on keystrokes and metadata, never on pixels. ③ The recorder sees the brokered session, not the laptop around it — a photo of the screen, a second unmanaged machine, none of that is in scope. ④ And one field report worth repeating: a PeerSpot reviewer noted occasional keystroke gaps in RDP captures — treat recordings as one layer of evidence next to target-side logs and your SIEM, never as the only copy of the truth.
An ICICI auditor asks: "Show me every session in March where anyone typed a command containing sysadmin." Which capture makes that a 30-second job?
Pause & Predict
Predict: during a recorded SSH session, a DBA types an application's database password in plain text. Three reviewers will replay this recording next year. What did the platform give you to contain this? Type your guess.
③ Live monitoring & control — watch, lock, terminate while it happens
Everything so far is forensic — useful after. The live layer is what makes the proxy a control rather than a diary. Password Safe → Sessions → Active Sessions lists every in-flight session; the ⋮ menu on a row offers four verbs, and choosing the right one is a small art. View Session — watch the session in real time (the user is not notified). Lock Session — freeze it; the user's screen tells them the session is locked and to contact their administrator. Terminate Session — kill the connection now. Terminate and Cancel Session — kill it and cancel the underlying request (offered for requestor-initiated sessions, not admin/ISA ones). Seeing the grids needs its own permissions, by the way — Active session reviewer / Recorded session reviewer roles — and admin-initiated sessions are visible only to holders of the Admin Session Reviewer read permission.
The verb choice that trips people: Terminate kills the session, not the release. The request is still approved, the release clock is still running — the user can simply reconnect. Sometimes that is exactly right (a hung client). For a misbehaving human it is exactly wrong: use Terminate and Cancel, which also pulls the request out from under them — no reconnect. Lock sits in between: the session survives, frozen, while you make a phone call. Map them to intent: glitch → Terminate, conversation → Lock, incident → Terminate and Cancel.
Now the pattern that sells session management to engineering managers: coaching. Flipkart, Friday evening. Karthik (8 months into his first job) has an approved change on the prod orders database. Meera, his senior, opens View Session on her second monitor and just… watches, on mute, while doing her own work. Karthik works knowing a senior can see — which already improves his care level (the society-gate CCTV effect: the camera's presence does most of the work). Twenty minutes in he opens the wrong database — orders_in instead of orders_in_stg. Meera clicks Lock Session; his screen freezes mid-keystroke with the contact-your-administrator message; she calls: "check your DB name, then I'll unlock." Thirty seconds of embarrassment instead of a sev-1 and a rollback. The recording even becomes training material later. That is live control used as mentorship — the kill switch is for vendors and incidents; the lock is for teaching.
Aditya at Airtel faces this
A network vendor's engineer (public IP 203.0.113.77) is in an approved RDP session to router-management host RTR-CORE-01 via svc-netadmin. Aditya, shadowing the session live, watches them open a browser and start downloading an unapproved "config backup tool" from a file-sharing site. He clicks Terminate Session — and ninety seconds later the vendor is simply BACK, continuing.
Terminate Session ends the TCP session but leaves the access request approved and the release window open. The vendor's portal still shows a valid Connect button, so they reconnected — legitimately, by the platform's rules.
Active Sessions grid showed a NEW session ID for the same request minutes after the kill — the giveaway that the request, not the session, is the thing still alive.
BeyondInsight > Password Safe > Sessions > Active SessionsUse Terminate and Cancel Session — it kills the live connection AND cancels the underlying request, so reconnect is impossible. Then rotate svc-netadmin immediately rather than waiting for check-in rotation, raise an incident with the session ID, and Mark as Reviewed after replaying the recording with the vendor's management.
Active Sessions shows no new session for that request; the request status reads cancelled in the requester's portal; the rotation event for svc-netadmin appears in the audit log; the recording (including the download attempt) is preserved under the original session ID for the incident file.
POST https://pam.icici.in/BeyondTrust/api/public/v3/Sessions/5544/Lock Authorization: PS-Auth key=c479a66f...; runas=icici\\secops-svc; POST https://pam.icici.in/BeyondTrust/api/public/v3/Sessions/5544/Terminate Authorization: PS-Auth key=c479a66f...; runas=icici\\secops-svc;
HTTP/1.1 204 No Content ← Lock applied: user sees the locked-session message
HTTP/1.1 204 No Content ← Terminate accepted: session torn down
# bulk variants exist too:
# POST ManagedAccounts/{id}/Sessions/Terminate (kill ALL sessions on an account)
# POST ManagedSystems/{id}/Sessions/Terminate (kill ALL sessions on a system)Password Safe will not page you because someone typed a scary command — there is no out-of-the-box "risky keystroke" alarm. Real deployments wire it up: forward BeyondInsight events to your SIEM via syslog, alert on session-start for tier-0 systems (so a human opens View Session), schedule Keystrokes/Search sweeps for your danger-list (DROP TABLE, rm -rf, shutdown), and let the access policy's Force Termination hard-stop anything that outlives its release. The platform gives you the hooks; the vigilance is your build.
Meera is live-watching Karthik mid-mistake on a prod DB. She wants him STOPPED immediately but CONNECTED — she is dialling his number to walk him through it. Which verb?
Pause & Predict
Predict: at 02:00 an on-call engineer sees ELEVEN active sessions under managed account svc-dbadmin — clearly a runaway automation gone wrong. Killing them one ⋮ at a time is too slow. What is the one-call fix? Type your guess.
④ Sessions as compliance evidence — one chain from ticket to rotation
Why do Indian banks buy this module? Because their regulators effectively require it. RBI's cyber security framework expects banks to centrally control privileged access and keep an audit trail of what privileged users actually did — "we have a strong password" answers neither. SEBI's CSCRF pushes the same on market intermediaries: privileged access monitoring plus log retention an examiner can test. And the Indian IT majors listed in the US — Infosys, Wipro — carry SOX ITGC obligations: prove every change to a financial system was authorised and attributable. All three asks reduce to one auditor question: "For this privileged action, show me who, with whose approval, doing exactly what, and prove they could not do it again with the same secret." Session management is the module that answers it in one screen.
The answer has a shape — teach it as the six-link chain: ticket → request → approval → release → recording → rotation. The ServiceNow ticket says the work was sanctioned; the request carries the reason and maps human to account; the approval shows dual control on tier-0; the release bounds the time window; the recording (video + keystrokes) shows the actual hands on the actual system; the rotation event proves the used password died at check-in. Six artefacts, every one generated automatically by the workflow you built in lessons 7–8 — the audit story writes itself as a by-product of normal operations. Compare that with the screenshot-folder-and-spreadsheet evidence most teams scramble to assemble every audit season.
Priya at ICICI faces this
RBI inspection, day two. The examiner picks one change from last October — eight months ago — and asks Priya to demonstrate the full trail: who accessed the core-banking DB host, who approved it, and what was done in the session. The Completed Sessions grid finds the session, but View Session will not play it.
Password Safe Cloud auto-archives sessions older than six months. The October recording is archived, not gone — but archived sessions cannot be replayed until restored.
Add the Archive Status column via the Column Chooser on the Completed Sessions grid — the October session shows as archived, while its metadata (user, account, system, duration, linked request) is still fully visible in the grid.
BeyondInsight > Password Safe > Sessions > Completed SessionsClick ⋮ → Restore Session on the archived row, wait for the restore to complete, then View Session → Play. Walk the examiner through the chain: linked request (reason + ticket number), approver and timestamp, release window, the replay itself, a Snapshot JPEG of the key frame for the working papers, and the rotation event after check-in. Mark as Reviewed to log the inspection itself.
The examiner's sampled change traces end-to-end in under ten minutes; the Snapshot lands in the audit file; the review action is itself in the audit trail — and Priya schedules a quarterly drill: restore + replay one archived session, so audit week is never the first test of the archive.
Two production habits turn this from demo to discipline. First, retention is a decision, not a default: agree with compliance how long recordings and keystroke logs must be reachable (RBI examiners routinely sample 6–12 months back), confirm cloud archive/restore covers it, and on-prem watch the appliance disk — video eats storage, and a full disk silently becomes a retention failure. Second, export the events: ship session start/stop, lock/terminate actions and rotation events to the SIEM via syslog so evidence survives even a PAM-platform outage, and pull periodic reports for the audit binder. The grid is your working view; the SIEM copy is your insurance.
$base = "https://pam.icici.in/BeyondTrust/api/public/v3"
$h = @{ Authorization = "PS-Auth key=c479a66f...; runas=icici\\audit-svc;" }
Invoke-RestMethod -Method Post -Uri "$base/Auth/SignAppIn" -Headers $h -SessionVariable ps | Out-Null
$s = Invoke-RestMethod -Uri "$base/Sessions?status=2" -Headers $h -WebSession $ps
$s | Where-Object { $_.AssetName -eq "DBPROD01" } |
Select-Object SessionID, UserID, ManagedAccountName, NodeID, StartTime, EndTime |
Export-Csv -Path .\DBPROD01-sessions-may.csv -NoTypeInformation
Invoke-RestMethod -Method Post -Uri "$base/Auth/Signout" -Headers $h -WebSession $psPS C:\audit> Import-Csv .\DBPROD01-sessions-may.csv | Select -First 2 SessionID UserID ManagedAccountName StartTime EndTime --------- ------ ------------------ --------- ------- 5521 214 svc-dbadmin 2026-05-03T02:00:11Z 2026-05-03T02:24:48Z 5544 377 svc-dbadmin 2026-05-09T11:02:05Z 2026-05-09T11:41:19Z
A SOX auditor at Wipro has the target server's log: svc-appadmin logged on at 14:02 from the proxy IP and changed a payroll config. Which SINGLE artefact converts that anonymous account logon into a named, authorised human action?
Pause & Predict
Predict: the examiner's last question — "Prove that nobody can quietly reuse the password from the session we just replayed." What two artefacts close it? Type your guess.
You can do all five, cold, in front of a stranger: ① open a proxied session and show the target log naming only the managed account; ② keystroke-search a phrase across last quarter and land in the right replay; ③ Lock and Terminate-and-Cancel a live test session; ④ restore an archived recording and export a Snapshot; ⑤ walk one change end-to-end through ticket → request → approval → release → recording → rotation in under ten minutes. Drill it quarterly — audit week is the wrong time to learn the Restore button.
🤖 Ask the AI Tutor
Tap any question — instant, scoped to this lesson. No login, no waiting.
Pre-curated from BeyondTrust docs + community Q&A, scoped to this lesson. For a live prod issue, paste your export into chat.techclick.in.
📝 Wrap-up assessment — six more
You've answered 4 inline. Six left. 70% (7 of 10) marks the lesson complete on your profile. Tap Submit all answers at the end.
🧠 In your own words
Type one line: In one line: why does a proxied session beat handing the admin a rotated-daily password? Then compare to the expert version.
🗣 Teach a friend
Best way to lock it in — explain it in one line to a teammate. Tap to generate a paste-ready summary.
📖 Glossary
- Session proxy
- Password Safe terminates the user's RDP/SSH on itself (4489/4422) and opens its own connection to the target — user and target never touch.
- Credential injection
- The proxy supplies the vaulted password on the proxy→target leg; the user never sees, types or holds it.
- Direct Connect
- Portal-skipping syntax: SSH to port 4422 with requester+account+system stitched into the username; RDP uses a downloaded per-combo .rdp file.
- Enhanced Session Auditing
- Captures keystrokes and mouse activity in RDP/app sessions; requires the functional account to have admin rights on the host.
- Keystroke search
- Filter by: Keystroke on Completed Sessions (or POST Keystrokes/Search) — find every session where a phrase was typed.
- Session Mask
- Configuration → Privileged Access Management → Session Masks pattern that replaces matched typed secrets with asterisks during replay.
- Active Sessions
- Live-session grid (Password Safe → Sessions) — the ⋮ menu carries View, Lock, Terminate, Terminate and Cancel.
- Lock Session
- Freezes a live session in place; the user is told to contact their administrator — the coaching verb.
- Terminate and Cancel
- Kills the live session AND cancels its request so the user cannot reconnect; plain Terminate leaves the release alive.
- Force Termination
- Access-policy setting that hard-ends sessions when the release window closes — policy, not an admin click.
- Archive / Restore Session
- PS Cloud auto-archives sessions older than 6 months; ⋮ → Restore Session makes them replayable again.
- Recorded session reviewer
- Role allowing recording replay (alongside Administrator, Auditor, ISA); Active session reviewer covers the live grid.
📚 Sources
- BeyondTrust Docs — Password Safe SSH/RDP session connections (proxy ports 4422/4489, monitoring 4488 on 127.0.0.1, Direct Connect syntax, per-combo RDP files). docs.beyondtrust.com/bips/docs/ps-ssh-rdp-connections
- BeyondTrust Docs — Password Safe Sessions (Active/Completed Sessions grids; View/Lock/Terminate/Terminate-and-Cancel; replay, Snapshot, Mark as Reviewed; keystroke filter; Session Masks; 6-month cloud archive + Restore Session; reviewer roles). docs.beyondtrust.com/bips/docs/ps-sessions
- BeyondTrust Docs — Password Safe API: Sessions, Session Locking & Termination (POST Requests/{requestID}/Sessions with SessionType; POST Sessions/{sessionID}/Lock|Terminate; ManagedAccounts/ManagedSystems bulk terminate; session status codes). beyondtrust.com/docs/beyondinsight-password-safe/ps/api/password-safe/sessions.htm
- BeyondTrust Docs — Configure Password Safe Access Policies (Record Session, Keystroke Logging, Enhanced Session Auditing default-on, Concurrent, Force Termination, Log off on Disconnect). docs.beyondtrust.com/bips/docs/ps-configure-access-policies
- BeyondTrust Docs — Resource Broker installation (Session Monitoring among the 9 broker services; 64 GB session-cache disk requirement). docs.beyondtrust.com/bips/docs/ps-cloud-resource-broker-install
- BeyondTrust Beekeepers community — retention policies and session-recording storage duration thread (real-world retention sizing pain). beekeepers.beyondtrust.com/general-40/password-safe-documentation-on-retention-policies-and-session-recording-log-storage-duration-7441
- PeerSpot — BeyondTrust Password Safe pros & cons (session recording praised; field reports of RDP drops without error and occasional keystroke-capture gaps). peerspot.com/products/beyondtrust-password-safe-pros-and-cons
- IdentitySkills — CyberArk vs BeyondTrust vs Delinea, which PAM to learn in 2026 (session monitoring concepts transfer across platforms; India job-market angle). identityskills.com/blog/cyberark-vs-beyondtrust-vs-delinea-which-pam-tool-should-you-learn-in-2026/
What's next?
Humans now request, connect and get recorded — but half your passwords are not held by humans at all. They are hardcoded in scripts, CI pipelines and app configs. Next: Secrets Safe and the API patterns that pull credentials at runtime so nothing secret ever lives in code again.