/configuring-zscaler-private-access-for-ztna
Configures Zscaler Private Access (ZPA) to replace traditional VPN
$ npx -y skills add mukul975/Anthropic-Cybersecurity-Skills --skill configuring-zscaler-private-access-for-ztna --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/configuring-zscaler-private-access-for-ztna
Context preview
The summary Claude sees to decide when to auto-load this skill.
Configures Zscaler Private Access (ZPA) to replace traditional VPN
SKILL.md
configuring-zscaler-private-access-for-ztna.SKILL.mdname: configuring-zscaler-private-access-for-ztna
description: 'Configures Zscaler Private Access (ZPA) to replace traditional VPN
with zero trust network access by deploying App Connectors, defining application
segments, configuring identity- and device-posture-based access policies, and
integrating with IdPs. Use when replacing VPN concentrators with ZTNA or providing
remote users secure access to internal applications without network-level connectivity.
'
domain: cybersecurity
subdomain: zero-trust-architecture
tags:
- zscaler
- zpa
- ztna
- zero-trust
- app-connector
- access-policy
- sase
version: '1.0'
author: mahipal
license: Apache-2.0
nist_csf:
- PR.AA-01
- PR.AA-05
- PR.IR-01
- GV.PO-01
mitre_attack:
- T1133
- T1078
- T1021
- T1219
- T1190
Configuring Zscaler Private Access for ZTNA
When to Use
- When replacing traditional VPN concentrators with application-level zero trust access
- When providing remote users secure access to internal applications without network-level connectivity
- When implementing least-privilege access where users only see authorized applications
- When needing to make internal applications invisible to unauthorized users and the internet
- When integrating ZTNA with existing SASE architecture using Zscaler Internet Access (ZIA)
**Do not use** for applications requiring raw UDP access (ZPA primarily supports TCP), for providing full network-level access equivalent to site-to-site VPN (use ZPA AppProtection or branch connector instead), or when the organization requires on-premises-only access control without cloud dependency.
Prerequisites
- Zscaler Private Access subscription (Business or Transformation edition)
- Identity provider configured: Okta, Microsoft Entra ID, Ping Identity, or SAML 2.0 IdP
- App Connector VM requirements: Linux VM (CentOS 7/8, RHEL 7/8, Ubuntu 18.04+, Amazon Linux 2) with 2 vCPU, 4GB RAM minimum
- Outbound connectivity from App Connector to ZPA cloud on port 443 (no inbound ports required)
- DNS resolution from App Connector to internal application FQDNs
- Zscaler Client Connector deployed on user endpoints
Workflow
Step 1: Deploy App Connectors in Application Network
App Connectors establish outbound-only tunnels to the ZPA cloud, providing access to internal applications.
# Download and install App Connector on Linux VM
# Obtain provisioning key from ZPA Admin Portal > Administration > App Connectors
# For RHEL/CentOS
sudo yum install -y https://yum.private.zscaler.com/yum/el7/zpa-connector-latest.rpm
# For Ubuntu/Debian
curl -sS https://dist.private.zscaler.com/apt/pubkey.gpg | sudo apt-key add -
echo "deb https://dist.private.zscaler.com/apt stable main" | sudo tee /etc/apt/sources.list.d/zpa.list
sudo apt update && sudo apt install -y zpa-connector
# Configure the connector with provisioning key
sudo /opt/zscaler/bin/zpa-connector configure \
--provision-key "PROVISIONING_KEY_FROM_PORTAL"
# Start the connector service
sudo systemctl enable zpa-connector
sudo systemctl start zpa-connector
# Verify connector status
sudo systemctl status zpa-connector
sudo /opt/zscaler/bin/zpa-connector status
# Deploy second connector for HA (minimum 2 per site)
# Repeat on second VM with same App Connector Group provisioning key
Step 2: Define Server Groups and Application Segments
Map internal applications to server groups and create application segments.
ZPA Admin Portal Configuration:
1. Server Groups:
Navigate to: Administration > App Connectors > Server Groups
- Name: "DC-East-Servers"
- App Connector Group: "DC-East-Connectors"
- Servers:
- hr-portal.internal.corp (10.1.1.50, TCP 443)
- finance-app.internal.corp (10.1.1.51, TCP 443)
- git.internal.corp (10.1.2.10, TCP 22, 443)
2. Application Segments:
Navigate to: Resources > Application Segments > Add Application Segment
- Name: "HR Applications"
- Domain/URL: hr-portal.internal.corp
- TCP Ports: 443
- Server Group: DC-East-Servers
- Health Reporting: Continuous
- Bypass Type: Never (force all traffic through ZPA)
- Name: "Engineering Tools"
- Domain/URL: git.internal.corp, ci.internal.corp, wiki.internal.corp
- TCP Ports: 22, 80, 443
- Server Group: DC-East-Servers
- Segment Group: "Engineering Segment Group"Step 3: Configure Access Policies
Define who can access which application segments based on identity and device posture.
ZPA Admin Portal > Policies > Access Policy:
Rule 1: HR Team Access
- Name: "HR Portal Access"
- Action: ALLOW
- Criteria:
- User Groups: "HR-Department" (from IdP)
- Application Segment: "HR Applications"
- Device Posture Profile: "Corporate Managed Device"
- Client Type: Zscaler Client Connector
- Conditions:
- SAML Attribute: department = "Human Resources"
- Device Trust Level: "HIGH" (CrowdStrike ZTA score > 70)
Rule 2: Engineering Access
- Name: "Engineering Tools Access"
- Action: ALLOW
- Criteria:
- User Groups: "Engineering-Team", "DevOps-Team"
- Application Segment: "Engineering Tools"
- Device Posture Profile: "Developer Workstation"
- Conditions:
- Machine Group: "Engineering Laptops"
Rule 3: Contractor Limited Access
- Name: "Contractor Wiki Access"
- Action: ALLOW
- Criteria:
- User Groups: "External-Contractors"
- Application Segment: "Wiki Only"
- Client Type: Zscaler Client Connector OR Browser Access
- Conditions:
- Time Window: Mon-Fri 08:00-18:00 EST
Rule 4: Default Deny
- Name: "Block All Other Access"
- Action: DENY
- Criteria: All Users, All Applications
- Log: EnabledStep 4: Configure Device Posture Profiles
Integrate device posture signals from endpoint security tools.
ZPA Admin Portal > Administration > Device Posture:
Profile 1: Corporate Managed Device
- CrowdStrike Falcon: Running, ZTA Score >= 60
- OS: Windows 10 21H2+, macOS 13+, Ubuntu 22.04+
- Disk E
Read more
name: configuring-zscaler-private-access-for-ztna description: 'Configures Zscaler Private Access (ZPA) to replace traditional VPN with zero trust network access by deploying App Connectors, defining application segments, configuring identity- and device-posture-based access policies, and integrating with IdPs. Use when replacing VPN concentrators with ZTNA or providing remote users secure access to internal applications without network-level connectivity. ' domain: cybersecurity subdomain: zero-trust-architecture tags: - zscaler - zpa - ztna - zero-trust - app-connector - access-policy - sase version: '1.0' author: mahipal license: Apache-2.0 nist_csf: - PR.AA-01 - PR.AA-05 - PR.IR-01 - GV.PO-01 mitre_attack: - T1133 - T1078 - T1021 - T1219 - T1190
Configuring Zscaler Private Access for ZTNA
When to Use
- When replacing traditional VPN concentrators with application-level zero trust access
- When providing remote users secure access to internal applications without network-level connectivity
- When implementing least-privilege access where users only see authorized applications
- When needing to make internal applications invisible to unauthorized users and the internet
- When integrating ZTNA with existing SASE architecture using Zscaler Internet Access (ZIA)
**Do not use** for applications requiring raw UDP access (ZPA primarily supports TCP), for providing full network-level access equivalent to site-to-site VPN (use ZPA AppProtection or branch connector instead), or when the organization requires on-premises-only access control without cloud dependency.
Prerequisites
- Zscaler Private Access subscription (Business or Transformation edition)
- Identity provider configured: Okta, Microsoft Entra ID, Ping Identity, or SAML 2.0 IdP
- App Connector VM requirements: Linux VM (CentOS 7/8, RHEL 7/8, Ubuntu 18.04+, Amazon Linux 2) with 2 vCPU, 4GB RAM minimum
- Outbound connectivity from App Connector to ZPA cloud on port 443 (no inbound ports required)
- DNS resolution from App Connector to internal application FQDNs
- Zscaler Client Connector deployed on user endpoints
Workflow
Step 1: Deploy App Connectors in Application Network
App Connectors establish outbound-only tunnels to the ZPA cloud, providing access to internal applications.
# Download and install App Connector on Linux VM # Obtain provisioning key from ZPA Admin Portal > Administration > App Connectors # For RHEL/CentOS sudo yum install -y https://yum.private.zscaler.com/yum/el7/zpa-connector-latest.rpm # For Ubuntu/Debian curl -sS https://dist.private.zscaler.com/apt/pubkey.gpg | sudo apt-key add - echo "deb https://dist.private.zscaler.com/apt stable main" | sudo tee /etc/apt/sources.list.d/zpa.list sudo apt update && sudo apt install -y zpa-connector # Configure the connector with provisioning key sudo /opt/zscaler/bin/zpa-connector configure \ --provision-key "PROVISIONING_KEY_FROM_PORTAL" # Start the connector service sudo systemctl enable zpa-connector sudo systemctl start zpa-connector # Verify connector status sudo systemctl status zpa-connector sudo /opt/zscaler/bin/zpa-connector status # Deploy second connector for HA (minimum 2 per site) # Repeat on second VM with same App Connector Group provisioning key
Step 2: Define Server Groups and Application Segments
Map internal applications to server groups and create application segments.
ZPA Admin Portal Configuration:
1. Server Groups:
Navigate to: Administration > App Connectors > Server Groups
- Name: "DC-East-Servers"
- App Connector Group: "DC-East-Connectors"
- Servers:
- hr-portal.internal.corp (10.1.1.50, TCP 443)
- finance-app.internal.corp (10.1.1.51, TCP 443)
- git.internal.corp (10.1.2.10, TCP 22, 443)
2. Application Segments:
Navigate to: Resources > Application Segments > Add Application Segment
- Name: "HR Applications"
- Domain/URL: hr-portal.internal.corp
- TCP Ports: 443
- Server Group: DC-East-Servers
- Health Reporting: Continuous
- Bypass Type: Never (force all traffic through ZPA)
- Name: "Engineering Tools"
- Domain/URL: git.internal.corp, ci.internal.corp, wiki.internal.corp
- TCP Ports: 22, 80, 443
- Server Group: DC-East-Servers
- Segment Group: "Engineering Segment Group"Step 3: Configure Access Policies
Define who can access which application segments based on identity and device posture.
ZPA Admin Portal > Policies > Access Policy:
Rule 1: HR Team Access
- Name: "HR Portal Access"
- Action: ALLOW
- Criteria:
- User Groups: "HR-Department" (from IdP)
- Application Segment: "HR Applications"
- Device Posture Profile: "Corporate Managed Device"
- Client Type: Zscaler Client Connector
- Conditions:
- SAML Attribute: department = "Human Resources"
- Device Trust Level: "HIGH" (CrowdStrike ZTA score > 70)
Rule 2: Engineering Access
- Name: "Engineering Tools Access"
- Action: ALLOW
- Criteria:
- User Groups: "Engineering-Team", "DevOps-Team"
- Application Segment: "Engineering Tools"
- Device Posture Profile: "Developer Workstation"
- Conditions:
- Machine Group: "Engineering Laptops"
Rule 3: Contractor Limited Access
- Name: "Contractor Wiki Access"
- Action: ALLOW
- Criteria:
- User Groups: "External-Contractors"
- Application Segment: "Wiki Only"
- Client Type: Zscaler Client Connector OR Browser Access
- Conditions:
- Time Window: Mon-Fri 08:00-18:00 EST
Rule 4: Default Deny
- Name: "Block All Other Access"
- Action: DENY
- Criteria: All Users, All Applications
- Log: EnabledStep 4: Configure Device Posture Profiles
Integrate device posture signals from endpoint security tools.
ZPA Admin Portal > Administration > Device Posture: Profile 1: Corporate Managed Device - CrowdStrike Falcon: Running, ZTA Score >= 60 - OS: Windows 10 21H2+, macOS 13+, Ubuntu 22.04+ - Disk E
817 structured cybersecurity skills for AI agents · Mapped to 6 frameworks: MITRE ATT&CK, NIST CSF 2.0, MITRE ATLAS, D3FEND, NIST AI RMF & MITRE F3 (Fight Fraud) · agentskills.io standard · Works with Claude Code, GitHub Copilot, Codex CLI, Cursor, Gemini CLI & 20+ platforms · 29 security domains · Apache 2.0
Repo: mukul975/Anthropic-Cybersecurity-Skills
Other skills on cybersecurity-skills.
- /abusing-dpapi-for-credential-access
Extract and decrypt Windows DPAPI-protected secrets (Credential Manager, browser logins/cookies, Wi-Fi credentials, KeePass keys) online or offline using SharpDPAPI, SharpChrome, Mimikatz, or Impacket's dpapi.py, including domain-wide decryption via the DPAPI backup key. Use
Open skill - /abusing-shadow-credentials-for-privesc
Take over Active Directory accounts by writing attacker-controlled public keys to msDS-KeyCredentialLink (Shadow Credentials) with pyWhisker, Whisker, or Certipy, then authenticate via PKINIT to recover the target's NT hash without a password reset. Use when BloodHound shows
Open skill - /achieving-cmmc-level-2-compliance
Prepare a defense-contractor environment for CMMC Level 2 certification: scope CUI and FCI, implement the 110 NIST SP 800-171 Rev 2 security requirements across 14 families, compute the SPRS score with the DoD Assessment Methodology, manage a compliant POA&M, and ready the
Open skill - /acquiring-disk-image-with-dd-and-dcfldd
Create forensically sound bit-for-bit disk images with dd or dcfldd on a Linux forensic workstation, preserving evidence integrity through hash verification (MD5/SHA) during acquisition. Use when imaging a suspect drive, USB device, or memory card for investigation, preserving
Open skill - /analyzing-active-directory-acl-abuse
Detect dangerous ACL misconfigurations in Active Directory using ldap3
Open skill - /analyzing-android-malware-with-apktool
Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and
Open skill

