Конфигуриране на агента Windows Recording Agent¶
Агентът за записване за Windows се използва от CyberElements, за да добави нови функции към сесиите RDP:
- Възможност за филтриране на потоците TCP и UDP, достъпни за потребителя
- Възможност за задействане на записване на сесията за всеки потребител, който се свързва със сървъра, без да минава през потребителския портал или клиента Desktop (функция
direct access)
Освен това по време на потребителските сесии се улавят допълнителни събития:
- Отваряне на прозорец
- Затваряне на прозорец
- Стартиране на програма
- Затваряне на програма
- Съдържание на клипборда
- Активност на потребителя
Предварителни изисквания¶
Съвместимост на клиента
За да разберете дали агентът е съвместим с различните операционни системи Microsoft Windows, вижте матрицата за съвместимост.
Агентът за записване има няколко предварителни изисквания, за да работи правилно. Някои от тях се отнасят само до функцията за записване чрез агент за приложенията RDP и HTML5 RDP, а други – до директния достъп чрез агент.
Общи предварителни изисквания¶
Агентът за записване изпраща записа на потребителската сесия обратно към CyberElements, като се свързва с компонента Edge Gateway на порт TCP 8443. Това изисква мрежовият поток между двата компютъра да е отворен.
За да изпрати сигурно записа обратно към компонента Edge Gateway, агентът за записване установява защитена връзка с него чрез TLS. TLS разчита на използването на сертификати и следните условия трябва да бъдат изпълнени, за да се счита връзката за надеждна и защитена:
- Сертификатът на сървъра, в случая Edge Gateway, не трябва да е изтекъл (максимална дата на валидност).
-
Сертификатът на сървъра, в случая Edge Gateway, трябва да е издаден от сертифициращ орган, признат за надежден от компютъра, на който е инсталиран агентът за записване.
Допълнителна информация
Сървърът, на който е инсталиран агентът за записване, трябва да има поне главния сертифициращ орган (CA) на сертификата на сървъра за записване в своето локално хранилище на доверени сертифициращи органи.
Затова е необходимо:
- Да извлечете главния CA на сертификата от услугата за записване в Edge Gateway.
- Да качите този CA на сървъра, на който е инсталиран агентът за записване.
- Да инсталирате CA в хранилището за сертификати „Trusted Root Certification Authorities“ на локалния компютър.
Пример с PowerShell
Можете лесно да импортирате сертификат във формат
.cerчрез PowerShell.
За целта отворете терминал на PowerShell като администратор на компютъра и изпълнете следната команда:Заменете1Import-Certificate -FilePath "<PAHT_TO_CERT>" -CertStoreLocation "Cert:\LocalMachine\Root"<PATH_TO_CERT>с пътя до файла на сертификата.Пример с PowerShell за сертификата на Systancia без изпращане на файлове
Този пример включва инсталиране на главния CA на Systancia, който се използва по подразбиране в CyberElements.
Възможно е също сертификатът да се импортира, без да е необходимо файлът да се изпраща/изтегля на компютъра, на който е инсталиран агентът за записване.
За целта отворете терминал на PowerShell като администратор на компютъра и изпълнете следните команди:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
# Systancia Root certificate $base64Cert = "MIIFIDCCBAigAwIBAgIBADANBgkqhkiG9w0BAQUFADCBjTELMAkGA1UEBhMCRlIx FDASBgNVBAoTC0lQZGl2YSBSb290MR0wGwYDVQQLExRJUGRpdmEgU2VjdXJpdHkg RGVwdDEqMCgGA1UEAxMhSVBkaXZhIFJvb3QgQ2VydGlmaWNhdGUgQXV0aG9yaXR5 MR0wGwYJKoZIhvcNAQkBFg5wa2lAaXBkaXZhLmNvbTAeFw0wNTA4MjIxNTAwMzla Fw0zMDA4MjIxNTAwMzlaMIGNMQswCQYDVQQGEwJGUjEUMBIGA1UEChMLSVBkaXZh IFJvb3QxHTAbBgNVBAsTFElQZGl2YSBTZWN1cml0eSBEZXB0MSowKAYDVQQDEyFJ UGRpdmEgUm9vdCBDZXJ0aWZpY2F0ZSBBdXRob3JpdHkxHTAbBgkqhkiG9w0BCQEW DnBraUBpcGRpdmEuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA ua59tx+RkIPZbGaSwkV0w5fuPBpY3sbLTk/eR2uN7j9zMu0pq38LfibCVsNGlifh GfT5CEbrNL7KvlEVY/It1QluYxNgknlcBP1roJG/xHNcUNmbvCFYLy9N3Nd0J/gC Vd8tdB4exqyKEoNuqX18rLpSJJOUZdQCeGdF9r+w6vmHdRMeVS44qIiBPv9Bxzgf GXBxAlSqfuDDJ3eZEMsWF/kJrbm4Uhav2ACl5qjHgSSTKMoGoEWOJNkB7Mq/khxc TnixIpM2s1rpEfhIetPo4BHsyKv7wqWrS6ouwu5AbzT5t3UqaN77CLqcZJGQ3vC0 IGKBuEcwigd7W6qkX1/XMwIDAQABo4IBhzCCAYMwDwYDVR0TAQH/BAUwAwEB/zAd BgNVHQ4EFgQU+lu7XBGohR2DKD+D+abZEODRHjkwgboGA1UdIwSBsjCBr4AU+lu7 XBGohR2DKD+D+abZEODRHjmhgZOkgZAwgY0xCzAJBgNVBAYTAkZSMRQwEgYDVQQK EwtJUGRpdmEgUm9vdDEdMBsGA1UECxMUSVBkaXZhIFNlY3VyaXR5IERlcHQxKjAo BgNVBAMTIUlQZGl2YSBSb290IENlcnRpZmljYXRlIEF1dGhvcml0eTEdMBsGCSqG SIb3DQEJARYOcGtpQGlwZGl2YS5jb22CAQAwCwYDVR0PBAQDAgEGMBkGA1UdEQQS MBCBDnBraUBpcGRpdmEuY29tMBkGA1UdEgQSMBCBDnBraUBpcGRpdmEuY29tMBEG CWCGSAGG+EIBAQQEAwIABzA+BglghkgBhvhCAQ0EMRYvSVBkaXZhIFJvb3QgQ2Vy dGlmaWNhdGlvbiBBdXRob3JpdHkgQ2VydGlmaWNhdGUwDQYJKoZIhvcNAQEFBQAD ggEBACaAgBQK7TATXieb9OdKm+l7/GpePo8f2bRKnkqeRS+HXBKYkvqVJdbJnhJm YPOdmhr9ATzt+488tQREAGzqPCp5eiVExPgvomNeG77X57KqbgCA1F7zGJqjP1FL 771FIWvFXp80ReM/zhcM+MY3sa5LADgOEl5NhoMNHT8AhLKwZ81j5nuwxyG9ICCN 5GjwgsnK/agmum4+RKeybIWuC/JTsSnu5OImXsmrlUiakp2l+VsZ1rRRNRNUlSbg Q3T8kj5ajB0lv2I0kj4fN9wDxzdHEn7nEAmv0t6Y5Te0g/VK3VWhuqeLStaahgip hmOVxbu5Ijfug5/3Eemep34NsYk=" # Convert the certificate and store it in memory $certBytes = [Convert]::FromBase64String($base64Cert) # Create a certificate object $cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 $cert.Import($certBytes) # Open the trusted root certificate store on the local machine and add the Systancia root certificate $store = New-Object System.Security.Cryptography.X509Certificates.X509Store("Root", "LocalMachine") $store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite) $store.Add($cert) $store.Close()За да използвате този метод с друг CA, променете стойността на променливата
base64Certна кодиран в base64 сертификат по ваш избор. -
Сертификатът на сървъра, в случая Edge Gateway, не трябва да е анулиран.
- Компютърът, на който е инсталиран агентът за записване, трябва да може да се свърже със сървъра, в случая Edge Gateway, чрез DNS име или IP адрес, обхванат от сертификата на сървъра чрез неговото поле Common Name (CN).
Специфични предварителни изисквания за приложения RDP с агенти, използвани на потребителска работна станция с macOS или Ubuntu¶
Предупреждение
Следните предварителни изисквания са необходими само ако потребителят стартира приложение RDP с агент и работната му станция не е с Windows (macOS или Ubuntu).
Ако потребителите на CyberElements имат работни станции само с Windows или, ако не, използват само приложения HTML5 RDP, следните предварителни изисквания могат да бъдат пренебрегнати.
Следните ключове от системния регистър са необходими на целевия сървър, на който е внедрен агентът за записване.
Първият ключ ще деактивира списъка с разрешени програми при стартиране (документ на Microsoft). По подразбиране компютър с Windows разрешава само explorer.exe като програма при стартиране.
1 2 | |
Ако компютърът не е сървър RDS, винаги се препоръчва да се приложи следният ключ от системния регистър, за да може агентът за записване да се отваря като програма при стартиране:
1 2 | |
Специфични изисквания за директния достъп¶
Функция за директен достъп
Функцията за директен достъп ви позволява да задействате записване на сесията на потребителя при достъп чрез RDP или чрез конзола (физическа връзка с компютъра или чрез конзолния режим на хипервизора), който не минава директно през CyberElements.
Ако потребителят има разрешение за достъп до сървъра, сесията му ще бъде записана. Ако не е така, по подразбиране потребителят ще бъде прекъснат.
За да работи агентът за записване в режим на директен достъп, е необходим сертификат x509. Този сертификат трябва да отговаря на следните изисквания:
- Сертификатът трябва все още да е валиден (периодът на валидност не е изтекъл).
- Сертификатът трябва да е от типа (поле за разширено използване на ключа)
client authentication(OID: 1.3.6.1.5.5.7.3.2). - Сертификатът не трябва да е анулиран.
- Ограниченията, произтичащи от ниво на защита 2 на OpenSSL, означават, че:
- Сертификатът трябва да има частен ключ от поне 2048 бита при шифрите RSA, DSA и DH; ключовете с елиптични криви (ECC) трябва да са от поне 224 бита.
- Подписът на сертификата не трябва да бъде MD5 или SHA-1 (за предпочитане е SHA-512).
- Сървърът за записване ще използва полето
Common Name(CN), за да идентифицира сертификата, а оттам и компютъра, на който се задейства директно записване. Това поле трябва да бъде попълнено.
Конфигурации чрез ключове в системния регистър¶
Някои глобални настройки са налични в ключове в системния регистър, за да повлияят на работата на агента за записване както при използване с приложения, така и при директен достъп.
1 2 3 | |
DisconnectOnError-
Определя поведението на агента за записване при затваряне на записващата програма на сесията. Ако е зададена стойност
0(поведение по подразбиране), при затваряне на записващата програма сесията на потребителя ще бъде затворена. Ако е зададена стойност1, сесията на потребителя ще бъде прекъсната при затваряне на записващата програма. SessionEndTimeout-
Определяне на времето (в секунди) за затваряне на потребителската сесия, преди да се извърши принудително прекратяване на сесията. По подразбиране този параметър е зададен на 10 секунди.
Конфигурация за работа с приложения RDP и HTML5 RDP¶
Контекст SaaS
На диаграмите по-долу „Mediation Controller“ представлява облачната услуга CyberElements, управлявана от CyberElements. Потокът на записване е архитектурно идентичен в режим SaaS.
В този режим на работа обменът между компонентите Mediation Controller, Edge Gateway и агента за записване протича по следния начин:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW as Edge Gateway
participant AGENT as RDP сървър<br/>Агент за записване
MED->>+GW: Изпращане на данните за влизане в <br/>RDP сървъра заедно с данните за влизане <br/>на агента за записване
GW->>AGENT: Инициализиране на RDP връзката
GW->>-AGENT: Изпращане на данните за влизане към <br/>услугата за записване на Edge Gateway
AGENT->>+GW: Свързване с услугата за записване
GW->>-AGENT: Изпращане на информация за мрежово филтриране
Note over AGENT: Прилагане на мрежови <br/>ограничения към потребителя
loop Непрекъснато записване на сесията
AGENT->>+GW: Непрекъснато изпращане на видеозаписа <br/>+ събития от сесията
Note over GW: Непрекъснато добавяне на видеозаписа <br/>във временната директория
GW->>-MED: Изпращане на получените събития от сесията
Note over MED: Записване на събитията <br/>в базата данни на организацията
end
break Край на сесията
AGENT->>GW: Изпращане на информация, че <br/>потребителят е приключил RDP сесията си
Note over GW: Видеозаписът се премества <br/>в архивната директория
GW->>MED: Известие за края на сесията на потребителя
Note over MED: Сесията на потребителя преминава <br/>от предаване на живо в архив
end
- Компонентът Mediation Controller предоставя на компонента Edge Gateway информацията за връзка с целевия RDP сървър. Той включва също информацията за връзка, с която разполага, за свързване с услугата за записване (FQDN на компонента Edge Gateway).
- Компонентът Edge Gateway инициализира връзката с RDP сървъра.
- Компонентът Edge Gateway изпраща на агента за записване информацията за връзка със своята услуга за записване.
- Агентът за записване инициализира връзката с услугата за записване.
- След като агентът се свърже, услугата за записване връща списъка с ограничения на мрежовите потоци, които да се приложат към сесията. След като ги получи, агентът за записване ги прилага към сесията на потребителя.
- Агентът за записване непрекъснато качва в реално време към услугата за записване видеозаписа на сесията на потребителя и всички събития в сесията (например натискания на клавиши или стартиране на програми). Услугата за записване съхранява видеозаписа във временна директория.
- Услугата за записване съобщава различните събития в сесията на компонента Mediation Controller, който след това ги записва в базата данни на организацията.
- Когато RDP сесията на потребителя приключи, агентът за записване съобщава информацията на услугата за записване. След това услугата за записване премества записаното видео в директорията за архив на потребителските записи.
- Услугата за записване съобщава края на сесията на потребителя на компонента Mediation Controller. Поради това сесията вече не се вижда в Live Streaming на Control Center, а преминава в Archives.
При тази последователност е от съществено значение агентът за записване да получи правилната информация за връзка с услугата за записване на компонента Edge Gateway. Тази информация се съдържа в настройките на компонента Edge Gateway в полето FQDN: 
В това поле въведете DNS име, което RDP сървърите ще могат да разрешат.
Важно
Сертификатът, присвоен на услугата за записване Careserver, трябва да покрива името, посочено в полето FQDN. В противен случай агентът за записване ще счете връзката за несигурна и няма да стартира записването на сесията.
Конфигурация за работа с директен достъп¶
Контекст SaaS
На диаграмите по-долу „Mediation Controller“ представлява облачната услуга CyberElements, управлявана от CyberElements. Потокът на директния достъп е архитектурно идентичен в режим SaaS.
В този режим на работа обменът между компонентите Mediation Controller, Edge Gateway и агента за записване протича по следния начин:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW as Edge Gateway
participant AGENT as RDP сървър<br/>Агент за записване
Note over AGENT: Откриване на нова <br/>сесия за записване
AGENT->>+GW: Свързване с услугата за записване
GW->>-MED: Известие за нова връзка <br/>с директен достъп за потребител X
alt Ако потребител X е упълномощен
MED->>+GW: Изпращане на информация, че потребител X <br/>има право да се свърже, и на списъка <br/>с мрежови филтри за прилагане
GW->>-AGENT: Изпращане на информация за мрежово филтриране <br/>и разрешение за свързване <br/>за потребител X
Note over AGENT: Прилагане на мрежови <br/>ограничения към потребител X
loop Непрекъснато записване на сесията
AGENT->>+GW: Непрекъснато изпращане на видеозаписа <br/>+ събития от сесията
Note over GW: Непрекъснато добавяне на видеозаписа <br/>във временната директория
GW->>-MED: Изпращане на получените събития от сесията
Note over MED: Записване на събитията <br/>в базата данни на организацията
end
break Край на сесията
AGENT->>GW: Изпращане на информация, че <br/>потребител X е приключил RDP сесията си
Note over GW: Видеозаписът се премества <br/>в архивната директория.
GW->>MED: Известие за края на сесията на потребителя
Note over MED: Сесията на потребителя преминава <br/>от предаване на живо в архив
end
else If user X is not authorized
MED->>+GW: Изпращане на информация, че потребител <br/>X няма право да влиза
GW->>-AGENT: Изпращане на известие за <br/>отказано влизане на потребител X
Note over AGENT: Излизане на потребител X
end
- Агентът за записване открива нова сесия и инициира връзка с услугата за записване на компонент Edge Gateway.
- Компонентът Edge Gateway изпраща информацията за връзката (потребителско име и CN на сертификата, използван от агента за записване) на компонента Mediation Controller. Компонентът Mediation Controller ще отговори по два различни начина в зависимост от настройките на правата за достъп.
- Ако потребителят е упълномощен да се свърже със сървъра, компонентът Mediation Controller връща на компонента Edge Gateway възможния достъп за този потребител и списъка с мрежови филтри, които да се приложат.
- Компонентът Edge Gateway връща тази информация на агента за записване. След като я получи, агентът за записване прилага мрежовите филтри към сесията на потребителя.
- Агентът за записване непрекъснато качва в реално време към услугата за записване видеозаписа на сесията на потребителя и всички събития в сесията (например натискания на клавиши или стартиране на програми). Услугата за записване съхранява видеозаписа във временна директория.
- Услугата за записване съобщава различните събития в сесията на компонента Mediation Controller, който след това ги записва в базата данни на организацията.
- Когато RDP сесията на потребителя приключи, агентът за записване съобщава информацията на услугата за записване. След това услугата за записване премества записаното видео в директорията за архив на потребителските записи.
- Услугата за записване съобщава края на сесията на потребителя на компонента Mediation Controller. Поради това сесията вече не се вижда в Live Streaming на Control Center, а преминава в Archives.
- Ако потребителят не е упълномощен да се свърже със сървъра, компонентът Mediation Controller съобщава на компонента Edge Gateway за неупълномощения достъп на този потребител.
- Компонентът Edge Gateway препраща информацията на агента за записване, който прекъсва сесията на потребителя.
Ключове в системния регистър¶
Независимо от начина на инсталиране, агентът за записване разполага с всички компоненти, необходими за всички предвидени режими на работа. Затова, за да работи в режим на директен достъп, той чете следните ключове в системния регистър, за да определи своята конфигурация:
1 2 3 4 | |
MachineName-
Име на сертификата, който агентът за записване ще използва, за да се свърже с услугата за записване на компонент Edge Gateway. По подразбиране, както и ако не е определено, агентът ще се опита да използва сертификат с името на компютъра.
LogOffOnFailure-
Указание за поведението на агента, когато не може да се свърже с компонент Edge Gateway или ако потребителят не е упълномощен да се свързва с компютъра. При
0няма да има прекъсване на връзката, докато при1потребителят ще бъде изключен (поведение по подразбиране). RecordedSessions-
Определяне на типовете сесии, подлежащи на записване:
none: няма да се извършва записване на директния достъп (настройка по подразбиране).remote: всеки RDP достъп до компютъра ще задейства записване.all: RDP достъпът и конзолният достъп (физически достъп до компютъра или от конзолния режим на хипервизора) ще задействат записване.
Какви стойности на ключове са необходими за директния достъп?
Единствената стойност на ключ, необходима за активиране на механизма за директен достъп, е RecordedSessions със стойност remote или all. Имайте предвид, че в зависимост от средата може да е необходима и стойността на ключа MachineName.
Сертификат на компютъра¶
Агентът за записване ще се опита да използва сертификат за удостоверяване пред услугата за записване. Този сертификат трябва да е инсталиран в личните сертификати на компютъра.
Агентът ще използва сертификата, чието име съответства на стойността на ключа MachineName (вижте предходната глава), а ако тя не е определена, ще се опита да използва сертификат с името на компютъра.
Деклариране на компонентите Edge Gateway, с които агентът може да се свързва¶
Агентът за записване използва локална информация, за да определи списъка със сървъри Edge Gateway, с които да се свърже, за да качи записите на потребителските сесии.
За да промените списъка със сървъри Edge Gateway, с които може да се осъществи връзка, първо трябва да спрете услугата CleanroomAgent.
Предупреждение!
Спирането на услугата CleanroomAgent прекратява записването на текущите сесии на сървъра, а новите сесии, отворени на сървъра, няма да бъдат записвани.
Услугата може да бъде спряна чрез PowerShell (изискват се права на администратор):
1 | |
След като спрете услугата, променете или създайте следния файл [RECORDING_AGENT_DIR]\gateways.xml, където [RECORDING_AGENT_DIR] е инсталационната директория на агента за записване. При инсталационната директория по подразбиране файлът трябва да съществува или да бъде създаден на това място:
- CyberElements:
C:\Program Files (x86)\Systancia\cyberelements\gateways.xml
Този XML файл се състои от етикет gateways и толкова етикета element, колкото са компонентите Edge Gateway, с които може да се осъществи връзка.
Пример
Ако агентът за записване трябва да се свърже с компонент Edge Gateway с FQDN edge-gateway-1.domain.local, XML файлът би изглеждал така:
1 2 3 4 | |
Но ако има два компонента Edge Gateway, с които да се свърже, edge-gateway-1.domain.local и edge-gateway-2.domain.local, файлът би изглеждал така:
1 2 3 4 5 | |
След като промените правилно файла gateways.xml, рестартирайте услугата CleanroomAgent:
1 | |
Конфигуриране на услугата за записване за удостоверяване на сертификати от PKI на трета страна¶
По подразбиране услугата за записване счита за валидни само сертификатите, издадени от PKI на Systancia. За да използвате сертификати от друг сертифициращ орган (CA), трябва да следвате стъпките за добавяне на CA в директорията, специфична за Edge Gateway.
След като сертификатът или сертификатите на CA са на правилното място, остава само да рестартирате услугата за записване, отново като суперпотребител root:
Предупреждение!
Рестартирането на тази услуга ще спре текущите сесии и ще прекрати почти всички от тях. Изпълнявайте следната команда само когато през компонента Edge Gateway не преминават потребителски сесии, за да не засегнете потребителите.
1 | |
След рестартиране на услугата за записване можете да проверите дали новите CA са правилно взети предвид, като прегледате дневниците на услугата:
1 | |
Получените дневници ще посочат в края на реда имената на файловете със сертификати, които са били заредени от услугата за записване.
Пример
След добавяне на два CA с имена MY-CA-ROOT.pem и MY-INTERMEDIATE-CA.pem получените дневници ще изглеждат така (началото на дневника е съкратено, но то съдържа, наред с другото, датата и името на компютъра):
1 2 3 4 | |