Hier ist eine aktualisierte Installation- und Konfiguration-Anleitung für Citrix Session Recording. Die aktuelle Anleitung basiert auf der Version 1811. Die auf der Seite befindende Anleitung ist mittlerweile über drei Jahre alt und entspricht nicht mehr dem aktuellen Stand.
Mit Session Recording sind die Citrix Administratoren in der Lage die Aktivitäten der Benutzer in einer Session (Published Desktop oder Published App) aufzuzeichnen. Erfahrungsgemäß wird diese Funktionalität oft zwecks Überwachung von externen Mitarbeiter eingesetzt. Besonders im Finanzsektor hat sich das Produkt erfolgreich etabliert. Allein die Tatsache, dass die Session aufgenommen werden kann, kann zur Einhaltung der gesetzlichen Bestimmungen beitragen.
Eine Erhöhung der Sicherheit ist eine Hauptmotivation für den Einsatz von Session Recording. Die weiteren Einsatzszenarien ergeben sich im Bereich Troubleshooting und Software-Entwicklung. Oft werden die Supportmitarbeiter mit den Tickets konfrontiert, deren Inhalte kaum nachvollziehbar sind und die beschriebenen Ereignisse sich nicht nachstellen lassen. Genau für solche Fäll könnte Session Recording Abhilfe schaffen.
Auch für die Firmen, die eigene Software-Produkte entwickeln oder die neuen Versionen einführen, bietet Session Recording eine perfekte Gelegenheit das Verhalten der Besucher bei der Nutzung der Anwendung zu analysieren. Anhand dessen lassen sich die Anwendung in Bezug auf Benutzbarkeit, Benutzerfreundlichkeit und Zuverlässigkeit testen und optimieren. Zum weiteren Vorteil gehört das schnelle Deployment. Da alle Kern-Komponenten auf einem einzigen Server installiert werden können und die komplette Installation innerhalb einer Stunde zu schaffen ist.
Der Einsatz von Session Recording setzt eine Premium (Platinum) Lizenz voraus. Falls Sie der glückliche Besitzer einer solchen Lizenz sind, können Sie das Produkt für eines den beschriebenen Szenarien mühelos einsetzen.
Die erste Version der Session Recording kam mit der Version XenDesktop 7.6 auf den Markt und wurde seitdem kontinuierlich weiterentwickelt. Wobei meiner Ansicht nach, die besonders interessanten Funktionen erst seit letztem Jahr verfügbar sind. (In der XenApp-Welt war diese Software unter dem Name SmartAuditor bekannt.)
Die folgenden Verbesserungen sind erwähnenswert:
- Version 7.11 - Administrator Logging
Nach Bedarf kann eine weitere Datenbank erstellt werden, in der alle Verwaltungsaktivitäten der Administratoren protokoliert werden.
- Version 7.17 - Event Logging
Bei verdächtigem Verhalten eines Users sind die Sicherheitsmitarbeiter oft gezwungen die großen Aufnahmedateien anzuschauen, um nach einem bestimmen Ereignis zu suchen. In der Version 7.17 besteht die Möglichkeit die Versuche ein lokales Laufwerk (Client Drive Mapping) zu mappen oder einen USB-Speicher anzuschließen, zu protokolieren. Falls ein Benutzer ein Laufwerk mappt, wird dieses Ereignis entsprechend markiert und im Bereich „Events and Bookmarks“ notiert. Dies ermöglicht eine schnelle Suche trotz stundenlanger Aufnahme.
- Version 7.18 - Dynamic Recording
Standartmäßig fängt die Sitzungsaufzeichnung gleichzeitig mit dem Start der Session an. Die Dynamic Recording Option ermöglicht die manuelle Auslösung (starten/stoppen) der Aufzeichnung für die bereits gestartete Sessions. Diese Option ist nicht nur zwecks Security interessant, sondern kann auch beim Troubleshooting sehr hilfreich sein.
Aktuell ist diese Option nur per PowerShell steuerbar:
- Start-BrokerSessionRecording –User Domain\UserName - Aufnahme starten
- Stop-BrokerSessionRecording –User Domain\UserName - Aufnahme stoppen
Standardmäßig wird der Benutzer weiterhin über die gestartete Session-Aufzeichnung informiert.
- Version 1811 - File Operations Logging
Die Version 1811 ermöglicht eine Überwachung der Zugriffe auf die Dateien, die aus Sicht eines IT Security Administrators sicherheitsrelevant sind. Der erste Schritt in dieser Richtung wurde bereit in der Version 1808 durch die experimentelle Funktion namens "Umbenennen von Protokolldateien" getan.
Session Recording 1811 unterstützt die Protokollierungsfunktion für das Umbenennen, Erstellen, Löschen und Verschieben von Dateien. Auch welche Applikationen gestartet und beendet sind, wird mitprotokolliert. Auf diese Weise erfüllt Session Recording die gleiche Funktionalität wie Data Loss Prevention-Tools.
Citrix-Blogbeiträge zum Thema:
Session Recording 7.13 – New HA and Database Options
Load Balancing Session Recording Servers & More
Event Logging in Session Recording 7.17
Session Recording 7.18 – support for dynamic recording and app launch logging - Future-Matrix
Session Recording 1808 Product Update – Log application activities and more!
Session Recording 1811 is here for Citrix Virtual Apps and Desktops
Einschränkungen:
In der aktuellen Version sind einigen Vorbereitungen auf jedem VDA notwendig. Die Pfade, die schützenswerte Dateien beinhalten sollen, werden manuell in der Registry eingetragen:
HKLM\SOFTWARE\Citrix\SmartAuditor\SessionEvents\FileOperationMonitorList
Die zu beobachtenden Applikationen sollten ebenso in der Registry einzeln eingetragen werden.
HKLM\SOFTWARE\Citrix\SmartAuditor\SessionEvents\AppMonitorList
Wenn die Länge eines Datei- oder Ordnerpfads einschließlich des Datei- oder Ordnernamens die maximale Länge von 260 Zeichen überschreitet, können keine Vorgänge für die Datei oder den Ordner protokolliert werden.
Weitere Informationen finden Sie hier: Log-Events
Architektur
An der Architektur hat sich nicht geändert. Es sind immer noch die folgenden Komponenten im Einsatz:
- Session Recording Agent
- Session Recording Player
- Session Recording Server
- Session Recording Policy Console
- Session Recording Database
Windows Server 2019 wird als Platform für Session Recording offiziell unterstützt. Ein Assistent installiert automatisch alle notwendigen Komponenten (getestet auf einem Server 2019), sodass keine manuelle Installation von Prerequsites mehr notwendig ist.
Für eine kleine Umgebung (oder Test-Lab) können alle Komponenten inkl. Datenbank auf demselben System installiert werden. Für eine komplexe Infrastruktur, ist zu empfehlen, die Last auf mehrere Systeme zu verteilen. Mehr zum Thema finden Sie hier: CTX200869 – Building a Highly Scalable Session Recording System
Einen groben Platzbedarf können Sie Anhand des folgenden Citrix-Beispiels ermitteln:
- eine Outlook-Sitzung produziert täglich (8-Stunden) 20MB.
- 20 MB x 1000 Users = 20000 (19,5 GB Täglich) x 22 = 429 GB monatlich
Vorbereitung
Wenn die Verwendung eines separaten SQL-Server geplant ist, müssen Sie über die Sicherheitsberechtigung securityadmin und dbcreator auf der DB verfügen. Die Berechtigung wird nur für die Installation benötigt und kann nach der Installation wieder entzogen werden. Eine Möglichkeit die DBs per Skript zu erstellen (analog zu XenDesktop) gibt es nicht.
Aktuell werden folgende MS SQL Datenbank-Versionen in allen Editionen (auch Express) unterstütz: 2008 R2 SP3, 2012 SP3, 2014 SP2, 2016 SP1 und 2017. Um die Dimensionierung der Datenbanken müssen Sie sich nicht kümmern. Die DBs bleiben relativ klein, da nur die Metadaten zu den aufgezeichneten Sitzungen gespeichert werden.
Session Recording unterstützt eine Rollen-basierte Administration. Es ist zu empfehlen, dass die unterschiedliche Konten zu den unterschiedlichen Administratorrollen zugewiesen werden.
Die Kommunikation zwischen den Agenten auf den VDAs zum dem Session Recording Server soll verschlüsselt sein. Installieren Sie auf dem Session Recording Server ein TLS-Zertifikat.
Empfohlen Hardwarekonfiguration:
- Dual-CPU oder Dual-Core-CPU
- 4 GB RAM
Firewall Freigaben:
- Port TCP/UPD 80/443
- Port TCP/UDP 1801 (Microsoft Message Queuing (MSMQ))
- Ports TCP 135, 2101, 2103, 2105 weitere MSMQ-Ports
- Port 1433 SQL Server - Session Recording Database
Installation
Die Installationsdateien befinden sich auf der Citrix Virtual Apps und Desktops DVD, können aber auch einzeln heruntergeladen werden.
…\x64\Session Recording
1. Klicken Sie auf die Schaltfläche Session Recording
2. Akzeptieren Sie die Lizenzvereinbarung und Next
3 . Nach Bedarf können Sie den Standard-Pfad anpassen.
Hier haben Sie die Wahl, ob Sie die beiden Komponenten auf demselben Server installieren wollen. Da es sich in meinem Fall um ein Server Betriebssystem handelt, werden hier sowohl die Session Recording Administration als auch den Session Recording Player angezeigt.
Den Session Recording Agent ist ausgegraut, da auf dem System kein VDA erkannt wurde.
4. Hier können Sie auswählen, welche administrativen Komponenten auf dem System installiert werden.
Die Option Session Recording Database wirkt etwas irreführend. Hinter dieser Option versteckt sich eine Komponente, die für die Erstellung und Konfiguration der erforderlichen Datenbanken sorgt.
5. Auf der Registerkarte Database und Server geben Sie folgende Informationen ein:
- Instance name: Computername der SQL-Server. Nur wenn der SQL-Server mehrere Instanzen hat, wird hier die Instanz miteingegeben (Computername\Instanzname).
- Database name: der Name der Session Recording DB wird hier festgelegt.
- Session Recording Server computer account: DomainName\Computername
6. Unter Administrator Logging legen wir den Name der weiteren DB fest.
Nach der Installation werden zwei Datenbanken erstellt:
- CitrixSessionRecording – hier werden die Session Recording Konfiguration und die Metadaten der Sessions gespeichert.
- CitrixSessionRecordingLogging – in dieser DB werden die Informationen zu Konfigurationsänderungen des SR-Servers und Verwaltungsaktivitäten der Admins gespeichert.
7. Wenn alle Einstellungen korrekt sind, starten Sie die Installation.
8. Die Installation ist erfolgreich abgeschlossen.
Konfiguration
Im ersten Schritt konfigurieren wir die Einstellungen des Session Recording Servers.
Bevor Sie mit der Konfiguration beginnen, starten Sie die IIS-Konsole und binden Sie das Zertifikat an die Default Web Site (Webseite auswählen > Aktionen > Bindungen)
1. Starten Sie die Sitzungsaufzeichnungsserver - Eigenschaften
2. Auf der Registerkarte Storage können den Speicherort für die Video-Files festlegen
Standardmäßig werden die auf dem Bild markierten Ordnern als Speicherort festgelegt.
Es ist empfehlenswert die Ordner auf einem separaten Laufwerk zu speichern.
Wählen Sie den neuen Ordner aus.
Passen Sie den Pfad zum Wiederherstellungsordner auch.
3. Auf der Registerkarte Signing wird das Zertifikat gebunden.
Das Zertifikat wird automatisch erkannt.
4. An dieser Stelle legen Sie die maximale Größe (File size threshold) der Aufnahme-Dateien fest. Wenn die Größe überschritten wird, wird eine neue Datei erstellt.
- 50 MB – Default-Wert
- 10 MB -minimale Größe
- 1 GB – maximale Größe
Recording duration threshold – legt die Anzahl der Stunden fest, wie lange eine Datei weitergeschrieben wird, bis eine neue Datei eröffnet wird.
Die Limitierung zwischen 1 und 24 Stunden ist möglich.
5. Die Registerkarte Playback erlaubt oder verbietet die Wiedergabe des Videos während die Aufnahme bzw. Usersession noch aktiv ist.
Playback Protection – ermöglicht eine Verschlüsselung der Aufzeichnung bevor diese im Session Recording Payer geladen wird, um eine unautorisierte Wiedergabe auf einem anderen Zielsystem oder von einem unautorisierten Benutzer zu verhindern.
6. Hier können Sie eine Meldung definieren, die dem Benutzer nach der Anmeldung angezeigt wird. Außerdem können Sie die Meldung für unterschiedliche Sprachen konfigurieren.
7. Teilnahme an Programm zur Verbesserung der Benutzerfreundlichkeit (Customer Experience Improvement Program, CEIP)
8. Aktivierung / Deaktivierung der Protokollierung aller administrativen Ereignisse.
Somit sind wir am Ende der Konfiguration angekommen, klicken Sie auf OK-Button.
Mit Yes bitte das Neustart der Services bestätigen.
Konfiguration - Autorisierungskonsole für die Sitzungsaufzeichnung (Session Recording Authorization Console)
In weiteren Schritten werden die Berechtigungsrollen konfiguriert. Der Einfachheit halber werde ich alle Berechtigungsrollen nur mit einer Gruppe (Citrix-Admins) verknüpfen. In einer produktiven Umgebung sollen die Rollen aber sinnvoller gestaltet werden.
1. Starten Sie die Konsole „Autorisierungskonsole für die Sitzungsaufzeichnung"
2. Die Mitglieder der Gruppe PolicyAdministrator haben die höchste Berechtigungsstufe. Die grundsätzliche Aktivierung / Deaktivierung der Session Recording findet eben per Gruppenrichtlinien statt. Die Gruppe Local Admins sind bereits Mitglieder dieser Gruppe.
3. Rechte Maustaste auf dem PolicyAdministrator > Assign Users and Groups > From Windows and Active Directory
4. Die Mitglieder der Gruppe LoggingWriter dürfen die Protokolle schreiben (passiert automatisch). Die lokalen Administratoren und die Gruppe Network Service wurden während der Installation hinzugefügt.
Die Rolle LoggingReader liegt fest, wer die Protokolle sehen darf.
5. Nur zu der Rolle Player zugewiesene Benutzer / Benutzergruppen dürfen auf dem Player die Aufzeichnungen ansehen.
Richtlinienkonsole für die Sitzungsaufzeichnung (Session Recording Policy Console)
1. Starten Sie die Konsole „Richtlinienkonsole für die Sitzungsaufzeichnung"
2. Bestätigen Sie die eingegebenen Daten.
3. Es öffnet sich die folgende Konsole:
Um die Aufzeichnung zu aktivieren, klicken Sie mit der rechten Maustaste auf dem Symbol „Record everyone with notification“ > Activate Policy
Die Option Record everyone without notification ist aus rechtlicher Sicht mehr als problematisch und darf mit hoher Wahrscheinlichkeit nicht verwendet werden.
Sie können weiterhin eigene Richtlinien erstellen. Klicken mit der rechten Maustaste auf dem Ordner Recording Policy und wählen Sie Add New Policy. Die Vorgehensweise ist hier beschrieben.
Bei Bedarf kann die Protokollierung deaktiviert werden.
Administratorprotokollierung der Sitzungsaufzeichnung (Session Recording Administrator Logging)
Die folgende Verknüpfung startet die Configuration Logging Webkonsole.
Standardmäßig wird in dem Browser die Localhost-Adresse verlinkt. Diese muss auf die Adresse geändert werden, die dem installierten Zertifikat entspricht.
Öffnen den folgenden Pfad:
C:\Program Files\Citrix\SessionRecording\LoggingWebService\Bin
Passen Sie die URL-Adresse in den Eigenschaften des LoggingWebLinks wie folgt an:
- Ist: https://localhost/SessionRecordingLoggingWebApplication
- Soll: https://ServerName.domain.lab/SessionRecordingLoggingWebApplication/
Beispiel: https://ctx-sr.demo.lab/SessionRecordingLoggingWebApplication/
So können die Ergebnisse aussehen:
Session Recording in Director integrieren
Mit dem folgenden Befehl wird die Session Recording in Director-Oberfläche integriert. Mit dem folgenden Befehl wird die Session Recording in Director-Oberfläche integriert. Starten Sie die Eingabeaufforderung oder PowerShell-Konsole als Administrator und geben Sie die folgende Befehlskette ein:
C:\intepub\wwwroot\Director\tools\DirectorConfig.exe /configsessionrecording
Die aktive Aufzeichnung kann jetzt ausgeschaltet/eingeschaltet werden.
Die Konfiguration ist somit angeschlossen.
Agent Installation
Installieren Sie den Session Recording Agent auf jedem System, auf welchem die Sitzungsaufzeichnung geplant ist.
Für die Installation wird ebenfalls die CVAD-DVD benötigt.
Geben die FQDN des Session Recording Servers ein und stellen Sie das Protokoll um. Um sich zu vergewissern, dass die Kommunikation korrekt funktioniert, testen Sie die Verbindung: Verbindung testen
Starten Sie die Installation
Die Installation wurde erfolgreich abgeschlossen
Sitzungsaufzeichnungsagent – Eigenschaften.
Bei Bedarf lassen sich bei der Installation eingegebene Werte hier anpassen.
Eine weitere Möglichkeit die Einstellungen zu ändern, findet man in der Registry.
z.B. die Dymamic Control Option lässt sich hier deaktivieren.
Sitzungsaufzeichnungsplayer (Session Recording Player)
Bevor Sie den Player verwenden können, soll dieser mit dem Session Recording Server verbunden werden.
1. Tools > Options
2. Add
3. FQDN des Servers eintragen
4. Mit OK beenden.
.