CWS 315 2I en StudentManual 1 3 Days v03
CWS 315 2I en StudentManual 1 3 Days v03
CWS 315 2I en StudentManual 1 3 Days v03
Administration
(1-3 Days)
Table Of Contents
Course Overview
Formerly Networking
Key Notes:
• Citrix recommends completing the free Citrix Virtual Apps and Desktops 7 introduction bundle at elearning.citrix.com prior to
attending this course.
-315
Additional Resources:
• Lab Access URL: <Insert link here>
Delivery Controller
NYC-VDC-001
• This diagram represent the StoreFront
Server OS Desktop OS
lab environment for this NYC-STF-001
Master Master
NYC-SRV-MST NYC-DTP-MST
course. Domain Controller
NYC-ADS-001
Hardware Layer
Key Notes:
• The course lab environment is not a production environment.
• Each VM is given enough resources to perform the lab exercises.
• There are enough lab exercises to gain valuable hands-on experience to match the lecture part of this course.
• These lab VM’s are tuned tot eh lab manual tasks, do not deviate unless instructed to by the Instructor.
• Any deviation may result in destabilizing of the lab causing intermittent or long-term failure.
• If a lab fails, it can be reset to the beginning, but it is time consuming and requires a classroom support ticket.
1. Navigate to training.citrix.com
2. Click on the “Contact Us” dropdown.
3. Select “Classroom Support”.
Not at all How likely is it you would recommend Citrix Courses to a friend? Extremely
Likely Likely
0 1 2 3 4 5 6 7 8 9 10
\/
31
The picture can't be display ed.
32
The picture can't be display ed.
Module 1
Key Notes:
• Discuss What is Redundancy and Scalability and why do we really need it.
• Depending on the deployment, some components of a Citrix Virtual Apps and Desktops Site are a “single point of failure”. To protect
against Site-wide outages due to a single failing component, plan for redundancy.
• Redundancy can come in different forms, but mostly means duplicated systems, connections etc. so that the loss of a single
component can be compensated without threatening the performance of the complete site.
• How much redundancy is needed?
Course
Delivery Controller
Server OS Assigned
Internal Users StoreFront Workspace Delivery Controller Desktop OS
Cloud Connectors
Random Desktop OS
Remote PC
Domain Controller
Key Notes:
• In a Citrix Cloud environment, the default setup is to use Workspace to provide authentication and Store services, and the Citrix
Gateway Service for HDX connections. Customers have the option to:
• Use StoreFront instead, or in addition to Workspace.
• Citrix ADC/Gateway instead on the Citrix Gateway Service.
• Note that although Workspace and the Citrix Gateway Service are considered Access Layer components, they are part of Citrix
Cloud services.
Delivery Controller
Key Notes:
• When configuring multiple StoreFront servers in a server group:
• A load balancer is required (Citrix ADC is recommended)
• Manual propagation of configuration data is required
• Base URL must be updated
• Subscription replication uses TCP port 808
• All servers within a StoreFront Server Group use the same configuration. Whenever a configuration change has been done on a
Additional Resources:
• StoreFront high availability and multi-site configuration:
• 3.12 (LTSR version): https://docs.citrix.com/en-us/storefront/3-12.html
• Current Release: https://docs.citrix.com/en-us/storefront/current-release/plan/high-availability-and-multi-site-
configuration.html
• Configure server groups:
• 3.12 (LTSR version): https://docs.citrix.com/en-us/storefront/3-12.html
• Current Release: https://docs.citrix.com/en-us/storefront/current-release/configure-server-group.html
• Load balancing with ADC:
• 3.12 (LTSR version): https://docs.citrix.com/en-us/storefront/3-12.html
• Current Release: https://docs.citrix.com/en-us/storefront/current-release/integrate-with-netscaler-and-netscaler-
gateway/load-balancing-with-netscaler.html
Key Notes:
• The number of Citrix Receiver/Citrix Workspace uses supported by a StoreFront server group depends on the hardware used and the
level of user activity.
• Based on simulated activity where users log on, enumerate 100 published applications, and start one resource, expect a single
StoreFront server with the minimum recommended specification of two virtual CPUs running on an underlying dual Intel Xeon L5520
2.27Ghz processor server to enable up to 30,000 user connections per hour.
• As more StoreFront servers are added to the server group, this will scale linearly for the first few servers, but additional scalability
Additional Resources:
• Plan your StoreFront deployment:
• 3.12 (LTSR version): http://docs.citrix.com/en-us/storefront/3-12/plan.html
• Current Release: https://docs.citrix.com/en-us/storefront/current-release/plan.html
• StoreFront high availability and multi-site configuration:
• 3.12 (LTSR version): https://docs.citrix.com/en-us/storefront/3-12.html
• Current Release: https://docs.citrix.com/en-us/storefront/current-release/plan/high-availability-and-multi-site-
configuration.html
• Configure server groups:
• 3.12 (LTSR version): https://docs.citrix.com/en-us/storefront/3-12.html
• Current Release: https://docs.citrix.com/en-us/storefront/current-release/configure-server-group.html
• StoreFront 3.0 Scalability: https://www.citrix.com/blogs/2015/09/16/storefront-3-0-scalability-2/
Citrix ADC Citrix ADC Citrix ADC Citrix ADC Citrix ADC VPX Citrix ADC VPX
Key Notes:
• Customers historically always deployed HA Pairs when integrating with Citrix Virtual Apps and Desktops products.
• With release 10.1 and later, most of the important features are available in Cluster mode, and thus more and more customers have
been deploying Clusters.
• When deploying any type of High Availability, scale the individual Citrix ADC appliances so that they can handle the user load even in
the event that one appliance is down.
• nCore is a technology engineered to optimize next-generation Web applications and services in software by leveraging the
Additional Resources:
• High Availability: https://docs.citrix.com/en-us/netscaler/12-1/system/high-availability-introduction.html
• Clustering: https://docs.citrix.com/en-us/netscaler/12-1/clustering.html
• Azure Load Balancer overview: https://docs.microsoft.com/en-us/azure/load-balancer/load-balancer-overview
Key Notes:
• In order to identify whether the current Citrix ADC platform can meet the current environment’s requirements, the key resource
constraints must be identified. Since all remote access traffic will be secured using the transport security layer (TLS), transported by
Hypertext Transfer Protocol (HTTP) in the form of HTTPs, there are two resource metrics that should be targeted:
• TLS throughput – The TLS throughput is the gigabits of TLS traffic that may be processed per second (Gbps).
• TLS transactions per second (TPS) – The TPS metric identifies how many times per second an Application Delivery Controller (ADC)
may execute a TLS transaction. The capacity varies primarily by the key length required. While TPS is an important metric to
Redundancy
Delivery Controller
the controllers:
• Set up a second controller Hardware Layer
and join it to the Site of
the first Controller.
Network Wi-Fi Storage Processor Memory Graphics Hypervisor
• Direct dependent systems
(Studio, StoreFront, Citrix
Gateway, VDAs) to both
Controllers.
Key Notes:
• If the only Delivery Controller fails…
• Published resources cannot be enumerated on StoreFront
• No new sessions can be launched (existing sessions unaffected)
• No Power Management on VDA machines
• No management via Studio or PowerShell
• Director cannot be used
Additional Resources:
• Citrix VDI Handbook 7.15 LTSR (pg. 105): https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/citrix-vdi-best-
practices.html
• FAQ: Citrix Secure Gateway/ Citrix ADC Gateway Secure Ticket Authority (Scalability):
https://support.citrix.com/article/CTX101997#Q1_Scalability
• Delivery Controllers (7.15 LTSR): https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/manage-
deployment/delivery-controllers.html
• Delivery Controllers (Current Release): https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-
deployment/delivery-controllers.html
• The sizing equation is a baseline for estimating how many Delivery Controllers are needed in a Site
or Zone.
• Delivery Controller scalability is primarily based on CPU utilization.
• Local host cache considerations should play a part in sizing decisions.
• Use resource monitoring on the Delivery Controller(s) to track and validate scalability.
• 4 vCPU
• 4 GB RAM
+ 1 = Number of Delivery Controllers • Bonded virtual NIC
,
• 40 GB storage
Key Notes:
• The sizing equation is useful for making quick estimates as to the scalability of a Delivery Controller, but a few factors can affect how
an administrator might want to size the Controllers in their environment.
• Local host cache introduces new considerations that were not applicable to earlier versions of Citrix Virtual Apps and Desktops. In
a Site database outage scenario, any of the Delivery Controllers in a Site could be elected as the primary broker. This means that
all Delivery Controllers must be sized to provide an acceptable level of scalability in this scenario.
• Because local host cache uses a SQL Server Express LocalDB to store Site data, only a single CPU socket and up to four cores can
Additional Resources:
• Design methodology control layer – Delivery Controllers – Decision: Server Sizing: https://docs.citrix.com/en-us/xenapp-
and-xendesktop/7-15-ltsr/citrix-vdi-best-practices/design/design-userlayer4.html
• Local Host Cache:
• 7.15 LTSR: https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/manage-deployment/local-host-
cache.html
• Current Release: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/local-host-
cache.html
Key Notes:
• In a Citrix Cloud deployment, VDA machines are configured to communicate with the Citrix Cloud Connectors in place of Delivery
Controllers. Having redundant Connectors means that if one Connector fails (or is receiving an evergreen update), the VDA will re-
register with another, healthy Connector. If only a single Cloud Connector is deployed, then that resource location may experience
outages when the Cloud Connector is updated.
• The number of total Connectors that should be installed is (N+1), where N is the capacity needed to support the infrastructure within
your Citrix Cloud resource location.
• As a baseline, two Cloud Connectors with 4 vCPU and 4 GB RAM can support 5,000 VDAs and
20,000 sessions.
• This assumes that the Connectors are only used for VDA registration and session launch.
• If the Connectors are used for HDX proxy with the Citrix Gateway service, scalability drops
significantly.
• Some field tests showed that only 1,000 sessions per Connector were achieved in this scenario.
• With version 7 1811 and later, the Rendezvous protocol (enabled by default) allows VDAs to connect
directly with the Gateway service, restoring Connector scalability.
Key Notes:
• The baseline scalability test performed by Citrix only covers VDA registration and session launch, it does not include HDX proxy
through the Connector and it does not account for other services such as Citrix Endpoint Management using the same Connectors.
• A set of three 4 vCPU Cloud Connectors is recommended for sites that host no more than 5,000 Desktop OS VDAs.
• This is an N+1 High Availability configuration.
• Starting 20,000 sessions to 100 Server OS VDAs is 57% faster using customer-managed StoreFront compared to using Citrix-managed
StoreFront.
Key Notes:
• Using identical license servers incurs some downtime for detection of the failure and startup of the second server. Identical license
servers can be created utilizing cloning technology, snapshots and scripted installation.
• Identical Server might cause problems with the AD account of the “cloned” server. The first server might have changed the AD
computer account password in the meantime. Two machines claiming the same name or ID will cause a conflict and have to be
separated at all times. So, additional caution needs to be applied to ensure the failed machine does not try to resume its original
role.
Additional Resources:
• Clustered license servers: https://docs.citrix.com/en-us/licensing/current-release/clustered-license-servers.html
• Making the Citrix License Server (Truly) Highly Available: https://www.citrix.com/blogs/2015/02/12/making-the-citrix-
license-server-truly-highly-available/
• Improve performance by specifying thread use: https://docs.citrix.com/en-us/licensing/current-
release/manage/thread-use.html
Virtual Database
Controller Server
SQLServer-B Replica
on Node02 Database
• Microsoft SQL Server
offers several redundancy SQL Mirror
Key Notes:
• SQL Always On:
• Relies on Microsoft Failover Clustering components
• Does not requires shared storage (SAN)
• Allows for some performance improvement
• Uses up to four replica servers (SQL2012)
• Replica servers have been called mirror servers – some administrators might be more familiar with this term.
Additional Resources:
• Supported Databases for XenApp and XenDesktop Components: https://support.citrix.com/article/CTX114501
• Always On Availability Groups (SQL Server): https://docs.microsoft.com/en-us/sql/database-engine/availability-
groups/windows/always-on-availability-groups-sql-server?view=sql-server-2017
• Deprecated Database Engine Features in SQL Server 2016: https://docs.microsoft.com/en-us/sql/database-
engine/deprecated-database-engine-features-in-sql-server-2016?view=sql-server-2017
Key Notes:
• The SQL server must be sized correctly to ensure the performance and stability of an environment. Since every Citrix product uses
SQL server in a different way, no generic all-encompassing sizing recommendations exist, but are available on a product-by-product
basis.
• For Citrix Virtual Apps and Desktops environments not using MCS, the configuration logging database size tends to fall between 30
and 40MB. For MCS environments, database size can easily exceed 200MB due to the logging of all VM build data.
• In addition to the Site, Monitoring, and Configuration Logging databases, a system-wide temporary database (tempdb) is provided by
Additional Resources:
• Citrix VDI Handbook 7.15 LTSR (pgs. 94-100): https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/citrix-vdi-
best-practices.html
• XenDesktop 7.x Database Sizing: https://support.citrix.com/article/CTX139508
• How to Enable Read-Committed Snapshot in XenDesktop: https://support.citrix.com/article/CTX137161
Key Notes:
• From a redundancy point of view, if a Citrix Director server goes offline, administrators will lose the ability to monitor the Site, but
end user sessions will not be affected. Configuring Citrix Director on multiple servers will mitigate this issue if high-availability is
desired for monitoring.
• A load balancer such as Citrix ADC can be used to distribute the load between multiple Director servers.
• During initial installation, only one Controller per Site should be entered. Director automatically discovers all other Controllers in
the same Site and falls back to those other Controllers if the configured Controller fails. Director does not load balance between
Additional Resources:
• Citrix Director – Advanced configuration: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/director/install-and-
configure/advanced-configuration.html
Key Notes:
• From a redundancy point of view, if a Citrix Director server goes offline, administrators will lose the ability to monitor the Site, but
end user sessions will not be affected. Configuring Citrix Director on multiple servers will mitigate this issue if high-availability is
desired for monitoring.
• A load balancer such as Citrix ADC can be used to distribute the load between multiple Director servers.
• During initial installation, only one Controller per Site should be entered. Director automatically discovers all other Controllers in
the same Site and falls back to those other Controllers if the configured Controller fails. Director does not load balance between
Additional Resources:
• Citrix Director – Advanced configuration: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/director/install-and-
configure/advanced-configuration.html
Key Notes:
• There is no singular “leading practice” for the redundancy of machines hosting HDX sessions – each organization must make its own
tradeoff between cost and increased availability.
• For example, non-production and lab environments may be located on a single host, or even a single VM with a nested hypervisor.
On the other hand, critical production workloads may be hosted in multiple datacenters to provide the highest level of redundancy
possible.
• Work to learn the business requirements of the end user groups, in terms of application and/or desktop criticality, availability
Key Notes:
• Even when a Citrix environment goes through a formal design and is sized based on capacity requirements, once the environment is
in production, regular capacity assessments with help plan for future growth as more users access the environment.
• A baseline of the environment performance should be taken so that it can be compared against performance over time. For example,
if a user complains of poor performance, this baseline can be used for comparison purposes to identify if the issues are related to
the user load exceeding the capacity of the environment.
• An example of baseline performance metrics for capacity management would include historical data for CPU, Memory, and
Key Notes:
• In order to enhance performance and increase scalability, Citrix administrators can use tools such as the Citrix Optimizer and Citrix
Workspace Environment Management (WEM).
• The Citrix Optimizer is a utility to optimize the performance of operating systems in virtualized environments. The tool is PowerShell
based, but also includes a graphical UI.
• Citrix Optimizer can run in three different modes:
• Analyze – analyze the current system against a specified template, and display any differences.
Additional Resources:
• Citrix Optimizer: https://support.citrix.com/article/CTX224676
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
Citrix Gateway
External Users Firewall Cloud Connectors
Hardware Layer
Optional
on-premises or Citrix
Cloud managed. Network Storage Processor Memory Graphics
Key Notes:
• In a Citrix Cloud environment, certain components are managed by Citrix. However, other components must continue to be managed
by the organization that owns the Virtual Delivery Agent machines, and so redundancy/scalability considerations still apply. These
include:
• StoreFront (if hosted on-premises)
• Citrix ADC/Gateway (if hosted on-premises)
• Citrix Cloud Connector
• VDA machines
83 © 2020 Citrix Authorized Content
Citrix Virtual Apps and Desktops 7
Advanced Deployment, Troubleshooting,
Security and Administration
Manage a Virtual Apps and Desktops
Environment with Multiple Locations
Module 2
• Zones is a mechanism that allow for deployment of a single Citrix Virtual Apps and Desktops Site
across multiple geographically disbursed datacenters.
• A Site will always contain a Primary Zone and optionally a number of Satellite Zones.
• The Primary Zone must contain at least one Delivery Controller and the Site database.
• A Satellite Zone can contain VDAs (Catalogs and Delivery Groups), Delivery Controllers, StoreFront
servers, Citrix Gateway servers and Hypervisor connections.
Key Notes:
• A Site always has one Primary Zone. It can also optionally have one or more Satellite Zones. Satellite Zones can be used for disaster
recovery, geographically-distant datacenters, branch offices, a cloud, or an availability Zone in a cloud.
• Primary Zone:
• The Primary Zone has the default name "Primary," which contains the SQL Server Site database (and high availability SQL servers,
if used), Studio, Director, Citrix StoreFront, Citrix License Server, and Citrix Gateway. The Site database should always be in the
Primary Zone.
Additional Resources:
• Citrix XenApp and XenDesktop 19.12 LTSR Citrix Docs Zones: https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/1912-ltsr/manage-deployment/zones.html
• Citrix Virtual Apps and Desktops Current Release Zones: https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/manage-deployment/zones.html
Key Notes:
• Although Option 1 does not include the deployment of Zones, as of Citrix Virtual Apps and Desktops version 7.7, each site
deployment automatically creates a zone and puts all infrastructure and resources into this zone.
Additional Resources:
• Citrix XenApp and XenDesktop 19.12 LTSR Citrix Docs Zones: https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/1912-ltsr/manage-deployment/zones.html
89 © 2020 Citrix Authorized Content
• Citrix Virtual Apps and Desktops Current Release Zones: https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/manage-deployment/zones.html
Key Notes:
• From version 7.7 we can now span a single Citrix Virtual Apps and Desktops Site across multiple datacenters and geographical
locations.
• The Site database should always be in the Primary Zone.
• For optimal performance, install Studio and Director only in the Primary Zone.
• While it is possible to have Satellite Zones without any controllers, it is recommended to configure at least one controller for each
Satellite Zone to ensure fast and reliable VDA registration, and to ensure registration during WAN outages.
SQL
Delivery Controller
• Every site has one Resources
Additional Resources:
• Citrix XenApp and XenDesktop 19.12 LTSR Citrix Docs Zones: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/1912-
ltsr/manage-deployment/zones.html
• Citrix Virtual Apps and Desktops Current Release Zones: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-
deployment/zones.html
SQL
Delivery Controller
Resources
• Every site may have one
or more satellite zones. Studio
Director
• Required Components: Desktops Apps
• One or more VDAs *
• One or more Machine
catalogs Zone 2 Satellite Zone 3 Satellite
• One or more Connectors San Francisco (SFO) Miami (MIA)
if using Citrix Cloud
• Optional Components:
• Delivery Controller Machine Catalog
• Citrix Gateway
• StoreFront Delivery Controller Machine Catalog
• Host connections Resources Resources
Key Notes:
• A Satellite Zone will provide no value unless it contains resources, we need to define at least VDA’s and Machine Catalogs on the
Zone level.
• A new registry setting has been added for the Controller, which can throttle concurrent end-user launches.
• HKLM\Software\Citrix\DesktopServer\ThrottledRequestAddressMaxConcurrentTransactions.
• In some test situations, high latencies between satellite zones and the database in the primary zone, coupled with a relatively
high rate of app and desktop connection launches by end users using a Controller in the satellite zone, could cause new launches
experiencing long delays because of a backlog of earlier launches.
94 © 2020 Citrix Authorized Content
Reason to Create Zones
Key Notes:
• There is no real limitation on how many VDAs can run per zone; it could only be limited based on the storage and resource
limitations of the host hypervisor platform.
Key Notes:
• Zones in Cloud Studio are bonded with resource locations. Using Zones you can map Cloud Connectors, Machine Catalogs, Host
Connections, Users and Application groups to a particular Resource Location.
• In a Citrix Virtual Apps and Desktops Services Site there is no Primary Zone because the Database and Delivery Controllers reside in
Citrix Cloud and not inside the resource location.
• For each resource location created in the Cloud Control Plane, a corresponding Zone is created inside Cloud Studio.
• When a hypervisor connection is placed in a zone, it is assumed that all the hypervisors managed through that connection also reside
Additional Resources:
• Zones in Citrix Cloud: https://docs.citrix.com/en-us/xenapp-and-xendesktop/service/manage-deployment/zones.html
• Citrix Virtual Apps and Desktops Current Release Zones: https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/manage-deployment/zones.html
Key Notes:
• The auto update setting allows VDAs to receive an updated list of available Delivery Controllers every 90 minutes.
• This allows Delivery Controllers to be added or removed from the Site without any additional configuration on the VDAs.
• This setting is controlled via Citrix Policy, and is enabled by default.
• The following types of deployments cannot use auto-update, and must self-manage:
• Deployments that use Controller groups.
• Deployments that use ListOfSIDs for security reasons. (Deployments that use ListOfSIDs to decrease the Active Directory load can
Additional Resources:
• Citrix XenApp and XenDesktop 19.12 LTSR Delivery Controllers: https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/1912-ltsr/manage-deployment/delivery-controllers.html
• Citrix Virtual Apps and Desktops Current Release: Delivery Controllers: https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/manage-deployment/delivery-controllers.html
(4) (8)
Site Database
5ey Notes:
• Registration Process Steps:
1. Check if Auto-update of DDCs is enabled. If so, gather list of all available controllers.
2. Check registry entry for ListOfDDCs (manually or GPO populated)
3. Validate each DDC found in AD by DNS entry
4. Obtain a Kerberos ticket from AD for each controller found to allow for communication
5. Make a call for “Registration”
(4) (8)
confirmed by both VDA and controller for hard (1) & (2)
registration to be successful.
(6)
Site Database
Key Notes:
• Registration Process Steps:
1. Check if Auto-update of DDCs is enabled. If so, gather list of all available controllers.
2. Check registry entry for ListOfDDCs (manually or GPO populated)
3. Validate each DDC found in AD by DNS entry
4. Obtain a Kerberos ticket from AD for each controller found to allow for communication
5. Make a call for “Registration”
SQL SQL
Additional Resources:
• Zones - Where VDAs register: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-deployment/zones.html
• VDA registration: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/vda-registration.html
Key Notes:
• In this example, the VDA is able to register with the final Delivery Controller in the Primary Zone.
• If the Satellite Zone VDA ends up registering with a Primary Zone Delivery Controller, the VDA stays registered in the Primary Zone,
even if a Controller in Satellite Zone becomes available again.
• If an administrator wants to later return the VDA back to their original Satellite zone it will require a manual restart of the VDA, or its
Citrix Desktop Service (BrokerAgent.exe), which will force a new registration logic from scratch. Essentially, any action that triggers
Additional Resources:
• Zones: Where VDAs register and where Controllers fail over: https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/manage-deployment/zones.html
Key Notes:
• An Administrator may want to move specific Machine Catalogs to a different zone for a number of reasons:
• To move machines to a host connection located in another area.
• To manage VDA registration to Delivery Controllers located in a zone where the respective users are also located.
• To follow specific Disaster Recovery standards.
• To ease overall Site resource organization and administration.
• You can move a catalog from one zone to another using Citrix Studio.
Additional References:
• Move a machine catalog to a different zone (1912 LTSR): https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/1912-ltsr/install-configure/machine-catalogs-manage.html#par_anchortitle_ee79
• Move items from one zone to another zone (Current Release): https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/manage-deployment/zones.html
Key Notes:
• To be operational a VDA must register with a Controller on the Site. The VDA discovers a Controller by checking a list of Controllers
called the ListofDDCs. The ListOfDDCs comprises of one or more DNS entries or IP addresses that point to Controllers on the Site.
• For load balancing purposes, the VDA automatically distributes connections across all Controllers in the list.
• ListOfSIDs indicates which machine Security IDs (SIDs) the VDA allows to contact it as a Controller.
• The ListOfSIDs is used to decrease the load on Active Directory, or to avoid security threats from a compromised DNS server.
• To keep the lists current, you can:
Additional References:
• Delivery Controllers: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/manage-deployment/delivery-
controllers.html
• Zone Preference provides for more flexibility in controlling which VDA is to be used when launching
an application or desktop in a multi-zone Site.
• An Administrator can better manage how a broker selects a preferred launch zone when a user
session is initialized.
• The Application Home • The User Home option • The User Location option
option of Zone of Zone Preference will of Zone Preference will
Preference will result in result in the broker result in the broker
the broker selecting the selecting the launch selecting the launch zone
launch zone where the zone where the user’s where the user
application is configured home data is located is currently located.
and its data stored. (such as profile share).
• Wherever the user's
Citrix Workspace app is
running will be identified
and chosen as the launch
© 2020 Citrix Authorized Content
zone for that session.
Key Notes:
• There are three forms of Zone Preference that can be used.
• The default priority order for selecting the preferred zone is:
• Application Home
• User Home
• User Location
• This option will prevent • This option will prevent a • If you do not specify a
a session from being session from being home zone for an
launched in an alternate launched in an alternate application, you can also
zone if the users session zone if an applications indicate that any
cannot be launched in home zone is not configured user zones
their Home zone. available. should not be considered
when launching that
application.
Key Notes:
• Zone Preference provides the three options with the ability to further restrict how user and application Home zones are handled for
launch requests. These three options are:
• Mandatory User Home
• Mandatory application home zone
• No application home zone, and ignore configured user home zone
Key Notes:
• Zone Preference usually takes precedence over Session Sharing.
• These 5 Order of Preference steps are the default setup and behavior; there is no need to perform any pre-configuration.
• EXAMPLE SCENARIOS:
• Connect to an existing session in the Preferred Zone: (1 Primary Zone, and 2 Satellite Zones)
1. App Home has been configured for a requested resource in the Primary Zone.
Additional Resources:
• Zone Preference (Order of Preference): https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/manage-
deployment/zones.html
Application Home
User Home
User Location
• StoreFront automatically
identifies the Citrix (SITE) New York San Francisco (SITE)
Gateway used to make a
launch request. HTTP(S)
Citrix Citrix
Gateway Gateway
• By default, HDX
connections pass through
the Citrix Gateway that HDX traffic passing
over inter-datacenter
made the launch request link
Key Notes:
• For Example: If your desktop is in New York, but you are traveling near San Francisco, then S. F. can perform the enumeration.
• However, the ICA file will be re-written to go back to the correct data center.
• This standard routing has existed for a while, but this is the first time we have presented it in the console.
• With standard routing, the HTTPS and HDX traffic will all go through the same Citrix Gateway.
• The one that was used for the initial connection, even when the desktop and apps are in a different datacenter.
Key Notes:
• Pre-StoreFront 3.5 you could configure HDX Optimized Routing for Farms/Sites as this slide suggests.
• Since StoreFront 3.5 , the feature of also individual mapping to Delivery Controllers located in defined zones is available.
Additional Resources:
• Source: https://docs.citrix.com/en-us/storefront/current-release.html
• StoreFront high availability and multi-site configuration: https://docs.citrix.com/en-us/storefront/current-release/plan/high-
availability-and-multi-site-configuration.html
124 © 2020 Citrix Authorized Content
Optimal Gateway Routing Configuration
1
Key Notes:
• The Optimal Gateway feature lets you override the Citrix Gateway used for ICA connections
• Configure StoreFront to associate Citrix Gateway instances with zones (HDX Optimal Routing).
• Workspace App will attempt to use the preferred Citrix Gateway for the zone hosting the resource.
Additional Resources:
• StoreFront high availability and multi-site configuration: https://docs.citrix.com/en-us/storefront/current-release/plan/high-
availability-and-multi-site-configuration.htm
125 © 2020 Citrix Authorized Content
StoreFront NYC Site
Resource
Aggregation Receiver for Aggregation
Outlook
web Group
NYC-XDC
• Identical desktop or
Outlook SFO Site
application resources
from different Site
deployments are Outlook
Outlook
MIA XDC
Key Notes:
• When a user starts an aggregated resource, StoreFront determines the most appropriate instance of that resource for the user on
the basis of server availability.
• StoreFront will dynamically monitors the servers that fail to respond to requests on the basis that such servers are either overloaded
or temporarily unavailable. Users are then directed to resource instances on other servers until communications are re-established.
• After checking for availability and existing user sessions, StoreFront uses the ordering specified in your configuration to determine
the deployment to which the user is connected.
Additional Resources:
• StoreFront Multi-Site Settings Part 2: https://www.citrix.com/blogs/2016/09/07/storefront-multi-site-settings-part-2/
Key Notes:
• Many of these settings have been moved into the console (as of 3.5) from where they were previously located in the web.config file.
Additionally, a new setting was added for load balance non-identical sites (as of 3.6),
• The resource aggregation settings available in the console are accessible through the Manage Delivery Controllers option in the
Action pane of the Store. If you define more than two farms/sites, the “Configure” option at the bottom of the window will
automatically become enabled.
• If choose to “Configure,” you will see a window prompting you to configure user farm mapping and/or resource aggregation. Here
Additional Resources:
• StoreFront high availability and multi-site configuration: https://docs.citrix.com/en-us/storefront/current-
release/plan/high-availability-and-multi-site-configuration.html
• StoreFront Multi-Site Settings Part 2: https://www.citrix.com/blogs/2016/09/07/storefront-multi-site-settings-part-2/
Key Notes:
• If you enable Optimal Gateway Routing using PowerShell, the changes will automatically appear in the StoreFront Console as well.
• If you have a Server Group set with multiple StoreFront servers, enabling Optimal Gateway Routing must be propagated manually
across the Server Group.
• Optimal Gateway Routing can only be enabled via the StoreFront console, or PowerShell.
StoreFront-A
Key Notes:
• Subscription Store is stored in C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\Citrix\SubscriptionsStore\<Store
Name>\PersistentDictionary.edb folder.
• The Subscription Store contains user Favorites and the Site name in the metadata.
• The subscription consists of a string that includes:
• User SID
• Site/Farm name (as defined in the StoreFront store)
Additional Resources:
• What Subscriptions and Server Groups Mean for StoreFront Designs: https://www.citrix.com/blogs/2014/10/10/what-
subscriptions-and-server-groups-mean-for-storefront-designs/
web.config
( StoreFront-A ) StoreFront-A StoreFront-B
(Internal Store) (External Store) (Internal Store) (External Store)
• Within a StoreFront
deployment,
Internal External External
Subscriptions can be Subscription-A Subscription-B
Internal
Subscription-A Subscription-B
configured to be shared
between Stores within the
Now the two stores are Server Group 1
same server group. pointing to the same
Subscription data
Key Notes:
• Sharing subscriptions between Stores:
• By default, StoreFront creates a single datastore for each store. Each subscription datastore is updated independently from each
other store.
• Subscriptions can be shared between Stores within the same server group.
• In a default scenario involving two stores and their corresponding subscription datastores, a user must subscribe to the same
resource twice. However, configuring the two stores to share a common subscription database improves and simplifies the
Additional Resources:
• Configure two StoreFront stores to share a common subscription datastore : https://docs.citrix.com/en-
us/storefront/current-release/configure-manage-stores/configure-two-stores-share-datastore.html
• Citrix VDI Handbook 7.15 LTSR (pgs. 50-51): https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/citrix-vdi-
best-practices.html
• How to Export and Import StoreFront Subscription Database: https://support.citrix.com/article/CTX139343
Store Store
12 AM
3 AM Server Group 3 Miami (EST)
(EST)
StoreFront-A StoreFront-B
Store
© 2020 Citrix Authorized Content
• PowerShell is used to execute periodic pull synchronization of subscriptions from stores in different
StoreFront deployments.
• A specific sequence of commands are run via PowerShell to configure and execute this periodic
pull synchronization
Key Notes:
PowerShell Configuration for Periodic Synchronization:
• It is important to recognize the amount of data contained within each locations Store, as this may cause the synchronization time to
vary when the Subscription schedule is initialized.
• When configuring a periodic pull synchronization, it is important to remember that the StoreFront and PowerShell consoles cannot
be open at the same time. So, when you are using the PowerShell windows to execute the synchronization, always close the
StoreFront admin console prior.
Additional Resources:
• Set up highly available multi-site stores: https://docs.citrix.com/en-us/storefront/current-release/set-up-highly-
available-multi-site-stores.html
Key Notes:
• If you enable Optimal Gateway Routing using PowerShell, the changes will automatically appear in the StoreFront Console as well.
• If you have a Server Group set with multiple StoreFront servers, enabling Optimal Gateway Routing must be propagated manually
across the Server Group.
• Optimal Gateway Routing can only be enabled via the StoreFront console, or PowerShell.
Module 3
• Ideal for issues that only affect a small • Typically used for a limited number of
portion of hardware in the datacenter. backups that require additional protection in
the event of a disaster.
• Cold storage solutions like tape can also be
used.
Key Notes:
• The location of backups directly effects the recovery time and reliability of the Citrix environment. There are two categories of
backups that can be used:
• Onsite Backups
• These backups can be located on storage devices or tapes that are kept at the datacenter location. They allow for a quicker
recovery, but have less resilience in the event of a disaster that impacts the entire datacenter.
• While cold storage solutions such as tape are slower to recover from, they provides additional protection since they are only
Additional Resources:
• Citrix VDI Best Practices for XenApp and XenDesktop 7.15 LTSR – Monitor: https://docs.citrix.com/en-us/xenapp-and-
xendesktop/7-15-ltsr/citrix-vdi-best-practices/monitor.html
backup.zip backup.zip
StoreFront StoreFront
Key Notes:
• StoreFront configuration exports can include both single server deployments and server group configurations.
• If an existing deployment is already present on the importing server, the current configuration is erased and then replaced by the
configuration contained within the backup archive.
• If the target server is a clean factory default installation, a new deployment is created using the imported configuration stored
within the backup.
• The exported configuration backup is in the form of a single .zip archive if unencrypted, or a .ctxzip if you choose to encrypt the
Additional Resources:
• Export and import the StoreFront configuration: https://docs.citrix.com/en-us/storefront/current-release/export-
import-storefront-config.html
Key Notes:
• In a traditional on-premises deployment, data could be kept on local endpoints (or VMs), stored in an enterprise shared storage
solution, or placed into a third-party cloud service (options presented above).
• Each has it pros and cons, but most medium to large enterprises will choose option 2 or 3 in order to have more control over how
data is accessed and used, as well as to lower the risk of unrecoverable data in the event of an outage.
• Some options for enterprise storage solutions include:
• Single File Server – have a single server or IaaS VM (if using a public cloud) to host Windows File Services
Additional Resources:
• Citrix VDI Best Practices for XenApp and XenDesktop 7.15 LTSR – Design methodology resource layer – Decision: Data
Recovery: https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/citrix-vdi-best-practices/design/design-
userlayer3.html
1. Application is identified for inclusion in 2. Citrix and app team determine backup 3. Application backup configuration occurs during
environment. requirements and responsibilities. onboarding activities.
Citrix Virtual
Apps and Desktops
Key Notes:
• It is critical to identify the applications that we aare willing to backup. It might be possible that initially we had 10 applications in our
Citrix Virtual Apps and Desktop environment.
• Now, only 8 applications are active. This step definitely saves time and effort.
• Each application will have its own backup options and requirements. As a result, backup requirements should be determined during
the intake process for a new application to the Citrix Virtual Apps and Desktops Site.
• Otherwise, there is an increased chance of miscommunication or incorrect assumptions about who is responsible for maintaining
application data backups, and what level of backups are expected.
153 © 2020 Citrix Authorized Content
Master Image Backups
Backup considerations for image management
Platform
Layer
Virtual Machine
Master
Master Image OS Layer
Machine vDisk
Differencing
Identity Disk vDisk Store Virtual Machine
Disk
• Backup approach and • vDisks should receive the • Implement backup plan for
difficulty will differ based highest level of backup the layered images
on whether thin clones or available.
full clones are used. • Elastic and user layers
should be backed up
• Consider backing up according to use case
master VMs/templates criticality.
© 2020 Citrix Authorized Content
Key Notes:
• Multiple Citrix products rely on a Citrix database to store session or configuration information. Examples include Citrix Virtual Apps
and Desktops, Citrix Provisioning, Citrix Workspace Environment Management, Citrix AppDNA, and Citrix Session Recording.
• Some level of backup and recovery is recommended for all of the Citrix product databases. The recovery model and backup
level/frequency will depend on the organization’s requirements. Backup is an additional step to the existing SQL solution like Always
On, Mirror and Cluster.
• SQL database recovery models apply to the transaction log file, which contains a record of all transactions and database
Additional Resources:
• Citrix VDI Best Practices for XenApp and XenDesktop 7.15 LTSR – Design methodology control layer – Decision: Cloning
Type: https://docs.citrix.com/en-us/xenapp-and-xendesktop/7-15-ltsr/citrix-vdi-best-practices/design/design-
userlayer4.html
• Recovery Models (SQL Server): https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/recovery-
models-sql-server?view=sql-server-2017
• Backup Overview (SQL Server): https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/backup-
overview-sql-server?view=sql-server-2017
Additional Resources:
• License files: https://docs.citrix.com/en-us/licensing/current-release/license-files.html
• Each hypervisor vendor will have specific methods to back up critical data that will enable the
hypervisor environment to be restored in the event of a disaster.
• As an example, the following types of data should be backed up for a Citrix Hypervisor deployment to
recover from possible server and software failure.
• Hosts use a database to store • These backups refer to • Consists of backing up the
metadata about VMs and hypervisor server control virtual machine disk files.
associated resources. domain backup and restore • Can be treated similarly to other
procedures.
• The process to back up and file backups; Citrix
restore VM metadata will very • Does not include storage recommends using a Citrix
based on whether a single-host repositories; only the privileged Ready-certified 3rd party
deployment or pooled control domain that runs Xen solution.
deployment is used. and Citrix Hypervisor agent.
Key Notes:
• Whenever possible, leave the installed state of Citrix Hypervisor servers unaltered. That is, do not install any additional packages or
start additional services on Citrix Hypervisor servers and treat them as appliances.
• The best way to restore, then, is to reinstall Citrix Hypervisor server software from the installation media. If you have multiple
Citrix Hypervisor servers, the best approach is to configure a TFTP server and appropriate answer files for this purpose.
• VM Metadata Backup
• To back up a single-host deployment, CLI commands run on the host can backup the database into a backup file, as well as
Additional Resources:
• Back up and restore hosts and VMs: https://docs.citrix.com/en-us/citrix-hypervisor/dr/backup.html
• Citrix Ready Marketplace (Backup Providers): https://citrixready.citrix.com/category-results.html?
search=backup&_ga=2.239675978.810872846.1559518441-98755839.1533921585
Key Notes:
• These questions are examples of typical assessment questions that can be used to determine the disaster recovery considerations
for a deployment design. These questions are dependent on key design plans already in place.
• For Example: Which Citrix components must be recoverable?
• To answer this, we must have already defined in the design the type and quantity of each component, defined by layers and
attributes. Moving forward, we then address, in the event of a failure, which components are identified as mission critical and
must be recovered, or are all components critical to the design.
Additional Resources:
• XenDesktop, GSLB & DR – Everything you think you know is probably wrong!:
https://www.citrix.com/blogs/2014/03/29/xendesktop-gslb-dr-everything-you-think-you-know-is-probably-wrong/
Key Notes:
• When creating an action plan, access for users must be determined in the event of an outage and potential site failover.
• Same URL vs. separate URL
• Consider if there is at least one StoreFront server in each resource location, and how many stores were built for the same set of
users.
• Will users connect to one Store during normal operations, and to an alternate Store during a DR event?
• Automatic failover vs manual failover
Key Notes:
• In a deployment with active/active datacenters, it is important to focus on how the user data is handled. An Active/active design is
relatively simple as long as users do not have any personalization requirements, do not need to retain application settings, and do
not need to create documents or other persistent data.
• In practice, most use cases will require at least some of these items. However, active/active replication for profile data is not
supported by Microsoft (specifically, with their DFS-R solution) or Citrix (regarding Citrix Profile Management when using DFS for
replication).
Additional Resources:
• XenDesktop, GSLB & DR – Everything you think you know is probably wrong!:
https://www.citrix.com/blogs/2014/03/29/xendesktop-gslb-dr-everything-you-think-you-know-is-probably-wrong/
• Multiple folder targets and replication (with Citrix Profile Management): https://docs.citrix.com/en-us/profile-
management/current-release/plan/high-availability-disaster-recovery-scenario-2.html
• Disaster recovery (for Citrix Profile Management): https://docs.citrix.com/en-us/profile-management/current-
release/plan/high-availability-disaster-recovery-scenario-3.html
Key Notes:
• Remember, for Citrix Cloud customers, the Control Layer is redundant and hosted in Citrix Cloud.
• This includes the Delivery Controller(s), the Site database, the Studio management console and optionally other services, such
as Citrix Gateway and StoreFront (aka Citrix Workspace).
• The Disaster Recovery plan for customers subscribed to apps and/or desktops in Citrix Cloud only includes the components not
within Citrix Cloud, such as the Server OS or Desktop OS machines running the VDA and the possible on-premises Citrix ADC or
StoreFront servers.
Additional Resources:
• Scale and size considerations for Local Host Cache: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-
service/install-configure/install-cloud-connector/local-host-scale-and-size.html
• Service Level Agreement: https://docs.citrix.com/en-us/citrix-cloud/overview/service-level-agreement.html
Key Notes:
• The steps in the diagram apply to a scenario where there is a primary, active datacenter and Citrix Virtual Apps and Desktops Site
that is normally used, and a passive DR datacenter with an backup Citrix Virtual Apps and Desktops Site that is only accessed when
the primary Site is unavailable or impaired.
• This scenario also assumes that there is application and user profile data that must be replicated from the primary to the DR
datacenter so that users can have the full functionality needed there. Many of the steps are in place to ensure that data
replication can occur successfully without synchronization issues or lost data.
Additional Resources:
• XenDesktop, GSLB & DR – Everything you think you know is probably wrong!:
https://www.citrix.com/blogs/2014/03/29/xendesktop-gslb-dr-everything-you-think-you-know-is-probably-wrong/
Terminate Enable
Determine Complete Resume
Block Access Existing
stability in Replication Replication Access in
to DR Sessions in
Primary to Primary to DR Primary
Datacenter DR
Datacenter Datacenter Datacenter Datacenter
Datacenter
Key Notes:
• Returning to normal operations involves the same steps as failing over to the backup datacenter, in reverse.
• Determine stability in the Primary Datacenter
• Perform infrastructure and functional testing to confirm that core functionality has returned. The process should be similar to
what is performed when the production environment was initially built.
• A key difference between this and the initial failover process is that there is more time to perform the process, assuming that the
backup environment is performing as expected. Different use cases or user groups can be “onboarded” back to the primary
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
Module 4
Passwords Tokens
Static PINs Phones
Smart Cards
Additional Resources:
• It’s Me, and Here’s My Proof: Why Identity and Authentication Must Remain Distinct: https://docs.microsoft.com/en-
us/previous-versions/tn-archive/cc512578(v=technet.10)
ABC123
Key Notes:
• One time passwords are typically contain in OTP tokens, and fulfill the “what you have” authentication factor.
• OTP tokens can be physical or virtual. Many different brands and types from various vendors exists (eg. RSA SecureID, Symantec
VIP, HID ActivID).
• How do these tokens usually work?
• No network connectivity required
• The token device (or soft token) has a secret unique “seed record” that exists both on the device (or software) and on the backend
Key Notes:
• RADIUS is the protocol that allows different third parties to authenticate using OTP systems.
• An authenticating system “speaks” RADIUS to an OTP vendor server to pass along token information entered by the user.
• The OTP system returns pass\fail conditions over RADIUS back to the authenticating entity.
Key Notes:
• Remember that all the standard Windows OS authentication still happens on the backend.
• The Citrix Virtual Apps and Desktops backend passes the user\password into the session just like in an explicit authentication
scenario.
• When configuring multi-factor authentication, the order in which the factors are authenticated can provide additional protection
against DDoS attacks.
• In this example, if LDAP is the first factor, an external DDoS attack could target the Domain Controllers, even though the attackers
• Supported natively
through StoreFront with
IIS
• Requires TLS
Factor #1
• Cert. trust must fully be in
place
• StoreFront auto-
John Doe
1 2 3 4
configures IIS SSL
configs (can be tested)
• Bimodal authentication Factor #2
available in StoreFront USA
• Middleware may be
needed on client and
VDA machine
• ActivClient, SafeNet
(Gemalto)
Key Notes:
• How do smart cards provide multi-factor authentication?
• Identification: User certificate
• Authentication factor #1: PIN
• Authentication factor #2: Proof of private key (digital signatures and public key decryption)
• Smart cards rely on certificates and their associated public and private keys
• PKI provides a system of encryption and identity verification.
Smart Card Removal Smart Cards and WAN Smart Card Updates on
Behavior Network Virtual Apps and Desktops
• When user removes their • Smart cards were never • PIV smart card
smart card from the PC or meant to operate over a authentication support
attached reader, one of WAN, and thus are highly has been added for
the following occurs based sensitive to latency. Director access.
on the “Smart card
removal behavior” GPO • Because certificates have • Fast smart card feature
setting: to be exchanged over the that improves
wire, logon times can performance in high-
– Workstation is locked
increase significantly latency WAN scenarios.
– Session is disconnected (for remote when default settings are
sessions)
used.
– User is logged off
– No action (session stays active)
Key Notes:
• Starting in XenApp and XenDesktop 7.17, apart from the form based and Integrated Windows authentication of users, Director now
supports Personal Identity Verification (PIV) based smart card authentication.
• This feature is useful for organizations and government agencies that use smart card based authentication for access control.
• Starting in XenApp and XenDesktop 7.18, support for the fast smart card feature addresses high-latency WAN scenarios.
• Fast smart card is enabled by default on the hosts that are running Windows Server 2012, Window Server 2016, or a minimum of
Windows 10.
Additional Resources:
• Smart cards: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/1912-ltsr/secure/smart-cards.html
• Configure PIV smart card authentication (for Director): https://docs.citrix.com/en-us/citrix-virtual-apps-
desktops/director/install-and-configure/configure-smart-card.html
• Typically a user authenticating into a Citrix Virtual Apps and Desktops published resource with a
smart card will receive one or more PIN prompts:
• PIN prompt at IIS\Citrix Gateway during authentication unless cached (or using Kerberos)
• PIN prompt at Citrix Gateway during resource launch if set for “Client Cert:Required”
• Non-domain joined Citrix Workspace app must enter PIN again at Windows (no SSOn)
• Domain-joined Citrix Workspace app with SSOn configured may not require third PIN
Key Notes:
• A Smart Card PIN can be cached for middle-ware such as ActivClient, which will automatically respond to the prompt for PIN. Or if
Kerberos is configured for Citrix Workspace app or Citrix Workspace for web, then a Kerberos ticket can be used to authenticate to
StoreFront.
• If Citrix Gateway is set for requiring a client cert, then we will prompt again on application launch through a Gateway.
• If Single Sign-On is not configured (so that the PIN is captured by the winlogon component), then a user will receive a PIN prompt at
the Windows OS level. To prevent this, the SSOn configuration must be in place and the user must be logging on to a machine with
the same Smart Card they wish to logon to Citrix Virtual Apps and Desktops with.
198 © 2020 Citrix Authorized Content
199 © 2020 Citrix Authorized Content
Smart Card Authentication Flow
Domain-joined machine with Citrix Virtual Apps and Desktops
1
Endpoint
Domain Controller
StoreFront FMA
SSONSVR.exe 2
4
Virtual Delivery Agent
3
Web Browser 5 13
Winlogon
9 8 7
6 11
Desktop Toolbar VDA
12 14
Backend Services
ICA Client Engine
10
Key Notes:
• Similar to a user\password authentication flow except we cannot cache the PIN on the backend. For SSOn we rely on our client
processes to grab the PIN and present it inside the HDX session on logon.
• Another option for authentication to IIS would be IWA (Kerberos) instead of PIN.
• The process runs as follows:
1. The user’s smart card logs into the endpoint. Winlogon validates the PIN and accepts the smart card certificate. Winlogon
authenticates against the domain controller and requests the TGT. The domain controller checks the certificate validity (this is
4
2
Citrix Gateway + 1 3
Smart Card Authentication NetScaler
6 5
Key Notes:
1. User sends PIN and Smart Card certificate to Citrix Gateway.
2. Citrix ADC pulls AD attributes from the certificate and performs LDAP translation to obtain the sAMAccountName or UPN.
• As a secondary authentication mechanism, LDAP can be used to translate to sAMAccountName or UPN from any AD attribute on
the certificate. The translation step is not necessary if the cert has sAMAccountName or UPN as one of its attributes.
3. Citrix ADC passes the sAMAccountName or UPN to StoreFront. StoreFront uses the callback URL to validate that the request is valid.
4. StoreFront requests the endpoint machine SIDs from the domain controller and forwards them to the Delivery Controller. At this
Site App
Password Password
Key Notes:
• The Goal - SSO everywhere
• The web is full of interactive applications that users can visit by simply clicking a hyperlink. Once they do, they expect to see the
page they want, possibly with a brief stop along the way to log on.
• Users also expect websites to manage their logon sessions, although most of them wouldn't phrase it that way. They would just
say that they don't want to retype their password over and over again as they use any of their company's web applications.
• For claims to flourish on the web, it's critical that they support this simple user experience, which is known as single sign-on.
Claim Security Token Issuer (e.g. ADFS, Okta, Relying Party (e.g.
• A statement that one • A bundle of claims that is and Ping) ShareFile)
subject makes about itself digitally signed by the issuer • A trusted authority that • The claims-based
or another subject. who created it issues claims & tokens application that trusts the
• E.g. username, email • Typically responsible for issuer to provide
address, group authenticating the user identity/authentication
membership, privilege level,
surname.
Additional Resources:
• An introduction to claims: https://msdn.microsoft.com/en-us/library/ff359101.aspx
Key Notes:
• A very familiar analogy is the authentication protocol you follow each time you visit an airport. You can't simply walk up to the gate
and present your passport or driver's license.
• Instead, you must first go through a security checkpoint. Here, you present whatever credential makes sense.
• If you're going overseas, you show your passport. For domestic flights, you present your driver's license.
• After verifying that your picture ID matches your face (authentication), the agent checks your boarding pass to verify that you've
paid for a ticket (authorization). Assuming all is in order, you are allowed to proceed to the terminal and ultimately, the gate.
Client Authorization
Service Provider
(web browser) Server (IDP)
Key Notes:
• SAML = Security Assertion Markup Language (SAML).
• It is an XML-based open standard used for exchanging authentication and authorization data between security domains.
• In other words, between an identity provider (ADFS, Google, Okta, etc.) and a service provider (such as ShareFile, SalesForce or
Workday).
• An identity provider is a trusted provider that enables you to use SSO to access other Web sites.
• A service provider is a Web site that hosts applications.
Additional Resources:
• ADFS Technical Reference: https://docs.microsoft.com/en-us/windows-server/identity/ad-fs/ad-fs-technical-reference
Citrix
StoreFront Controller VDA
Gateway
Key Notes:
• By using federation, you don’t need to issue and manage passwords for your partners’ personnel, nor do you have to worry about
how to lock down their access to just this entry point and those apps. The external users don’t get passwords for your environment
and so can only come in via the gateway configured to accept them. Importantly, this puts responsibility for confirming the
authenticity and status of the external users where it belongs, with the partners themselves.
• This is the ultimate in authentication flexibility for Windows. And the beauty of FAS is that you are not compromising the capability
of the Windows session if you chose to go password-free. With XenApp 6.5 and earlier, we had long offered the ability to do a
Additional Resources:
• Federated Authentication Service: https://docs.citrix.com/en-us/federated-authentication-service/1912.html
Users
Corporate Network
Citrix
StoreFront Controller VDA
Gateway
Key Notes:
• SAML = Security Assertion Markup Language (SAML).
• It is an XML-based open standard used for exchanging authentication and authorization data between security domains.
• In other words, between an identity provider (ADFS, Google, Okta, etc.) and a service provider (such as ShareFile, SalesForce or
Workday).
• An identity provider is a trusted provider that enables you to use SSO to access other Web sites.
• A service provider is a Web site that hosts applications.
Citrix
StoreFront Controller VDA
Gateway
NetScaler
StoreFront Controller VDA
Gateway
Vendor
Citrix
StoreFront Controller VDA
Gateway
Users
Corporate Network
Citrix
StoreFront Controller VDA
Gateway
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
Module 5
Key Notes:
• In a Citrix Virtual Apps and Desktops environment, the StoreFront or Citrix Gateway (positioned in the DMZ) is merely pass-through
authentication for the backend Citrix resources. The applications and environments reside on the Citrix Virtual Apps and Desktops
Site, potentially providing an attacker a shell in this private network when compromised.
• Thus, it is important to understand the architecture and possible consequences of a Citrix jailbreak should it occur. The question
should be asked: “If a jailbreak were to occur, would the attacker have a foothold into the internal network?”
XenApp Server
Attacker Published
Endpoint Resource
App B App D App F
Key Notes:
• In the first step, attacker has been able to get access to one of the domain accounts (perhaps via social engineering). They are using
a test account that was not properly secured (predictable password stored in one of the text files).
• They were able to find Notepad that is published to domain users (used for testing of the Citrix Virtual Apps functionality). At this
moment, they can establish the session inside the secured perimeter even with this limited account.
• The attacker will try to gain access to shell or more useful application.
• Now the attacker has access to the file system and all the other applications.
• Always assume that the attacker will be able to break out of the application.
XenApp Server
Attacker Published
Endpoint Resource
App B App D App F
Key Notes:
• The HDX session is running on the same server as other (more important) applications. The attacker’s next step is to jailbreak from
the application – switch to a more useful application. There are many different approaches to this – on an unsecured Citrix
environment, they can just use Ctrl + F1 to start Task Manager and from there they can start any executable.
• As soon as the attacker jailbreaks from a published application, they effectively have access to the rest of the system and any other
applications that are installed on the same server.
• Jailbreaking is the ability to abuse an application running in the virtualized or physical environment to launch other applications,
Key Notes:
• No single security practice, product, or feature discussed in this course is sufficient to prevent all attacks on its own. By implementing
multiple layers of security, performing an attack without detection is made much more difficult.
Published Resource
Group A
Published Resource
Group B
Published Resource
Group C
NTFS
Key Notes:
• For many years the best leading practice is using Active Directory groups for resource assignment, and to not publish applications for
specific users. It's not only for security, but also to simplify the management.
• A leading practice is to refrain from publishing applications to all users. Don't publish applications to the domain users. Don't publish
applications to authenticated users. Try to limit the access as much as you can.
• Avoid publishing to non-specific users, typically anonymous accounts or user accounts that are shared by multiple users. If such
accounts are required for a certain use case (such as kiosks or hospital stations), additional measures must be taken to isolate and
Additional Resources:
• Manage logon rights: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/secure/best-practices.html#manage-
logon-rights
• Configure Permissions for Remote Desktop Services Connections: https://technet.microsoft.com/en-
us/library/cc753032(v=ws.11).aspx
• Securing Local Administrator Accounts and Groups: https://docs.microsoft.com/en-us/windows-server/identity/ad-
ds/plan/security-best-practices/appendix-h--securing-local-administrator-accounts-and-groups
Key Notes:
• Depending on the session type and version of Receiver or Citrix Workspace app used, users could potentially use HDX session
shortcut or help keys to gain unauthorized access to parts of the operating system:
• Hotkey sequences are key combinations designed by Citrix. For example, in some versions of Receiver/Workspace app, the
Shift+F1 sequence reproduces Ctrl+Alt+Delete, and Shift+F2 switches applications between full-screen and windowed mode. You
cannot use hotkey sequences with virtual desktops displayed in the Desktop Viewer (that is, with XenDesktop sessions), but you
can use them with published applications (that is, with XenApp sessions).
Additional Resources:
• How to Configure Desktop Viewer: https://support.citrix.com/article/CTX209468
• How to Enable or Disable Hotkeys within an ICA File (including Template.ica file):
https://support.citrix.com/article/CTX140219
• Support for ICA files in XenApp/XenDesktop Environment: https://support.citrix.com/article/CTX200126
• Receiver Internals: How Receiver for HTML5 & Chrome Connections Work:
https://www.citrix.com/blogs/2015/07/08/receiver-internals-how-receiver-for-html5-chrome-connections-work/
Key Notes:
• Review policies and hardening guides for all applications that are published on a specific server. Apply the recommended hardening
configuration; for example disable context menus, printing (if not required) or diagnostic tools. Be especially careful with applications
that provide a development environment, such as Visual Basic for Applications language.
• Web browsers present a special security concern because by their nature, they are intended to access content from outside the
internal network.
• Often, users need to browse the web to do their job, so we cannot simply remove access to browsers. But the web presents many
Citrix and
• Has the capability to Microsoft
Delivery
quickly and securely Controller group
policies
deliver web and SaaS Domain provide
Controller
applications to any further
Internal Users StoreFront Server OS VDA
lockdowns
modern browser. Databases to the VDA.
• Delivers older/legacy
customer applications License
Server
more effectively and
reliably
Compute Layer
• Secure Browser
capabilities are also built Network Storage Processor
Key Notes:
• Secure Browser is available as a Citrix Cloud service, where everything will be preconfigured for you – just supply the URLs of the
web apps you need users to access.
• However, it is also possible to replicate the Secure Browser configuration in an on-prem deployment. The end result is that users can
have a seamless web-based application experience where a hosted web-based application simply appears within the user’s preferred
local browser.
• There is a value to running a hosted web browser which is locked down, with Citrix policies restricting clipboard access granularly,
Additional Resources:
• Citrix Virtual Apps and Desktops Secure Browser: https://www.citrix.com/digital-workspace/secure-browser.html
Key Notes:
• If an attacker is not able to use their own code, they will try to use whatever is available on the box. Make sure to secure (using
policies or NTFS permissions) all administrative tools that could be abused – command prompt (and PowerShell), Registry editor, Task
Manager and many others. You can also use 3rd party tools to password protect the executables (if you still need to execute them for
troubleshooting purposes).
• Be aware of hidden scripting environments. There are many technologies that are very powerful and professional attacker can use
them to his advantage. One of the good examples is Office suite. It includes Visual Basic for Applications. VBA can be used as a
Additional Resource:
• “AlwaysInstallElevated” is Equivalent to Granting Administrative Rights:
http://blogs.technet.com/b/fdcc/archive/2011/01/25/alwaysinstallelevated-is-equivalent-to-granting-administrative-
rights.aspx
Key Notes:
• Various tools can be used to create whitelists or blacklists, with Microsoft AppLocker being one of the most common ones.
• Using App Locker, you can:
• Control the following types of applications: executable files (.exe and .com), scripts (.js, .ps1, .vbs, .cmd, and .bat), Windows
Installer files (.msi and .msp), and DLL files (.dll and .ocx).
• Define rules based on file attributes derived from the digital signature, including the publisher, product name, file name, and file
version. For example, you can create rules based on the publisher attribute that is persistent through updates, or you can create
Additional Resources:
• What Is AppLocker?: https://technet.microsoft.com/en-us/library/ee424367(v=ws.10).aspx
• Requirements to use AppLocker: https://docs.microsoft.com/en-us/windows/device-security/applocker/requirements-
to-use-applocker
• WEM Security: https://docs.citrix.com/en-us/workspace-environment-management/current-release/user-interface-
description/security.html
• To review, if a breakout occurs on a VDA, an attacker could gain access to other applications installed
on the same machine, administrative tools, or sensitive data.
• Consider dedicating group of servers for a very sensitive applications
• This allows you to separate the networks as well
Attacker Published
Resource App B App D App F
Key Notes:
• As mentioned earlier, despite all of the lockdowns covered so far, given sufficient time, we can assume that an attacker will find a
way to perform a jailbreak. So, assuming that you cannot prevent this from happening, what can you do?
• Would you publish an application that is available to all users (Domain Users), is extremely hard to secure (Office) and contains its
own scripting engine (Office VBA) on the same server as your payroll application that is available only to a very limited number of
users?
• That’s not a good idea. An attacker who is able to jailbreak a published app now has easy access to the sensitive app on the same
Server OS VDA
App A App C
Attacker Published
Resource
App B App D
NTFS
Key Notes:
• Once you isolate your servers into groups, you can add another layer of protection. Try to isolate all applications from each other
(hosted on the same server). The most primitive (and reliable) method is to use NTFS permissions to isolate applications from each
other. Whenever possible, block access on the folder level (Read\Execute permissions).
• Sometimes, if the folder contains libraries (typical examples are Office and Adobe Acrobat), you can at least secure the executables.
• You can use the same AD group that is used to publish the application. That way you can also guarantee that when a user sees an
icon, she can execute it (as permissions are granted through the same AD group).
Citrix Analytics is an
analytics service that
allows you to monitor and
identify inconsistent or
suspicious activities on
your networks. It provides
actionable insights such
as:
• User behavior
• Usage based on
indicators identified
across users, endpoints,
network traffic, and files.
Key Notes:
• Once users are discovered by Citrix Analytics, they will eventually get a risk score assigned to their account.
• A risk score is a value that indicates the aggregate level of risk a user poses to the network over a pre-determined monitoring period.
This value is dynamic and is based on User Behavior Analytics (UBA) that study and determine patterns of user behavior. \
• These algorithms are applied to analyze anomalies that indicate potential threats. For a defined monitoring period, risk score is an
aggregate of the risk indicators that are triggered for a user.
• Risk indicators are user activities that look suspicious or can pose a security threat to the organization. Risk indicators span across
Additional Resources:
• About Security Analytics: https://docs.citrix.com/en-us/citrix-analytics/security-analytics/about.html
misdeeds
Key Notes:
• Session Recording uses flexible policies to automatically trigger recordings of Citrix Virtual Apps and Desktops sessions. This enables
IT to monitor and examine user activity of applications – such as financial operations and healthcare patient information systems –
demonstrating internal control, thus ensuring regulatory compliance and successful security audits. Similarly, it also aids in technical
support by speeding problem identification and time-to-resolution.
• Benefits of Session Recording:
• Definitive log of activity involving sensitive data — Enables organizations to record user activity while interacting with applications
Key Notes:
• Once session recording has been configured and activated, the SR Agent is in “capture” mode, monitoring all HDX sessions that start
up and asking the SR Server what to do: record or not, and if record, notify or not.
• If the policy is to record, the session data is sent to the SR Server for processing.
• The actual session recordings are written to storage and various metadata associated with the session is logged.
• Metadata includes session attributes such as the user, the application, the session start time, and the XenApp Worker used.
• An authorized user can use the SR Player to search metadata records for items of interest to play back.
• App protection is an add-on feature for the Citrix Workspace app that provides enhanced security
when using Citrix Virtual Apps and Desktops published resources.
• Two policies provide anti-keylogging and anti-screen-capturing capabilities for a Citrix HDX session.
The policies along with a minimum of Citrix Workspace app 1912 for Windows or Citrix Workspace
app 2001 for Mac can help protect data from keyloggers and screen scrapers.
• What does app protection protect?
• Citrix logon windows
• Citrix Workspace app HDX session windows (example, managed desktop)
• Self-Service (Store) windows
• What doesn’t app protection protect?
• The items under the Citrix Workspace apps icon in the navigation bar:
• Connections Center
• All links under Advanced Preferences
• Personalize
• Check for Updates
• Sign Out
Key Notes:
• App Protection Expected Behaviour :
• The expected behaviors depend on how you access the StoreFront store that contains protected resources. You can access the
resources using a supported native Citrix Workspace app client.
• Behavior on StoreWeb - Applications with app protection policies are not enumerated on StoreFront web stores.
• Behavior on unsupported Citrix Receivers or Citrix Workspace apps - Applications with app protection policies are not
enumerated.
Additional Resources:
• App Protection is now GA for on-prem Citrix Virtual Apps and Desktops: https://www.citrix.com/blogs/2020/02/25/app-
protection-is-now-ga-for-on-prem-citrix-virtual-apps-and-desktops/
• App protection: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/secure/app-protection.html
• Citrix Workspace app for Windows – App Protection: https://docs.citrix.com/en-us/citrix-workspace-app-for-
windows/configure.html#app-protection
• Text-based session watermarks help to deter and enable tracking data theft. This traceable
information appears on the session desktop as a deterrent to those using photographs and screen
captures to steal data.
• You can specify a watermark that is a layer of text, which displays over the entire session screen
without changing the content of the original document. Text-based session watermarks require VDA
support.
• Text-based session watermarking is not a security feature. The solution does not prevent data theft
completely, but it provides some level of deterrent and traceability.
• Session watermark supports only Thinwire and not the Framehawk or Desktop Composition
Redirection (DCR) graphic modes.
• If you use Session Recording, the recorded session doesn’t include the watermark.
• If you use Windows remote assistance, the watermark is not shown.
Additional Resources:
• Text-based session watermark: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/graphics/session-watermark.html
• Session watermark policy settings: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/policies/reference/ica-policy-
settings/session-watermark-policy-setting.html
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
Module 6
SSL/TLS
• By default, the Citrix
Citrix Gateway
Gateway is not using SSL Endpoint Devices
VDA
Key Notes:
• TLS encryption between components, even internally, is a requirement for FIPS and PCI compliance.
VDAs
• Default HDX traffic uses basic XOR-based Delivery
StoreFront
this encryption level. Internal
Users
Server OS Assigned Desktop
OS
Domain
• The TLS encryption improves on basic Secure Firewall Controller
Key Notes:
• By default, HDX traffic uses a basic XOR-based encryption algorithm. It protects the data stream from being read directly, but it can
be decrypted.
• Rather then use the SecureICA minimum encryption level setting for Citrix Virtual Apps and Desktops 7, a leading practice is using
TLS to secure HDX traffic if end-to-end traffic encryption is desired.
• A SecureICA minimum encryption level Citrix policy is available as a way to increase the encryption level of the HDX logon traffic to
Additional Resources:
• Transport Layer Security (TLS): https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/1912-ltsr/secure/tls.html
• Security policy settings: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/policies/reference/ica-policy-
settings/security-policy-settings.html
(3)
Delivery Controller
How? (1)
Key Notes:
• To enable TLS encryption you need to add certs to the VDAs, and then configure the VDAs and Controllers to use encryption. We’ll
look at each of these steps in more detail because there are some important things to consider.
• In a typical scenario, external connections are secured to Citrix Gateway, but the “last mile” does not leverage TLS.
• You should encrypt HDX traffic to prevent an attacker from being able to watch everything that a user is doing. ICA ports 1494, 2598
and 8008 are unencrypted by default (though not plain text).
• With the release of Citrix Virtual Apps and Desktops 7.6, it is now possible to implement TLS encryption that is FIPS approved from
Additional Resources:
• TLS – TLS Settings on VDAs: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/1912-ltsr/secure/tls.html
• How To Secure ICA Connections in Citrix Virtual Apps and Desktops using SSL:
https://www.citrix.com/blogs/2014/12/11/how-to-secure-ica-connections-in-xenapp-and-xendesktop-7-6-using-ssl/
• Citrix Virtual Apps and Desktops: What Crypto is My Session Using?: https://www.citrix.com/blogs/2015/07/13/xenapp-
xendesktop-what-crypto-is-my-session-using/
• End-To-End Encryption with Citrix Virtual Apps and Desktops:
https://www.citrix.com/content/dam/citrix/en_us/documents/white-paper/end-to-end-encryption-with-xenapp-and-
xendesktop.pdf
• Configure TLS on a VDA using the PowerShell
XOR-based encryption
Key Notes:
• One of the most common methods of applying lockdowns to a Windows Operating Systems is via policies.
• Before applying any new GPOs to a production environment (whether importing GPOs or creating them from scratch) be sure to
evaluate the settings to determine their appropriateness for your organization’s environment. Then test them in a non-production
environment.
• Depending on your organization’s requirements, the Citrix Cloud GPOs may be more or less stringent than the ideal level of
lockdowns.
Additional Resources:
• Citrix Common Criteria Certification Information: https://www.citrix.com/about/legal/security-compliance/common-
criteria.html
Key Notes:
• Separating admin from user policies allows flexibility in your organization to give certain administrators full access to tasks, and
operations while other administrators have limited access.
• One of the key benefits of policy-based lockdowns is that in many cases different levels of lockdowns can be applied to different user
groups, including administrators who may need greater access to the machines.
• As a general leading practice, when applying security lockdown policies, ensure that your core administrator group is not
inadvertently included in settings that would prevent them from effectively performing their duties.
Key Notes:
• Citrix Virtual Apps and Desktops includes a Citrix Security and Control policy template that contains many settings appropriate to a
locked down environment, such as disabling use of client-side peripheral devices (like USB drives), drive mapping, client-side
rendering of media content, and more.
• Note that applying some of these settings may consume more bandwidth and/or reduce user density per server.
Only bitmaps
Only text
All data:
Key Notes:
• Citrix has introduced increasingly granular clipboard redirection settings to enable administrators to choose which type of content
can be transferred between a session and user device via the clipboard, as well as in which direction.
• Since CVAD 1903, clipboard data that can be copied/pasted between sessions and user devices includes files & folders; not just text
and bitmaps.
• Client clipboard redirection
• Recommended security-focused setting: Disabled
Key Notes:
• Citrix publicly provides a PDF of the settings used to achieve the certification (see Additional Resources), as well as exports of the
GPOs themselves.
• An Evaluated Configuration guide provides a more comprehensive review of the environment used to gain the CC certification. These
resources can be used as guidelines to assist in evaluating the relative security of different Citrix Virtual Apps and Desktops
configurations.
Additional Resources:
• Citrix Common Criteria Certification Information: https://www.citrix.com/about/legal/security-compliance/common-
criteria.html
• Common Criteria Certified Products (expand categories and do a keyword search for Citrix):
http://www.commoncriteriaportal.org/products/
• Securing Citrix Virtual Apps and Desktops Environments (see System Hardening Guidance for Citrix Virtual Apps and
Desktops): https://www.citrix.com/about/legal/security-compliance/security-standards.html
Firewall Firewall
Compliant Endpoints
Full Access
VDAs
Copy/Paste
Drive Access Citrix Virtual Apps
Print Access and Desktops Site
Non-Compliant Endpoints
Key Notes:
• In contrast to SmartAccess, Smart Control is implemented exclusively through ICA policies on the Citrix Gateway. Each ICA policy is an
expression and access profile combination that can be applied to users, groups, virtual servers, and globally.
• ICA policies are evaluated after the user authenticates at session establishment. As a result, session settings can be defined and
applied before the user connection enter the internal network.
• SmartControl requires Citrix Virtual Apps and Desktops Platinum licensing.
Additional Resources:
• Configuring SmartAccess: https://docs.citrix.com/en-us/citrix-gateway/13/integrate-web-interface-apps/ng-
smartaccess-wrapper-con.html
• Configuring SmartControl: https://docs.citrix.com/en-us/citrix-gateway/13/integrate-web-interface-apps/smart-
control.html
• Demo Guide for SmartAccess and SmartControl:
https://www.citrix.com/content/dam/citrix/en_us/documents/guide/demo-guide-for-smart-access-smart-control.pdf
VDA
• Harden all components by using a Gold disk
image when possible.
• Enable cryptographic checksum and hashes on
Gold disks and OS.
• Patch all components in a timely manner to
Citrix Provisioning Server VDA
include the infrastructure and hosts.
vDisk
• Automate the provisioning and de-provisioning (Golden Image)
processes with Citrix Provisioning or Machine
Creation Services.
VDA
Key Notes:
• Recommendations:
• Ensure the virtualized environment uses the same security stack as the non-virtualized environment. This includes IDS, IPS, multi-
factor authentication, web proxies and advanced threat detection appliances.
• Automate Citrix site creation process via Citrix Life Cycle Management to bring consistency between development, test and
production environment. More information available in Additional Resources.
• Maintain a consistent development, test and production environment that can be used to test security policies successfully.
Additional Resources:
• System Hardening Guidance for Citrix Virtual Apps and Desktops:
https://www.citrix.com/content/dam/citrix/en_us/documents/products-solutions/system-hardening-for-xenapp-and-
xendesktop.pdf
• Workspace Cloud: https://www.citrix.com/products/workspace-cloud/tech-info.html
• Securing the Published Browser: https://www.citrix.com/content/dam/citrix/en_us/documents/white-paper/securing-
the-published-browser.pdf
Key Notes:
• Checksums are often used to verify that downloaded files have not been tampered with and are exactly the same as when the
checksum was generated.
• Typically, the hash function used to create the checksum is listed along with the checksum so that it can be verified.
• A number of online and downloadable tools exist that can be used to create checksums of any file.
• Examples include Microsoft Checksum Integrity Verifier, CertUtil, and PowerShell.
Key Notes:
• A template that was created with only one use case in mind might be re-used for many other VMs with differing security
requirements.
• A leading practice is that you take extra care when creating VMs for replication (as templates) to ensure that the configurations are
suitable practice for all potential uses of the VM.
• A leading is that you ensure that VM templates are considered as part of your organization’s patching schedule.
• The following practices can be used to lock down a VM template:
Additional Resources:
• Security Recommendations When Deploying Citrix XenServer:
https://www.citrix.com/content/dam/citrix/en_us/documents/white-paper/security-recommendations-when-
deploying-citrix-xenserver.pdf
• System Hardening Guidance for Citrix Virtual Apps and Desktops:
https://www.citrix.com/content/dam/citrix/en_us/documents/products-solutions/system-hardening-for-xenapp-and-
xendesktop.pdf
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
Module 7
issues.
Key Notes:
• Detecting the Problem: Issue identification is the first step in the troubleshooting methodology.
• Most issues are reported in one of three ways: End users request helpdesk tickets, Monitoring tools, Observation by
administrators.
• One additional troubleshooting method is often overlooked. As Citrix solutions are presenting a front end to the users,
administrators should not overlook the regular feedback retrieved directly from the end users. Consulting has had many
encounters in which partners or customers were struggling with consistent issues, but the root cause couldn’t be discovered until
• Recover the service and allow users to continue working while you continue to troubleshoot the issue.
• In most companies, the IT department is responsible for providing technical support for core business of the
company. As soon as a technical issue affects the core business, you should address the problem.
failures
• Load evaluation
• Machine and application
usage
• Licensing status
Key Notes:
• Citrix Director allows an administrator to quickly resolve real-time issues, by performing actions such as ending nonresponsive
applications or processes.
• Additionally, real-time shadowing operations on the end user's machine, restarting the machine, or resetting the user profile, can
also be performed.
• The Dashboard provides an overview of the key aspects of a deployment, such as the status of sessions, user logons, and the site
infrastructure.
Key Notes:
• Environment Tests is one of the very underrated features in Citrix Virtual Apps and Desktops.
• A good leading practice is to run environment tests regularly within a Site.
• Environment tests check database connectivity, Active Directory info, MCS availability, and the state of the delivery groups and
machine catalogs, ..and a lot more.
Key Notes:
• All third-party tools are downloaded and installed on demand.
• Toolkit contains tools from Citrix, Microsoft, and other 3rd party vendors.
Additional Resources:
• Citrix Diagnostics Toolkit - 64bit Edition: https://support.citrix.com/article/CTX135075
• Citrix Receiver Diagnostics Tool - For Windows: https://support.citrix.com/article/CTX141751
Key Notes:
• Citrix Scout is run from a single Delivery Controller to capture key data points and CDF traces. Then, the data is securely uploaded as
a package to Citrix Technical Support.
• Key data point include: HW information, such as BIOS, and CPU information, as well as SW such as Windows registry and event logs
information.
• Data captured can be upload to cis.citrix.com for analysis or submitted to Citrix support.
• Scout can be configured to capture event log messages, CDF trace messages, and machine settings.
Additional Resources:
• Citrix Scout: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/1912-ltsr/manage-deployment/cis.html
• Citrix Scout: https://support.citrix.com/article/CTX130147
Key Notes:
• The tools in this pack are not intended to replace system administration features that Citrix Virtual Apps and Desktops provides for
day-to-day system management. This collection of tools are specialized utilities for advanced troubleshooting in very specific areas.
• Installing Supportability Pack:
1. If you have an older version of Supportability Pack on your system, e.g. v1.1.x, a best leading practice is that you completely
remove the existing Supportability Pack including all tools and files, before downloading the new v1.2.x version. Since v1.2.x
provides a new Updater utility, you can use it to keep all tools up to date in the future.
Additional Resources:
• The Citrix Supportability Pack: http://support.citrix.com/article/CTX203082
• 12 Brand New Tools in the Latest Citrix Supportability Pack: https://www.citrix.com/blogs/2016/08/11/12-brand-new-
tools-in-the-latest-citrix-supportability-pack/
• Citrix Health Assistant - Troubleshoot VDA Registration and Session Launch:
https://support.citrix.com/article/CTX207624?recommended
Key Notes:
• Citrix Insight Services Overview:
• Admin uploads status report file to CIS site from local computer for analysis and results.
• CIS analyzes uploaded data to identify any known issues or optimization short falls.
• Performs a health check to reveal any potential issues the environment may incur.
• Analysis results are returned to Admin.
• File can be uploaded directly if Scout is installed.
Additional resources:
• How to Upload Data to Citrix Insight Services (CIS): https://support.citrix.com/article/CTX136396
• Citrix Insight Services: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/1912-ltsr/manage-
deployment/cis.html
CDF
Key Notes:
• CDFControl is an event tracing tool that is designed towards capturing Citrix Diagnostic Facility (CDF) trace messages that are output
from the various Citrix tracing providers.
• There are two primary ways to use CDF logging: CDFControl and Citrix Scout.
• CDFControl can be used to both capture as well as analyze CDF traces, and can be customized to parse trace messages from a
particular time period or particular provider.
• Citrix Scout Captures the CDF traces and then securely uploads the data to Citrix Support.
Additional Resources:
• CDFControl: https://support.citrix.com/article/CTX111961
• How to Collect a Citrix Diagnostic Facility (CDF) Trace at System Startup: https://support.citrix.com/article/CTX127131
• How To Collect Remote CDF Tracing: https://support.citrix.com/article/CTX237216
• Recommendations for Collecting the CDF Traces: https://support.citrix.com/article/CTX121185
• Citrix Scout: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/1912-ltsr/manage-deployment/cis.html
Scripts
GUI
Windows/server product functionality
Key Notes:
• PowerShell is most commonly used through different consoles (PowerShell and PowerShell ISE being the most popular ones);
however PowerShell system can be directly accessed from C#.
• With the “SDK” it is not referring to any set of APIs or libraries, but it’s actually referring to the regular PowerShell.
• In Citrix Virtual Desktops, there are no APIs or libraries to import, and the same language is used for administrators or scripters as
well as professional software developers.
• For most legacy software products, the majority of functionality could be accessed using a GUI. Automation was always very painful
Additional resources:
• Free and amazing training from Microsoft (Jeffrey Snover is the father of PowerShell):
https://www.microsoftvirtualacademy.com/en-us/training-courses/getting-started-with-powershell-3-0-jump-start-
8276
• SDKs and APIs: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/sdk-api.html
• SDKs: https://docs.citrix.com/en-us/citrix-cloud-government/manage/sdk-api.html
Key Notes:
• Cmdlets are members of a module. If you know the module, you can find out all cmdlets that are members of that module; or if you
know the cmdlet, you can find the parent module (and then list all members).
• For example, if you know the command Start-ScheduledTask, you can find the module it belongs to (Get-Command Start-
ScheduledTask | Select Module) and then find all the commands that are available for scheduled tasks (Get-Command –Module
ScheduledTasks).
• This is a very important concept of PowerShell. You can easily spend hours just discovering new modules and cmdlets without using
Additional Resources:
• Citrix Virtual Apps and Desktops SDK PowerShell: https://citrix.github.io/delivery-controller-sdk/
• Citrix Virtual Apps and Desktops: Basic PowerShell Cmdlets for Delivery Controller's Health Check:
https://support.citrix.com/article/CTX238581
• Free and amazing training from Microsoft (Jeffrey Snover is the father of PowerShell):
https://www.microsoftvirtualacademy.com/en-us/training-courses/getting-started-with-powershell-3-0-jump-start-
8276
• SDKs and APIs: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/sdk-api.html
• SDKs: https://docs.citrix.com/en-us/citrix-cloud-government/manage/sdk-api.html
Verb Noun
Predefined list Variable: Examples
Get Date
New Process
Start Task
•• Etc…
© 2020 Citrix Authorized Content
Key Notes:
• PowerShell utilizes a "verb-noun" naming system to perform actions. Each cmdlet name consists of a standardized verb which is then
hyphenated with a specific noun to create a specific function.
• This is one of the most important early concepts of PowerShell. All cmdlets use the verb-noun syntax, where “verb” part is a
predefined list of approved verbs that is not changing.
• Actual syntax is: module\verb-noun – for example, Get-Process can be called using Microsoft.PowerShell.Management\Get-Process.
This allows you to use same cmdlet names in multiple modules; however, it’s not recommended and should be avoided if possible.
Additional resources:
• Technet: https://social.technet.microsoft.com/wiki/contents/articles/4537.powershell-approved-verbs.aspx
• Learning PowerShell command names: https://docs.microsoft.com/en-us/powershell/scripting/learn/learning-
powershell-names?view=powershell-6
Key Notes:
• This module is a very short introduction to PowerShell, as its capabilities are grand..
• Everything you do in Citrix Studio is actually executed as a PowerShell command , and Virtual Apps and Desktops is one of the
products where not only everything in UI is supported for automation, but you have actually more options when you use the CLI
interface.
• The latest release of Virtual Apps and Desktops contains over 700+ cmdlets.
• The most important lesson is that PowerShell is not a scripting language that needs to be memorized.
Additional Resources:
• Citrix Virtual Apps and Desktops SDK PowerShell: https://citrix.github.io/delivery-controller-sdk/
• Citrix Virtual Apps and Desktops Basic PowerShell Cmdlets for Delivery Controller's Health Check:
https://support.citrix.com/article/CTX238581
• Free and amazing training from Microsoft (Jeffrey Snover is the father of PowerShell):
https://www.microsoftvirtualacademy.com/en-us/training-courses/getting-started-with-powershell-3-0-jump-start-
8276
• SDKs and APIs: https://docs.citrix.com/en-us/citrix-virtual-apps-desktops-service/sdk-api.html
• SDKs: https://docs.citrix.com/en-us/citrix-cloud-government/manage/sdk-api.html
Verb-ModuleNoun:
• Citrix Virtual Desktops cmdlets are based on Microsoft’s naming conventions.
• Noun is prefixed with the Citrix Virtual Desktops service name.
Key Notes:
• While many people are familiar with a verb-noun syntax (which was covered previously), not many people know that the full syntax
actually includes a module name, at least in a shorter version.
• The actual full syntax includes the module prefix as well – Module\Verb-ModuleNoun.
• With a simple verb-noun syntax, there is a big risk of running into conflict with other modules. For example Get-Session cmdlet could
be applied to multiple different products, therefore in Citrix Virtual Desktops implementation it is prefixed by a short module name
(Get-BrokerSession). With the full syntax,
• it’s actually Citrix.Broker.Admin.V2\Get-BrokerSession.
343 © 2020 Citrix Authorized Content
Using Get-Command
Key Notes:
• You can’t run a command without knowing it’s name – and this is why Get-Command is one of the most important cmdlets.
• Get-Command on its own has limited usefulness, as it will only list all of the available commands. However, when used either to list
the cmdlets in a single module or when used with wildcards, it provides much more detail.
• You can use the Auto-complete, using TAB key, as another approach to finding commands.
• Auto-complete is another very useful feature of PowerShell, as you can start typing a command and press Tab to auto-complete it.
• For Example: type in Get-Pro*ess and press Tab – it will automatically be changed to Get-Process (unless you have other cmdlets
Additional resources:
• Get-Command Module: Microsoft.PowerShell.Core: https://technet.microsoft.com/en-us/library/hh849711.aspx
Key Notes:
The Get-Command, allows you to find the right command to do the task you have to perform. The next step is to use Get-Help to find
more information about it – what are the arguments, what are the examples of usage, and so on.
• Get-Help useful switches:
• Show examples of usage
• Examples
• Displays the entire help topic for a cmdlet
Additional Resources:
• Get-Help Module: Microsoft.PowerShell.Core: https://technet.microsoft.com/en-us/library/hh849696.aspx
Key Notes:
• Show-Command allows you to use any existing cmdlet and to build a GUI for it automatically.
• It allows you to browse through available modules and cmdlets.
• While more senior administrators will probably prefer to use a combination of Get-Command\Get-Help, Show-Command can be very
helpful for anyone, especially during their first interactions with PowerShell.
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
Module 8
End User PC
Connection issues
Site Database
License Server
Key Notes:
• If authentication fails, check the Event Viewer on each StoreFront server to ensure that no credential errors are present.
• When troubleshooting authentication issues, ensure that the Citrix Credential Wallet service is set for a delayed start, and that it is
started on the StoreFront server.
• Check for an un-started or hung Credential Wallet service when troubleshooting.
• Failure to enumerate
applications can be
caused by multiple
issues. StoreFront
User
• Most common issues
include:
• XML broker is
unavailable.
• Authentication failed for
the end user.
• End user has not been
granted access to
desktops or applications. Database Delivery Controller
Key Notes:
• Do not worry that Subscription Store is missing on the list of common issues; it is not preventing enumeration from proceeding. When
access to the Subscription Store fails, StoreFront continues enumeration, but indicates that subscription is not available.
• The XML Broker being unavailable can occur for a number of reasons, such as the XML service being offline.
• If pass-through or smart card authentication are being used, you must enable Trust requests sent to the XML service on the Delivery
Controller - to trust any XML requests sent from StoreFront.
• To Enable XML Trust:
Additional Resources:
• StoreFront 1903: https://docs.citrix.com/en-us/storefront/1912-ltsr.html
• Troubleshoot StoreFront: https://docs.citrix.com/en-us/storefront/current-release/troubleshoot.html
• XML service-based authentication: https://docs.citrix.com/en-us/storefront/current-release/configure-authentication-
and-delegation/xml-authentication.html
• User authentication: https://docs.citrix.com/en-us/storefront/current-release/plan/user-authentication.html
• Citrix Broker Service Events: https://docs.citrix.com/en-us/xenapp-and-xendesktop/current-
release/downloads/BrokerEvents.htm
Key Notes:
• To address some of the most common subscription-related issues, start by restarting the Citrix Subscriptions Store service.
Additional Resources:
• Citrix Store Front 3.0 Unable to save favorites in Store Front: https://support.citrix.com/article/CTX222649
• Troubleshoot StoreFront: https://docs.citrix.com/en-us/storefront/current-release/troubleshoot.html
Additional Resources:
• World-class support and services for Citrix Gateway: https://www.citrix.com/products/citrix-gateway/support.html
• Citrix Gateway: https://docs.citrix.com/en-us/citrix-gateway.html
End User
Device San Francisco (SFO) Miami (MIA)
Infrastructure Zone 2 (Satellite) Zone 3 (Satellite)
Resources Resources
Citrix
Gateway
Delivery Controller
Desktops Apps Desktops Apps
StoreFront
© 2020 Citrix Authorized Content
Key Notes:
• External Process (Citrix Gateway) (Purple Steps)
• (1) End User device accesses Citrix Gateway authentication page via remote access URL.
• Ensure URL is externally accessible and not blocked by firewall.
• Certificates on Citrix Gateway should be valid and up-to-date.
• (2) User enters authentication credentials.
• Common error in authentication phase is user mis-typing or mis-remembering credentials. Level 1 support should be trained to
Additional Resources:
• StoreFront 1912 Enable users to change their passwords: http://docs.citrix.com/en-us/storefront/1912-ltsr/configure-
authentication-and-delegation/configure-authentication-service.html
• How to Configure LDAP Authentication on Citrix ADC or Citrix Gateway: https://support.citrix.com/article/CTX108876
• StoreFront 1912 XML Service-Based authentication: http://docs.citrix.com/en-us/storefront/1912-ltsr/configure-
authentication-and-delegation/xml-authentication.html
Users Citrix StoreFront (3) Active (4) License Delivery Controller SQL
Gateway Directory Server Site DB Desktops Desktops Apps Apps
(2)
(1)
End User
Device San Francisco (SFO) Miami (MIA)
Infrastructure Zone 2 (Satellite) Zone 3 (Satellite)
Resources Resources
Citrix
Gateway
Delivery Controller
Desktops Apps Desktops Apps
StoreFront
© 2020 Citrix Authorized Content
Key Notes:
• Internal Process (StoreFront Direct) (Green Steps)
• (1) End user device access StoreFront authentication page via internal URL.
• The URL must be accessible to any users expected to access it directly. Making this URL available to external users presents a
security risk because you are allowing external traffic to communicate directly with a Windows machine, which is more
vulnerable to malicious attacks (compared to a hardened network appliance like a Citrix ADC).
• Ideally, HTTPS would be used for the communication with StoreFront, which requires up-to-date certificates to be in place.
Additional Resources:
• StoreFront 1912 Enable users to change their passwords: http://docs.citrix.com/en-us/storefront/1912-ltsr/configure-
authentication-and-delegation/configure-authentication-service.html
• How to Configure LDAP Authentication on Citrix ADC or Citrix Gateway: https://support.citrix.com/article/CTX108876
• StoreFront 1912 XML Service-Based authentication: http://docs.citrix.com/en-us/storefront/1912-ltsr/configure-
authentication-and-delegation/xml-authentication.html
(4)
Users Citrix StoreFront Active License Delivery Controller SQL
Gateway Directory Server Site DB Desktops Desktops Apps Apps
(5)
(2)
(1)
End User
Device San Francisco (SFO) Miami (MIA)
Infrastructure Zone 2 (Satellite) Zone 3 (Satellite)
Resources Resources
Citrix
Gateway
Delivery Controller
Desktops Apps Desktops Apps
StoreFront
© 2020 Citrix Authorized Content
Key Notes:
• Internal Process (XML Service-Based) (Yellow Steps)
• (1) End user device access StoreFront authentication page via internal URL.
• The URL must be accessible to any users expected to access it directly. Making this URL available to external users presents a
security risk because you are allowing external traffic to communicate directly with a Windows machine, which is more
vulnerable to malicious attacks (compared to a hardened network appliance like a Citrix ADC).
• Ideally, HTTPS would be used for the communication with StoreFront, which requires up-to-date certificates to be in place.
Additional Resources:
• StoreFront 1912 Enable users to change their passwords: http://docs.citrix.com/en-us/storefront/1912-ltsr/configure-
authentication-and-delegation/configure-authentication-service.html
• How to Configure LDAP Authentication on Citrix ADC or Citrix Gateway: https://support.citrix.com/article/CTX108876
• StoreFront 1912 XML Service-Based authentication: http://docs.citrix.com/en-us/storefront/1912-ltsr/configure-
authentication-and-delegation/xml-authentication.html
Citrix Gateway
Key Notes:
• When the issue happens upon post-authentication, there is an trust issue with certificates. Rebuilt the trust issue between the
StoreFront server and the Citrix Gateway .
Additional Resources:
• Error: "403 - Forbidden: Access is Denied" After Log on to Citrix Gateway: https://support.citrix.com/article/CTX206900
• How to Configure Citrix Gateway with StoreFront and App Controller: https://support.citrix.com/article/CTX139319
Key Notes:
• If the aaad.debug log displays an attempt to authenticate with the RADIUS server, and the user trying to log on is rejected
,(process_rad_reject RADIUS attribute 18) , then process RADIUS will send a reject ,(send_reject_with_code, Rejecting with error
code 4001).
• This rejection occurs as a result of the RADIUS server rejecting the data being sent from the Citrix Gateway.
• This can be reviewed and corrected by:
1. Verify this through the nstrace captured from the Citrix Gateway .
Additional Resources:
• Two Factor Authentication Fails on Citrix Gateway: https://support.citrix.com/article/CTX200402
• Troubleshooting Authentication Issues Through Citrix Gateway with aaad.debug Module:
https://support.citrix.com/article/CTX114999
• This error can occur when there is a misconfiguration in the Authentication policy on the Citrix
Gateway, or possibly an issue with Load Balancing, if multiple LDAP servers are used.
• A policy misconfiguration results in communication failure between the Citrix Gateway and LDAP
server.
Citrix Gateway
End Users
StoreFront
Key Notes:
• If this issue occurs, then the following steps can be used to troubleshoot this issue:
• Test LDAP reachability and validate end-to-end LDAP authentication, to verify the cause of the issue.
• From within the StoreFront MMC, go to Citrix Gateway > select the gateway you are configuring > Change General
Settings window, and confirm the Logon Type is set to Domain - if using LDAP authentication on the Citrix Gateway.
• Under the Citrix Gateway VIP go to Authentication > LDAP Policy > Edit Server and confirm the following settings:
1. Session Policy bound to the Citrix Gateway VIP > Edit Profile > Client Experience > Single Sign-on to Web Applications and
Additional Resources:
• Error: "Cannot Complete Your Request" Due to Authentication Misconfiguration on Citrix Gateway:
https://support.citrix.com/article/CTX235888
• Common Resolutions to “Cannot Complete Your Request” Error: https://support.citrix.com/article/CTX207162
• How to Configure LDAP Authentication on Citrix Gateway: https://support.citrix.com/article/CTX108876
• Citrix Gateway LDAP authentication settings • Citrix Application Delivery Management (for
misconfigured external access scenarios using Citrix
Gateway)
• Firewall or monitor issues causing Citrix
ADC load balancing of the StoreFront • aaad.debug Module (on Citrix ADC)
servers to fail. • StoreFront console
Key Notes:
• Other potential causes for authentication issues:
• In multi-factor authentication scenarios, communication issues with RADIUS server due to firewalls or misconfiguration on the
Citrix ADC or the RADIUS server.
• Active Directory could be experiencing issues that cause it to be unresponsive to authentication requests.
• DNS issue preventing Citrix ADC GSLB from functioning (if GSLB is configured).
Additional Resources:
• Troubleshooting Methodology for Citrix ADC, StoreFront with Virtual Apps and Desktops:
https://support.citrix.com/article/CTX140153
• Troubleshoot StoreFront: http://docs.citrix.com/en-us/storefront/1912-ltsr/troubleshoot.html
• StoreFront SDK (i.e. PowerShell command functionality): http://docs.citrix.com/en-us/storefront/1912-ltsr/sdk-
overview.html
• Wireshark webpage: https://www.wireshark.org/
• Overview (Citrix Application Delivery Management 11.1): https://docs.citrix.com/en-us/citrix-application-delivery-
management-software/13.html
• How to Troubleshoot Authentication Issues Through Citrix ADC or Citrix Gateway with aaad.debug Module:
https://support.citrix.com/article/CTX114999
App/Desktop launch issues, through the Citrix ADC/Gateway, can occur due to a number
of reasons. The following can be checked and verified, if these issues occur:
• Latest version of Citrix Workspace is being used by end-users.
• Available User Licenses are all used up.
• A Citrix Gateway License Type Mismatch is present.
• Certificate is not Linked on the Citrix Gateway.
• Gateway does not have a Secure Ticket Authority (STA) specified.
• FQDN of the Secure Ticket Authority is Not Resolvable.
Key Notes:
• These issues can be isolated if testing connections directly via the StoreFront URL allows for the launch of the published applications
or desktops without any issues. Problem only happens via the Citrix Gateway.
Additional Resources:
• Error: "Unable to launch your application." When Launching Published Applications or Desktops Through Citrix Gateway:
https://support.citrix.com/article/CTX134940
App/Desktop launch issues, through the Citrix ADC/Gateway, can occur due to a number
of reasons. The following can be checked and verified, if these issues occur:
• STA configured on Citrix Gateway Returns an STA ID.
• STA Servers on Citrix Gateway Virtual Server do not match the StoreFront Servers.
• Usage or Role on the StoreFront Server is Set to Authentication and HDX Routing.
• Communication on port 1494/2598 from the Subnet IP/Mapped IP to the Citrix Virtual
Apps and Desktops Servers has issues.
Key Notes:
• These issues can be isolated if testing connections directly via the StoreFront URL allows for the launch of the published applications
or desktops without any issues. Problem only happens via the Citrix Gateway.
Additional Resources:
• Error: "Unable to launch your application." When Launching Published Applications or Desktops Through Citrix Gateway:
https://support.citrix.com/article/CTX134940
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
Module 9
Delivery
Controller
Internal StoreFro
Server OS Assigned
Users nt Domain Desktop OS
Controller
Firewall Delivery Controller
Database Random Remote PC
External Firewall Citrix
Desktop OS
Users ADC FMA Services
Gateway
License
Server
Services
Central Delegated
Core
Hardware Layer
Configuration Administration
Configuration
Service Service Logging Service
Network Storage Processo Memory Graphics Hypervisor
r
Identity
independently. Service Service Service Service Trust
Supporting
Service
Services
Services
Key Notes:
• The FMA Services are a Service Oriented Architecture (SOA) allows Citrix engineers to easily add new services when needed. This
SOA also makes troubleshooting easier, because CDF traces have multiple providers.
• The FMA Services diagram shows three groups of FMA Services:
• Core Services
• These services are involved in almost all operations.
• The Citrix Configuration Service acts as a centralized directory service for all other services.
Delivery Controller
• Provides global directory
to all services (WCF FMA Services
addresses).
Services
Central Delegated
• Allows services to Configuration
Core
Configuration Administration
Service Service Logging Service
register and unregister.
All services must
register with CCS.
AD
Apps and Desktops Host Analytics StoreFront Monitoring Citrix
Identity
• All services hold cache Service Service Service Service Trust
Supporting
Service
Services
Services
Key Notes:
• CCS acts as a global directory for FMA architecture.
• CCS knows each FMA service WCF address and is a central point of contact; which is why it’s one of the core FMA services and is
involved in any operation across services.
• CCS allows services to register and unregister. All services must register with CCS.
• You can use Get-ConfigRegisteredServiceInstance to retrieve the list of registered services.
PowerShell
Citrix Services Description Validating with PowerShell
prefix
Citrix Machine
Prov Handles the creation of new virtual machines (not physical machines). Get-ProvServiceStatus
Creation Service
Citrix Configuration
Config Handles all inter-service communication between FMA services. Get-ConfigServiceStatusGet
Service
Citrix AD Identity Handles all Active Directory accounts related to any Citrix virtual or physical
Acct Get-AcctServiceStatus
Service workload.
Citrix Hosting Manages all connections XDC, and the Hypervisor; supporting vSphere,
Hyp Get-HypServiceStatus
Service Citrix Hypervisor or SCVMM. Responsible for power management.
Key Notes:
• Use “Get-Command Get-*ServiceStatus” to see all cmdlets.
• What you do for one FMA service, you must do for all.
• All the FMA services are independent from each other.
PowerShell
Citrix Services Description Validating with PowerShell
prefix
Citrix Delegated
Manages the creation, configuration and administration of all delegated
Administration Admin Get-AdminServiceStatus
administrative permissions.
Service
Citrix Monitoring Monitors the overall FMA architecture and produces alerts and warnings
Monitor Get-MonitorServiceStatus
Service when it finds something is potentially wrong, such as a failing service.
Citrix Environment Manages tests for evaluating the state of Citrix Virtual Desktops
EnvTest Get-EnvTestServiceStatus
Test Service infrastructure.
Citrix Configuration Monitors and logs all configuration changes made within a Citrix Virtual
Log Get-LogServiceStatus
Logging Service Desktop site, to include all administrator activity.
Citrix Analytics
Analytics Collects analytical data from Citrix products. Get-AnalyticsServiceStatus
Service
Key Notes:
• Use “Get-Command Get-*ServiceStatus” to see all cmdlets.
• What you do for one FMA service, you must do for all.
• All the FMA services are independent from each other.
PowerShell
Citrix Services Description Validating with PowerShell
prefix
Citrix StoreFront
SF Manages the StoreFront deployment. Get-SFServiceStatus
Service
Citrix Orchestration
Orch Not currently used (must be enabled, do not disable) Get-OrchServiceStatus
Service
Citrix Trust Service Trust Not currently used (must be enabled, do not disable) Get-TrustServiceStatus
Key Notes:
• Use “Get-Command Get-*ServiceStatus” to see all cmdlets.
• What you do for one FMA service, you must do for all.
• All the FMA services are independent from each other.
Key Notes:
• The SDK with the current release of Virtual Apps and Desktops comprises several PowerShell snap-ins that are installed automatically
when you install a Delivery Controller or Studio.
• You must run the shell or script using an identity that has Citrix administration rights.
• Citrix Virtual Apps and Desktops, and earlier Citrix Virtual Desktops 7 version snap-ins are version 2.
AD Delegated Machine
Citrix Citrix Analytics Broker Configuration Environmental Host StoreFront App
Identity Administration Creation
Trust Orchestration Service Service Service Test Service Service Service Library
Service Service Service
SITE Database
Each of the Citrix services establishes its own direct connection to the site database.
Additionally, some services, such as Configuration Logging, will have an additional separate
connection to a secondary database.
Key Notes:
• Each service has a separate connection to a database.
• Citrix Virtual Apps and Desktops Site supports Microsoft SQL databases.
• FMA services leverage the Delivery Controller’s machine account to authenticate to SQL.
• Data for the Site from the FMA services is stored in the Site databases – this is why a SQL server is required.
• Leveraging the Delivery Controller’s computer AD account for authentication to SQL enhances security by preventing the service
(5)
End User
Device
Citrix
Gateway
Delivery Controller
Internal User Desktops Apps Desktops Apps
External User StoreFront
Key Notes:
• (1) External (Green): Citrix Gateway communicates with StoreFront (after successful user authentication) to begin the resource
enumeration process.
• If the StoreFront server address (or VIP) is misconfigured on the Citrix Gateway, the logon process will fail at this stage.
• (2) Internal and External: After successful authentication, StoreFront queries the configured Delivery Controllers for available
resources accessible to the user. If XML-based authentication is used, the process begins at Step 3.
Additional Resources:
• How to Change the XML Port in Virtual Desktops: https://support.citrix.com/article/CTX127945
• Local host cache (FMA): https://docs.citrix.com/en-us/citrix-virtual-apps-desktops/1912-ltsr/manage-deployment/local-
host-cache.html
Key Notes:
• Expired SSL certificates on the Delivery Controllers will impact communications between the StoreFront servers and Delivery
Controllers if SSL is enabled between them. Switching to the HTTP transport type is a workaround, but will lower the security of the
environment until new certificates are installed on the Delivery Controller(s).
• An XML communication port mismatch will occur if the configured port was changed on either the StoreFront server(s) or Delivery
Controller(s), but not both.
• The StoreFront console is used to adjust this setting on StoreFront, while a command prompt setting is used on the Delivery
Additional Resources:
• Enable CAPI2 event logging to troubleshoot PKI and SSL Certificate Issues:
https://blogs.msdn.microsoft.com/benjaminperkins/2013/09/30/enable-capi2-event-logging-to-troubleshoot-pki-and-
ssl-certificate-issues/
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
Module 10
End User PC
Network or
Connection issues
Key Notes:
• Be aware that both VDA and Controller are actually acting as a client\server – there are two independent connections between
them. This is again used to prevent a man-in-the-middle attack, as the attacker would also need to compromise the Active Directory
environment.
• And if he can do that, you a have much bigger problem going on. You can see this in steps 3-4 and 7-8, where the controller doesn’t
trust the information provided by the VDA and actually contacts the AD to confirm the SPN record.
• This is the reason why you cannot use a load-balanced IP when defining the controller.
BrokerAgent.exe attempts to
register on port 80
Registration attempt fails!
Key Notes:
• There are a number of reasons as to why VDA registration mail fail; such as a network failure, or firewall blocking communication.
Other issues can be related to Domain or DNS.
• Issues with DNS prevent Controller and VDA communication in the AD domain.
• ListOfDDCs registry value not updated or mistyped after a Delivery Controller is replaced or removed from the Site (for manual
configs).
• GPO or network firewall rule introduced which blocks necessary Controller-VDA communications.
Additional resources:
• Virtual Delivery Agent (VDA) Registration Troubleshooting Tips and Flowchart:
https://support.citrix.com/article/CTX136668
• Troubleshooting Virtual Desktop Agent Registration with Controllers in Virtual Desktops:
https://support.citrix.com/article/CTX126992
Key Notes:
• XDPING can be used for the following:
• Validate network settings and connections.
• DNS lookups (including reverse lookups).
• Provide details on time synchronization and Kerberos Authentication time checks.
• User logon information.
• Machine information, such as the operating system and computer name.
Additional resources:
• How to troubleshoot Virtual Delivery Agent (VDA) Registration issues: https://support.citrix.com/article/CTX136668
• XDPing Tool: http://support.citrix.com/article/CTX123278
• Citrix Health Assistant - Troubleshoot VDA Registration and Session Launch:
https://support.citrix.com/article/CTX207624
• VDA Health Check Now Available on Smart Check: https://www.citrix.com/blogs/2017/08/30/vda-health-check-now-
available-on-smart-check/
• Citrix Supportability Pack (bundles many useful tools): https://support.citrix.com/article/CTX203082
• Citrix Policy Reporter - RSOP CtxCseUtil Tool: https://support.citrix.com/article/CTX138533
• VDA Cleanup Utility: https://support.citrix.com/article/CTX209255
• CDF Control: https://support.citrix.com/article/CTX111961
(2)
End User
Device
San Francisco (SFO) Miami (MIA)
Infrastructure Zone 2 (Satellite) Zone 3 (Satellite)
Resources
Resources
Citrix Gateway
Delivery Controller
StoreFront Desktops Apps Desktops Apps
(3) (1) (4) (7)
Key Notes:
• (1) If Auto-Update is enabled, VDA gathers list of available Delivery Controllers. If Auto-Update is not enabled, VDA checks registry
entry for ListOfDDCs (manually or GPO populated).
• If this setting is configured manually, care should be taken to keep it up to date to prevent issues later. Also remember that a
setting configured via Group Policy will override a locally configured setting.
• In addition to the ListOfDDCs, the ListOfSIDs indicates which machine Security IDs (SIDs) the VDA allows to contact it as a
Controller. The ListOfSIDs can be used to decrease the load on Active Directory or to avoid possible security threats from a
Port 80
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
Module 11
End User PC
Connection issues
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.
• You can review recent • When connecting via • An .ICA file can be
connections and brokering StoreFront, you can downloaded and parsed to
attempts using specific automatically download an view all connection specific
cmdlets that output to log file .ica file to the local client details, for example:
for review: machine by setting the • IP or DNS address of worker
• Get-BrokerConnectionLog LogICAFile string value to • Application settings
“true” on the workstation. • Proxy information
• Session connection log • HKLM\SOFTWARE\Citrix\ICA
contains information for all Client\Engine\Configuration\Adv
brokered connection, or anced\Modules\Logging
reconnection, attempts to
sessions within the site.
Key Notes:
• The Get-BrokerConnectionLog command:
• Gets connection log entries matching the specified criteria. If no parameters are specified all connection log entries are returned.
• Creates a log with each entry describing a single connection brokering attempt to a new or existing session within the site. A
single session can have multiple entries in the connection log.
• By default ,connection log entries are removed after 48 hours.
To enable the automatic creation of ICA files to an end-user workstation, when using StoreFront, set the following String values in the
Additional resources:
• How to Save the Launch.ica File to a Client Computer: http://support.citrix.com/article/CTX115304
• Driving the Citrix Receiver Self-Service Plug-in Programmatically: http://support.citrix.com/article/CTX200337
• Get-Brokerconnectionlog: https://developer-docs.citrix.com/projects/delivery-controller-sdk/en/latest/Broker/Get-
BrokerConnectionLog/
• User sessions connecting to either desktops or applications are distributed evenly across all VDA
within a given Delivery Group.
• Session distribution is driven by a load index that is reported by each VDA to the Controller.
• To customize session load balancing, load management can be configured via Citrix or GPO policies.
Delivery
Session 1
Group
Session 3
Published Desktop
4 HDX Session Requests
Key Notes:
Load balancing can be customized using policies.
HDX Policy Load Management settings include the following parameters that can be set based on specific infrastructures requirements:
• Concurrent logons tolerance
• CPU usage
• CPU usage excluded process priority
• Disk usage
Additional resources:
• How to Calculate the Load Evaluator Index on XDC: http://support.citrix.com/article/CTX202150
(6)
(1b)
End User Device
Citrix
Gateway
Delivery Controller
Desktops Apps Desktops Apps
Internal User StoreFront
298External User
Key Notes:
• (1a) External: The user clicks on a published resource and Citrix ADC transmits this launch request to StoreFront.
• When using Native Receiver (e.g. the Receiver desktop client), StoreFront beacons are used to determine whether the
endpoint is on the internal or external network. Based on this, Receiver will attempt to connect either to Citrix
Gateway or directly to StoreFront. Typically the Citrix Gateway URL is the default external beacon, and the StoreFront
URL is the internal beacon. However, in single URL scenarios (where NSG and SF URLs match) this coul d lead to issues
when endpoints move inside or outside of the network (such as laptops that users take home with them). In these
Additional Resources:
• Create a single Fully Qualified Domain Name (FQDN) to access a store internally and externally:
https://docs.citrix.com/en-us/storefront/current-release/advanced-configurations/configure-single-fqdn.html
• Users Prompted to Download, Run, Open Launch.ica File, Instead of Launching Connection:
https://support.citrix.com/article/CTX804493
• Error: You Cannot Access this Session Because no Licenses are Available. Event ID 1163:
https://support.citrix.com/article/CTX210104
• FAQ: Citrix Virtual Apps and Desktops 7.x Licensing: https://support.citrix.com/article/CTX128013
Key Notes:
• Other potential causes of resource launch issues:
• StoreFront beacon settings are misconfigured, which could impact application launches from Native Receiver.
• Individual application is missing dependencies.
• Required DLLs blocked by a security policy.
• The Citrix Delivery Services view within the Windows Event Logs on the StoreFront server is extremely helpful for troubleshooting
Additional Resources:
• Citrix Supportability Pack (bundles many useful tools): https://support.citrix.com/article/CTX203082
• Secure Ticket Authority (STA) Status is Marked as DOWN on Citrix ADC-Gateway:
https://support.citrix.com/article/CTX132334/
• FAQ: Citrix Secure Gateway/Citrix Gateway Secure Ticket Authority: https://support.citrix.com/article/CTX101997
• Receiver Clean-Up Utility: https://support.citrix.com/article/CTX137494
• XDPing Tool: https://support.citrix.com/article/CTX123278
• Tools To Simulate CPU / Memory / Disk Load (includes CPUStress Tool):
https://blogs.msdn.microsoft.com/vijaysk/2012/10/26/tools-to-simulate-cpu-memory-disk-load/
• Autoruns for Windows v13.7: https://technet.microsoft.com/en-us/sysinternals/bb963902.aspx
Key Notes:
• If needed, please refer to Module 0 for instructions regarding how to access labs.
• Do not wait for the labs to fully provision, just initiate the provisioning. The lab should finish provisioning in time to start the lab
exercise.