Citrix XenApp

XenApp — это программное обеспечение для виртуализации и доставки приложений с удаленного сервера на локальные устройства через тонкий клиент. XenApp позволяет запускать приложения для Windows на компьютерах и мобильных устройствах под управлением других операционных систем. Сами приложения находятся на выделенном сервере или в облаке.

Настройка источника событий

  1. Создайте учетную запись в СУБД MS SQL. Для этого:

    1. Подключитесь к СУБД посредством SQL Server Management Studio под доменной учетной записью.

    2. Вызовите контекстное меню для security/logins и выберите опцию New login.

    3. Укажите параметры сервисной учетной записи:

      • Имя для входа;

      • Выберите опцию Проверка подлинности SQL Server;

      • Пароль;

      • База данных по умолчанию — название экземпляра БД, используемой XenApp.

  2. Перейдите в настройки SQL Server Configuration Manager и убедитесь, что TCP/IP включен в конфигурации сети SQL Server. Для этого перейдите в раздел SQL Server Network ConfigurationProtocols for SQLCITRIX.

    Появится окно с настройкой TCP/IP, где в параметре Enabled должно быть указано Yes.

CheckTCPIP

Настройка интеграции с R-Vision SIEM

Для интеграции источника с R-Vision SIEM выполните следующие шаги:

  1. В интерфейсе R-Vision SIEM создайте новый конвейер в коллекторе.

  2. Добавьте на конвейер элемент Точка входа со следующими параметрами:

    1. Тип точки входа — Database;

    2. Драйвер базы данных — необходимый для MSSQL

    3. Адрес подключения — укажите заранее созданный секрет.

    4. SQL-запрос — введите следующий:

      SELECT LowEv.Uid as uid
            ,LowEv.Text as msg
            ,HighEv.Text as HighEventText
            ,LowEv.AdminMachineIP as src
            ,LowEv.AdminId as AdminUid
            ,AdminAccountName as suser
            ,(DATEADD(hour,DATEDIFF(hour,GETUTCDATE(),GETDATE()),LowEv.EndTime)) AS endtime
            ,LowEv.Source as appname
            ,LowEv.SourceSdk as appnameSDK
            ,LowEv.HighLevelOperationUid as HighLevelOperationUid
            ,(DATEADD(hour,DATEDIFF(hour,GETUTCDATE(),GETDATE()),LowEv.StartTime)) AS starttime
            ,LowEv.IsSuccessful as status
      FROM
      <database>.ConfigLoggingSchema.LowLevelOperationView as LowEv
      LEFT JOIN <database>.ConfigLoggingSchema.Users as XenAppUsers ON LowEv.AdminId = XenAppUsers.Id
      LEFT JOIN <database>.ConfigLoggingSchema.HighLevelOperationView AS HighEv ON LowEv.HighLevelOperationUid = HighEv.Uid WHERE
      (DATEADD(hour,DATEDIFF(hour,GETUTCDATE(),GETDATE()),(DATEADD(hour,DATEDIFF(hour,GETUTCDATE(),GETDATE()),LowEv.StartTime)) ) >= DATEADD(MINUTE, -1, GetDate()))

      Здесь <database> — название экземпляра БД, используемой XenApp.

    5. Интервал запроса — 60 секунд.

  3. Добавьте на конвейер Нормализатор с правилом Citrix XenApp 7.x (идентификатор RV-N-127). Соедините нормализатор с точкой входа.

  4. Добавьте на конвейер элемент Конечная точка типа Хранилище событий. Соедините конечную точку с нормализатором.

  5. Сохраните и установите конфигурацию конвейера.

    Пример конфигурации конвейера

    XenAppconveyor

Таблицы маппинга

Таблица 1. Общий маппинг
Поле модели событий Значение

act

raw.msg[0]

cat

raw.appnameSDK

dvendor

"Citrix"

dproduct

"XenApp"

dversion

"7.x"

destinationServiceName

raw.appname

externalId

raw.uid

suser

raw.suser

suid

raw.AdminUid

startTime

raw.starttime

endTime

raw.endtime

outcome

"success" или "failure"

(зависит от успешности/ не успешности выполняемого действия)

src

raw.src

name

raw.HighEventText

Таблица 2. Конкретные действия
Поле модели событий Добавление или удаление пользователя с машины Изменение логирования Запрос аналитики из БД Добавление нового объекта в XenApp

msg

Сообщение, приведенное к человекочитаемому виду + objName + suser

Сообщение, приведенное к человекочитаемому виду + suser

Сообщение, приведенное к человекочитаемому виду + suser

Сообщение, приведенное к человекочитаемому виду + suser + objType+ objName.

objType

Извлекается из raw.msg

"Configure"

"Data"

Извлекается из raw.msg

objName

Извлекается из raw.msg

"Logging"

Извлекается из raw.msg

dntdom

Извлекается из raw.msg

dhost

Извлекается из raw.msg